Aller au contenu
Aureus PrimeDocs

Guides

Envoyer un SMS

POST https://api.aureusprime.com/v1/sms/messages

Met un SMS en file. Réponse 202. Un crédit est réservé tout de suite ; il est consommé si le SMS est envoyé, rendu s'il est refusé avant l'envoi.

Corps de la requête

Champ Type Obligatoire Description
to string oui Mobile du Cameroun : 699123456, +237 6 99 12 34 56, 00237699123456 ou 237699123456
text string oui 160 caractères en alphabet GSM, 70 dès qu'un caractère en sort (voir ci-dessous)
senderId string non Expéditeur validé de votre compte ; par défaut l'expéditeur commun
sensitive boolean non true pour un code ou un secret : texte effacé dès l'envoi, jamais conservé
scheduledAt string non Envoi planifié (voir Planifier un SMS)

Longueur et encodage : 1 crédit = 1 SMS, jamais coupé. 160 caractères si le texte n'utilise que l'alphabet GSM (lettres sans accent, é è à ù, chiffres, ponctuation courante) ; € [ ] { } ^ ~ | \ y comptent pour 2. Dès qu'un seul caractère sort de cet alphabet (ê, ô, î, ç, « », °, ’, emoji), tout le SMS passe en Unicode et la limite tombe à 70 caractères (un emoji compte pour 2). Au-delà : refus 422 TEXT_TOO_LONG, jamais de coupure ni de SMS facturé plusieurs fois. Astuce : « no » plutôt que « n° », apostrophe droite ' plutôt que ’.

En-tête facultatif : Idempotency-Key

Envoyez la même clé (100 caractères visibles au plus) pour rejouer une demande sans nouveau débit : la réponse renvoie le même message, avec "replayed": true. Si la même clé sert pour un autre numéro ou un autre expéditeur : 409 IDEMPOTENCY_CONFLICT. Voir Bonnes pratiques.

Exemple

curl -X POST https://api.aureusprime.com/v1/sms/messages \
  -H "Authorization: Bearer adk_sms_VOTRE_CLE" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: commande-4821" \
  -d '{"to": "677000222", "text": "Commande no 4821 confirmée. Livraison demain.", "sensitive": false}'
const response = await fetch("https://api.aureusprime.com/v1/sms/messages", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.AUREUS_SMS_API_KEY}`,
    "Content-Type": "application/json",
    "Idempotency-Key": "commande-4821",
  },
  body: JSON.stringify({ to: "677000222", text: "Commande no 4821 confirmée." }),
});
const message = await response.json();

Réponse

{
  "id": "5b0f2c1e-8a4d-4f7e-9c3a-1d2b3c4d5e6f",
  "status": "QUEUED",
  "to": "+237*******22",
  "operator": "MTN",
  "senderId": "Aureus Desk",
  "errorCode": null,
  "scheduledAt": null,
  "createdAt": "2026-11-01T10:00:00.000Z",
  "sentAt": null,
  "deliveredAt": null,
  "likelyUndelivered": false
}

likelyUndelivered: true : le numéro appartient à un opérateur que nous ne desservons pas aujourd'hui (Camtel, Nextell). Le SMS est tenté ; s'il est refusé, le crédit est rendu.

Refus avant la file (aucun débit)

Code Cas
422 PHONE_INVALID Numéro mal formé
422 PHONE_NOT_COVERED Numéro hors Cameroun ou fixe
422 TEXT_INVALID / TEXT_TOO_LONG Texte vide, avec caractères de contrôle, ou trop long pour un SMS (160 en GSM, 70 en Unicode)
422 SENDER_INVALID / SENDER_NOT_APPROVED / SENDER_NOT_ALLOWED Expéditeur hors format, pas encore validé, ou réservé aux organisations
422 SCHEDULE_INVALID scheduledAt invalide
402 INSUFFICIENT_CREDITS Plus de crédits
403 VERIFICATION_REQUIRED Identité ou entreprise pas encore vérifiée