API Review Sources
Enregistrer des sources de reviews (Google, Trustpilot, etc.), pull des reviews, lecture des trends.
Les Review Sources sont des plateformes d'avis externes (Google Business Profile, Trustpilot, Yelp, ProvenExpert, Trusted Shops, …) que Rankion balaye à intervalles réguliers et consolide. Via l'API, tu gères les sources, fais tourner les clés d'auth et reçois éventuellement des updates temps réel via webhook — l'unique endpoint webhook outbound de toute l'API Rankion.
Contexte du module : Review Sources · voir aussi Webhooks.
Gérer les sources
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /v1/review-sources |
Toutes les sources actives (plateforme, statut, dernier pull) |
| GET | /v1/review-sources/{id} |
Détail incl. liste de reviews courantes |
| DELETE | /v1/review-sources/{id} |
Supprimer la source |
curl "$BASE/review-sources" -H "Authorization: Bearer $TOKEN" \
| jq '.data[] | {id, platform, source_url, status, avg_rating, total_reviews, last_pull_at}'
Pilotage de l'auth
Pour chaque source il existe une clé d'auth (pour les plateformes basées sur clé) ou une connection OAuth (pour Google).
| Méthode | Endpoint | Description |
|---|---|---|
| POST | /v1/review-sources/{id}/rotate-key |
Faire tourner la clé d'auth (l'ancienne clé est immédiatement invalide) |
| POST | /v1/review-sources/{id}/disconnect |
Mettre en pause la source sans la supprimer |
| POST | /v1/review-sources/{id}/reconnect |
Réactiver une source en pause |
curl -X POST "$BASE/review-sources/4/rotate-key" \
-H "Authorization: Bearer $TOKEN"
La réponse fournit la nouvelle clé une seule fois — ensuite seulement masquée (xxxx-…-1234). Stocke-la immédiatement dans ta config.
Onboarding d'une source
Les nouvelles sources se créent par deux voies : enregistrement actif via webhook (pour les plateformes avec support push) ou inscription waitlist (pour les plateformes pas encore activées).
| Méthode | Endpoint | Description |
|---|---|---|
| POST | /v1/review-sources/webhook |
Enregistrer une nouvelle source avec setup webhook |
| POST | /v1/review-sources/waitlist |
Demande pour une plateforme pas encore supportée |
curl -X POST "$BASE/review-sources/webhook" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"platform": "trustpilot", "source_url": "https://trustpilot.com/review/example.com"}'
Webhook public Reviews (inbound)
Des plateformes externes ou Zapier/Make peuvent pousser des reviews directement à Rankion — c'est l'unique endpoint public, authentifié par clé de l'API.
| Méthode | Endpoint | Auth | Description |
|---|---|---|---|
| POST | /v1/webhooks/reviews/{source} |
X-Rankion-Key: <source_key> |
Pousser une review en JSON |
{source} est le slug d'une source de GET /review-sources (par ex. trustpilot-example-com). L'auth ne passe pas par Authorization: Bearer, mais par la clé spécifique à la source issue de rotate-key. Tu peux ainsi donner l'URL webhook en toute sécurité à des systèmes tiers, sans partager le master token.
curl -X POST "https://rankion.ai/api/v1/webhooks/reviews/trustpilot-example-com" \
-H "X-Rankion-Key: $SOURCE_KEY" \
-H "Content-Type: application/json" \
-d '{
"external_id": "tp-987654",
"rating": 5,
"title": "Top Service",
"body": "Schnelle Antwort, alles glatt.",
"author": "Anna M.",
"submitted_at": "2026-04-30T11:22:33Z",
"url": "https://trustpilot.com/reviews/987654"
}'
Réponse 200 :
{"received": true, "review_id": 4521, "duplicate": false}
Sur duplicate: true, la review a été dédupliquée par external_id — pas de nouvel insert, pas d'erreur.
Notes
- Clé webhook ≠ token API. La
X-Rankion-Keyautorise uniquement les pushes vers cette seule source — elle ne peut rien lire, rien modifier, rien appeler ailleurs. Une compromission se limite à des reviews falsifiées pour une source. - Rotate immédiatement après compromission.
POST /rotate-keyinvalide l'ancienne clé atomiquement — les requêtes en vol avec l'ancienne clé reçoivent401. - Disconnect plutôt que DELETE, si tu veux juste mettre en pause. DELETE supprime aussi toutes les reviews déjà tirées de la DB (cascade).
- Les pulls cron tournent automatiquement toutes les 6 h par source active. Le re-pull manuel n'est (état 2026-05) possible que via l'UI.
- Les Google reviews passent par OAuth, pas par les clés source — voir API Google Integrations.
Voir aussi : Google Integrations · Webhooks · Review Sources.