Envoi

Envoyez un SMS avec POST /v1/messages

POST/v1/messages

Envoyez un texte à un numéro. Le coût est déduit du solde lorsque la requête est acceptée.

Corps de la requête

  • tostringrequis

    Le numéro au format international, par exemple +14155550123. Espaces, tirets, parenthèses et préfixe 00 sont nettoyés.

  • textstringrequis

    Le message. Jusqu'à 10 segments ; voir Texte et segments.

  • referencestringoptionnel

    Votre propre identifiant, jusqu'à 100 caractères. Il est retourné dans l'objet message et dans chaque webhook.

  • send_atstringoptionnel

    Heure d'envoi ISO 8601, de 2 minutes à 45 jours à l'avance. Sans cela, le message est mis en file d'attente immédiatement.

Ajoutez un en-tête Idempotency-Key pour sécuriser les nouvelles tentatives : voir Idempotence.

curl https://bulksmsapi.cc/v1/messages \
  -H "Authorization: Bearer $BULKSMSAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+14155550123",
    "text": "Your Northwind code is 482913. It expires in 10 minutes.",
    "reference": "login-7781"
  }'
202 AcceptedJSON
{
  "id": "msg_8F3K2Q9TZ1MX",
  "object": "message",
  "batch_id": "bat_4M7Q1X0PK2RS",
  "to": "+14155550123",
  "country": "US",
  "text": "Your Northwind code is 482913. It expires in 10 minutes.",
  "segments": 1,
  "price": "0.00507",
  "currency": "USD",
  "status": "queued",
  "error": null,
  "reference": "login-7781",
  "created_at": "2026-11-07T09:30:12.418Z",
  "sent_at": null,
  "done_at": null
}

L'objet message

Champs

  • idstring

    ID du message, msg_ suivi de 12 caractères.

  • objectstring

    Toujours message.

  • batch_idstring

    Le lot auquel appartient le message (un message unique a aussi un lot).

  • tostring

    Le numéro au format E.164, après nettoyage.

  • countrystring

    Code ISO 3166 du pays pour lequel le numéro a été tarifé.

  • textstring

    Le texte tel qu'envoyé, champs de fusion remplis.

  • segmentsinteger

    Nombre de segments SMS utilisés par le texte.

  • pricestring

    Prix de ce message en USD, 5 décimales (prix par segment multiplié par segments).

  • currencystring

    Toujours USD.

  • statusstring

    scheduled, queued, sent, delivered, failed ou canceled.

  • errorobject or null

    Pour les messages failed ou canceled : code et message.

  • referencestring or null

    Votre propre référence de la requête.

  • created_atstring

    Quand la requête a été acceptée (ISO 8601, UTC).

  • sent_atstring or null

    Quand le message a été transmis au réseau.

  • done_atstring or null

    Quand le statut final (delivered, failed ou canceled) a été défini.

Récupérer un message

GET/v1/messages/{id}

Un message par son ID msg_. Les messages d'autres comptes renvoient 404.

curl https://bulksmsapi.cc/v1/messages/msg_8F3K2Q9TZ1MX \
  -H "Authorization: Bearer $BULKSMSAPI_KEY"

Lister les messages

GET/v1/messages

Messages du compte, les plus récentes en premier.

Paramètres de requête

  • batch_idstringoptionnel

    Uniquement les messages de ce lot bat_.

  • statusstringoptionnel

    scheduled, queued, sent, delivered, failed ou canceled.

  • limitintegeroptionnel

    De 1 à 100, par défaut 20.

  • starting_afterstringoptionnel

    Un identifiant msg_ : la page commence après celui-ci. Utilisez le dernier id de la page précédente.

curl "https://bulksmsapi.cc/v1/messages?status=failed&limit=50" \
  -H "Authorization: Bearer $BULKSMSAPI_KEY"
200 OKJSON
{
  "object": "list",
  "data": [ { "id": "msg_8F3K2Q9TZ1MX", "object": "message", "status": "failed", "...": "..." } ],
  "has_more": false
}
Envoyez un SMS avec POST /v1/messages | Documentation BulkSMSAPI