/api/v4/connected-accounts/connect-listingConectar una ficha a una ubicación
Vincula una ficha específica de Google Business Profile o Facebook a una ubicación de Listings API.
Parámetros
Cuerpo
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| input | object | obligatorio | Wrapper object. The entire request body must be nested under `input`. |
| input.locationId | string | obligatorio | Base64-encoded location Relay ID (e.g. `TG9jYXRpb246MTgwMDI4OQ==`) of the Listings API location to link the listing to. |
| input.connectedAccountId | string | obligatorio | ID of the connected account (Google or Facebook) that owns the listing. Taken from `GET /connected-accounts`. |
| input.connectedAccountListingId | string | obligatorio | 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`. |
Solicitud de ejemplo
Cuerpo listo para pegar. Sustituye los ID y valores de ejemplo por los tuyos.
{ "input": { "locationId": "TG9jYXRpb246MTgwMDI4OQ==", "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "connectedAccountListingId": "R29vZ2xlTG9jYXRpb246ODc3NTkzNGItNTA5OC00ZDBhLThiNDQ=" }}Respuestas
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.
Asocia una ficha de una plataforma de publicación (Google Business Profile o página de Facebook) con una ubicación de Listings API para mantener sincronizados los datos de la ficha. A diferencia del flujo basado en sugerencias, este endpoint vincula una única ficha que ya has elegido, sin necesidad de confirmar la coincidencia.
Estructura de la solicitud. El cuerpo debe estar contenido en un objeto input con tres campos obligatorios: locationId (el ID de Relay de la ubicación codificado en base64), connectedAccountId (la cuenta propietaria de la ficha) y connectedAccountListingId (la ficha específica que se va a vincular). No existe ningún campo listingId; el esquema lo rechaza. Obtén connectedAccountId de GET /connected-accounts y connectedAccountListingId del campo id de un registro devuelto por POST /connected-accounts/connected-account-listings.
Caso de uso: vinculación manual cuando la búsqueda automática de coincidencias es ambigua. Dos establecimientos cercanos tienen nombres similares y trigger-matches no puede determinar qué ficha de Google corresponde a cada ubicación de Listings API. Obtén las fichas de la cuenta conectada, deja que un operador elija la correcta y vincúlala directamente con este endpoint, omitiendo por completo el flujo de sugerencias y confirmación.
Si la conexión falla, la respuesta devuelve success: false con un valor no nulo en message que describe el motivo, por ejemplo, Listing record not found cuando no se puede resolver connectedAccountListingId, o un mensaje que indica que la ficha ya está conectada a otra ubicación. Si prefieres aceptar en bloque las coincidencias sugeridas por el sistema, usa el 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=" } }'