Envoyer un SMS immédiatement
Préparer les champs
Section intitulée « Préparer les champs »POST /api/sms/v2/messages/ sans send_at crée un envoi immédiat. La clé doit disposer de sms.send. Ajoutez delivery.read pour le suivi.
Défilement horizontal si nécessaire. Au clavier : Tab, puis les flèches gauche et droite.
| Champ | Règle |
|---|---|
to | Numéro mobile malgache au format +2613XXXXXXXX, sans espace |
text | Texte non vide, limité à deux segments |
sender_name | Facultatif ; nom actif et accessible à votre organisation |
Les champs inconnus sont refusés. Une validation du format du numéro ne prouve pas qu’il est actif. La limite de 320 caractères du champ text ne signifie pas que tous les textes de cette longueur sont acceptés : l’encodage et les segments restent déterminants.
Soumettre une seule opération métier
Section intitulée « Soumettre une seule opération métier »Définissez BEFIANA_SMS_API_KEY comme dans le quickstart. Remplacez le numéro par votre destinataire autorisé et ACME par un nom actif de votre organisation. Omettez le champ entier pour utiliser la sélection par défaut.
curl --include --request POST 'https://api.befiana.cloud/api/sms/v2/messages/' \ --header "Authorization: Bearer $BEFIANA_SMS_API_KEY" \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: order-2026-0002-confirmation' \ --data '{"to":"+261340000000","text":"Your order is confirmed.","sender_name":"ACME"}'La clé d’idempotence est obligatoire. Créez-la et enregistrez-la avant la soumission. Si la connexion se coupe, réutilisez le même corps et la même clé ; une nouvelle clé crée une nouvelle opération.
Interpréter HTTP 201
Section intitulée « Interpréter HTTP 201 »La réponse 201 confirme l’acceptation par le fournisseur. Elle contient id, to, sender_name, segments, status, send_at et delivery_time. Le statut de création est accepted et send_at vaut null.
L’en-tête Location donne le chemin relatif de consultation du message. Consultez la réponse JSON du quickstart pour un exemple complet.
Les crédits sont pris en compte selon le nombre de segments, sans attendre une confirmation de livraison. Utilisez le solde retourné par le service ; un accusé de livraison n’est pas un relevé de crédits.
Suivre et reprendre
Section intitulée « Suivre et reprendre »GET /api/sms/v2/messages/{message_id}/ fournit le statut courant. Une reprise du POST restitue la réponse de création initiale, même après un changement de statut.
Un 409 doit être interprété selon son code. Un 502 avec résultat fournisseur inconnu ne signifie pas « non envoyé ». Conservez message_id lorsqu’il est fourni et consultez les erreurs, l’idempotence et les recettes.
Envoyer plus tard ou à plusieurs destinataires
Section intitulée « Envoyer plus tard ou à plusieurs destinataires »- Pour un message futur, utilisez la programmation avec
send_atet la permissionsms.schedule. - Pour plusieurs destinataires partageant un texte et une date future, utilisez un lot.