rankion.ai
API

API Google Integrations (GSC + GA4)

Flux OAuth, sélection de propriétés et import de données depuis Search Console et Analytics.

L'API Google Integrations connecte un compte Rankion à Google Search Console (GSC), Google Analytics 4 (GA4) et Google Reviews. Le flux OAuth lui-même passe par l'UI web (redirect navigateur vers le consent screen Google — une autorisation purement API n'est pas autorisée par Google pour les scopes offline-access), mais toutes les étapes suivantes (lister les propriétés, lier, tirer les données) sont entièrement scriptables via l'API.

Contexte du module : Google Integrations.

Connections

Une connection est le résultat d'un consent OAuth réussi — il peut y en avoir plusieurs par équipe (par ex. un compte avec accès à 5 propriétés GSC).

Méthode Endpoint Description
GET /v1/google/connections Toutes les connections actives (e-mail, scopes, statut)
DELETE /v1/google/connections/{id} Déconnecter + révoquer le refresh token
curl "$BASE/google/connections" -H "Authorization: Bearer $TOKEN" \
  | jq '.data[] | {id, google_email, scopes, last_synced_at}'

GSC — Search Console

Méthode Endpoint Crédits Description
GET /v1/google/gsc/properties Toutes les propriétés GSC pour tous les comptes connectés
POST /v1/google/gsc/properties/{p}/link Lier la propriété à un projet Rankion. Body : {project_id}
DELETE /v1/google/gsc/properties/{p}/link Délier
POST /v1/google/gsc/properties/{p}/sync 1 Sync immédiat des 16 derniers mois de données de performance
GET /v1/google/gsc/properties/{p}/metrics Clicks, impressions, CTR, position par query/page/date
# Lier la propriété GSC + sync initial
curl -X POST "$BASE/google/gsc/properties/sc-domain%3Aexample.com/link" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"project_id": 12}'

curl -X POST "$BASE/google/gsc/properties/sc-domain%3Aexample.com/sync" \
  -H "Authorization: Bearer $TOKEN"

{p} est l'identifiant de propriété URL-encoded — les domain properties ont le format sc-domain:example.com, les URL properties https://example.com/. Les deux doivent être URL-encoded (%3A, %2F).

# Lire les métriques de performance
curl "$BASE/google/gsc/properties/sc-domain%3Aexample.com/metrics?from=2026-04-01&to=2026-04-30&dimension=query" \
  -H "Authorization: Bearer $TOKEN" \
  | jq '.data[] | {query, clicks, impressions, ctr, position}'

GA4 — Analytics

Méthode Endpoint Description
GET /v1/google/ga4/properties Toutes les propriétés GA4 (Property-ID, Stream-Name, compte)
POST /v1/google/ga4/properties/{p}/link Lier. Body : {project_id}
DELETE /v1/google/ga4/properties/{p}/link Délier
GET /v1/google/ga4/properties/{p}/metrics Sessions, users, engagement, conversions
curl "$BASE/google/ga4/properties/properties%2F123456789/metrics?from=2026-04-01&to=2026-04-30&metrics=sessions,users,conversions" \
  -H "Authorization: Bearer $TOKEN" \
  | jq '.data'

Google Reviews

Méthode Endpoint Description
GET /v1/integrations/google/reviews/status Statut du raccordement Google Business Profile reviews

Les données de reviews elles-mêmes passent par l'API Review Sources — cet endpoint indique seulement si l'auth est vivante et quand a eu lieu le dernier pull réussi.

Flux typique

1) UI: l'utilisateur clique « Connecter Google » → redirect navigateur → consent Google → callback
   → Rankion stocke le refresh token en DB

2) API: GET /google/connections           # montre : connection existe, scopes ok
3) API: GET /google/gsc/properties        # liste ce que l'utilisateur a autorisé dans GSC
4) API: POST /gsc/properties/{p}/link     # lie la propriété au projet
5) API: POST /gsc/properties/{p}/sync     # sync initial (1 crédit)
6) API: GET  /gsc/properties/{p}/metrics  # les données sont prêtes

Notes

  • OAuth uniquement via l'UI. Google refuse les refresh tokens offline-access pour les flux purement API sans passage par le consent screen. Prévois cela dans ton wizard d'onboarding.
  • URL-encoder les identifiants de propriété. sc-domain: est sinon interprété comme un schemepart inconnu (400).
  • Le sync est async-light. /sync lance un job qui tourne 30 s à 5 min selon le volume de 16 mois. last_synced_at dans /connections montre le dernier run réussi.
  • Les quota-limits s'appliquent toujours. Le quota API GSC (1200 queries/min/projet) est respecté par Rankion — en cas de dépassement, erreur de rate-limit avec header Retry-After.
  • DELETE Connection révoque proprement. Le refresh token est révoqué chez Google ; un re-link accidentel demande à nouveau le consent flow.

Voir aussi : Rank Tracking · API Review Sources · Google Integrations.

Letzte Aktualisierung: 1 mai 2026

Cookies : Nous utilisons des cookies nécessaires pour le fonctionnement et facultatifs pour les améliorations. Détails

Nécessaire
Actif
Analytique
Marketing