/api/v4/connected-accounts/confirm-matchesConfirmar correspondências de conexão
Confirma as correspondências sugeridas entre locais e listagens retornadas pelo endpoint de sugestões de conexão.
Parâmetros
Corpo
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| input | object | obrigatório | Wrapper object. The entire request body must be nested under `input`. |
| input.matchRecordIds | array of strings | obrigatório | Match-record global IDs to confirm: the standard base64 of `<MatchRecordType>:<matchedDataDatabaseId>`, built from a connection-suggestion record. At least one ID is required. |
Exemplo de requisição
Corpo pronto para colar. Substitua os IDs e valores de exemplo pelos seus.
{ "input": { "matchRecordIds": [ "R21iTG9jYXRpb25NYXRjaGVkRGF0YTowZDVlMzA2Zi0wZGEwLTQ2ZTMtOTI5Zi1mZDNjNjdjY2Q4Y2M=" ] }}Respostas
200Request accepted. `success` is `true` when every match was confirmed; when some IDs could not be confirmed they are listed in `failedIds` and `success` is `false`.
{ "data": { "confirmConnectMatches": { "failedIds": null, "success": true } }}400Bad request, the body was not wrapped in `input`, `matchRecordIds` was omitted (error message: `Field value.matchRecordIds of required type [ID!]! was not provided`), or `input` carried a field the endpoint does not accept.
401Unauthenticated, missing or invalid API key.
Aceita e confirma as associações sugeridas entre locais e listagens, estabelecendo a conexão ativa entre os locais da Listings API e suas listagens correspondentes no Google Business Profile ou no Facebook. Após a confirmação, a listagem começa a ser sincronizada com o local correspondente da Listings API.
Estrutura da requisição. O corpo deve estar contido em um objeto input, e o único campo aceito por esse objeto é matchRecordIds, um array de IDs de registros de correspondência ([ID!]!, obrigatório). O envio de um corpo sem esse objeto envolvente é rejeitado com HTTP 400, assim como o envio de um campo desconhecido dentro de input, como connectedAccountId ou o antigo matchIds (Unknown field "connectedAccountId"). Uma chave extra fora de input é ignorada em vez de rejeitada. Não há um campo connectedAccountId nesta requisição; a conta é inferida dos próprios registros de correspondência.
Como construir um valor de matchRecordIds. Um registro de sugestão de conexão não tem id. Pegue seu matchedDataDatabaseId e seu accountType, una-os com dois-pontos após o nome do tipo de registro de correspondência e codifique o resultado em base64:
import base64 TYPES = { "GMB": "GmbLocationMatchedData", "FB": "FbLocationMatchedData", "APPLE": "AppleLocationMatchedData",} def match_record_id(record): raw = f"{TYPES[record['accountType']]}:{record['matchedDataDatabaseId']}" return base64.b64encode(raw.encode()).decode()Um ID que, ao ser decodificado, não corresponda a um desses três tipos não produz um 400. A chamada retorna HTTP 200 com success: false e sem failedIds, portanto, verifique success em todas as chamadas.
Este endpoint é a etapa final do fluxo de conexão em massa: conecte a conta, execute POST /connected-accounts/trigger-matches para gerar sugestões, analise-as com o endpoint de sugestões de conexão e, em seguida, confirme aqui os registros aprovados.
Caso de uso: aceitar em massa correspondências analisadas. Depois que uma agência importa a conta do Google de um cliente e analisa as associações sugeridas na sua própria interface, envie os matchRecordIds aprovados em uma única chamada, em vez de fazer uma chamada por correspondência. Envie apenas os IDs aprovados pelo operador para que as sugestões não analisadas ou incorretas permaneçam intactas.
Confirmar uma correspondência não envia dados imediatamente ao Google ou ao Facebook; isso vincula o local da Listings API à listagem na plataforma de publicação, permitindo que as atualizações subsequentes da listagem sejam transmitidas. Uma chamada bem-sucedida retorna success: true com failedIds: null. Quando um ou mais IDs não puderem ser confirmados (por exemplo, um registro de correspondência desconhecido ou já utilizado, ou uma correspondência cujo local tenha sido arquivado desde então), esses IDs serão retornados em failedIds e success será false, para que você possa tentar novamente ou exibir apenas as falhas. failedIds contém os IDs decodificados do banco de dados, e não os valores codificados que você enviou, portanto, associe-os aos valores correspondentes em matchedDataDatabaseId. Para escolher manualmente uma única listagem sem passar pelas sugestões, use o endpoint de conexão de listagem.
curl -X POST 'https://listingsapi.com/api/v4/connected-accounts/confirm-matches' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "input": { "matchRecordIds": [ "R21iTG9jYXRpb25NYXRjaGVkRGF0YTowZDVlMzA2Zi0wZGEwLTQ2ZTMtOTI5Zi1mZDNjNjdjY2Q4Y2M=" ] } }'