Chaque SMS qui quitte votre passerelle suit le même chemin : il entre dans la file d'attente, la passerelle choisit un téléphone et une SIM capables de l'envoyer tout de suite, le téléphone le remet à l'opérateur, et son statut suit ce qui se passe ensuite. Cette page explique comment envoyer, comment suivre ce que vous avez envoyé, et ce que la passerelle fait d'elle-même quand quelque chose se passe mal.
Les façons d'envoyer
| Façon | Où | Usage typique |
|---|---|---|
| Envoi rapide | Écran Envoi rapide | Un message vers un numéro, un petit groupe ou une liste collée |
| Réponse | Écran Conversations | Répondre à un correspondant dans son fil |
| Campagne | Écran Campagnes | Un message à tout un groupe, cadencé, avec statistiques |
| API | POST /messages |
Vos logiciels envoient : confirmations de commande, codes, rappels |
| Réponse automatique | Écran Règles et Paramètres > Auto-répondeur | La passerelle répond d'elle-même quand un message correspond à une règle |
Toutes partagent la file, le routage, les quotas et les nouvelles tentatives décrits plus bas. Les campagnes sont le seul trafic retenu par les pauses de nuit et du dimanche.
Voir aussi : Conversations, Campagnes, Automatisation et le guide de l'API.
Envoi rapide
L'Envoi rapide envoie un message, immédiatement ou plus tard, à un ou plusieurs destinataires.
Choisir les destinataires
Choisissez l'un des trois modes sous Destinataires :
| Mode | Ce que vous saisissez |
|---|---|
| Numéro unique | Un numéro au format international, par exemple +261341234567 |
| Groupe de contacts | Un groupe de votre répertoire. Les contacts désinscrits sont écartés automatiquement |
| Liste collée | Un numéro par ligne, copié d'un tableur ou d'un autre outil. Les virgules et les points-virgules séparent aussi les numéros |
Les numéros se lisent au format international : un + suivi de l'indicatif du pays. Un numéro
écrit avec 00 au lieu de + est accepté et converti, et les espaces, points, tirets et parenthèses
sont ignorés.
Un numéro écrit comme on le compose sur place (0386231963) est accepté lui aussi, dès que vous
avez renseigné le préfixe des numéros locaux dans Paramètres, Réception : la passerelle le
complète en +261386231963 avant l'envoi. Sans ce préfixe il n'est pas reconnu, car deviner un pays
rangerait le message sous le mauvais. La même règle vaut pour la fiche contact, pour le testeur
d'automatisation et pour le champ to de l'API.
Pendant la saisie, l'écran compte les destinataires valides et les lignes ignorées, format non reconnu. Un même numéro collé deux fois n'est envoyé qu'une fois.
En mode Groupe de contacts, l'écran lit le groupe entier avant l'envoi, quel que soit son nombre de membres, et affiche le nombre réel de destinataires, ainsi que les contacts désinscrits écartés. Le bouton Envoyer attend la fin du comptage. Si le groupe ne peut pas être lu, un message le signale avec un bouton Réessayer.
Limites. Un envoi rapide accepte 500 destinataires au maximum, groupe entier compris. Au-delà, l'écran le signale (pour un groupe : « Ce groupe compte 1 250 contacts, plus que les 500 destinataires d'un envoi rapide »), refuse l'envoi et propose une campagne, conçue pour les gros envois : elle cadence le trafic, respecte la pause de nuit et vous donne des statistiques. Rien n'est jamais envoyé à une partie seulement d'un groupe.
Rédiger le message
Le compteur sous le message indique le nombre de caractères, le nombre de SMS qu'il coûtera et l'encodage :
| Encodage | Quand | Un SMS contient | Découpé en parts de |
|---|---|---|---|
| GSM-7 | Seulement des lettres latines simples, des chiffres et la ponctuation courante | 160 caractères | 153 caractères |
| Unicode | Dès qu'un caractère sort de cet ensemble (emoji, certaines lettres accentuées, alphabets non latins) | 70 caractères | 67 caractères |
Un message long n'est jamais refusé : il est découpé en plusieurs SMS que le téléphone du destinataire réassemble. Mais chaque partie est facturée par votre opérateur et compte dans le quota journalier de la SIM. L'écran vous avertit au-delà de six SMS par destinataire, et affiche le total, par exemple « 3 messages, 6 SMS au total ».
Raccourcir et suivre les liens
Sous le message, l'interrupteur Raccourcir et suivre les liens (désactivé par défaut) remplace
chaque adresse qui commence par http:// ou https:// par un lien court servi par votre passerelle,
qui compte les clics. Le remplacement a lieu au clic sur Envoyer ; la même adresse écrite deux
fois donne un seul lien, partagé par tous les destinataires. L'écran vous indique combien de liens
seront fabriqués et comment la longueur change (caractères et SMS par destinataire, avant et après),
et le compteur comme le coût total sont calculés sur le texte avec ses liens courts. Les liens
apparaissent ensuite dans Liens courts. Voir Liens courts.
Choisir le téléphone et l'heure
| Champ | Par défaut | Effet |
|---|---|---|
| Appareil émetteur | Automatique | Automatique laisse la passerelle choisir le téléphone et la SIM (voir Routage). Désigner un téléphone l'impose : le message part de ce téléphone ou ne part pas |
| Date et heure d'envoi | Vide (maintenant) | Programme l'envoi. La date se lit dans le fuseau de la plateforme, indiqué sous le champ, et doit être dans le futur |
Cliquez sur Envoyer. La confirmation « N messages acceptés par la passerelle » signifie que les messages sont dans la file, pas encore remis. Derniers envois, en bas de l'écran, liste vos derniers messages sortants avec leur statut en direct.
Un message programmé attend dans la file avec le statut En file et la mention « Programmé pour » sa date. Il part à cette heure-là, de jour comme de nuit : la pause de nuit ne s'applique pas à lui.
La file d'attente
L'écran File d'attente liste les messages et permet de relancer ceux qui ne sont pas partis. Il s'ouvre filtré sur les messages en Échec, puisque ce sont eux qui ont besoin de vous.
| Commande | Usage |
|---|---|
| Filtre Statut | Afficher un statut, ou tous |
| Filtre Appareil | Afficher les messages d'un téléphone |
| Filtre Sens | Sortant, Entrant, ou les deux |
| Recherche | Retrouver un message par des mots de son contenu |
| Relancer la sélection | Cocher des messages et les relancer d'un coup |
| Supprimer la sélection | Cocher des messages et les retirer de la passerelle, après confirmation |
| Le menu au bout d'une ligne | Relancer maintenant et Supprimer, pour ce message seul |
| Exporter la vue en CSV | Télécharger la page que vous regardez |
| Par page | Combien de messages tient une page : 25, 50, 100 ou 200 |
| Les numéros de page | Aller directement à une page déjà ouverte |
Les colonnes montrent le Statut, le Destinataire, l'Appareil qui a porté le message, le nombre de Tentatives, la date de création et le Motif d'un échec ou d'une annulation. Sur un téléphone, le tableau défile latéralement et le menu de ligne reste collé au bord droit : il est donc toujours à portée.
Se déplacer dans les pages
Le bas de l'écran indique combien de messages tient une page, quels messages vous regardez, et les numéros de page. Changer un filtre ou la taille de page vous ramène à la première page. Une page déjà ouverte revient instantanément, sans rien redemander à la passerelle.
La file se lit page par page plutôt que d'être comptée d'abord, ce qui garde un long historique rapide à ouvrir : les numéros de page apparaissent à mesure que vous avancez, et la dernière page n'est pas connue d'avance. La flèche suivante demande une page de plus, et les points de suspension au bout des numéros signifient qu'il y en a d'autres après.
Cocher des messages sur une page puis passer à une autre conserve votre sélection : le nombre à côté de Relancer la sélection est ce que vous avez coché en tout, sur les pages visitées. Par page est retenu dans ce navigateur, pour votre compte.
Relancer maintenant est proposé sur un message en échec, ou retenu par le quota d'une SIM ou par une pause. Il est grisé sur les autres, en disant pourquoi : un message déjà confié à un téléphone ne doit pas partir deux fois.
Supprimer retire définitivement le message de cette passerelle : la file, sa conversation, l'historique, les recherches et les exports. Un message qui attendait encore est d'abord annulé, il ne partira donc pas ensuite. Un SMS déjà remis à votre opérateur ne peut pas être repris.
Le Motif est une phrase dans votre langue, la même que dans la conversation et dans le
journal d'activité, par exemple « La SIM ne captait pas le réseau. » ou
« Retiré avant son départ : sa campagne a été annulée. ». Survolez-le pour voir le code technique
(NO_SERVICE, CAMPAIGN_CANCELLED...), celui que l'API renvoie dans errorCode. Un code que le
tableau de bord ne connaît pas encore, remonté par une version plus récente de l'application du
téléphone, s'affiche « Le téléphone ou la passerelle a signalé une erreur (CODE). ».
Sous le Téléphone, un message qu'une SIM a refusé le dit : « La SIM 1 de Accueil a refusé ». Survolez la ligne pour lire pourquoi chaque SIM a refusé. Elle reste sur un message finalement parti, ce qui permet de voir quelle SIM l'a écarté et laquelle l'a porté. Voir Quand une SIM refuse le message.
Quand des messages attendent le quota journalier d'une SIM, un bandeau en haut de l'écran indique combien, avec un lien Modifier les quotas vers l'écran Appareils.
Un message En file qui attend le rythme de ses SIM le dit sous son statut, avec l'heure de son prochain essai : « En attente de la cadence de la SIM, nouvel essai à 14:32 » (intervalle minimal) ou « En attente de la limite par minute des SIM ». Rien n'est en panne : il part de lui-même à cette heure-là.
Les statuts
| Statut | Ce qu'il signifie |
|---|---|
| En file | Accepté, il attend son tour, son heure programmée, une nouvelle tentative, ou le rythme de sa SIM |
| Transmis | Remis à un téléphone, qui n'a pas encore confirmé que le réseau l'a pris |
| Envoyé | Le téléphone confirme que l'opérateur a accepté le SMS |
| Reçu | L'opérateur confirme que le SMS est arrivé sur le téléphone du destinataire |
| Échec | Le message a abandonné. La colonne Motif dit pourquoi. Il peut être relancé |
| Quota atteint | Toutes les SIM qui pouvaient le porter ont épuisé leur quota du jour. Il part à minuit UTC, ou dès qu'un quota est relevé |
| En pause | Un message de campagne retenu par la pause de nuit ou du dimanche. Il part à la fin de la pause |
| Annulé | Retiré avant son départ, par exemple parce que le destinataire s'est désinscrit entre-temps. Il ne peut pas être relancé |
Envoyé n'est pas Reçu. « Reçu » dépend d'un accusé de réception de l'opérateur du destinataire. Certains opérateurs n'en envoient pas, ou tardivement : un message peut rester Envoyé alors qu'il a bien été reçu. Un accusé négatif, en revanche, est définitif : le message passe en Échec.
Nouvelles tentatives
Quand un envoi se passe mal, la passerelle n'abandonne pas tout de suite. Ce qu'elle fait dépend de la cause :
| Ce qui s'est passé | Ce que fait la passerelle | Compte comme une tentative |
|---|---|---|
| Une SIM refuse le SMS (pas de crédit, pas de réseau, refus de l'opérateur) | Essaie aussitôt la SIM suivante, en suivant vos priorités de routage | Non, tant qu'une SIM éligible n'a pas encore refusé |
| Toutes les SIM éligibles ont refusé ce message | Attend, puis recommence sur tout le parc | Oui, une pour tout le tour |
| Le téléphone n'a pas confirmé dans le délai d'accusé | Remet le message dans la file et réessaie | Oui |
| Aucun téléphone ne peut envoyer (tous hors ligne ou hors du pool) | Attend, puis réessaie | Oui |
| Le téléphone qui portait le message est passé hors ligne | Remet aussitôt le message dans la file, pour un autre téléphone | Non |
| Toutes les SIM utilisables ont atteint leur quota du jour | Le passe en Quota atteint jusqu'à minuit UTC ou jusqu'à ce qu'un quota soit relevé | Non |
| Toutes les SIM utilisables ont atteint leur limite par minute | Le garde En file et l'envoie la minute suivante | Non |
| Aucune SIM utilisable n'a attendu son intervalle minimal depuis son dernier SMS | Le garde En file et l'envoie dès que la première SIM est libre | Non |
| Une règle de routage stricte correspond et aucune de ses SIM ne peut envoyer | Le garde En file et réessaie chaque minute | Non |
| L'opérateur renvoie un accusé de réception négatif | Échec, définitif : l'opérateur a rendu son verdict | Pas de nouvelle tentative |
| Le destinataire s'est désinscrit après la mise en file | Annulé | Non |
Quand les tentatives sont épuisées, le message passe en Échec. Le nombre de tentatives et les attentes entre elles se règlent dans Paramètres > Envoi (voir Options).
Quand une SIM refuse le message
Une SIM sans crédit paraît en parfait état vue de la passerelle : son téléphone est en ligne, son quota du jour est intact, et rien n'annonce que l'opérateur va écarter le message. On ne l'apprend qu'au moment où l'envoi échoue.
La passerelle retient donc quelle SIM a refusé ce message, et l'envoie aussitôt depuis la suivante, sans attendre le délai de reprise. Vos priorités de routage ne changent pas : un téléphone désigné dans l'envoi reste le seul utilisé, une réponse garde le numéro de la conversation, une règle par préfixe essaie toujours ses SIM dans votre ordre, et une règle réglée sur Attendre ces SIM ne part toujours jamais d'une autre SIM. Seule la SIM qui vient de refuser est écartée, pour ce message.
Essayer cinq SIM est une tentative, pas cinq. Sans cela, un parc de cinq SIM brûlerait tout le budget de reprise en une seconde. C'est vrai même si vous avez désactivé Réessayer les messages en échec, ou fixé Nombre de tentatives à 1 : une tentative est un tour de vos SIM, donc une SIM morte ne vous coûte jamais le message. Quand toutes les SIM qui pouvaient porter le message l'ont refusé, le message consomme une tentative, attend le délai habituel, puis oublie les refus : une SIM peut avoir été rechargée entre-temps, et elle retrouve son tour.
Une SIM qui refuse garde son quota du jour. Le compteur journalier est décompté au moment où le message est remis à la radio, mais une SIM qui l'a écarté n'a rien envoyé : la passerelle lui rend l'unité. Un SMS coûte une unité de quota sur la SIM qui l'a réellement porté, quel que soit le nombre de SIM essayées avant.
Certains échecs ne viennent pas de la SIM : un message mal formé, ou un destinataire que toutes les SIM refusent. Ceux-là ne balaient pas votre parc, parce que le même refus reviendrait de chaque SIM et masquerait la vraie cause. Ils attendent et réessaient comme avant.
Ce que vous voyez : la File d'attente affiche, sous le téléphone du message, quelle SIM a refusé
et, au survol, pourquoi. Un message qui répète « La SIM x de y a refusé » avec GENERIC_FAILURE est
en général une SIM à recharger. L'API renvoie la même liste dans le champ refusedSims du message.
Dans l'API, le champ errorCode d'un message en échec ou annulé en donne la raison. La colonne
Motif affiche ces mêmes codes sous forme de phrases :
errorCode |
Posé par | Signification |
|---|---|---|
DEVICE_OFFLINE |
Passerelle | Aucun téléphone n'a pu porter le message avant l'épuisement de ses tentatives |
MAX_ATTEMPTS_REACHED |
Passerelle | Toutes les tentatives ont été consommées, typiquement par des téléphones qui n'ont jamais confirmé |
DEVICE_ERROR |
Passerelle | Le téléphone a signalé un échec sans en donner la raison |
DELIVERY_FAILED |
Passerelle | L'opérateur a renvoyé un accusé de réception négatif |
CAMPAIGN_CANCELLED |
Passerelle | Annulé : la campagne à laquelle il appartenait a été annulée avant son départ |
CONTACT_BLACKLISTED |
Passerelle | Annulé : le destinataire s'est désinscrit avant son départ |
NO_SERVICE |
Téléphone | La SIM n'avait pas de réseau |
RADIO_OFF |
Téléphone | La radio mobile du téléphone est coupée (mode avion) |
GENERIC_FAILURE |
Téléphone | L'opérateur a refusé le SMS, le plus souvent par manque de crédit |
NULL_PDU |
Téléphone | Le téléphone n'a pas pu encoder le message |
RADIO_ERROR_<n> |
Téléphone | Une autre erreur radio ; n est le numéro d'erreur donné par Android |
NO_SMS_MANAGER |
Téléphone | Ce téléphone ne peut pas envoyer de SMS, par exemple sans SIM |
INVALID_ARGUMENT |
Téléphone | Le téléphone a refusé le message comme mal formé, souvent un numéro erroné |
PERMISSION_DENIED |
Téléphone | L'application n'a pas le droit d'envoyer des SMS : accordez l'autorisation sur le téléphone |
ORDER_EXPIRED |
Téléphone | Le téléphone a reçu l'ordre trop tard pour l'envoyer |
LIMIT_EXCEEDED |
Téléphone | Android a bridé l'application : trop de SMS en trop peu de temps. Baissez la limite par minute de la SIM |
NO_DEFAULT_SMS_APP |
Téléphone | Aucune application SMS par défaut n'est définie sur le téléphone, et Android refuse d'envoyer sans elle. Choisissez n'importe quelle application de messagerie dans Paramètres, Applications, Applications par défaut, Application SMS. Ce n'est pas forcément Selfhostsms, qui n'a jamais besoin de ce rôle |
INVALID_SMSC_ADDRESS |
Téléphone | Le numéro du centre de messages de cette SIM est incorrect : vérifiez-le dans les réglages SMS du téléphone |
FDN_CHECK_FAILED |
Téléphone | La SIM n'autorise que ses numéros autorisés (FDN) |
NETWORK_REJECT |
Téléphone | Le réseau de l'opérateur a refusé le message |
NETWORK_ERR |
Téléphone | Le réseau de l'opérateur a échoué à l'envoi : le téléphone l'a joint, c'est lui qui a répondu par une erreur |
RADIO_NOT_AVAILABLE |
Téléphone | Le modem du téléphone n'était pas disponible ; il revient en général seul |
NO_MEMORY |
Téléphone | Le téléphone n'avait plus de place pour enregistrer le message |
INVALID_SMS_FORMAT |
Téléphone | L'opérateur a refusé le format du message |
OPERATION_NOT_ALLOWED |
Téléphone | Le téléphone n'autorise pas cet envoi |
USER_NOT_ALLOWED |
Téléphone | Ce profil utilisateur Android n'a pas le droit d'envoyer des SMS |
SHORT_CODE_NOT_ALLOWED, SHORT_CODE_NEVER_ALLOWED |
Téléphone | Le téléphone refuse les codes courts surtaxés |
RADIO_ERROR_<n> n'est volontairement pas traduit en phrase : le téléphone a renvoyé un code que
l'application ne connaît pas, et afficher le numéro est plus honnête que d'inventer une cause.
Traitez tout autre code comme un échec générique : une version plus récente de l'application du
téléphone peut en ajouter.
Relancer à la main
Un message en Échec, Quota atteint ou En pause peut être relancé :
- depuis la File d'attente, en le cochant puis en cliquant sur Relancer la sélection ;
- depuis sa conversation, avec Réessayer sous le message en échec ;
- par l'API, avec
POST /messages/{messageId}/retry.
Un message relancé part aussitôt, sans attendre la tentative programmée suivante. Il est refusé si le destinataire s'est désinscrit entre-temps. Les messages Reçu, Envoyé et Annulé ne se relancent pas : ce serait les envoyer deux fois.
Choisir la SIM. Dans la File d'attente, le menu en bout de ligne propose aussi Relancer depuis une SIM choisie, qui liste toutes les SIM en service. En cochant plusieurs messages, vous avez le même choix pour toute la sélection, avec Depuis une SIM choisie à côté de Relancer la sélection. Vous en désignez une et la relance part de cette carte et d'aucune autre : utile quand vous savez pourquoi la précédente a échoué, une SIM sans crédit ou une carte que l'opérateur a bridée.
Désigner une SIM engage. Le routeur n'a plus aucune autre voie, donc si cette carte ne peut pas envoyer, le message attend dans la file au lieu de partir d'ailleurs. Relancer tout court, qui rejoue le routage sur toute votre flotte, reste l'action en un clic et le bon choix par défaut.
Cadence des SIM
Vous pouvez imposer à chaque SIM un nombre minimal de secondes entre deux SMS, dans Paramètres > Envoi, champ Intervalle minimal entre deux SMS par SIM, en secondes. Une SIM qui envoie à un rythme régulier, humain, ressemble moins à une source de spam aux yeux de son opérateur qu'une SIM qui envoie en rafale.
Comment cela fonctionne.
- Il s'applique à tous les SMS, quelle que soit leur origine : API, envoi rapide, campagne, réponse de conversation, réponse automatique, alerte par SMS, et nouvelles tentatives.
- L'intervalle se compte à partir du moment où la passerelle remet le SMS au téléphone, pas de la confirmation du téléphone ni de l'accusé de réception.
- Vous n'avez jamais rien à attendre : vous pouvez envoyer 50 messages d'un coup, ils sont tous acceptés, attendent dans la file en En file, et partent d'eux-mêmes, l'un après l'autre, dès que leur SIM est libre. L'écran File d'attente les affiche « En attente de la cadence de la SIM » avec l'heure de leur prochain essai.
- Chaque SIM a sa propre horloge. Une SIM qui attend ne retient jamais une autre SIM, pas même la seconde SIM du même téléphone : avec deux SIM et 30 secondes, deux SMS partent toutes les 30 secondes.
- Un message adressé à un téléphone précis (
deviceId) le garde pendant qu'il attend. - L'attente ne consomme aucune tentative. Une nouvelle tentative après un échec attend elle aussi l'intervalle si nécessaire.
- Le délai d'accusé commence quand le SMS est remis au téléphone : un message qui attend sa SIM n'expire donc jamais dans la file.
- La passerelle consulte la file toutes les deux secondes : un message part environ deux secondes au plus après la fin de l'intervalle.
- Les messages qui attendent leur SIM partent dans l'ordre. Il n'y a pas de priorité : une alerte attend comme n'importe quel SMS, mais un message arrivé pendant l'attente des autres prend le prochain créneau libre.
Une SIM avec sa propre valeur. Dans Appareils, le crayon à côté d'une SIM ouvre une fenêtre
où Intervalle propre à cette SIM remplace le réglage pour cette SIM seulement
(Superadministrateur). 0 signifie aucune attente sur cette SIM, même quand le réglage en demande
une ; désactiver l'interrupteur fait de nouveau suivre le réglage à la SIM. Une nouvelle valeur vaut
pour le SMS suivant ; les messages qui attendent déjà gardent leur heure.
Comment il se combine avec les autres limites. Chaque limite doit autoriser l'envoi ; la plus stricte l'emporte.
| Limite | Où | Ce qu'elle plafonne |
|---|---|---|
| Intervalle minimal entre deux SMS par SIM | Paramètres > Envoi, ou par SIM dans Appareils | L'écart entre deux SMS sur une SIM |
| Messages par minute et par SIM | Paramètres > Envoi | Le nombre de SMS sur une SIM en une minute |
| Cadence et Taille de vague d'une campagne | Chaque campagne | La vitesse à laquelle la campagne libère ses messages, toutes SIM confondues |
| Quota journalier de la SIM | Appareils | Le nombre de SMS sur une SIM en un jour (minuit UTC) |
Exemples : avec un intervalle de 10 secondes, une SIM envoie au plus 6 SMS par minute ; une limite par minute de 6 ou plus ne change donc rien, et une limite plus basse (3, par exemple) s'applique toujours. Une campagne à 60 messages par minute sur deux SIM avec un intervalle de 30 secondes envoie en réalité 4 messages par minute : c'est l'intervalle qui limite. Le quota journalier compte toujours chaque SMS.
À 0, la valeur par défaut, l'intervalle n'ajoute aucune attente : la passerelle se comporte comme
avant.
Pauses de nuit et du dimanche : les campagnes seulement
Vous pouvez interdire aux campagnes d'envoyer la nuit et le dimanche, dans Paramètres > Envoi, sous Pause nocturne des campagnes. Un message de campagne dû pendant une pause passe En pause et part automatiquement à la fin de la pause.
Ces pauses ne retiennent que les campagnes. Un envoi rapide, un appel d'API, une réponse de conversation ou une réponse automatique part à toute heure : quelqu'un l'attend. Une campagne est le seul trafic que personne n'a demandé à ce moment-là, et un SMS promotionnel à trois heures du matin vous coûte plus de sympathie qu'il ne rapporte.
Les heures se lisent dans le fuseau de la plateforme, réglé dans le même onglet. Ce fuseau gouverne aussi l'heure des envois programmés et l'affichage des dates dans le tableau de bord. Ce n'est pas l'heure de chaque téléphone : l'en-tête affiche l'heure locale de vos téléphones et vous prévient quand l'un d'eux vit à une autre heure (voir Appareils).
Suivre l'activité
Le Tableau de bord montre combien de messages sont partis et arrivés, dans le graphique Activité des 24 dernières heures. Choisissez la période avec les boutons 24 h, 7 j, 30 j et 90 j : le graphique affiche alors une barre par heure, par tranche de six heures, ou par jour. Chaque barre empile les messages sortants et les entrants, et la carte donne les totaux de la période. Survolez ou touchez une barre pour les heures exactes de la tranche.
Un message compte à sa création (sa mise en file pour un sortant, sa réception par le téléphone pour un entrant), quel que soit son statut depuis. Les comptes portent sur tous les messages de la période, pas sur un échantillon. Les tranches suivent le fuseau de la plateforme, changement d'heure compris. Le graphique se rafraîchit chaque minute.
Par l'API, GET /messages/stats?period=24h (ou 7d, 30d, 90d) renvoie les mêmes comptes. Il ne
renvoie jamais le texte d'un message ni un numéro.
Options
Les réglages d'envoi se trouvent dans Paramètres > Envoi, sont réservés au Superadministrateur, et s'appliquent au message suivant sans aucun redémarrage.
| Option | Par défaut | Valeurs admises | Effet |
|---|---|---|---|
| Réessayer en cas d'échec | Activé | Activé ou désactivé | Désactivé, le premier échec est définitif : chaque message n'a qu'une tentative, quoi que dise Nombre maximum de tentatives |
| Nombre maximum de tentatives | 4 | 1 à 10 | Combien de fois un message est essayé avant l'Échec. Seules les causes marquées « Oui » dans le tableau des nouvelles tentatives consomment une tentative |
| Attentes entre tentatives, en secondes, séparées par des virgules | 30, 120, 600, 3600 |
1 à 10 valeurs, chacune de 1 seconde à 86 400 (un jour) | La première valeur est l'attente après le premier échec, la deuxième après le deuxième, et ainsi de suite. La dernière valeur s'applique à toutes les tentatives au-delà de la liste |
| Délai d'accusé de l'appareil, en secondes | 120 | 10 à 3 600 | Combien de temps un message Transmis attend la confirmation du téléphone avant de retourner dans la file. Trop court, les téléphones lents voient leurs messages retentés (et parfois envoyés deux fois) ; trop long, un téléphone muet retient ses messages plus longtemps |
| Messages par minute et par SIM | 0 (sans limite) | 0 à 600 | Plafonne le rythme de chaque SIM. Une SIM à sa limite est sautée par le routage et la passerelle en utilise une autre ; si toutes sont à leur limite, le message attend la minute suivante sans consommer de tentative. Une rafale de centaines de SMS en une minute est ce que les opérateurs repèrent en premier, bien avant le volume du jour |
| Intervalle minimal entre deux SMS par SIM, en secondes | 0 (aucune attente) | 0 à 3 600 | Le temps minimal que chaque SIM attend entre deux SMS, compté à partir de la remise du SMS au téléphone. Les messages attendent dans la file et partent d'eux-mêmes ; une SIM occupée ne retient jamais une autre SIM. Une SIM peut avoir sa propre valeur dans Appareils. Voir Cadence des SIM |
| Garder la même SIM pour chaque conversation | Activé | Activé ou désactivé | Activé, chaque message adressé à un correspondant part de la SIM qui a échangé la dernière avec lui, pour que cette personne voie toujours le même numéro ; une autre SIM ne le porte que si celle-là ne peut pas envoyer. Désactivé, chaque message est routé comme un premier contact et se répartit sur tout le parc. À désactiver quand une SIM ne peut plus envoyer (plus de crédit, pas de réseau), pour que vos messages cessent d'y revenir. Voir Routage |
| Fuseau horaire | UTC | N'importe quel fuseau de la liste | Heures de la pause de nuit, définition du dimanche, heure des envois programmés, affichage de toutes les dates du tableau de bord. Il ne déplace pas la remise à zéro des quotas journaliers, qui reste à minuit UTC |
| Pause nocturne des campagnes | Désactivé | Activé ou désactivé | Activé, les messages de campagne dus entre De et À sont retenus En pause |
| De, À | 20:00, 07:00 | Heures et minutes ; la pause peut passer minuit, les deux doivent différer | Début et fin de la pause de nuit, dans le fuseau de la plateforme |
| Suspendre les campagnes le dimanche | Désactivé | Activé ou désactivé | Activé, les messages de campagne sont retenus tout le dimanche, de minuit à minuit dans le fuseau de la plateforme |
Autres réglages qui changent ce que vous envoyez :
- le quota journalier, l'interrupteur en service et l'intervalle propre de chaque SIM, dans Appareils (voir Appareils) ;
- les règles de routage, qui choisissent la SIM selon le début du numéro (voir Routage).
Champs de l'API POST /messages
| Champ | Par défaut | Effet |
|---|---|---|
to |
Obligatoire | Un numéro, ou une liste de 1 à 500 numéros au format international, ou écrits comme on les compose sur place si le préfixe des numéros locaux est renseigné |
body |
Obligatoire sauf avec templateId |
Le texte. Aucune limite de longueur : un texte long est découpé en plusieurs SMS |
templateId, variables |
Aucun | Utiliser un modèle enregistré et remplir ses variables (voir Modèles) |
deviceId |
Aucun (automatique) | Impose le téléphone. Le message part de lui ou ne part pas ; les règles de routage ne sont pas consultées |
simSlot |
Aucun (automatique) | 0 ou 1 : la SIM de ce téléphone |
scheduledAt |
Aucun (maintenant) | Date et heure de l'envoi, dans le futur |
shortenLinks |
false |
true remplace chaque adresse http:// ou https:// du texte par un lien court suivi avant la mise en file, comme l'interrupteur Raccourcir et suivre les liens (voir Liens courts) |
L'en-tête Idempotency-Key protège un envoi à un seul destinataire contre une double mise en file
quand votre logiciel rejoue une requête après une erreur réseau.
La requête est vérifiée en entier avant toute mise en file : si un destinataire est invalide ou désinscrit, la requête est refusée et rien n'est envoyé, ce qui vous permet de toujours savoir quoi rejouer.
Dépannage
| Symptôme | Ce qu'il faut vérifier |
|---|---|
| Des messages restent En file | Un téléphone est-il En ligne dans Appareils, et dans le pool de routage ? S'agit-il d'un message programmé ? Une règle de routage stricte attend-elle un téléphone hors ligne ? |
| Des messages restent En file avec « En attente de la cadence de la SIM » | L'intervalle minimal entre deux SMS par SIM est actif. Ils partent d'eux-mêmes, un par SIM et par intervalle. Réduisez-le dans Paramètres > Envoi, ou donnez à une SIM sa propre valeur dans Appareils |
| Des messages passent en Quota atteint | Toutes les SIM utilisables ont épuisé leur quota du jour. Relevez un quota dans Appareils, ou attendez minuit UTC |
| Des messages de campagne sont En pause | La pause de nuit ou du dimanche est active. Ils partiront à la fin de la pause |
| Des messages restent Transmis un moment, puis sont retentés | Le téléphone ne confirme pas : vérifiez sa connexion et ses réglages de batterie |
Beaucoup d'Échec avec NO_SERVICE ou GENERIC_FAILURE |
La SIM n'a pas de signal, plus de crédit, ou son opérateur refuse : vérifiez-la dans le téléphone |
| La File d'attente répète « La SIM x de y a refusé » | Cette SIM écarte les messages. Avec GENERIC_FAILURE, rechargez-la ; la passerelle envoie déjà depuis les autres SIM entre-temps |
| Des messages restent Envoyé, jamais Reçu | L'opérateur n'envoie pas d'accusés de réception. Le message a très probablement été reçu |
| « Ce numéro est désinscrit. » | Le destinataire a envoyé STOP, ou a été désinscrit à la main. Voir Contacts et groupes |
| « La date programmée doit être dans le futur. » | La date est passée dans le fuseau de la plateforme. Vérifiez le fuseau indiqué sous le champ |