Aller au contenu

Catalogue d'erreurs

Chaque réponse d’erreur de l’API utilise l’enveloppe PaymentGatewayError avec un error_code stable à quatre chiffres. Cette page est le catalogue complet. Basez vos branchements sur error_code, jamais sur message.

Le premier chiffre groupe la cause :

Identifiants. Ne jamais auto-retry — celles-ci demandent une intervention humaine ou un nouvel identifiant.

CodeSymboleCauseCorrectif
1001INVALID_APP_KEYLa valeur app-key est inconnue, mal formée ou révoquée.Vérifiez que la valeur de l’en-tête correspond à ce qui est dans le portail. Régénérez en cas de perte.
1002APP_KEY_MISSINGAucun en-tête app-key n’a été envoyé.Ajoutez app-key: <votre_clé> à la requête.
1003APP_NOT_ALLOWEDLa clé est valide mais l’appelant n’est pas sur la liste blanche (mismatch CIDR IP).Ajoutez l’IP source à la liste blanche de la clé API.
1004APP_SUSPENDEDLa clé est en état SUSPENDED.Contactez votre gestionnaire de compte Bloonio. Pas de retry.
1005APP_EXPIREDExpiration matérielle dépassée.Régénérez.

Forme ou contenu de requête incorrect. Corrigez chez vous et ne retentez pas le même payload.

CodeSymboleCauseCorrectif
1101INVALID_RECIPIENTSto est vide, trop long ou contient des valeurs non-string.to est requis, max 1 000 entrées, chaque entrée doit être une string.
1102INVALID_MESSAGEmessage est vide ou > 1 600 caractères.Tronquez ou divisez.
1103INVALID_SENDER_IDsender_id a des caractères illégaux ou dépasse 11 chars.A–Z, 0–9, ≤11 chars.
1104INVALID_PHONE_NUMBERUne entrée de to ne correspond pas à ^\+?\d{1,15}$.Formater en E.164 (+CCNNNNN…). Le tableau details montre quelles entrées ont échoué.
1105INVALID_SENDING_TYPEsending_type pas dans {immediate, scheduled, recurring}.Utilisez l’une des trois valeurs.
1106INVALID_SCHEDULED_DATEUne entrée de scheduled_dates est mal formée ou dans le passé.Utilisez YYYY-MM-DD pour date, HH:mm pour time, les deux en fuseau marchand, les deux ≥ maintenant.
1107INVALID_RECURRING_SCHEDULEL’objet recurring_schedule a des champs manquants ou des valeurs hors plage.Voir Types d’envoi pour le schéma.
1108INVALID_CALLBACK_URLcallback_url n’est pas une URL HTTPS valide.Doit être https://….
1109MISSING_REQUIRED_FIELDUn champ requis manque pour le sending_type choisi.Voir details pour le nom du champ.
1110INVALID_FIELD_FORMATÉchec de validation générique. Le tableau details a la décomposition.Lisez details, corrigez chaque entrée.

La requête était bien formée mais l’état métier l’interdit.

CodeSymboleCauseCorrectif
1201RECIPIENT_LIMIT_EXCEEDEDPlus de 1 000 destinataires en un appel.Divisez en lots. Voir Envoyer un SMS instantané.
1202INSUFFICIENT_BALANCEVotre solde est sous le total_cost projeté.Rechargez via le tableau de bord Bloonio. Retentez avec un lot plus petit ou après rechargement.
1203RECURRING_LIMIT_EXCEEDEDLe planning récurrent générerait plus de 5 000 SMS.Raccourcissez end_date, réduisez times, ou moins de destinataires.
1204MESSAGE_NOT_FOUNDmessage_id n’existe pas, appartient à un autre marchand, ou a été purgé après 90 jours.Vérifiez que l’ID est le vôtre.
1205OPERATION_NOT_ALLOWEDTentative de cancel/pause/resume d’un message non planifié ou récurrent (ou déjà dans un état terminal).Vérifiez le status courant via GET /status.

Limites de débit, IPs bloquées, anti-abus.

CodeSymboleCauseCorrectif
1301RATE_LIMIT_EXCEEDEDLimite de bucket atteinte.Respectez Retry-After. Voir Limites de débit.
1302SUSPICIOUS_ACTIVITYLes heuristiques anti-abus ont signalé la requête.Contactez le support si légitime.
1303IP_BLOCKEDIP source sur une liste noire.Utilisez un autre réseau ou faites appel aux ops.
1304INVALID_WEBHOOK_AUTHLe récepteur webhook a renvoyé 401 à plusieurs reprises.Vérifiez que la config Basic auth correspond à la configuration de la clé API.
1305REQUEST_TOO_LARGECorps de requête au-delà de la limite de 1 Mo.Réduisez la taille — moins de destinataires par appel.

Problèmes côté serveur. La plupart sont transitoires et retryable: true.

CodeSymboleCauseCorrectif
1401INTERNAL_SERVER_ERRORException non gérée dans la passerelle.Retry avec backoff. Si persistant, contactez le support avec request_id.
1402SERVICE_UNAVAILABLEPasserelle en maintenance ou surchargée.Retry après retry_after.
1403DATABASE_ERRORÉchec de la couche de stockage.Retry.
1404EXTERNAL_API_ERRORDépendance upstream (connecteur opérateur, service de solde) a erré.Retry.
1405TIMEOUT_ERRORTimeout interne.Retry.

Échecs du connecteur opérateur ou du SMSC sous-jacent.

CodeSymboleCauseCorrectif
1501CARRIER_UNAVAILABLEAucun connecteur opérateur disponible pour le pays de destination.Contactez le support.
1502SMS_REJECTED_BY_CARRIERLe SMSC a rejeté le message (typiquement : numéro invalide, sender ID non enregistré pour la destination).Vérifiez details pour la raison opérateur.
1503SMS_TIMEOUTPas d’accusé de livraison sous 24 h.Traité comme failed ; pas d’autre retry.
1504SMS_BLOCKEDLe combiné de destination a bloqué l’expéditeur ou le message a été flaggé comme spam.Contactez via un autre canal ; revoyez votre sender ID et le contenu du message.
1505INSUFFICIENT_CARRIER_QUOTALe connecteur opérateur lui-même a un quota insuffisant avec le SMSC (niveau opérateur).Problème côté Bloonio ; contactez le support. Sera retryable: true pour les cas transitoires.