/api/v4/connected-accounts/create-location-from-listingCriar um local a partir de uma listagem de conta conectada
Cria um novo local da Listings API a partir de uma listagem existente do Google Business Profile ou Facebook em uma conta conectada.
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.connectedAccountId | string | obrigatório | ID of the connected account (Google or Facebook) that owns the listing. Taken from `GET /connected-accounts`. |
| input.connectedAccountListingId | string | obrigatório | ID of the listing to import into a new location. 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.
{ "input": { "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "connectedAccountListingId": "R21iQnVsa0RhdGFMYWtlOjU3NzU5MzRiLTUwOTgtNGQwYS04YjQ0LTNjY2ZlZmZkZmUzNw==" }}Respostas
200Request accepted. `success` is `true` and `locationId` holds the new location's database ID; on failure `success` is `false`, `locationId` is `null`, and `errors` carries a structured, coded reason.
{ "data": { "createLocationFromConnectedAccountListing": { "success": true, "locationId": 88277, "errors": null } }}400Bad request, the body was not wrapped in `input`, or a required field was omitted. The field is `connectedAccountListingId`, not `listingId` (the latter is rejected by the schema).
401Unauthenticated, missing or invalid API key.
Cria um novo local na Listings API usando dados comerciais de uma listagem existente em uma conta conectada do Google Business Profile ou do Facebook. A listagem já deve estar presente na conta (obtida via POST /connected-accounts/connected-account-listings) e não pode estar vinculada a outro local da Listings API.
Formato da requisição. O corpo deve estar dentro de um objeto input com dois campos obrigatórios: connectedAccountId (a conta à qual a listagem pertence) e connectedAccountListingId (a listagem específica a importar). Não há campo listingId; ele é rejeitado pelo esquema.
Para listagens do Google, a API importa nome, endereço, coordenadas, telefone, site, descrição, horários regulares e especiais, categorias principal e adicionais, data de abertura, código da loja e fuso horário. As formas de pagamento e os links de perfis em redes sociais são derivados dos atributos da listagem no Google. Os atributos do Google que não sejam formas de pagamento ou links de redes sociais são lidos, mas não são armazenados. Para o Facebook, ela importa nome, local, horários, categorias, descrição e informações de contato.
O novo local é automaticamente vinculado à conta conectada da qual foi importado. Em uma importação do Google, os dados não são reenviados ao Google. O perfil do qual você importou os dados permanece como está, e a listagem dele informa syncStatus: IN_PROGRESS até que seu primeiro POST /api/v4/locations/update publique nela. Todas as outras plataformas de publicação são tratadas normalmente: os itens de pedido são gerados e o local é enviado a cada um dos demais sites habilitados na conta.
Este endpoint não aceita um escopo de sites nem oferece uma opção para desativar os envios, portanto o local é sempre criado para o conjunto completo de plataformas de publicação da sua conta. Para restringi-lo a uma única plataforma de publicação, defina enabledSiteIds no novo local via POST /api/v4/locations/update imediatamente após a criação. Envie essa atualização assim que o local for criado: os itens de pedido para as outras plataformas de publicação são gerados pouco depois da criação, e a atualização não cancela os que já tiverem sido gerados.
Caso de uso: provisionamento de locais em massa durante a configuração inicial. Uma agência conecta a conta do Google de um cliente que gerencia 40 lojas físicas que a agência nunca cadastrou na Listings API. Em vez de criar cada local manualmente, liste as listagens da conta e chame este endpoint uma vez por connectedAccountListingId para criar todos os 40 locais na Listings API com os dados do Google já preenchidos e, depois, faça a cobrança e gerencie esses locais normalmente.
success: true significa que o local foi criado e locationId é o ID dele no banco de dados. Em caso de falha, success é false, locationId é null e errors contém um motivo estruturado com um código, por exemplo, { "code": "SY81067", "message": "Invalid connected account listing ID" } quando connectedAccountListingId não pode ser resolvido. Outros casos comuns são uma listagem já conectada a outro local ou uma conta cujas credenciais expiraram e que precisa ser reconectada pelo endpoint connect-google ou connect-facebook. Para vincular uma listagem a um local existente em vez de criar um novo, use o endpoint connect-listing.
curl -X POST 'https://listingsapi.com/api/v4/connected-accounts/create-location-from-listing' \ -H "Authorization: API $LISTINGSAPI_KEY" \ -H 'Content-Type: application/json' \ -d '{ "input": { "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "connectedAccountListingId": "R21iQnVsa0RhdGFMYWtlOjU3NzU5MzRiLTUwOTgtNGQwYS04YjQ0LTNjY2ZlZmZkZmUzNw==" } }'