Guides
Cycle de vie d’un message
Les états par lesquels passent un message et un lot, et ce sur quoi vous pouvez compter à chacun d’eux.
Comment un message progresse
Chaque message commence en file d’attente ou planifié, et finit dans exactement un état terminal. Terminal veut dire terminal : un message qui en atteint un ne change plus jamais d’état.
| Valeur | Signification |
|---|---|
SCHEDULED | En attente de son heure planifiée. |
QUEUED | En attente du routeur. |
RETRY_SCHEDULED | Une tentative de livraison a échoué et une autre est planifiée. |
SUBMITTED | Remis à un fournisseur qui n’a pas encore renvoyé de référence. Un message bloqué ici est le problème de SMSend, pas le vôtre. |
SENT | Le fournisseur l’a accepté et a renvoyé une référence. |
DELIVEREDTerminal | Le téléphone a confirmé la réception. |
FAILEDTerminal | La livraison a échoué. Le motif est dans failed_reason. |
EXPIREDTerminal | Aucun accusé de réception n’est arrivé dans les 48 heures. |
REJECTEDTerminal | Le fournisseur ou l’opérateur l’a refusé. |
CANCELLEDTerminal | Écarté au moment de l’envoi, ou annulé avec son lot. |
Pourquoi les accusés ne peuvent pas revenir en arrière
Chaque statut porte un rang, et un accusé de réception n’est appliqué que s’il augmente strictement ce rang. Les opérateurs livrent parfois les accusés dans le désordre et, sans cette règle, un accusé « soumis » arrivé en retard écraserait un message déjà confirmé comme livré.
Vous pouvez donc faire confiance à un statut terminal dès l’instant où vous le voyez. Il ne sera pas révisé plus tard par un accusé encore en vol.
Comment un lot progresse
Un lot suit le travail dans son ensemble. Seul SETTLED signifie qu’il est terminé et que les comptes sont soldés.
| Valeur | Signification |
|---|---|
VALIDATING | Accepté mais pas encore tarifé ni payé. Atteignable uniquement sur le chemin asynchrone, et expire au bout de 30 minutes. |
SCHEDULED | Tarifé et réservé, en attente de son heure planifiée. |
QUEUED | Tarifé et réservé, en attente du routeur. |
SENDING | En cours d’envoi. |
SETTLEDTerminal | Terminé, comptes soldés et remboursement éventuel passé. |
REJECTEDTerminal | Tous les destinataires ont été écartés avant la moindre réservation. |
FAILEDTerminal | La validation elle-même a échoué. |
CANCELLEDTerminal | Annulé avant ou pendant l’envoi, et remboursé. |
Lire les compteurs
L’objet counts d’un lot indique combien de messages ont atteint chaque état à un moment donné. Le chiffre des échecs agrège les messages en échec, expirés et rejetés, parce que du point de vue du rapprochement ce sont une seule et même catégorie.
Les compteurs sont cumulatifs, pas instantanés
Ces compteurs ne font que croître. queued: 948 ne veut pas dire que 948 messages sont en file d’attente en ce moment — cela veut dire que 948 y sont passés à un moment ou à un autre. N’allez pas calculer ce qui est en cours en les soustrayant les uns des autres.
Règlement
Un lot est réglé quand chaque message a atteint un état terminal, ou quand 72 heures se sont écoulées depuis son heure d’envoi prévue alors que des messages restent bloqués. Les deux cas produisent un événement BATCH_SETTLED ; le champ trigger vous dit lequel des deux c’était.
Le règlement est le seul moment où un chiffre de remboursement existe. SMSend réserve les fonds du lot entier à l’avance et rembourse la différence une seule fois, à la fin : aucun message pris isolément ne peut donc vous dire ce qu’il a coûté ni ce qui a été rendu — c’est pourquoi les événements par message ne portent délibérément aucun champ monétaire.