/api/v4/connected-accounts/connect-listingCollega una scheda a una sede
Collega una specifica scheda di Google Business Profile o Facebook a una sede di Listings API.
Parametri
Corpo
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| input | object | obbligatorio | Wrapper object. The entire request body must be nested under `input`. |
| input.locationId | string | obbligatorio | Base64-encoded location Relay ID (e.g. `TG9jYXRpb246MTgwMDI4OQ==`) of the Listings API location to link the listing to. |
| input.connectedAccountId | string | obbligatorio | ID of the connected account (Google or Facebook) that owns the listing. Taken from `GET /connected-accounts`. |
| input.connectedAccountListingId | string | obbligatorio | ID 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.
{ "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`).
{ "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.
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=" } }'