GET/api/v4/rollup_interactions

Obter interações consolidadas

Retorna uma lista de interações de vários locais da conta, paginada por cursor, com filtragem e ordenação.

Requer uma chave de API. Consulte Autenticação para ver o formato do cabeçalho e a rotação de chaves.

Parâmetros

Query

NomeTipoObrigatórioDescriçãoPadrão
tagstringopcionalLocation tag to scope the rollup to. Defaults to `all`, every location the key can see. Omit it unless you tag locations.all
siteUrlsstringopcionalJSON-encoded array of publisher hostnames to include.—
startDatestringopcionalStart of the date-range filter (YYYY-MM-DD).—
endDatestringopcionalEnd of the date-range filter (YYYY-MM-DD).—
searchStringstringopcionalFull-text search across interaction content.—
categorystringopcionalSingle interaction category, e.g. `REVIEW`.—
categoriesstringopcionalJSON-encoded array of interaction categories.—
ratingFiltersstringopcionalJSON-encoded array of star ratings to include, e.g. `[3,4]`.—
ratingFilterintegeropcionalSingle star rating to filter by.—
responseStatusstringopcionalJSON-encoded response-status filter. Values: `RESPONDED`, `PENDING`.—
sortOrderstringopcionalJSON-encoded sort order. Values: `NEWEST_FIRST`, `OLDEST_FIRST`, `LAST_RESPONDED`.—
firstintegeropcionalNumber of records to return from the beginning. Defaults to 20 when omitted, the endpoint always returns a single page, never the whole history.—
afterstringopcionalCursor to page forward from. Pass `pageInfo.endCursor`, or equivalently the `cursor` of the last edge in the previous page.—
lastintegeropcionalNumber of records to return from the end.—
beforestringopcionalCursor 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.
Response
{  "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.

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