/api/v4/locations/listings/duplicatesObtener todas las fichas duplicadas de una cuenta
Devuelve una recopilación paginada de posibles fichas duplicadas de todas las ubicaciones de la cuenta.
Parámetros
Consulta
| Nombre | Tipo | Obligatorio | Descripción | Predeterminado |
|---|---|---|---|---|
| status | string | opcional | Duplicate status to return: `POTENTIAL`, `PROCESSING`, `FIXED`, or `FAILED`. Case-insensitive. | POTENTIAL |
| siteId | integer | opcional | Narrow to a single publisher by site ID. See the plan-sites endpoint for valid IDs. | — |
| tag | string | opcional | Tag to scope the rollup to. Defaults to every location the key can see. | all |
| page | integer | opcional | 1-based page number. | 1 |
| perPage | integer | opcional | Records per page. | — |
Respuestas
200Paginated rollup of duplicate listing records across the account.
{ "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:
GET /api/v4/locations/listings/duplicates?status=POTENTIAL&page=1Los 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.
curl -X GET 'https://listingsapi.com/api/v4/locations/listings/duplicates' \ -H "Authorization: API $LISTINGSAPI_KEY"