Jèko
Service Providers

Erreurs

Codes renvoyés par l'API Service Provider, et limites de débit

Les pages de chaque parcours détaillent le moment où le code apparaît. Ce tableau les regroupe.

idHTTPQuand
phone_already_in_use409Onboarding : le téléphone a déjà un compte. Enchaînez avec un rattachement
user_not_found404Rattachement : aucun utilisateur pour ce téléphone. Utilisez l'onboarding
no_owned_business409L'utilisateur existe mais n'est Owner d'aucune entreprise
already_linked409Rattachement déjà en place. extras contient le merchantBusinessId
not_linked404Détachement, ou assignation de catalogue, sans rattachement live
compliance_level_0_incomplete409KYC alors que les champs niveau 0 sont incomplets
kyc_required409KYB avant un KYC succeeded
fee_catalog_not_found404Catalogue absent, qui ne vous appartient pas, ou supprimé
fee_catalog_assignment_not_found404Aucun catalogue assigné à retirer
fee_catalog_still_assigned409Suppression tableau de bord d'un catalogue encore assigné
max_webhook_subscriptions_reached409Un abonnement webhook actif existe déjà sur votre magasin dédié
forbidden_action403storeId d'un autre magasin avec une clé plateforme

Sans id dédié :

  • 401 sur une vérification de conformité : le marchand n'est pas rattaché à votre Service Provider. Après un détachement, les clés plateforme que vous aviez créées répondent aussi 401.
  • 403 à la création de clé : le merchantBusinessId n'est pas un marchand que vous avez intégré ou rattaché.
  • 404 sur une vérification, une demande de rattachement ou un abonnement webhook : ressource inconnue, ou elle appartient à un autre Service Provider.
  • 422 : valeur hors des données de référence, fourchette de revenu inversée, ou URL de webhook qui n'est pas en https.

Limitation de débit

Pour garantir la stabilité et la disponibilité de l'API, Jèko applique des limites de débit au niveau applicatif.

Les limites sont appliquées par entreprise, et non par clé API. La création de plusieurs clés API ne permet pas de contourner les limites.

Type de limiteQuotaFenêtre de temps
Limite standard500 requêtespar minute
Limite burst1 000 requêtespar 5 minutes

En cas de dépassement, l'entreprise est bloquée 10 à 15 minutes. Pendant le blocage, les requêtes reçoivent 429 Too Many Requests.

{
  "statusCode": 429,
  "error": "Too Many Requests",
  "message": "Rate limit exceeded. Please retry after some time."
}
async function makeRequestWithRetry(url, options, maxRetries = 5) {
  for (let attempt = 0; attempt < maxRetries; attempt++) {
    const response = await fetch(url, options);

    if (response.status === 429) {
      const waitTime = Math.pow(2, attempt) * 1000;
      await new Promise(resolve => setTimeout(resolve, waitTime));
      continue;
    }

    return response;
  }

  throw new Error('Nombre maximum de tentatives dépassé');
}

Si vous avez besoin de limites plus élevées, contactez hello@jeko.africa.

On this page