Google-Bewertungen-API für Entwickler
Eine REST-API, um Ihre Standorte und Bewertungen abzufragen und Bewertungsanfragen aus Ihrem eigenen System auszulösen (Kasse, Buchung, E-Commerce), plus signierte Webhooks für Echtzeit-Ereignisse ohne Polling.
Authentifizierung
Erstellen Sie einen API-Schlüssel unter Einstellungen → API in Ihrem Dashboard. Jeder Schlüssel wird bei der Erstellung nur einmal angezeigt — bewahren Sie ihn sicher auf. Senden Sie ihn im Authorization-Header jeder Anfrage:
curl -H "Authorization: Bearer rvd_live_..." \ "https://reviews-api.rovidev.com/api/v1/locations"
GET /api/v1/locations
Gibt die aktiven Standorte Ihrer Organisation zurück.
{
"id": "b3f1...",
"name": "Cafetería El Sol - Centro"
}GET /api/v1/reviews
Gibt die Bewertungen Ihrer Organisation paginiert zurück. Unterstützt die Filter status (pending, negative, published), location_id, platform (google, facebook, tripadvisor), page und page_size.
curl -H "Authorization: Bearer rvd_live_..." \ "https://reviews-api.rovidev.com/api/v1/reviews?status=negative&page=1&page_size=50"
{
"items": [
{
"id": "9c2a...",
"location_id": "b3f1...",
"location_name": "Cafetería El Sol - Centro",
"platform": "google",
"star_rating": 5,
"comment": "Trato excelente",
"reviewer_name": "Ana",
"sentiment": "positive",
"review_created_at": "2026-08-20T10:15:00",
"reply_status": "published",
"reply_content": "¡Muchas gracias, Ana!"
}
],
"total": 1,
"page": 1,
"page_size": 50
} Auch in JavaScript / Node
const res = await fetch(
"https://reviews-api.rovidev.com/api/v1/reviews?status=negative&page=1&page_size=50",
{ headers: { Authorization: "Bearer rvd_live_..." } }
)
const { items, total } = await res.json()POST /api/v1/review-requests
Lösen Sie eine Bewertungsanfrage genau in dem Moment aus, in dem eine Bestellung, Buchung oder ein Termin abgeschlossen wird, statt sich auf eine manuell hochgeladene Kontaktliste zu verlassen. Unterstützt die Kanäle email, sms und whatsapp.
curl -X POST -H "Authorization: Bearer rvd_live_..." \
-H "Content-Type: application/json" \
-d '{"channel":"email","name":"Ana","email":"ana@example.com"}' \
"https://reviews-api.rovidev.com/api/v1/review-requests" {
"id": "7e4b...",
"status": "sent",
"channel": "email",
"recipient": "ana@example.com"
} Auch in JavaScript / Node
await fetch("https://reviews-api.rovidev.com/api/v1/review-requests", {
method: "POST",
headers: {
Authorization: "Bearer rvd_live_...",
"Content-Type": "application/json"
},
body: JSON.stringify({ channel: "email", name: "Ana", email: "ana@example.com" })
})Webhooks
Konfigurieren Sie unter Einstellungen → API eine URL, um bei jedem Ereignis einen POST zu erhalten, statt die API regelmäßig abzufragen. Maximal 5 aktive Webhooks pro Organisation.
Verfügbare Ereignisse
review.createdreview.replieddaily.summary
Signatur überprüfen
Jede Zustellung enthält den Header X-RoviDev-Signature: ein HMAC-SHA256 des Anfragetexts, berechnet mit dem Secret, das bei der Erstellung des Webhooks angezeigt wird. Überprüfen Sie es auf Ihrem Server, bevor Sie das Ereignis verarbeiten:
import hashlib import hmac expected = hmac.new(secret.encode(), request.body, hashlib.sha256).hexdigest() hmac.compare_digest(expected, request.headers["X-RoviDev-Signature"])
Auch in JavaScript / Node
const crypto = require("crypto")
const expected = crypto
.createHmac("sha256", secret)
.update(rawBody)
.digest("hex")
crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(req.headers["x-rovidev-signature"])) Schritt-für-Schritt-Anleitung: Bewertungsanfragen und Webhooks automatisieren →