/api/v4/rollup_interactionsToplu etkileşimleri alın
Hesaptaki birden çok konumun etkileşimlerini filtreleme ve sıralama desteğiyle, imleç tabanlı sayfalanmış bir liste olarak döndürür.
Parametreler
Sorgu
| Ad | Tür | Zorunlu | Açıklama | Varsayılan |
|---|---|---|---|---|
| tag | string | isteğe bağlı | 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 | isteğe bağlı | JSON-encoded array of publisher hostnames to include. | — |
| startDate | string | isteğe bağlı | Start of the date-range filter (YYYY-MM-DD). | — |
| endDate | string | isteğe bağlı | End of the date-range filter (YYYY-MM-DD). | — |
| searchString | string | isteğe bağlı | Full-text search across interaction content. | — |
| category | string | isteğe bağlı | Single interaction category, e.g. `REVIEW`. | — |
| categories | string | isteğe bağlı | JSON-encoded array of interaction categories. | — |
| ratingFilters | string | isteğe bağlı | JSON-encoded array of star ratings to include, e.g. `[3,4]`. | — |
| ratingFilter | integer | isteğe bağlı | Single star rating to filter by. | — |
| responseStatus | string | isteğe bağlı | JSON-encoded response-status filter. Values: `RESPONDED`, `PENDING`. | — |
| sortOrder | string | isteğe bağlı | JSON-encoded sort order. Values: `NEWEST_FIRST`, `OLDEST_FIRST`, `LAST_RESPONDED`. | — |
| first | integer | isteğe bağlı | 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 | isteğe bağlı | Cursor to page forward from. Pass `pageInfo.endCursor`, or equivalently the `cursor` of the last edge in the previous page. | — |
| last | integer | isteğe bağlı | Number of records to return from the end. | — |
| before | string | isteğe bağlı | 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. | — |
Yanıtlar
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.
Hesabın konumlar arası etkileşim görünümünü döndürür. Konum bazında çalışan Etkileşimleri listeleyin uç noktasıyla aynı imleç tabanlı sayfalamayı (first, last, after, before) ve filtreleri destekler. Bağlantı data.rollupInteractions konumundadır ve her node bir locationId içerir; böylece bir etkileşimin hangi mağazaya ait olduğunu belirleyebilirsiniz.
totalCount, bu sayfada döndürülen etkileşimlerin sayısı değil, kapsamdaki tüm konumlarda filtrelerinizle eşleşen etkileşimlerin sayısıdır. first belirtilmediğinde 20 kayıt döndürülür, bu nedenle tek bir çağrı hiçbir zaman hesabın tüm geçmişini kapsamaz; totalCount kayda ulaşana kadar after ile sayfalar arasında ilerleyin.
Dikkat: toplu sonuçlar her zaman hesabın tamamını kapsar
Bu uç noktanın konum bazında bir parametresi yoktur: varsayılan tag=all ile API anahtarının görebildiği tüm konumların verilerini bir araya getirir ve kapsam yalnızca bir konum tag ile daraltılabilir. locationFilters veya locationIds argümanı yoktur ve bunlardan biri gönderilirse reddedilmez, yok sayılır. Sonuç kümesini mevcut filtrelerle (siteUrls, responseStatus, sortOrder, startDate/endDate, searchString) daraltın veya sonuçları her node'un locationId değerine göre kendiniz gruplandırın.
Kullanım örneği: hesap genelinde bir "yanıt bekleyenler" kuyruğu
Tüm konumlarda hâlâ işletme sahibinin yanıtını bekleyen tüm yorumları listelemek için GET /rollup_interactions?responseStatus=["PENDING"]&sortOrder=["NEWEST_FIRST"]&first=50 çağrısını yapın, ardından after = pageInfo.endCursor (eşdeğer olarak, son edge'in cursor değeri) ile sayfalar arasında ilerleyin ve hasNextPage değeri false olduğunda veya bir sayfa boş bir edges dizisi döndürdüğünde durun. Bu, konumları tek tek dolaşma gereğini ortadan kaldırır. Sonuçlar sayfalandığı ve istek hızı sınırlandığı için 429 yanıtında Retry-After üstbilgisine uyun ve zamanlanmış senkronizasyonlarda tarih aralığıyla sınırlı çalıştırmaları (startDate/endDate) tercih edin.
curl -X GET 'https://listingsapi.com/api/v4/rollup_interactions' \ -H "Authorization: API $LISTINGSAPI_KEY"