Vue d’ensemble
Ce guide vous montre exactement ce qu’il faut modifier lors de la migration de l’API OneClickDz Flexy v2 vers v3. Chaque exemple présente votre code v2 actuel, liste les changements à effectuer et montre le résultat en v3. Disponible en plusieurs langages : exemples JavaScript/Node.js, PHP et Python inclus.Nouveautés de v3
Réponses standardisées
Toutes les réponses encapsulées dans la structure
{(success, data, meta, requestId)}Meilleure gestion des erreurs
Erreurs structurées avec codes, messages et détails pour un débogage plus facile
Débogage amélioré
Chaque réponse inclut des horodatages et des IDs de requête uniques
Endpoints plus clairs
Regroupement logique :
/mobile/*, /internet/*, /gift-cards/*, /account/*Clés API séparées
Générez des clés sandbox dédiées pour les tests tout en conservant votre clé de production
Liste blanche d'IP
Ajoutez des restrictions IP directement depuis la page des paramètres pour une sécurité renforcée
Liste de contrôle de migration rapide
1
Générer une clé API sandbox (optionnel)
Créez une clé API sandbox depuis la page des paramètres de votre tableau de bord pour tester v3 avant de migrer la production
2
Configurer la liste blanche d'IP (optionnel)
Ajoutez des restrictions IP pour une sécurité renforcée directement depuis les paramètres
3
Mettre à jour l'en-tête d'authentification
Passez de
authorization à X-Access-Token dans toutes les requêtes API4
Mettre à jour la gestion des réponses
Accédez aux données via
result.data au lieu d’y accéder directement depuis la réponse5
Mettre à jour la gestion des erreurs
Vérifiez le booléen
result.success et gérez l’objet structuré result.error6
Mettre à jour les chemins des endpoints
Mappez les chemins v2 vers les nouveaux chemins v3 (voir le tableau de référence complet ci-dessous)
7
Mettre à jour la logique de pagination
Accédez aux informations de pagination depuis
result.data.pagination au lieu du niveau racineChoisissez votre stratégie de migration
Bonne nouvelle : Les APIs v2 et v3 fonctionnent simultanément jusqu’à la dépréciation de v2.
Votre clé API de production actuelle fonctionne avec les endpoints v2 et v3, vous offrant une flexibilité dans votre migration.
Changement d’URL de base : v3 utilise une nouvelle URL de base : - v2 :
https://flexy-api.oneclickdz.com/v2 - v3 : https://api.oneclickdz.com/v3Nouvelles fonctionnalités de sécurité : v3 introduit la gestion de clés API sandbox séparées pour les tests, ainsi que la liste blanche d’IP directement depuis la page des paramètres de votre tableau de bord. Votre clé de production continue de fonctionner avec v2 et v3.
🆕 Nouveau départ
Idéal pour : Refonte complète ou nouveaux projets
- Générez une clé sandbox pour les tests depuis les paramètres
- Configurez la liste blanche d’IP pour la clé de production
- Testez tout en sandbox avec v3
- Utilisez la clé de production quand vous êtes prêt
🔄 Migration progressive
Idéal pour : Systèmes de production existants
- Continuez d’utiliser la clé de production actuelle pour les endpoints v2
- Générez une clé sandbox pour tester v3 en toute sécurité
- Migrez les endpoints un par un vers v3
- Exécutez v2 et v3 en parallèle avec la même clé de production
Migration intelligente : Commencez par les cartes cadeaux
Conseil pro : Si vous êtes intéressé par les cartes cadeaux, intégrez-les d’abord sur v3 ! Vous n’avez pas besoin de migrer vos recharges mobiles et internet existantes pour commencer à utiliser les cartes cadeaux sur v3. C’est une façon peu risquée de tester v3 tout en maintenant vos opérations critiques sur v2. Utilisez votre clé sandbox pour tester, puis passez en production quand vous êtes prêt.
-
Phase 1 : Intégrer les cartes cadeaux sur v3 (si applicable)
- Générez une clé sandbox pour les tests
- Utilisez les endpoints
/v3/gift-cards/*en sandbox - Testez soigneusement, puis utilisez la clé de production
- Maintenez mobile/internet sur v2
-
Phase 2 : Migrer les endpoints de compte et de validation
/v3/validate/v3/account/balance/v3/account/transactions
-
Phase 3 : Migrer les recharges mobiles progressivement
- Testez d’abord avec des opérations à faible volume
- Surveillez les problèmes
- Augmentez progressivement la migration
-
Phase 4 : Migrer les recharges internet
- Complétez avant la date limite de dépréciation
Les 3 changements principaux
1. En-tête d’authentification
Ce qu’il faut modifier : Renommez l’en-tête deauthorization à X-Access-Token
Nouvelle gestion des clés : v3 vous permet de générer une clé API sandbox séparée pour les tests depuis les paramètres de votre tableau de bord. Vous pouvez également ajouter des restrictions de liste blanche d’IP pour une sécurité renforcée. Votre clé API de production existante fonctionne avec les endpoints v2 et v3.
- JavaScript
- PHP
- Python
- ❌ Supprimer :
authorization: "YOUR_API_KEY" - ✅ Ajouter :
X-Access-Token: "YOUR_API_KEY" - ✅ Mettre à jour : URL de base vers
https://api.oneclickdz.com/v3
Le mécanisme d’authentification reste le même - seul le nom de l’en-tête change. Votre clé API existante fonctionne avec v2 et v3.
- JavaScript
- PHP
- Python
2. Structure des réponses
Ce qu’il faut modifier : Toutes les réponses sont maintenant encapsulées dans une structure standard- JavaScript
- PHP
- Python
- ❌ Supprimer : L’accès direct à
data.balance - ✅ Ajouter : Vérifiez d’abord
result.success - ✅ Ajouter : Accédez via
result.data.balance - ✅ Bonus : Utilisez
result.requestIdpour le débogage - ✅ Bonus : Utilisez
result.meta.timestamppour les informations de timing
- JavaScript
- PHP
- Python
3. Gestion des erreurs
Ce qu’il faut modifier : Les erreurs sont maintenant des objets structurés avec des codes- JavaScript
- PHP
- Python
- ❌ Supprimer : La vérification de la chaîne
result.error - ✅ Ajouter : Vérifiez
result.success === false - ✅ Ajouter : Accédez à
result.error.codeetresult.error.message - ✅ Ajouter : Gérez les différents codes d’erreur avec des switch/if
- ✅ Ajouter : Journalisez
result.requestIdpour les tickets de support
Conseil pro : Sauvegardez toujours le
requestId lors de la journalisation des erreurs. Notre équipe de support en a besoin pour tracer les problèmes dans notre système.- JavaScript
- PHP
- Python
Exemples de migration étape par étape
Exemple 1 : Récupérer les forfaits mobiles
Étape 1 - Votre code v2 actuel :- JavaScript
- PHP
- Python
- Changer l’URL de base :
https://flexy-api.oneclickdz.com→https://api.oneclickdz.com - Changer l’endpoint :
/v2/plans/listAll→/v3/mobile/plans - Changer l’en-tête :
authorization→X-Access-Token - Ajouter la vérification de succès :
if (result.success) - Accéder via data :
data.dymanicPlans→result.data.dynamicPlans(faute corrigée !)
- JavaScript
- PHP
- Python
Exemple 2 : Envoyer une recharge mobile
Étape 1 - Votre code v2 actuel :- JavaScript
- PHP
- Python
- Changer l’URL de base :
https://flexy-api.oneclickdz.com→https://api.oneclickdz.com - Changer l’endpoint :
/v2/topup/sendTopup→/v3/mobile/send - Changer l’en-tête :
authorization→X-Access-Token - Ajouter la vérification de succès :
if (result.success) - Accéder via data :
data.topupId→result.data.topupId - Ajouter une gestion complète des erreurs
- JavaScript
- PHP
- Python
Exemple 3 : Vérifier le statut d’une recharge
Étape 1 - Votre code v2 actuel :- JavaScript
- PHP
- Python
- Changer l’URL de base :
https://flexy-api.oneclickdz.com→https://api.oneclickdz.com - Changer l’endpoint :
/v2/topup/checkStatus/REF/:ref→/v3/mobile/check-ref/:ref - Changer l’en-tête :
authorization→X-Access-Token - Ajouter la vérification de succès :
if (result.success) - Accéder directement :
data.topup.status→result.data.status(plus d’objettopupimbriqué) - Gérer les nouveaux champs d’information sur le remboursement
Nouvelle fonctionnalité : v3 inclut des informations détaillées sur les remboursements avec des offres alternatives suggérées quand une recharge est remboursée.
- JavaScript
- PHP
- Python
Exemple 4 : Lister les transactions avec pagination
Étape 1 - Votre code v2 actuel :- JavaScript
- PHP
- Python
- Changer l’URL de base :
https://flexy-api.oneclickdz.com→https://api.oneclickdz.com - Changer la version :
/v2/account/transactions→/v3/account/transactions - Changer l’en-tête :
authorization→X-Access-Token - Ajouter la vérification de succès :
if (result.success) - Accéder aux éléments :
data.transactions→result.data.items - Accéder à la pagination : Champs au niveau racine → objet
result.data.pagination
- JavaScript
- PHP
- Python
Exemple 5 : Vérifier les produits internet
Étape 1 - Votre code v2 actuel :- JavaScript
- PHP
- Python
- Changer l’URL de base :
https://flexy-api.oneclickdz.com→https://api.oneclickdz.com - Changer l’endpoint :
/v2/internet/checkCards/:type→/v3/internet/products?type=:type - Passer du param de chemin au param de requête :
/ADSL→?type=ADSL - Changer l’en-tête :
authorization→X-Access-Token - Ajouter la vérification de succès :
if (result.success) - Accéder au tableau : Tableau direct →
result.data.products
Conception API : v3 utilise des paramètres de requête au lieu de paramètres de chemin pour la sélection du type, facilitant l’ajout de filtres à l’avenir.
- JavaScript
- PHP
- Python
Migrer votre client API
Voici comment mettre à jour votre wrapper de client API : Étape 1 - Votre client v2 actuel :- JavaScript
- PHP
- Python
- Changer l’URL de base :
https://flexy-api.oneclickdz.com→https://api.oneclickdz.com - Changer l’en-tête :
authorization→X-Access-Token - Ajouter la gestion de l’encapsuleur de réponse dans la méthode
request() - Vérifier
result.successet gérer les erreurs - Mettre à jour tous les chemins d’endpoint vers v3
- Lever des erreurs structurées avec des codes et des IDs de requête
Bonne pratique : Centralisez la gestion des erreurs dans votre client API. Cela facilite l’ajout de journalisation, de surveillance et de notifications utilisateur.
- JavaScript
- PHP
- Python
Référence des codes d’erreur
Erreurs v2 courantes et leurs équivalents v3 :
Comment gérer les erreurs v3 :
- JavaScript
- PHP
- Python
Problèmes de migration courants et solutions
Problème : Erreurs 401 Non autorisé
Problème : Erreurs 401 Non autorisé
Problème : Endpoint changé mais nom de l’en-tête non mis à jour.Solution : Remplacez
authorization par X-Access-Token dans TOUTES les requêtes.Problème : Obtenir 'undefined' en accédant aux données
Problème : Obtenir 'undefined' en accédant aux données
Problème : Tentative d’accès direct aux données sans passer par
result.data.Solution : Accédez toujours aux données de réponse via la propriété data.Problème : La pagination ne fonctionne pas
Problème : La pagination ne fonctionne pas
Problème : Recherche des champs de pagination au niveau racine.Solution : Accédez à la pagination via
data.pagination.Problème : La gestion des erreurs ne fonctionne pas
Problème : La gestion des erreurs ne fonctionne pas
Problème : Vérification de l’ancien format d’erreur.Solution : Vérifiez le booléen
success et accédez à l’objet d’erreur structuré.Problème : Erreurs 404 Non trouvé
Problème : Erreurs 404 Non trouvé
Problème : Utilisation des anciens chemins d’endpoint v2.Solution : Mettez à jour tous les chemins selon le tableau de référence ci-dessus.
Référence complète des endpoints
Liste de vérification des tests
Avant de déployer en production, vérifiez :- Tous les en-têtes d’authentification modifiés vers
X-Access-Token - Tous les chemins d’endpoints mis à jour vers v3
- Vérification succès/erreur implémentée partout
- Données accessibles via
result.data - Pagination accessible via
result.data.pagination - Codes d’erreur gérés avec
result.error.code - IDs de requête journalisés pour le débogage
- Testé en mode sandbox d’abord
- Toutes les fonctionnalités existantes fonctionnent encore
- Scénarios d’erreur testés (solde insuffisant, données invalides, etc.)
Besoin d’aide ?
Documentation API v3
Référence complète v3 et exemples
Guide de gestion des erreurs
Bonnes pratiques pour la gestion des erreurs
Paramètres du tableau de bord
Accès : Connectez-vous à votre tableau de bordGénérer une clé sandbox : Créez une clé sandbox pour des tests sécurisésListe blanche d’IP : Ajoutez des restrictions IP pour une sécurité renforcée
Support
Email : [email protected]Important : Incluez toujours votre ID de requête lors du signalement de problèmes
Support à la migration : Notre équipe est là pour vous aider ! Envoyez-nous un e-mail avec “Support migration API v3” en objet, et incluez : - Les détails de votre implémentation actuelle - Les erreurs spécifiques (avec les IDs de requête) - Des exemples de code illustrant le problème

