REFUNDIZE
AccueilRefundize OSOutils
TarifsSécuritéPourquoi nous ?
BÊTA PRIVÉE
Review Shield
Voir l'AutopilotMon Compte
AccueilGuides🤖 Automatisation & Outils

Dans cet article

  • Authentification : API Keys et OAuth 2.0
  • Endpoints REST : le catalogue complet
  • Webhooks : recevoir les événements en temps réel
  • Exemples de code : TypeScript et Python
  • Patterns d'intégration avancés

API Refundize : intégrer la défense dans votre stack technique

🤖 Automatisation & OutilsAvancé16 min2,800 motsMis à jour le 20/05/2026

Quand votre volume de litiges dépasse 100 par mois, les intégrations no-code atteignent leurs limites. L'API REST Refundize vous permet d'intégrer la défense vendeur directement dans votre ERP, votre backend e-commerce ou votre CRM. Authentification, endpoints, webhooks, code examples : ce guide couvre tout ce dont votre équipe technique a besoin pour une intégration sur mesure.

Cas concret

Lucas — Amazon + eBay + Cdiscount + Back Market

Lucas est CTO d'une entreprise qui vend du matériel reconditionné sur 4 plateformes, avec 3 000 commandes par mois et 120+ litiges mensuels. Son équipe a développé un ERP maison qui gère les stocks, les commandes et la comptabilité. Il veut intégrer la défense litiges directement dans son ERP pour que son équipe support traite tout depuis un seul outil, sans jongler entre 4 portails vendeurs.

Authentification : API Keys et OAuth 2.0

L'API Refundize supporte deux méthodes d'authentification. La méthode recommandée pour les intégrations serveur-à-serveur est la clé API, à passer dans le header X-API-Key de chaque requête. Vous générez votre clé dans le dashboard Refundize > Paramètres > API. La clé a une portée configurable : lecture seule (GET), lecture/écriture (GET/POST/PUT), ou admin (tous les endpoints + webhooks). Pour les applications tierces ou les intégrations multi-utilisateurs, utilisez OAuth 2.0 avec le flux authorization_code. Les tokens OAuth expirent après 1 heure ; utilisez le refresh_token (valable 30 jours) pour les renouveler automatiquement.

Toutes les requêtes API vers Refundize doivent inclure le header : `X-API-Key: rf_live_xxxxxxxxxxxxxxxxxxxx` ou `Authorization: Bearer eyJ...` pour OAuth.
Exemple concret

Pour l'ERP de Lucas, l'authentification par clé API en lecture/écriture est idéale : un seul service backend, une seule clé, permissions limitées aux endpoints nécessaires. La clé est stockée dans un vault sécurisé (HashiCorp Vault) et injectée via variable d'environnement.

Ne stockez JAMAIS votre clé API en dur dans le code source ou dans un fichier de configuration versionné. Utilisez des variables d'environnement, un gestionnaire de secrets (AWS Secrets Manager, HashiCorp Vault), ou le chiffrement au repos de votre base de données.

Endpoints REST : le catalogue complet

L'API Refundize s'organise autour de 5 ressources principales. /disputes : liste, création, mise à jour et suppression des litiges. GET /v1/disputes retourne les litiges avec filtres (plateforme, type, statut, période). POST /v1/disputes crée un litige manuellement. GET /v1/disputes/{id} récupère le détail. /defenses : génération et gestion des réponses. POST /v1/defenses/generate lance la génération IA d'une défense. GET /v1/defenses/{id} récupère la défense générée. /webhooks : gestion des endpoints de notification. /analytics : KPIs agrégés pour les tableaux de bord. /platforms : statut des connexions aux plateformes. Chaque endpoint retourne des réponses JSON avec un code HTTP standard (200, 201, 400, 401, 404, 429, 500).

Exemple concret

GET /v1/disputes?platform=amazon&type=INR&status=open&from=2026-05-01&to=2026-05-21&limit=50&offset=0 — retourne tous les litiges INR Amazon ouverts en mai 2026, paginés par 50.

Utilisez la pagination systématiquement (limit + offset). L'API a une limite de 100 résultats par page. Pour les volumes > 100 litiges, itérez sur les pages avec un offset croissant. Le header X-Total-Count vous donne le nombre total de résultats.

Webhooks : recevoir les événements en temps réel

Plutôt que de poller l'API toutes les 5 minutes, configurez des webhooks pour recevoir les événements en push. Les événements disponibles : dispute.created, dispute.updated, dispute.resolved, defense.generated, defense.sent, chargeback.detected, review.new_negative, platform.disconnected, health.threshold_warning. Chaque webhook envoie un POST à votre URL avec un payload JSON signé. La signature est un HMAC-SHA256 du payload avec votre webhook_secret, envoyé dans le header X-Refundize-Signature. Vérifiez toujours la signature côté serveur pour éviter les injections.

Vérification de la signature webhook (Node.js) : `const crypto = require('crypto'); const sig = req.headers['x-refundize-signature']; const expected = crypto.createHmac('sha256', WEBHOOK_SECRET).update(JSON.stringify(req.body)).digest('hex'); if (crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected))) { /* OK */ }`
Exemple concret

Payload type pour dispute.created : `{"event":"dispute.created","timestamp":"2026-05-21T14:30:00Z","data":{"id":"dsp_8f3a1b","platform":"amazon","type":"INR","order_id":"403-8822191-1234567","amount":89.90,"currency":"EUR","deadline":"2026-05-24T14:30:00Z","buyer_email":"j***@gmail.com"}}`.

Implémentez une file d'attente (RabbitMQ, SQS, BullMQ) pour traiter les webhooks de manière asynchrone. Si votre endpoint met plus de 5 secondes à répondre, Refundize considère le webhook comme échoué et retente 5 fois avec un backoff exponentiel (30s, 2min, 8min, 30min, 2h).

Exemples de code : TypeScript et Python

Deux exemples d'intégration complets. TypeScript (Node.js) : listez les litiges ouverts et générez une défense. Utilisez axios pour les requêtes HTTP et implémentez un retry avec backoff pour gérer le rate limiting. Python : même logique avec requests et tenacity pour le retry. Les deux exemples couvrent : authentification, récupération des litiges, filtrage par deadline (< 24h), génération de défense, gestion des erreurs, et pagination. Pour l'ERP de Lucas, ces exemples servent de base à un worker qui tourne toutes les 30 minutes, détecte les nouveaux litiges, génère les défenses, et les pousse dans l'interface support de l'ERP.

TypeScript : `const disputes = await refundize.listDisputes({ status: 'open', deadline_before: '24h' }); for (const d of disputes) { const defense = await refundize.generateDefense(d.id); await refundize.sendDefense(defense.id); }` — avec gestion d'erreur et retry entre chaque étape.

Le rate limiting est de 60 requêtes par minute par clé API. Au-delà, vous recevez un HTTP 429. Implémentez un délai entre les requêtes (1 seconde minimum) et un retry avec jitter. Pour les volumes élevés, utilisez l'endpoint bulk (POST /v1/defenses/bulk-generate) qui accepte jusqu'à 50 litiges par appel.

Patterns d'intégration avancés

Pour une intégration de niveau production, suivez ces patterns éprouvés. Circuit breaker : si l'API Refundize est indisponible (erreurs 5xx consécutives), ouvrez le circuit et passez en mode dégradé (alerte manuelle à votre équipe). Cache : mettez en cache les réponses GET (litiges, analytics) avec un TTL de 5 minutes pour réduire les appels API. Idempotence : chaque requête POST/PUT inclut un header X-Idempotency-Key unique ; Refundize ignore les doublons. Queue de traitement : utilisez une file d'attente pour désynchroniser la détection et la réponse — le worker de détection alimente la queue, le worker de réponse consomme la queue. Ce pattern permet de scaler les deux processus indépendamment.

Exemple concret

Lucas a implémenté une architecture avec : 1 worker de détection (polling toutes les 30 min via API + webhooks pour les urgences) → file BullMQ → 3 workers de traitement (génération IA + envoi) → file BullMQ → worker de synchronisation (mise à jour ERP). Résultat : 120 litiges/mois traités en < 4 minutes chacun, 0 perte de données, disponibilité 99.7%.

Pour le monitoring de votre intégration, logguez chaque appel API (endpoint, durée, statut) et alimentez un dashboard (Grafana, Datadog). Les métriques clés : latence p95, taux d'erreur, taux de succès de génération IA, temps moyen de bout en bout.

Checklist

0/7

Questions fréquentes

Explorer l'API Refundize

Consultez la documentation interactive de l'API (Swagger) et testez les endpoints en direct avec votre clé sandbox. Tout ce dont votre équipe technique a besoin pour démarrer.

Essayer maintenant

Articles similaires

🤖 Automatisation & Outils

Automatiser sa défense vendeur : le guide complet

Détection automatique des litiges, réponses IA, suivi des délais : comment automatiser 80% de votre défense pour vous concentrer sur votre business.

Intermédiaire12 min·2,000 mots
🤖 Automatisation & Outils

Refundize Workflows : scénarios d'automatisation avancés

Créez des workflows conditionnels : si litige INR + tracking livré = réponse automatique. Templates prêts à l'emploi pour chaque situation.

Avancé14 min·2,300 mots
🤖 Automatisation & Outils

Connecter sa défense à 5000 apps avec Zapier

Zapier + Refundize = workflows infinis. Slack, Google Sheets, CRM, email : connectez votre défense à tout votre stack d'outils.

Intermédiaire10 min·1,600 mots