Commencer

Référence de l'API Bulk SMS

BulkSMSAPI est une API SMS en masse pour développeurs : envoyez un texte ou un lot de jusqu'à 10 000 numéros par requête vers 227 pays via REST, suivez chaque message avec des webhooks signés, et payez par message depuis un solde prépayé. Cette référence couvre chaque endpoint, champ, événement et erreur de l'API. Chaque page est aussi disponible en Markdown : ajoutez .md à son adresse.

URL de base et format

Toutes les requêtes vont vers https://bulksmsapi.cc/v1 en HTTPS. Les corps sont en JSON (Content-Type: application/json, UTF-8), et chaque réponse est en JSON, y compris les erreurs. Les heures sont au format ISO 8601 en UTC. L'argent est une chaîne en dollars US avec cinq décimales ("0.00507"), donc les prix inférieurs à un centime sont exacts.

Endpoints

Méthode et cheminFonctionKey
POST /v1/messagesEnvoyer un texte à un numéroYes
POST /v1/batchesEnvoyer à jusqu'à 10 000 numéros, un texte ou un par numéroYes
GET /v1/messages/{id}Un message avec son statut et son prixYes
GET /v1/messagesMessages, les plus récentes en premier, filtrer par lot ou statutYes
GET /v1/batches/{id}Un lot avec décompte par statutYes
GET /v1/batchesLots, les plus récents en premierYes
POST /v1/batches/{id}/cancelAnnuler un lot programmé, remboursement intégralYes
POST /v1/estimatesEstimer le coût d'une requête sans l'envoyerYes
GET /v1/balanceSolde en USDYes
GET /v1/pricingPrix par segment pour chaque paysNo
GET /v1/pricing/{country}Prix pour un pays (code ISO)No

Première requête

Créez une clé API dans la console, exportez-la et envoyez un message. La réponse est 202 avec l'objet message : le coût est déduit du solde et le message est mis en file d'attente.

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
}

Parcours d'un message

Les messages acceptés sont mis en file d'attente (queued) ou programmés (scheduled si la requête a un send_at). La file les transmet au réseau toutes les 2 secondes, jusqu'à 1 200 par minute par compte, et ils passent à l'état sent. Le statut final est delivered ou failed ; un message échoué est immédiatement remboursé sur le solde. Chaque statut final déclenche un webhook signé.

Limites en un coup d'œil

LimiteValeur
Destinataires par requête API10,000
Destinataires par campagne console50,000
Requêtes par minute par clé600
Messages transmis au réseau par minute par compte1,200
Texte le plus long10 segments (1 530 caractères GSM-7 ou 670 caractères UCS-2)
Fenêtre de programmationDe 2 minutes à 45 jours à l'avance
Tentatives de webhook par événement10
Mémoire Idempotency-Key24 heures
Clés API par compte10

Fichiers machine-readable

Référence de l'API Bulk SMS | Documentation BulkSMSAPI