REST APIGET

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.

GEThttps://post.adaptlypost.com/post/api/v1/inbox/reviews

Gibt Google-Business-Profile-Bewertungen Ihrer Standorte zurück, die neuesten zuerst. Antwortet mit { reviews, total, hasMore, nextCursor }.

API-Schlüssel (Bearer-Token)
Berechtigung:inbox.readRollen und Berechtigungen

Jede Rolle hat inbox.read, daher kann jeder gültige Schlüssel den Posteingang lesen.

Abfrageparameter

ParameterTypBeschreibung
accountIdsstring[]Nur diese Konten, mit der id aus GET /social-accounts. Schlüssel wiederholen oder Werte mit Kommas trennen. Bis zu 50
platformsPlatformType[]Nur diese Plattformen. Schlüssel wiederholen oder Werte mit Kommas trennen
statusesInboxStatus[]Nur Einträge in diesen Zuständen: UNREAD, READ oder DONE. Schlüssel wiederholen oder Werte mit Kommas trennen
sincestring (ISO 8601)Nur Einträge, die auf der Plattform zu oder nach diesem Zeitpunkt erstellt wurden
searchstringSuchtext
ratingsnumber[]Nur Bewertungen mit diesen Sternen, 1 bis 5. Schlüssel wiederholen oder Werte mit Kommas trennen
repliedbooleantrue für Bewertungen mit Antwort, false für solche ohne
limitnumberEinträge pro Seite, 1 bis 100. Standard 25
cursorstringDer 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

FeldBeschreibung
idBewertungs-ID. Verwenden Sie sie mit den Endpunkten unten
accountIdDas Konto, zu dem der Eintrag gehört: seine id aus GET /social-accounts
platformImmer GOOGLE_BUSINESS
accountNameAnzeigename dieses Kontos
platformReviewIdGoogles ID der Bewertung
reviewername, avatarUrl und isAnonymous. Google verbirgt den Namen anonymer Bewertender
ratingSterne, 1 bis 5
textDer Bewertungstext. Kann leer sein, da schon eine Sternebewertung allein eine Bewertung ist
replyDie Antwort des Standorts als { text, updatedAt } oder null
createdAtWann die Bewertung geschrieben wurde
updatedAtWann die bewertende Person sie zuletzt geändert hat
statusUNREAD, 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
repliedAtWann Ihr Konto zuletzt geantwortet hat, oder null
maxReplyLengthDie längste Antwort, die Google annimmt, in UTF-8-Bytes: 4096
capabilitiescanReply: 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.

PUThttps://post.adaptlypost.com/post/api/v1/inbox/reviews/:id/reply

Setzt die Antwort auf die Bewertung oder ersetzt sie und antwortet mit 200 und der Bewertung.

API-Schlüssel (Bearer-Token)
Berechtigung:inbox.replyRollen und Berechtigungen

Schreibzugriffe brauchen inbox.reply (Admin und Redakteur) und einen aktiven AdaptlyPost-Tarif. Ohne Tarif antworten sie mit 403 subscription_required.

Body-Parameter

ParameterTypBeschreibung
textERFORDERLICHstringDie Antwort, bis zu 4096 UTF-8-Bytes
DELETEhttps://post.adaptlypost.com/post/api/v1/inbox/reviews/:id/reply

Entfernt die Antwort des Standorts und antwortet mit 200 und der Bewertung.

API-Schlüssel (Bearer-Token)
Berechtigung:inbox.replyRollen und Berechtigungen

Als gelesen oder erledigt markieren

POSThttps://post.adaptlypost.com/post/api/v1/inbox/reviews/status

Setzt den Status von bis zu 100 Bewertungen und antwortet mit { reviews, unreadCount }.

API-Schlüssel (Bearer-Token)
Berechtigung:inbox.replyRollen und Berechtigungen

Body-Parameter

ParameterTypBeschreibung
idsERFORDERLICHstring[]1 bis 100 IDs aus der Liste
statusERFORDERLICHInboxStatusUNREAD, READ oder DONE

Ablehnungen

Ein abgelehnter Aufruf antwortet mit { statusCode, error, code, message }. Werten Sie code aus. message erklärt die Ablehnung in Worten.

CodeStatusWann, und was zu tun ist
inbox_item_not_found404Die ID existiert nicht oder gehört zu einem anderen Workspace. Abbrechen
inbox_action_unsupported400Die Plattform oder dieser Eintrag erlaubt dieses Ausblenden, Löschen oder Liken nicht. capabilities sagt, was möglich ist. Abbrechen
inbox_reconnect_required403Der 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_invalid400Der Text ist leer oder zu lang. Die Meldung nennt das Limit. Text korrigieren
inbox_messaging_window_closed400Facebook oder Instagram: Das 24-Stunden-Antwortfenster ist abgelaufen. Abbrechen
inbox_rate_limited429Die Plattform hat AdaptlyPost gedrosselt. Nach einer Weile erneut versuchen
inbox_platform_error503Die Plattform ist fehlgeschlagen. Später erneut versuchen
permission_denied403Der Rolle des Schlüssels fehlt inbox.read oder inbox.reply. Nicht erneut versuchen
subscription_required403Ein Schreibzugriff ohne aktiven AdaptlyPost-Tarif. Nicht erneut versuchen
Unbeantwortete schlechte Bewertungen auflisten
curl --request GET \
  --url 'https://post.adaptlypost.com/post/api/v1/inbox/reviews?ratings=1,2&replied=false' \
  --header 'Authorization: Bearer <api-key>'
Auf eine Bewertung antworten
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." }'
Eine Antwort löschen
curl --request DELETE \
  --url https://post.adaptlypost.com/post/api/v1/inbox/reviews/rvw_0c93b4d1/reply \
  --header 'Authorization: Bearer <api-key>'
Eine Bewertung als gelesen markieren
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" }'
200
{
  "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
}