/api/v4/rollup_interactionsObter interações consolidadas
Retorna uma lista de interações de vários locais da conta, paginada por cursor, com filtragem e ordenação.
Parâmetros
Query
| Nome | Tipo | Obrigatório | Descrição | Padrão |
|---|---|---|---|---|
| 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. | — |
Respostas
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.
Retorna uma visão das interações entre os locais da conta. Oferece suporte à mesma paginação baseada em cursor (first, last, after, before) e aos mesmos filtros do endpoint Listar interações por local. A conexão está em data.rollupInteractions e cada node contém um locationId para que você possa associar uma interação à loja correspondente.
totalCount é o número de interações que correspondem aos seus filtros em todos os locais incluídos no escopo, não o número retornado nesta página. Omitir first retorna 20 registros, portanto, uma única chamada nunca representa o histórico completo da conta; percorra as páginas com after até obter totalCount registros.
Atenção: a consolidação sempre abrange a conta inteira
Este endpoint não tem um parâmetro por local: com o tag=all padrão, ele consolida todos os locais aos quais a chave de API tem acesso, e o único escopo mais restrito é um tag de locais. Não há um argumento locationFilters ou locationIds, e, se você enviar um deles, ele será ignorado em vez de rejeitado. Restrinja o conjunto de resultados com os filtros disponíveis (siteUrls, responseStatus, sortOrder, startDate/endDate, searchString) ou agrupe os resultados por conta própria pelo locationId de cada nó.
Caso de uso: uma fila de itens que "precisam de resposta" em toda a conta
Para listar todas as avaliações que ainda aguardam uma resposta do proprietário em todos os locais, chame GET /rollup_interactions?responseStatus=["PENDING"]&sortOrder=["NEWEST_FIRST"]&first=50 e percorra as páginas com after = pageInfo.endCursor (equivalente ao cursor da última edge), parando quando hasNextPage for false ou uma página retornar um array edges vazio. Isso evita percorrer os locais um a um. Como o endpoint usa paginação e tem um limite de requisições, respeite o cabeçalho Retry-After ao receber um 429 e prefira execuções com um intervalo de datas delimitado (startDate/endDate) para sincronizações agendadas.
curl -X GET 'https://listingsapi.com/api/v4/rollup_interactions' \ -H "Authorization: API $LISTINGSAPI_KEY"