GET/api/v4/locations/listings/duplicates

Obtener todas las fichas duplicadas de una cuenta

Devuelve una recopilación paginada de posibles fichas duplicadas de todas las ubicaciones de la cuenta.

Requiere una clave de API. Consulta Autenticación para conocer el formato del encabezado y la rotación de claves.

Parámetros

Consulta

NombreTipoObligatorioDescripciónPredeterminado
statusstringopcionalDuplicate status to return: `POTENTIAL`, `PROCESSING`, `FIXED`, or `FAILED`. Case-insensitive.POTENTIAL
siteIdintegeropcionalNarrow to a single publisher by site ID. See the plan-sites endpoint for valid IDs.—
tagstringopcionalTag to scope the rollup to. Defaults to every location the key can see.all
pageintegeropcional1-based page number.1
perPageintegeropcionalRecords per page.—

Respuestas

200Paginated rollup of duplicate listing records across the account.
Response
{  "data": {    "duplicateListingsRollup": {      "pageInfo": {        "hasNextPage": true,        "hasPreviousPage": false,        "totalPages": 34,        "totalRecords": 1673      },      "records": [        {          "id": "3329229",          "name": "Woodbury Train Station",          "nameValid": false,          "duplicateProcessingState": "POTENTIAL",          "liveLink": "http://citysquares.com/b/woodbury-train-station-23598450",          "locationId": "73451",          "siteName": "City Squares",          "siteUrl": "citysquares.com"        }      ]    }  }}
400An invalid `status` value, e.g. one outside `POTENTIAL` / `PROCESSING` / `FIXED` / `FAILED`.
401Unauthenticated, missing or invalid API key.
429Rate limit exceeded. Retry after the `Retry-After` header value.

Devuelve una vista de los posibles duplicados de fichas en todos los directorios de las plataformas de publicación de la cuenta, agrupados para que puedas clasificarlos en bloque en lugar de consultar cada ubicación por separado. La estructura pageInfo/records mostrada arriba se ha verificado en tiempo real con la cuenta 12345; esa cuenta no tiene duplicados abiertos actualmente, por lo que el único registro es representativo de la estructura que devuelve una ubicación con duplicados.

Caso de uso: barrido nocturno de supresión de duplicados

Recorre las páginas de duplicados POTENTIAL de toda la cuenta y entrega cada id a una persona encargada de revisarlo:

Code
GET /api/v4/locations/listings/duplicates?status=POTENTIAL&page=1

Los filtros son parámetros de consulta planos, no JSON. Tanto status como siteId son opcionales. Si no se proporciona ninguno, status toma el valor predeterminado POTENTIAL y tag toma el valor all, por lo que una solicitud GET /api/v4/locations/listings/duplicates sin parámetros devuelve los duplicados abiertos de la cuenta en lugar de un 400. Recorre las páginas usando pageInfo.hasNextPage e incrementando page hasta que sea false; totalRecords y totalPages te permiten mostrar el progreso.

Caso de uso: limitar el alcance a un segmento de tu catálogo

La recopilación siempre abarca todas las ubicaciones a las que la clave tiene acceso. Para revisar un subconjunto, recorre las páginas del resultado y agrupa los registros por el locationId de cada uno, o llama al endpoint por ubicación para las ubicaciones que te interesen.

Una vez que tengas los id sobre los que actuar, resuélvelos con Marcar ficha como duplicada o descarta los falsos positivos con Marcar ficha como no duplicada. Para obtener los duplicados de una sola ubicación agrupados por sitio, usa Obtener fichas duplicadas de una ubicación. Este endpoint devuelve una lista paginada y está sujeto al límite de solicitudes de la cuenta; si devuelve 429, espera antes de reintentar según la cabecera Retry-After.

Request
curl -X GET 'https://listingsapi.com/api/v4/locations/listings/duplicates' \  -H "Authorization: API $LISTINGSAPI_KEY"