La forme d'un expéditeur détermine si les réponses disposent d'une adresse. Un numéro SMS éligible peut recevoir un message ; un nom alphanumérique ne le peut pas.
La distinction ressemble à une fonctionnalité que vous activez. Elle tient davantage d'une propriété physique de ce depuis quoi vous avez envoyé, avec une politique par pays en surcouche.
Qu'est-ce qui rend un expéditeur unidirectionnel ?
L'absence d'adresse derrière lui.
Une réponse est un message adressé à celui qui a envoyé le dernier. Quand l'expéditeur était un numéro, cette adresse existe et un téléphone peut l'utiliser. Quand l'expéditeur était un identifiant alphanumérique, il n'y a pas de numéro à adresser, et le propre modèle de Bird enregistre cette absence directement : le code pays d'un tel expéditeur est null, décrit comme "the country of the number this sender sends from", et il ne porte pas de number id parce que "an alphanumeric sender has no number behind it".
Le premier critère est donc structurel. Les numéros longs, les numéros gratuits et les numéros courts peuvent recevoir. Un expéditeur alphanumérique ne le peut pas, dans aucun pays, sous aucun enregistrement.
Le deuxième critère est par pays. Chaque type d'expéditeur qu'une destination prend en charge indique un direction de one_way ou two_way, si bien qu'un type de numéro qui accepte les réponses dans une destination peut être en envoi seul dans une autre. La politique SMS du pays porte aussi un indicateur is_two_way_supported propre. Ces deux valeurs sont par destination et évoluent, elles sont donc publiées sur destinations SMS plutôt que listées ici ; chaque page de destination indique si la messagerie bidirectionnelle est prise en charge.
Comment une réponse parvient-elle à mon application ?
Sous forme d'événement, poussé vers vous, le message étant déjà stocké.
Quand un abonné envoie un message à l'un de vos numéros, Bird stocke le message aux côtés de vos envois et émet sms.received. Le payload contient le corps, le détail des segments, les deux numéros, et l'opérateur lorsque le transporteur le signale. Il n'y a rien à interroger.
Une chose se produit avant que cet événement ne vous parvienne, et elle modifie ce que vous devez faire dans le handler. Bird évalue d'abord la réponse par rapport aux règles de mots-clés de ce numéro. Un mot-clé de désinscription reconnu enregistre une suppression expéditeur-abonné et envoie la confirmation de désinscription, tout en émettant sms.received. Un message entrant qui était une désinscription arrive donc à votre endpoint comme n'importe quel autre message entrant, déjà traité.
La conséquence pour votre code : ne traitez pas chaque sms.received comme un tour de conversation. Certains sont des désinscriptions que Bird a déjà honorées, et renvoyer quoi que ce soit en réponse est l'erreur que ce schéma invite à commettre. Qu'est-ce qu'un mot-clé STOP explique quels mots-clés sont reconnus, où, et ce qui se passe dans un pays hors du catalogue.
Depuis quel expéditeur dois-je répondre ?
Utilisez le numéro que la personne a contacté tant qu'il reste éligible, pour que la réponse reste reconnaissable. Votre application envoie via l'endpoint public SMS avec les contrôles habituels d'expéditeur, de destination et de destinataire.
Les accusés de réception internes de mots-clés de Bird disposent d'un contexte de réponse interne distinct. Ce contexte n'est pas un champ que votre requête API peut revendiquer. Il ne permet pas à une réponse conversationnelle ou à une campagne de contourner l'enregistrement, l'accès à la destination ou la désinscription d'une personne.
Avant de répondre, classifiez le message entrant. Une demande STOP ou d'aide doit suivre son flux de traitement applicable, plutôt que de déclencher une réponse automatisée sans rapport. Exigences relatives à l'expéditeur et traitement des mots-clés décrivent les contrôles pertinents.
Que me coûte le bidirectionnel que l'unidirectionnel ne coûte pas ?
Quatre choses, aucune facultative dès que vous acceptez des réponses.
- Un endpoint qui vérifie et traite les événements de manière fiable. L'entrant est poussé ; tenez compte des réessais et des livraisons en double. Traitement des webhooks couvre les signatures, les réessais et le rejeu. L'identité de l'événement se trouve dans l'en-tête
webhook-id, hors du corps. Utilisez sa valeur comme clé de déduplication. - Un numéro dans chaque destination qui en a besoin. Un expéditeur alphanumérique ne peut pas faire partie d'un programme bidirectionnel, donc une campagne qui les mélange a besoin d'un plan pour les destinations où seul le nom est disponible. Passer en unidirectionnel ne dispense pas non plus de l'obligation : un régime qui accorde un droit de désinscription peut exiger qu'un expéditeur unidirectionnel indique que les réponses ne fonctionnent pas et propose un autre moyen, ce que qu'est-ce que le TCPA détaille.
- Le traitement des messages que vous n'aviez pas prévus. Les gens répondent aux notifications. Certaines de ces réponses sont des questions, d'autres des désinscriptions, et d'autres encore ni l'un ni l'autre.
- La surveillance du côté entrant de vos propres numéros. Bird rapporte le volume entrant séparément du sortant, donc un programme bidirectionnel comporte un deuxième ensemble de chiffres à surveiller.
Si rien de tout cela ne s'applique, l'unidirectionnel n'est pas un déclassement. C'est l'engagement le plus léger, et un expéditeur alphanumérique vous offre un nom reconnaissable dans le champ expéditeur des destinations qui le prennent en charge. Quel type d'expéditeur dois-je utiliser présente le compromis en détail, et SMS bidirectionnel couvre ce que Bird fournit pour le volet réponse.
En bref
L'unidirectionnel est une propriété de l'expéditeur, pas un réglage.
Un nom n'a pas d'adresse, donc rien ne peut lui être renvoyé. Un expéditeur numérique a encore besoin de la capacité SMS et d'une route entrante ; un expéditeur alphanumérique ne peut pas recevoir de réponses.
Une destination peut être unidirectionnelle pour un type qu'elle prend en charge par ailleurs.
Chaque type d'expéditeur qu'un pays prend en charge indique sa propre direction, si bien que le même type de numéro peut être bidirectionnel dans une destination et unidirectionnel dans une autre.
Une réponse arrive sous forme d'événement, pas par interrogation.
Bird stocke le message entrant et émet
sms.receivedavec le corps, le détail des segments, les deux numéros et l'opérateur lorsque celui-ci est signalé par le transporteur.Votre réponse via API est un envoi avec ses propres contrôles.
Utilisez un expéditeur éligible et respectez la demande du destinataire. Les accusés de réception internes de mots-clés n'accordent pas à votre application d'exemption d'enregistrement ou de suppression.