/api/v4/connected-accounts/create-location-from-listingCrear una ubicación desde una ficha de una cuenta conectada
Crea una nueva ubicación de Listings API a partir de una ficha existente de Google Business Profile o Facebook en una cuenta conectada.
Parámetros
Cuerpo
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| input | object | obligatorio | Wrapper object. The entire request body must be nested under `input`. |
| 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 to import into a new location. 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": { "connectedAccountId": "4f712c17-4f95-42dd-90f4-97171a2e67b5", "connectedAccountListingId": "R21iQnVsa0RhdGFMYWtlOjU3NzU5MzRiLTUwOTgtNGQwYS04YjQ0LTNjY2ZlZmZkZmUzNw==" }}Respuestas
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 nueva ubicación de Listings API a partir de los datos de empresa de una ficha existente en una cuenta conectada de Google Business Profile o Facebook. La ficha ya debe estar presente en la cuenta (obtenida mediante POST /connected-accounts/connected-account-listings) y no debe estar vinculada a otra ubicación de Listings API.
Estructura de la solicitud. El cuerpo debe incluirse dentro de un objeto input con dos campos obligatorios: connectedAccountId (la cuenta a la que pertenece la ficha) y connectedAccountListingId (la ficha específica que se va a importar). No existe ningún campo listingId; el esquema lo rechaza.
Para las fichas de Google, la API importa el nombre, la dirección, las coordenadas, el teléfono, el sitio web, la descripción, los horarios habituales y especiales, las categorías principales y adicionales, la fecha de apertura, el código de tienda y la zona horaria. Los métodos de pago y los enlaces a perfiles sociales se obtienen a partir de los atributos de Google de la ficha. Los atributos de Google distintos de los métodos de pago y los enlaces a redes sociales se leen, pero no se conservan. Para Facebook, importa el nombre, la ubicación, los horarios, las categorías, la descripción y la información de contacto.
La nueva ubicación se vincula automáticamente a la cuenta conectada de la que procede. En una importación desde Google, los datos no se vuelven a enviar a Google. El perfil desde el que has importado se mantiene tal como está, y su ficha muestra syncStatus: IN_PROGRESS hasta que tu primer POST /api/v4/locations/update publique en ella. Las demás plataformas de publicación se procesan de la forma habitual: se generan elementos de pedido y la ubicación se envía a cada uno de los demás sitios habilitados en la cuenta.
Este endpoint no permite limitar el alcance por sitio ni ofrece una opción para desactivar los envíos, por lo que la ubicación siempre se crea para el conjunto completo de plataformas de publicación de tu cuenta. Para limitarla a una sola plataforma de publicación, configura enabledSiteIds en la nueva ubicación mediante POST /api/v4/locations/update inmediatamente después de crearla. Envía esa actualización en cuanto se cree la ubicación: los elementos de pedido de las demás plataformas de publicación se generan poco después de la creación, y la actualización no retira los que ya se hayan generado.
Caso de uso: aprovisionamiento masivo de ubicaciones durante la incorporación. Una agencia conecta la cuenta de Google de un cliente que gestiona 40 establecimientos que la agencia nunca ha registrado en Listings API. En lugar de crear cada ubicación manualmente, consulta las fichas de la cuenta y llama a este endpoint una vez por cada connectedAccountListingId para crear las 40 ubicaciones de Listings API con los datos de Google ya incorporados y, después, facturarlas y gestionarlas de la forma habitual.
success: true significa que la ubicación se ha creado y locationId es su ID en la base de datos. En caso de fallo, success es false, locationId es null y errors contiene un motivo estructurado con un código, por ejemplo, { "code": "SY81067", "message": "Invalid connected account listing ID" } cuando no se puede resolver connectedAccountListingId. Otros casos habituales son una ficha que ya está conectada a otra ubicación o una cuenta cuyas credenciales han caducado y que debe volver a conectarse mediante el endpoint connect-google o connect-facebook. Para vincular una ficha a una ubicación existente en lugar de crear una nueva, utiliza el 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==" } }'