FAQ

Questions et réponses sur l'API Bulk SMS

39 réponses sur les comptes, l'envoi, les prix, les rapports de livraison et l'API, vérifiées par rapport aux limites du code. Pour les endpoints et champs, consultez le détail dans la Référence API.

Le service

Qu'est-ce que BulkSMSAPI ?

Une API SMS en masse pour les développeurs : envoyez un texte ou un lot de jusqu'à 10 000 numéros par requête à 227 pays via REST, suivez chaque message avec des webhooks signés, et payez par message depuis un solde prépayé. Une console web envoie des campagnes à partir d'une liste collée ou d'un CSV sans code.

Qui utilise une API SMS en masse ?

Les équipes produit et ingénierie qui envoient des SMS depuis leurs propres systèmes : codes de connexion et d'inscription, mises à jour de commandes et de livraisons, rappels de rendez-vous, alertes de paiement, avis de service et campagnes marketing. Toute personne pouvant faire une requête HTTPS peut l'utiliser.

À quels pays puis-je envoyer ?

227 pays et territoires, listés avec leurs prix sur la page des tarifs et les pages des pays. Une requête peut mélanger des pays : chaque numéro est tarifé selon le pays auquel il appartient.

Y a-t-il des frais mensuels ou un contrat ?

Non. Vous payez par segment de message depuis un solde prépayé, et il n'y a pas de frais mensuels, de frais d'installation ou de volume minimum. Le solde n'a pas de date d'expiration.

Y a-t-il un essai gratuit ?

Les comptes commencent avec un solde à zéro et la première recharge débloque tout. La première recharge ajoute un bonus allant jusqu'à 40%, donc les premiers messages coûtent moins cher. Les prix sont publics, et le point de terminaison d'estimation ainsi que la console montrent le coût exact avant tout envoi.

Compte et clés API

Comment créer un compte ?

Ouvrez Obtenir une clé API. Votre navigateur génère une clé de compte commençant par acct_ ; copiez-la ou enregistrez-la en tant que fichier texte, confirmez que vous l'avez enregistrée, et le compte est prêt. La clé de compte est le seul identifiant : il n'y a pas d'e-mail ou de mot de passe à gérer.

Que se passe-t-il si je perds ma clé de compte ?

Nous stockons uniquement un hachage de celle-ci, donc personne ne peut la montrer à nouveau, y compris notre équipe de support. Gardez-la dans un gestionnaire de mots de passe. Tant que vous êtes encore connecté, la console continue de fonctionner, et vous pouvez contacter le support depuis celle-ci.

Comment obtenir une clé API ?

Sur la page des clés API de la console, après que le premier rechargement est crédité. Nommez la clé, créez-la et copiez-la une fois : elle commence par bsa_live_. Un compte peut contenir 10 clés actives, chacune avec son propre nom et compteur de limite de taux.

Puis-je utiliser des clés différentes pour la production et le staging ?

Oui. Créez une clé par application ou environnement et donnez-lui un nom. Chaque clé indique quand elle a été utilisée pour la dernière fois, et la révocation d'une clé laisse les autres fonctionnelles.

Combien de comptes puis-je créer ?

Jusqu'à 3 comptes par adresse réseau. La plupart des équipes ont besoin d'un compte avec plusieurs clés API.

Envoi de messages

Combien de numéros une requête peut-elle contenir ?

POST /v1/batches accepte jusqu'à 10 000 numéros par requête, soit un texte pour tout le monde, soit un texte personnalisé par numéro. La console accepte 50 000 numéros par campagne. Les listes plus longues sont divisées en plusieurs requêtes.

À quelle vitesse les messages sont-ils envoyés ?

La file d'attente s'exécute toutes les deux secondes et transmet jusqu'à 1 200 messages par minute par compte au réseau, dans l'ordre où ils ont été acceptés. Un message unique part généralement quelques secondes après la requête.

Quel format doivent avoir les numéros de téléphone ?

Format international E.164 : un signe plus, l'indicatif téléphonique et le numéro national, par exemple +14155550123. Les espaces, tirets, parenthèses et le préfixe 00 sont nettoyés automatiquement ; les doublons et les numéros illisibles sont mis de côté et non facturés.

Combien de temps peut durer un message ?

Jusqu'à 10 segments : 1 530 caractères en GSM-7 ou 670 en Unicode. Un segment contient 160 caractères GSM-7 ou 70 caractères Unicode ; les textes plus longs sont divisés en parties de 153 ou 67 caractères et réassemblés sur le téléphone.

Pourquoi mon message a-t-il utilisé plus de segments que prévu ?

Un caractère en dehors de l'alphabet GSM-7, comme une guillemet bouclé, un emoji ou une lettre comme á ou ç, bascule tout le texte en Unicode à 70 caractères par segment. Le compositeur de la console identifie ces caractères, et POST /v1/estimates renvoie l'encodage avant l'envoi.

Puis-je programmer des messages ?

Oui. Ajoutez send_at à une requête API, ou choisissez une heure dans la console, de 2 minutes à 45 jours à l'avance. Un lot programmé peut être annulé jusqu'à son démarrage, et son coût total est restitué au solde.

Chaque destinataire peut-il recevoir un texte différent ?

Oui. Via l'API, envoyez un lot avec des messages, un {to, text} par destinataire. Dans la console, collez ou téléchargez une liste avec des colonnes supplémentaires et utilisez les champs de fusion {{1}} à {{9}} dans le texte.

Une ligne de désinscription est-elle ajoutée à mes messages ?

Définissez votre texte de désinscription une fois dans les Paramètres, par exemple un lien ou une adresse e-mail, et la console l'ajoute aux textes de campagne lorsque vous cochez la case. Via l'API, vous contrôlez le texte complet, ajoutez donc vous-même la ligne aux messages marketing. Les numéros de votre liste de non-envoi sont ignorés par la console et l'API, et ne sont pas facturés.

Puis-je d'abord envoyer un message test ?

Oui. La console propose un envoi test à un numéro avant une campagne, et via l'API, vous pouvez envoyer un message unique à votre propre téléphone avec POST /v1/messages.

Prix et paiements

Combien coûte un SMS ?

Cela dépend du pays du numéro : chaque pays a un prix par segment en dollars américains, à partir de $0.00247 (Brésil). La page des tarifs et GET /v1/pricing listent chaque pays.

Comment le coût d'un lot est-il calculé ?

Pour chaque destinataire : le prix par segment de son pays multiplié par les segments de son texte. La somme est prélevée du solde lorsque la requête est acceptée, et la réponse l'affiche dans cost.

Quel est le montant minimum de recharge ?

$40. Une recharge peut être d'un montant compris entre $40 et $5,000. La première recharge ajoute un bonus allant jusqu'à 40%, affiché sur chaque montant avant paiement.

Comment puis-je payer ?

Dans la console, l'onglet Billing ouvre une interface de paiement hébergée dans une fenêtre superposée. Vous choisissez le montant et payez en cryptomonnaie, et la page de paiement affiche le montant exact et l'adresse. La page des paiements liste chaque étape.

Les messages échoués sont-ils remboursés ?

Oui. Lorsqu'un message échoue, son coût est automatiquement crédité sur votre solde dans la même opération, sous forme de ligne de remboursement dans le registre. Un lot programmé annulé est intégralement remboursé.

Puis-je retirer mon solde ?

Le solde sert à payer les messages et reste sur votre compte sans date d'expiration. Les remboursements pour messages échoués ou annulés retournent également sur ce solde.

Les prix changent-ils ?

Les prix peuvent changer lorsque les coûts réseau évoluent. La liste actuelle est datée, l'API renvoie la date avec chaque prix, et les messages déjà acceptés conservent le prix auquel ils ont été facturés.

Livraison et rapports

Comment savoir si un message a été livré ?

Chaque message passe de 'queued' à 'sent' puis 'delivered' ou 'failed'. Ajoutez une URL de webhook dans la console pour recevoir un événement signé pour chaque statut final, ou consultez GET /v1/messages/{id} et GET /v1/batches/{id}.

Comment les webhooks sont-ils signés ?

Au format Standard Webhooks : en-têtes webhook-id, webhook-timestamp et webhook-signature, où la signature est un HMAC-SHA256 de l'id, timestamp et corps brut avec votre secret whsec_. La documentation fournit du code de vérification pour Node.js, Python, PHP et Go.

Que se passe-t-il si mon endpoint webhook est indisponible ?

Chaque événement bénéficie de 10 tentatives sur environ 24 heures, et chaque tentative est listée dans la console avec son statut HTTP. Vous pouvez aussi interroger les endpoints de message à tout moment.

Pourquoi un message échouerait-il ?

Le téléphone portable peut être éteint pendant trop longtemps, le numéro peut ne plus être en service ou le réseau peut refuser le message. Le statut d'échec inclut un code d'erreur, et le prix est remboursé.

Combien de temps les messages sont-ils conservés ?

Les lots, messages et registre de solde restent dans votre compte et dans l'API. Le journal des requêtes conserve vos 500 derniers appels API et le journal webhook vos 500 dernières livraisons.

Pour les développeurs

Existe-t-il un SDK ?

L'API utilise du JSON simple sur HTTPS, donc la bibliothèque standard de n'importe quel langage suffit. La doc contient des exemples complets en curl, Node.js, Python, PHP et Go, et la spécification OpenAPI à /openapi.json génère un client typé dans la plupart des langages.

Quelles sont les limites de débit ?

600 requêtes par minute par clé API. Chaque réponse contient les en-têtes X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset, et une réponse 429 inclut Retry-After.

Comment réessayer en sécurité après un timeout ?

Envoyez les requêtes POST avec un en-tête Idempotency-Key et réessayez avec la même clé. Pendant 24 heures, la même clé et corps renvoient la première réponse au lieu de renvoyer.

Puis-je vérifier les prix sans clé API ?

Oui. GET /v1/pricing et GET /v1/pricing/{country} sont publics, donc une page de paiement ou tableau de bord peut afficher les prix en direct.

Où puis-je voir ce que mon code a envoyé ?

La console contient un journal des requêtes avec la méthode, le chemin, le statut et l'heure de vos 500 derniers appels API, à côté des lots, messages et du journal des webhooks.

La console

Puis-je envoyer sans écrire de code ?

Oui. Dans la console, collez des numéros ou importez un fichier CSV de jusqu'à 50 000 lignes, rédigez le texte avec des champs de fusion, vérifiez l'aperçu pour chaque destinataire et le coût par pays, puis envoyez immédiatement ou à une heure programmée.

Que montre la console ?

Solde, lots récents avec compteurs en direct, chaque lot avec ses messages et statuts, recharges et registre, clés API, paramètres et livraisons des webhooks, journal des requêtes, liste des prix, tickets de support et paramètres.

Comment contacter le support ?

Depuis la page Support de la console. Les questions de paiement peuvent être posées dès le premier jour ; les autres sujets sont accessibles après le premier rechargement crédité.

Une question reste sans réponse ?

Les comptes connectés peuvent ouvrir un ticket de support depuis la console. Les questions de paiement peuvent être posées dès le premier jour.

FAQ API SMS en masse : Clés, Envoi, Prix, Webhooks | BulkSMSAPI