SMS

Wat is het verschil tussen one-way en two-way SMS?

One-way SMS verzendt berichten zonder antwoorden te accepteren; two-way SMS ontvangt ook berichten van de ontvanger.

De vorm van een afzender bepaalt of antwoorden een adres hebben. Een geschikt SMS-nummer kan een bericht ontvangen; een alfanumerieke naam niet.

Het onderscheid klinkt als een functie die je aanzet. Het lijkt meer op een fysieke eigenschap van waarvandaan je verstuurt, met een landspecifiek beleid erbovenop.

Wat maakt een afzender one-way?

Geen adres erachter hebben.

Een antwoord is een bericht geadresseerd aan degene die het laatste bericht stuurde. Als de afzender een nummer was, bestaat dat adres en kan een toestel het gebruiken. Als de afzender een alfanumeriek afzender-ID was, is er geen nummer om te adresseren, en het eigen model van Bird registreert die afwezigheid direct: de landcode van zo'n afzender is null, beschreven als "the country of the number this sender sends from", en het heeft geen nummer-id omdat "an alphanumeric sender has no number behind it".

De eerste scheidslijn is dus structureel. Long codes, gratis nummers en short codes kunnen ontvangen. Een alfanumerieke afzender niet, in geen enkel land, onder geen enkele registratie.

De tweede scheidslijn is per land. Elk afzendertype dat een bestemming ondersteunt rapporteert een direction van one_way of two_way, dus een nummertype dat antwoorden accepteert in de ene bestemming kan send-only zijn in een andere. Het SMS-beleid van het land heeft ook een eigen is_two_way_supported-vlag. Beide zijn bestemmingswaarden die veranderen, dus ze staan gepubliceerd op SMS-bestemmingen in plaats van hier; elke bestemmingspagina vermeldt of two-way-berichten worden ondersteund.

Hoe bereikt een antwoord mijn applicatie?

Als een event, naar je gepusht, met het bericht al opgeslagen.

Wanneer een abonnee een van je nummers sms't, slaat Bird het bericht op naast je verzendingen en verstuurt sms.received. De payload bevat de inhoud, de segmentopsplitsing, beide nummers en de operator als de carrier er een rapporteert. Er is niets om te pollen.

Eén ding gebeurt voordat dat event je bereikt, en het verandert wat je in de handler moet doen. Bird toetst het antwoord eerst aan de trefwoordregels voor dat nummer. Een ondersteund stoptrefwoord registreert een afzender-en-abonnee-onderdrukking en stuurt de opt-outbevestiging, en het verstuurt nog steeds sms.received. Een inkomend bericht dat een opt-out was, komt dus bij je endpoint aan als elk ander inkomend bericht, al verwerkt.

Het gevolg voor je code: behandel niet elke sms.received als een conversatiebeurt. Sommige zijn opt-outs die Bird al heeft gehonoreerd, en als reactie op zo'n bericht iets terugsturen is precies de fout waar dat patroon toe uitnodigt. Wat is een STOP-trefwoord behandelt welke trefwoorden worden herkend, waar, en wat er gebeurt in een land buiten de catalogus.

Vanaf welke afzender antwoord ik?

Gebruik het nummer waarmee de persoon contact opnam zolang het geschikt blijft, zodat het antwoord herkenbaar blijft. Je applicatie verzendt via het publieke SMS-endpoint met de gebruikelijke afzender-, bestemmings- en ontvangercontroles.

De ingebouwde trefwoordbevestigingen van Bird hebben een aparte interne antwoordcontext. Die context is geen veld dat je API-verzoek kan claimen. Het staat geen conversatiereactie of campagne toe om registratie, bestemmingstoegang of iemands opt-out te omzeilen.

Classificeer het inkomende bericht voordat je antwoordt. Een STOP- of helpverzoek moet zijn eigen verwerkingsstroom volgen in plaats van een ongerelateerde geautomatiseerde reactie te triggeren. Afzendervereisten en trefwoordverwerking beschrijven de relevante controles.

Wat kost two-way me dat one-way niet kost?

Vier dingen, geen ervan optioneel zodra je antwoorden accepteert.

  1. Een endpoint dat events betrouwbaar verifieert en verwerkt. Inbound wordt gepusht; houd rekening met retries en dubbele afleveringen. Webhookverwerking behandelt handtekeningen, retries en replay. De identiteit van het event zit in de webhook-id-header, buiten de body. Gebruik de waarde ervan als je deduplicatiesleutel.
  2. Een nummer in elke bestemming die er een nodig heeft. Een alfanumerieke afzender kan geen deel uitmaken van een two-way programma, dus een campagne die ze combineert heeft een plan nodig voor de bestemmingen waar alleen de naam beschikbaar is. One-way kiezen is ook geen ontsnapping aan de verplichting: een regime dat recht op opt-out verleent, kan eisen dat een one-way afzender vermeldt dat antwoorden niet werken en een andere route biedt, wat wat is de TCPA uiteenzet.
  3. Berichten verwerken waar je niet voor hebt ontworpen. Mensen antwoorden op notificaties. Sommige van die antwoorden zijn vragen, sommige zijn opt-outs en sommige zijn geen van beide.
  4. De inbound-kant van je eigen nummers in de gaten houden. Bird rapporteert inbound-volume apart van outbound, dus een two-way programma heeft een tweede set nummers om te bewaken.

Als niets hiervan van toepassing is, is one-way geen downgrade. Het is de kleinere verplichting, en een alfanumerieke afzender geeft je een herkenbare naam in het afzenderveld in de bestemmingen die het ondersteunen. Welk afzendertype moet ik gebruiken heeft de afweging volledig, en two-way SMS behandelt wat Bird levert voor de antwoordkant.

Kort gezegd

  1. One-way is een eigenschap van de afzender, geen instelling.

    Een naam heeft geen adres, dus er kan niets naar worden teruggestuurd. Een numerieke afzender heeft nog steeds SMS-mogelijkheid en een inbound-route nodig; een alfanumerieke afzender kan geen antwoorden ontvangen.

  2. Een bestemming kan one-way zijn voor een type dat het verder wel ondersteunt.

    Elk afzendertype dat een land ondersteunt rapporteert zijn eigen richting, dus hetzelfde nummertype kan two-way zijn in de ene bestemming en one-way in een andere.

  3. Een antwoord komt binnen als een event, niet als een poll.

    Bird slaat het inkomende bericht op en verstuurt sms.received met de inhoud, de segmentopsplitsing, beide nummers en de operator wanneer de carrier er een rapporteert.

  4. Je API-antwoord is een verzending met eigen controles.

    Gebruik een geschikte afzender en respecteer het verzoek van de ontvanger. Interne trefwoordbevestigingen geven je applicatie geen vrijstelling van registratie of onderdrukking.

Breng het in de praktijk.

Ga verder met de documentatie, gidsen en voorbeelden voor dit onderwerp. De bronnen zijn in het Engels.

Ontvang een implementatieoverzicht

Bouw op hetzelfde netwerk.

Een test-API-key is direct beschikbaar. Productietoegang wordt ontgrendeld zodra u een betaalmethode toevoegt en een afzender verifieert.

Jouw volgende idee.
Klaar om te verbinden.