/api/v4/rollup_interactionsObtener interacciones agregadas
Devuelve una lista de interacciones de múltiples ubicaciones de la cuenta, paginada mediante cursores, con opciones de filtrado y ordenación.
Parámetros
Consulta
| Nombre | Tipo | Obligatorio | Descripción | Predeterminado |
|---|---|---|---|---|
| tag | string | opcional | Location tag to scope the rollup to. Defaults to `all`, every location the key can see. Omit it unless you tag locations. | all |
| siteUrls | string | opcional | JSON-encoded array of publisher hostnames to include. | — |
| startDate | string | opcional | Start of the date-range filter (YYYY-MM-DD). | — |
| endDate | string | opcional | End of the date-range filter (YYYY-MM-DD). | — |
| searchString | string | opcional | Full-text search across interaction content. | — |
| category | string | opcional | Single interaction category, e.g. `REVIEW`. | — |
| categories | string | opcional | JSON-encoded array of interaction categories. | — |
| ratingFilters | string | opcional | JSON-encoded array of star ratings to include, e.g. `[3,4]`. | — |
| ratingFilter | integer | opcional | Single star rating to filter by. | — |
| responseStatus | string | opcional | JSON-encoded response-status filter. Values: `RESPONDED`, `PENDING`. | — |
| sortOrder | string | opcional | JSON-encoded sort order. Values: `NEWEST_FIRST`, `OLDEST_FIRST`, `LAST_RESPONDED`. | — |
| first | integer | opcional | Number of records to return from the beginning. Defaults to 20 when omitted, the endpoint always returns a single page, never the whole history. | — |
| after | string | opcional | Cursor to page forward from. Pass `pageInfo.endCursor`, or equivalently the `cursor` of the last edge in the previous page. | — |
| last | integer | opcional | Number of records to return from the end. | — |
| before | string | opcional | Cursor to page backward from, used with `last`. Pass the `cursor` of the first edge of the page you are moving back from. `pageInfo` carries no `startCursor` field, so the edge cursor is the value to use. | — |
Respuestas
200Paginated rollup of interactions across the account. `data.rollupInteractions` holds the connection.
{ "data": { "rollupInteractions": { "pageInfo": { "hasNextPage": true, "hasPreviousPage": false }, "edges": [ { "node": { "id": "9e26d2a8-a6ed-42ea-8454-47d1c92ea841", "source": "maps.google.com", "content": "Excellent service, highly recommend.", "authorName": "Priya S.", "rating": 5, "date": "2026-06-30T12:04:11+00:00", "category": "Review", "type": "Review", "responded": false, "responseCount": 0, "canRespond": true, "locationId": 1800289 }, "cursor": "SW50ZXJhY3Rpb246OWUyNmQyYTg=" } ], "totalCount": 1284 } }}401Unauthenticated, missing or invalid API key.
429Rate limit exceeded. Retry after the `Retry-After` header value.
Devuelve una vista de las interacciones de distintas ubicaciones de la cuenta. Admite la misma paginación basada en cursores (first, last, after, before) y los mismos filtros que el endpoint por ubicación Listar interacciones. La conexión se encuentra en data.rollupInteractions y cada node incluye un locationId para que puedas atribuir una interacción a su establecimiento.
totalCount es el número de interacciones que coinciden con tus filtros en todas las ubicaciones incluidas en el alcance, no el número que se devuelve en esta página. Si omites first, se devuelven 20 registros, por lo que una sola llamada nunca contiene todo el historial de la cuenta; recorre las páginas con after hasta que tengas totalCount registros.
Ten en cuenta: la agregación siempre abarca toda la cuenta
Este endpoint no tiene ningún parámetro por ubicación: con el valor predeterminado de tag=all, agrega todas las ubicaciones a las que tiene acceso la clave de API, y el único alcance más restringido es un tag de ubicación. No existe ningún argumento locationFilters ni locationIds, y si envías uno, se ignora en lugar de rechazarse. Limita el conjunto de resultados con los filtros disponibles (siteUrls, responseStatus, sortOrder, startDate/endDate, searchString), o agrupa los resultados tú mismo según el locationId de cada nodo.
Caso de uso: una cola de «pendientes de respuesta» para toda la cuenta
Para listar todas las reseñas de todas las ubicaciones que aún esperan una respuesta del propietario, llama a GET /rollup_interactions?responseStatus=["PENDING"]&sortOrder=["NEWEST_FIRST"]&first=50 y luego recorre las páginas con after = pageInfo.endCursor (equivalente al cursor de la última arista), deteniéndote cuando hasNextPage sea false o una página devuelva un array edges vacío. Esto evita recorrer las ubicaciones una por una. Como el endpoint está paginado y sujeto a límites de frecuencia, respeta la cabecera Retry-After cuando recibas un 429 y prioriza las ejecuciones acotadas por fechas (startDate/endDate) para las sincronizaciones programadas.
curl -X GET 'https://listingsapi.com/api/v4/rollup_interactions' \ -H "Authorization: API $LISTINGSAPI_KEY"