/api/v4/connected-accounts/create-location-from-listingCrea una sede da una scheda di un account collegato
Crea una nuova sede in Listings API da una scheda Google Business Profile o Facebook esistente in un account collegato.
Parametri
Corpo
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
| input | object | obbligatorio | Wrapper object. The entire request body must be nested under `input`. |
| 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 to import into a new location. 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": { "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "connectedAccountListingId": "R21iQnVsa0RhdGFMYWtlOjU3NzU5MzRiLTUwOTgtNGQwYS04YjQ0LTNjY2ZlZmZkZmUzNw==" }}Risposte
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.
Crea una nuova sede in Listings API recuperando i dati dell'attività da una scheda esistente in un account Google Business Profile o Facebook collegato. La scheda deve essere già presente nell'account (recuperata tramite POST /connected-accounts/connected-account-listings) e non deve essere già collegata a un'altra sede di Listings API.
Struttura della richiesta. Il corpo deve essere racchiuso in un oggetto input con due campi obbligatori: connectedAccountId (l'account a cui appartiene la scheda) e connectedAccountListingId (la scheda specifica da importare). Il campo listingId non è previsto e viene rifiutato dallo schema.
Per le schede Google, l'API importa nome, indirizzo, coordinate, telefono, sito web, descrizione, orari regolari e speciali, categoria principale e categorie aggiuntive, data di apertura, codice del punto vendita e fuso orario. I metodi di pagamento e i link ai profili social vengono ricavati dagli attributi Google della scheda. Gli attributi Google diversi dai metodi di pagamento e dai link ai profili social vengono letti ma non conservati. Per Facebook importa nome, sede, orari, categorie, descrizione e informazioni di contatto.
La nuova sede viene collegata automaticamente all'account collegato da cui proviene. Nel caso di un'importazione da Google, i dati non vengono inviati nuovamente a Google. Il profilo da cui hai importato i dati rimane invariato e la relativa scheda riporta syncStatus: IN_PROGRESS finché il tuo primo POST /api/v4/locations/update non vi pubblica i dati. Tutte le altre piattaforme di pubblicazione vengono gestite normalmente: vengono generate le voci d'ordine e la sede viene inviata a ciascuno degli altri siti abilitati sull'account.
Questo endpoint non accetta né una limitazione dell'ambito a determinati siti né un'opzione per disabilitare gli invii, quindi la sede viene sempre creata per l'intero insieme di piattaforme di pubblicazione del tuo account. Per limitarla a una sola piattaforma di pubblicazione, imposta enabledSiteIds sulla nuova sede tramite POST /api/v4/locations/update subito dopo la creazione. Invia questo aggiornamento non appena la sede viene creata: le voci d'ordine per le altre piattaforme di pubblicazione vengono generate poco dopo la creazione e quelle già generate non vengono ritirate dall'aggiornamento.
Caso d'uso: creazione in blocco di sedi durante la configurazione iniziale. Un'agenzia collega l'account Google di un cliente che gestisce 40 punti vendita che l'agenzia non ha mai inserito in Listings API. Anziché creare manualmente ogni sede, elenca le schede dell'account e chiama questo endpoint una volta per ogni connectedAccountListingId per creare tutte e 40 le sedi di Listings API con i dati già compilati a partire da Google, quindi fatturale e gestiscile normalmente.
success: true indica che la sede è stata creata e locationId è il suo ID nel database. In caso di errore, success è false, locationId è null e errors contiene un motivo strutturato con un codice, ad esempio { "code": "SY81067", "message": "Invalid connected account listing ID" } quando connectedAccountListingId non corrisponde ad alcun elemento. Altri casi comuni sono una scheda già collegata a un'altra sede o un account con credenziali scadute che deve essere ricollegato tramite l'endpoint connect-google o connect-facebook. Per collegare una scheda a una sede esistente anziché crearne una nuova, usa l'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==" } }'