Clé invalide ou révoquée
Vérifiez l'environnement : une clé de bac à sable ne fonctionne pas en production.
Une clé d'API, un appel HTTP, et le message part. Pas de configuration SMPP à négocier, pas de contrat opérateur à signer de votre côté.
Le destinataire, l'expéditeur et le texte. Tout le reste — routage, bascule, accusé de réception — est géré par la plateforme.
curl -X POST https://api.bomocom.com/v1/messages \
-H "Authorization: Bearer $BOMOCOM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+2210000000000",
"from": "BOMOCOM",
"text": "Votre code de validation est 4821.",
"priority": "otp",
"callback_url": "https://votre-app.com/webhooks/sms"
}'Chaque changement d'état est poussé sur votre endpoint, signé en HMAC-SHA256. Aucun besoin d'interroger l'API en boucle.
Le message est accepté, validé et mis en file. L'identifiant vous est rendu immédiatement, en moins de 200 ms.
Le message est remis à l'opérateur par la route retenue. En cas de dégradation, la bascule est déjà faite à ce stade.
L'opérateur confirme la remise sur le terminal. C'est l'accusé de réception qui fait foi dans vos rapports.
Le message n'a pas pu être remis. Le motif opérateur est transmis dans le webhook et conservé douze mois.
POST /webhooks/sms · signature HMAC-SHA256 dans X-Bomocom-Signature
{
"id": "msg_01HXQ7YF3K2M9TQ4B8ZP",
"status": "delivered",
"to": "+2210000000000",
"from": "BOMOCOM",
"segments": 1,
"price": { "amount": 13, "currency": "XOF" },
"route": { "country": "SN", "operator": "orange", "type": "direct" },
"sent_at": "2026-09-16T08:41:02Z",
"delivered_at": "2026-09-16T08:41:04Z"
}Elles sont relevées au cas par cas dès que votre trafic le justifie. Aucun palier tarifaire n'y change quoi que ce soit.
Toutes les erreurs renvoient un corps JSON avec un code machine, un message lisible et, le cas échéant, l'identifiant de la route concernée.
Vérifiez l'environnement : une clé de bac à sable ne fonctionne pas en production.
Le numéro n'est pas au format E.164, ou le Sender ID n'est pas encore enregistré dans le pays visé.
Respectez l'en-tête Retry-After. Les envois groupés sont préférables à une rafale d'appels unitaires.
Cas rare : toutes les routes du pays sont indisponibles. Le message est conservé et rejoué automatiquement.
Trente minutes suffisent pour chiffrer votre trafic, comparer vos taux actuels et vous montrer la console en direct. Sans engagement.