Posteingang: Bewertungen
Listen Sie die Google-Business-Profile-Bewertungen Ihrer Standorte nach Sternen und Antwortstatus auf, setzen oder ersetzen Sie die Antwort, löschen Sie sie und markieren Sie Bewertungen als gelesen.
https://post.adaptlypost.com/post/api/v1/inbox/reviewsGibt Google-Business-Profile-Bewertungen Ihrer Standorte zurück, die neuesten zuerst. Antwortet mit { reviews, total, hasMore, nextCursor }.
Jede Rolle hat inbox.read, daher kann jeder gültige Schlüssel den Posteingang lesen.
Abfrageparameter
| Parameter | Typ | Beschreibung |
|---|---|---|
accountIds | string[] | Nur diese Konten, mit der id aus GET /social-accounts. Schlüssel wiederholen oder Werte mit Kommas trennen. Bis zu 50 |
platforms | PlatformType[] | Nur diese Plattformen. Schlüssel wiederholen oder Werte mit Kommas trennen |
statuses | InboxStatus[] | Nur Einträge in diesen Zuständen: UNREAD, READ oder DONE. Schlüssel wiederholen oder Werte mit Kommas trennen |
since | string (ISO 8601) | Nur Einträge, die auf der Plattform zu oder nach diesem Zeitpunkt erstellt wurden |
search | string | Suchtext |
ratings | number[] | Nur Bewertungen mit diesen Sternen, 1 bis 5. Schlüssel wiederholen oder Werte mit Kommas trennen |
replied | boolean | true für Bewertungen mit Antwort, false für solche ohne |
limit | number | Einträge pro Seite, 1 bis 100. Standard 25 |
cursor | string | Der nextCursor der vorherigen Seite. Auf der letzten Seite ist nextCursor null |
Etwa 10 Minuten, nicht in Echtzeit
AdaptlyPost liest jedes verbundene Konto alle 10 Minuten und speichert, was es findet. Die Listen antworten aus dieser Kopie, daher erscheint ein neuer Kommentar, eine Erwähnung, Nachricht oder Bewertung innerhalb von etwa 10 Minuten. POST /api/v1/inbox/refresh fordert sofort einen Lesevorgang an. Webhook-Ereignisse stammen aus denselben Lesevorgängen.Kanäle, die eine neue Verbindung brauchen
Jeder Kanal ist über die API erreichbar. Fehlt einer Verbindung die Plattform-Berechtigung für einen Kanal oder eine Aktion, auch eine, die die Plattform für AdaptlyPost noch prüft, zeigt GET /api/v1/inbox/summary den Kanal als RECONNECT_REQUIRED, und jeder Schreibzugriff darauf antwortet mit 403 inbox_reconnect_required. Ein abgelaufenes Token antwortet genauso. Bitten Sie die Person, das Konto in AdaptlyPost neu zu verbinden; ein erneuter Versuch hilft nicht.Felder einer Bewertung
| Feld | Beschreibung |
|---|---|
id | Bewertungs-ID. Verwenden Sie sie mit den Endpunkten unten |
accountId | Das Konto, zu dem der Eintrag gehört: seine id aus GET /social-accounts |
platform | Immer GOOGLE_BUSINESS |
accountName | Anzeigename dieses Kontos |
platformReviewId | Googles ID der Bewertung |
reviewer | name, avatarUrl und isAnonymous. Google verbirgt den Namen anonymer Bewertender |
rating | Sterne, 1 bis 5 |
text | Der Bewertungstext. Kann leer sein, da schon eine Sternebewertung allein eine Bewertung ist |
reply | Die Antwort des Standorts als { text, updatedAt } oder null |
createdAt | Wann die Bewertung geschrieben wurde |
updatedAt | Wann die bewertende Person sie zuletzt geändert hat |
status | UNREAD, READ oder DONE. Eine neue Bewertung beginnt als UNREAD, oder als DONE, wenn sie schon eine Antwort hat. Eine geänderte Bewertung wird wieder UNREAD, außer sie hat eine Antwort |
repliedAt | Wann Ihr Konto zuletzt geantwortet hat, oder null |
maxReplyLength | Die längste Antwort, die Google annimmt, in UTF-8-Bytes: 4096 |
capabilities | canReply: false, wenn das Konto neu verbunden werden muss |
Auf eine Bewertung antworten
Google erlaubt eine Antwort pro Bewertung. Eine gesendete Antwort ersetzt die vorhandene, egal ob sie in AdaptlyPost oder auf Google geschrieben wurde.
https://post.adaptlypost.com/post/api/v1/inbox/reviews/:id/replySetzt die Antwort auf die Bewertung oder ersetzt sie und antwortet mit 200 und der Bewertung.
Schreibzugriffe brauchen inbox.reply (Admin und Redakteur) und einen aktiven AdaptlyPost-Tarif. Ohne Tarif antworten sie mit 403 subscription_required.
Body-Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
textERFORDERLICH | string | Die Antwort, bis zu 4096 UTF-8-Bytes |
https://post.adaptlypost.com/post/api/v1/inbox/reviews/:id/replyEntfernt die Antwort des Standorts und antwortet mit 200 und der Bewertung.
Als gelesen oder erledigt markieren
https://post.adaptlypost.com/post/api/v1/inbox/reviews/statusSetzt den Status von bis zu 100 Bewertungen und antwortet mit { reviews, unreadCount }.
Body-Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
idsERFORDERLICH | string[] | 1 bis 100 IDs aus der Liste |
statusERFORDERLICH | InboxStatus | UNREAD, READ oder DONE |
Ablehnungen
Ein abgelehnter Aufruf antwortet mit { statusCode, error, code, message }. Werten Sie code aus. message erklärt die Ablehnung in Worten.
| Code | Status | Wann, und was zu tun ist |
|---|---|---|
inbox_item_not_found | 404 | Die ID existiert nicht oder gehört zu einem anderen Workspace. Abbrechen |
inbox_action_unsupported | 400 | Die Plattform oder dieser Eintrag erlaubt dieses Ausblenden, Löschen oder Liken nicht. capabilities sagt, was möglich ist. Abbrechen |
inbox_reconnect_required | 403 | Der Verbindung fehlt die Berechtigung für diesen Kanal oder diese Aktion, auch eine, die die Plattform noch prüft, oder ihr Token ist abgelaufen. Bitten Sie die Person, das Konto in AdaptlyPost neu zu verbinden. Nicht erneut versuchen |
inbox_reply_invalid | 400 | Der Text ist leer oder zu lang. Die Meldung nennt das Limit. Text korrigieren |
inbox_messaging_window_closed | 400 | Facebook oder Instagram: Das 24-Stunden-Antwortfenster ist abgelaufen. Abbrechen |
inbox_rate_limited | 429 | Die Plattform hat AdaptlyPost gedrosselt. Nach einer Weile erneut versuchen |
inbox_platform_error | 503 | Die Plattform ist fehlgeschlagen. Später erneut versuchen |
permission_denied | 403 | Der Rolle des Schlüssels fehlt inbox.read oder inbox.reply. Nicht erneut versuchen |
subscription_required | 403 | Ein Schreibzugriff ohne aktiven AdaptlyPost-Tarif. Nicht erneut versuchen |
curl --request GET \
--url 'https://post.adaptlypost.com/post/api/v1/inbox/reviews?ratings=1,2&replied=false' \
--header 'Authorization: Bearer <api-key>'curl --request PUT \
--url https://post.adaptlypost.com/post/api/v1/inbox/reviews/rvw_0c93b4d1/reply \
--header 'Authorization: Bearer <api-key>' \
--header 'Content-Type: application/json' \
--data '{ "text": "Sorry about the wait, Piotr. We have added a second barista on weekends." }'curl --request DELETE \
--url https://post.adaptlypost.com/post/api/v1/inbox/reviews/rvw_0c93b4d1/reply \
--header 'Authorization: Bearer <api-key>'curl --request POST \
--url https://post.adaptlypost.com/post/api/v1/inbox/reviews/status \
--header 'Authorization: Bearer <api-key>' \
--header 'Content-Type: application/json' \
--data '{ "ids": ["rvw_0c93b4d1"], "status": "READ" }'{
"reviews": [
{
"id": "rvw_0c93b4d1",
"accountId": "conn_gbp_001",
"platform": "GOOGLE_BUSINESS",
"accountName": "AdaptlyPost Kraków",
"platformReviewId": "AbFvOqm4x2...",
"reviewer": {
"name": "Piotr K.",
"avatarUrl": null,
"isAnonymous": false
},
"rating": 2,
"text": "Good coffee, but a 20 minute wait on Saturday.",
"reply": null,
"createdAt": "2026-11-07T12:30:00.000Z",
"updatedAt": "2026-11-07T12:30:00.000Z",
"status": "UNREAD",
"repliedAt": null,
"maxReplyLength": 4096,
"capabilities": { "canReply": true }
}
],
"total": 1,
"hasMore": false,
"nextCursor": null
}