Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://docs.oneclickdz.com/llms.txt

Use this file to discover all available pages before exploring further.

Structure Standardisée

Tous les endpoints de l’API OneClickDz Flexy v3 suivent une structure de réponse cohérente, ce qui facilite la gestion des réponses dans votre application.

Réponse de Succès

Lorsqu’une requête réussit, la réponse suit cette structure :
{
  "success": true,
  "data": {
    // données spécifiques à l'endpoint
  },
  "meta": {
    "timestamp": "2025-10-29T00:00:00.000Z"
    // métadonnées supplémentaires (pagination, etc.)
  },
  "requestId": "req_1234567890_abc123"
}

Champs

success
boolean
requis
Toujours true pour les réponses de succès
data
object
requis
Contient le contenu de la réponse. La structure varie selon l’endpoint.
meta
object
Métadonnées supplémentaires sur la réponse
requestId
string
Identifiant unique pour cette requête. Utilisez-le lors des contacts avec le support.

Réponse d’Erreur

Lorsqu’une requête échoue, la réponse suit cette structure :
{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable error message",
    "details": {
      // additional error context
    }
  },
  "requestId": "req_1234567890_abc123"
}

Champs

success
boolean
requis
Toujours false pour les réponses d’erreur
error
object
requis
Contient les informations d’erreur
requestId
string
Identifiant unique pour cette requête. Incluez-le lors du signalement de problèmes.

Exemples de Réponse

Solde du Compte

{
  "success": true,
  "data": {
    "balance": 1326.13
  },
  "meta": {
    "timestamp": "2025-10-29T00:35:58.710Z"
  }
}

Envoi d’une Recharge Mobile

{
  "success": true,
  "data": {
    "topupId": "6901616fe9e88196b4eb64b0",
    "topupRef": "my-order-123",
    "newBalance": 826.13
  },
  "meta": {
    "timestamp": "2025-10-29T00:35:59.454Z"
  }
}

Liste des Transactions (avec Pagination)

{
  "success": true,
  "data": {
    "items": [
      {
        "type": "FLEXY",
        "amount": 500,
        "time": "2025-10-29T00:00:00.000Z"
      }
    ],
    "pagination": {
      "page": 1,
      "pageSize": 20,
      "totalPages": 10,
      "totalResults": 195
    }
  },
  "meta": {
    "timestamp": "2025-10-29T00:35:58.852Z"
  }
}

Pagination

Les endpoints de liste incluent la pagination dans la réponse :
{
  "success": true,
  "data": {
    "items": [...],
    "pagination": {
      "page": 1,
      "pageSize": 20,
      "totalPages": 10,
      "totalResults": 195
    }
  }
}

Champs de Pagination

page
integer
Numéro de page actuel (indexé à partir de 1)
pageSize
integer
Nombre d’éléments par page
totalPages
integer
Nombre total de pages disponibles
totalResults
integer
Nombre total d’éléments sur toutes les pages

Paramètres de Requête pour la Pagination

Contrôlez la pagination à l’aide de ces paramètres de requête :
ParamètreTypeDéfautDescription
pageinteger1Numéro de page (minimum : 1)
pageSizeinteger20Éléments par page (min : 1, max : 100)
Vérifiez toujours totalPages pour savoir quand arrêter la pagination.

Codes de Statut HTTP

L’API utilise les codes de statut HTTP conventionnels :
Code de StatutSignification
200Succès - Requête complétée avec succès
400Requête Incorrecte - Paramètres invalides ou erreur de validation
401Non Autorisé - Clé API invalide ou manquante
403Interdit - Solde ou permissions insuffisants
404Non Trouvé - La ressource n’existe pas
429Trop de Requêtes - Limite de taux dépassée
500Erreur Interne du Serveur - Un problème est survenu de notre côté
503Service Indisponible - Interruption temporaire du service
Même pour les codes de statut non-200, la réponse suit le format d’erreur standard.

ID de Requête

Chaque réponse inclut un requestId unique :
{
  "success": true,
  "data": {...},
  "requestId": "req_1761698159_abc123xyz"
}

Utilisations du Request ID

Débogage

Suivre les requêtes dans les journaux et identifier les problèmes

Support

Inclure dans les tickets de support pour une résolution plus rapide

Audit

Corréler les requêtes avec les transactions

Surveillance

Suivre le flux des requêtes entre les systèmes
Enregistrez toujours le requestId pour chaque appel API que vous effectuez. Il est indispensable pour le débogage.

Type de Contenu

Toutes les requêtes et réponses utilisent JSON :

En-têtes de Requête

Content-Type: application/json
X-Access-Token: YOUR_API_KEY

En-têtes de Réponse

Content-Type: application/json; charset=utf-8
X-Request-ID: req_1761698159_abc123xyz
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 115
X-RateLimit-Reset: 1761698219

Traitement des Réponses

Bonnes Pratiques

const response = await fetch(url, options);
const data = await response.json();

if (data.success) {
  console.log(data.data);
} else {
  console.error(data.error.code, data.error.message);
}
console.log(`Request ${data.requestId}: ${data.success ? 'Success' : 'Failed'}`);

if (!data.success) {
  console.error(`Error ${data.error.code}: ${data.error.message}`);
}
let page = 1;
let allItems = [];

while (true) {
  const response = await fetch(`${url}?page=${page}&pageSize=100`);
  const data = await response.json();
  
  if (!data.success) break;
  
  allItems.push(...data.data.items);
  
  if (page >= data.data.pagination.totalPages) break;
  page++;
}
const timestamp = new Date(data.meta.timestamp);
console.log(`Response generated at: ${timestamp.toLocaleString()}`);

Étapes suivantes

Gestion des erreurs

Apprendre à gérer les erreurs efficacement

Endpoints principaux

Explorer tous les endpoints disponibles