POST/api/v4/connected-accounts/connect-listing

Conectar uma listagem a um local

Vincula uma listagem específica do Google Business Profile ou do Facebook a um local da Listings API.

Requer uma chave de API. Consulte Autenticação para ver o formato do cabeçalho e a rotação de chaves.

Parâmetros

Corpo

NomeTipoObrigatórioDescrição
inputobjectobrigatórioWrapper object. The entire request body must be nested under `input`.
input.locationIdstringobrigatórioBase64-encoded location Relay ID (e.g. `TG9jYXRpb246MTgwMDI4OQ==`) of the Listings API location to link the listing to.
input.connectedAccountIdstringobrigatórioID of the connected account (Google or Facebook) that owns the listing. Taken from `GET /connected-accounts`.
input.connectedAccountListingIdstringobrigatórioID of the listing within that connected account to link. Taken from the `id` of a record returned by `POST /connected-accounts/connected-account-listings`.

Exemplo de requisição

Corpo pronto para colar. Substitua os IDs e valores de exemplo pelos seus.

Request body
{  "input": {    "locationId": "TG9jYXRpb246MTgwMDI4OQ==",    "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5",    "connectedAccountListingId": "R29vZ2xlTG9jYXRpb246ODc3NTkzNGItNTA5OC00ZDBhLThiNDQ="  }}

Respostas

200Request accepted. `success` is `true` when the listing was linked; when it cannot be linked `success` is `false` and `message` explains why (for example, `Listing record not found`).
Response
{  "data": {    "connectListing": {      "message": null,      "success": true    }  }}
400Bad request, the body was not wrapped in `input`, or a required field was omitted. Note the field is `connectedAccountListingId`, not `listingId` (the API rejects `listingId` with `did you mean locationId?`).
401Unauthenticated, missing or invalid API key.

Associa uma listagem de uma plataforma de publicação (Google Business Profile ou Página do Facebook) a um local da Listings API para manter os dados da listagem sincronizados. Ao contrário do fluxo baseado em sugestões, este endpoint vincula uma única listagem que você já escolheu, sem exigir uma etapa de confirmação de correspondência.

Estrutura da requisição. O corpo deve estar contido em um objeto input com três campos obrigatórios: locationId (o Relay ID do local codificado em base64), connectedAccountId (a conta à qual a listagem pertence) e connectedAccountListingId (a listagem específica a ser vinculada). Não há campo listingId; ele é rejeitado pelo esquema. Obtenha connectedAccountId de GET /connected-accounts e connectedAccountListingId do id de um registro retornado por POST /connected-accounts/connected-account-listings.

Caso de uso: vinculação manual quando a correspondência automática é ambígua. Duas lojas próximas têm nomes semelhantes e trigger-matches não consegue determinar qual listagem do Google pertence a qual local da Listings API. Obtenha as listagens da conta conectada, deixe um operador escolher a correta e vincule-a diretamente com este endpoint, ignorando por completo o fluxo de sugestões e confirmação.

Se a conexão falhar, a resposta retornará success: false com um message não nulo descrevendo o motivo, por exemplo, Listing record not found quando o connectedAccountListingId não puder ser resolvido, ou uma mensagem indicando que a listagem já está conectada a outro local. Para aceitar em lote as correspondências sugeridas pelo sistema, use o endpoint confirm-matches.

Request
curl -X POST 'https://listingsapi.com/api/v4/connected-accounts/connect-listing' \  -H "Authorization: API $LISTINGSAPI_KEY" \  -H 'Content-Type: application/json' \  -d '{    "input": {      "locationId": "TG9jYXRpb246MTgwMDI4OQ==",      "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5",      "connectedAccountListingId": "R29vZ2xlTG9jYXRpb246ODc3NTkzNGItNTA5OC00ZDBhLThiNDQ="    }  }'