Duplicate Listings
Detecte, revise y resuelva listados duplicados en los distintos directorios.
Devuelve los listados duplicados detectados para una ubicación, agrupados por publisher, con recuentos por estado.
Obtener los listados duplicados de una ubicación
/api/v1/listings/duplicates{
"data": {
"found": true,
"yourListing": {
"name": "Acme Dental — Downtown",
"address": "123 Main St, Austin, TX 78701",
"phone": "+15125551234"
},
"counts": {
"potential": 2,
"flagged": 1,
"deleted": 0,
"failed": 0
},
"groups": [
{
"publisherId": "yelp",
"publisherName": "Yelp",
"status": "potential",
"duplicates": [
{
"id": "dup_1",
"name": "Acme Dental Downtown",
"address": "123 Main St, Austin, TX",
"phone": "+15125551234",
"url": "https://yelp.com/biz/acme-dental-downtown",
"matchScore": 0.92
}
]
}
]
}
}Devuelve un resumen agregado de listados duplicados y una cola paginada en todas las ubicaciones de un cliente, o de toda la agencia cuando se omite clientId. Una clave limitada a clientes específicos siempre debe indicar un clientId — no existe un valor predeterminado seguro a nivel de agencia para ella.
Obtener el resumen de listados duplicados
/api/v1/listings/duplicates/rollup{
"data": {
"summary": {
"potentialTotal": 14,
"locationsAffected": 6,
"bands": {
"high": 4,
"med": 7,
"low": 3
},
"topPublishers": [
{
"publisherId": "yelp",
"publisherName": "Yelp",
"count": 6
}
],
"publisherSites": [
{
"id": "yelp",
"name": "Yelp"
}
]
},
"queue": {
"rows": [
{
"id": "dup_1",
"locationId": "loc_456",
"locationName": "Acme Dental — Downtown",
"publisherId": "yelp",
"publisherName": "Yelp",
"name": "Acme Dental Downtown",
"matchScore": 0.92,
"status": "potential"
}
],
"total": 14,
"page": 1,
"perPage": 25
}
}
}Marca listados duplicados para su eliminación (flag), o los descarta (dismiss), ya sea mediante una lista explícita de duplicateListingIds o mediante un filtro con la misma forma que la cola del resumen. El modo de filtro se ejecuta como una única actualización masiva limitada a la intersección entre los propios estados del filtro y los estados de origen admitidos por la acción — nunca puede alcanzar filas fuera de lo que ese filtro mostraría. Marcar no elimina el listado en sí; encola la solicitud de eliminación, que un trabajo en segundo plano ejecuta frente al publisher.
Resolver listados duplicados
/api/v1/listings/duplicates/resolve{
"data": {
"updated": 3,
"skipped": []
}
}