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

Collega una scheda a una sede

Collega una specifica scheda di Google Business Profile o Facebook a una sede di Listings API.

Richiede una chiave API. Consulta Autenticazione per il formato dell’header e la rotazione delle chiavi.

Parametri

Corpo

NomeTipoObbligatorioDescrizione
inputobjectobbligatorioWrapper object. The entire request body must be nested under `input`.
input.locationIdstringobbligatorioBase64-encoded location Relay ID (e.g. `TG9jYXRpb246MTgwMDI4OQ==`) of the Listings API location to link the listing to.
input.connectedAccountIdstringobbligatorioID of the connected account (Google or Facebook) that owns the listing. Taken from `GET /connected-accounts`.
input.connectedAccountListingIdstringobbligatorioID of the listing within that connected account to link. Taken from the `id` of a record returned by `POST /connected-accounts/connected-account-listings`.

Richiesta di esempio

Corpo pronto da incollare. Sostituisci gli ID e i valori segnaposto con i tuoi.

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

Risposte

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 una scheda di una piattaforma di pubblicazione (Google Business Profile o pagina Facebook) a una sede di Listings API per mantenere sincronizzati i dati della scheda. A differenza del flusso basato sui suggerimenti, questo endpoint collega una singola scheda che hai già scelto, senza richiedere un passaggio di conferma dell'abbinamento.

Struttura della richiesta. Il corpo deve essere racchiuso in un oggetto input con tre campi obbligatori: locationId (il Relay ID della sede codificato in base64), connectedAccountId (l'account a cui appartiene la scheda) e connectedAccountListingId (la specifica scheda da collegare). Il campo listingId non è previsto e viene rifiutato dallo schema. Recupera connectedAccountId da GET /connected-accounts e connectedAccountListingId da id di un record restituito da POST /connected-accounts/connected-account-listings.

Caso d'uso: collegamento manuale quando l'abbinamento automatico è ambiguo. Due punti vendita vicini hanno nomi simili e trigger-matches non riesce a determinare quale scheda Google appartenga a ciascuna sede di Listings API. Recupera le schede dell'account connesso, lascia che un operatore scelga quella corretta e collegala direttamente con questo endpoint, saltando completamente il flusso di suggerimenti e conferma.

Se la connessione non riesce, la risposta restituisce success: false con un valore non nullo per message che descrive il motivo, ad esempio Listing record not found quando non è possibile risolvere connectedAccountListingId, oppure un messaggio che indica che la scheda è già connessa a un'altra sede. Per accettare invece in blocco gli abbinamenti suggeriti dal sistema, usa l'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="    }  }'