SMS

Wat is een SMS-segment, en waarom kostte één bericht er drie?

Een SMS-segment is één factureerbaar deel van een SMS-tekst, dus drie delen betekenen drie eenheden aan kosten.

Een telefoon kan een lange tekst als één bericht weergeven, ook als het netwerk meerdere delen verstuurt. Het alfabet waarmee je tekst wordt gecodeerd, bepaalt hoeveel delen Bird in rekening brengt.

Wat is een segment?

Een segment is het grootste stuk tekst dat één netwerkbericht kan bevatten. Gewone Latijnse tekst past met 160 tekens in een segment. Als het bericht ook maar één teken buiten die set bevat, zoals een emoji, een typografisch aanhalingsteken of de meeste letters met accenten, past er nog maar 70 tekens in elk segment.

Wanneer een bericht meer dan één segment nodig heeft, geeft elk deel een beetje ruimte op aan een header die de telefoon gebruikt om de delen samen te voegen: 153 tekens per deel voor gewone tekst, 67 voor de bredere set. Dus 161 gewone letters kosten twee segmenten: 153 in het eerste en acht in het tweede.

Bird telt gewone tekst in het GSM-7-alfabet en al het andere als UCS-2, de twee encodings die providers accepteren. Enkele tekens tellen dubbel, zelfs binnen GSM-7, en sommige emoji tellen dubbel in UCS-2; de encodingpagina vermeldt ze.

Waarom kostte één bericht er drie?

Bird brengt het aantal segmenten in rekening, dus een bericht van drie segmenten kost drie eenheden tegen het geldende tarief.

Bird berekent het aantal bij het accepteren van je verzending. De bestemming, berichtcategorie en afzendertype bepalen ook de geldende prijs. Bekijk SMS-prijzen voor de route die je gebruikt.

Bijvoorbeeld: 150 gewone Latijnse letters passen in één segment. Voeg een lachende-gezicht-emoji toe en de hele berichttekst gebruikt UCS-2. Die emoji telt dubbel, waardoor het totaal op 152 komt. 152 gedeeld door de meerdelige capaciteit van 67 levert drie segmenten op.

Welke tekens veranderen de encoding?

Elk teken buiten GSM-7 verplaatst de hele berichttekst naar UCS-2.

Rechte aanhalingstekens passen in GSM-7. Typografische aanhalingstekens niet. De letters é en ü passen. De letters á, í en ú niet. Chinese, Japanse, Koreaanse, Arabische, Thaise en Hindi-tekst vereisen ook de bredere encoding.

Een naam of producttitel die in een template wordt ingevoegd, kan daardoor de encoding van het hele bericht veranderen. Controleer de volledige tekst na het invoegen van die waarden.

Waarom geeft een tekentelling een ander resultaat?

Sommige tekens tellen dubbel voor de segmentlimiet.

GSM-7 telt , [, ], {, }, \, ~, ^ en | elk als twee tekens. Het form-feed-teken, dat een pagina-einde aanvraagt, telt ook dubbel. Tachtig eurotekens vullen dus één segment.

Een berichttekst van 159 gewone Latijnse letters gevolgd door bevat 160 tekens. Het telt als 161 voor de limiet. Dat kost twee segmenten.

Sommige emoji, zoals 😀, tellen dubbel in UCS-2. Vijfendertig daarvan vullen één segment. De encodingpagina vermeldt de tekens die speciale aandacht nodig hebben.

Hoe controleer ik het aantal in Bird?

Je leest het berekende aantal uit het segments-object in de berichtrespons.

  • count is een geheel getal van minimaal 1. Elk geteld segment is een factureerbare eenheid. Uitgaande berichten zijn beperkt tot 12. Een langere berichttekst krijgt HTTP 422, waardoor het verzoek wordt geweigerd zonder de tekst af te kappen.
  • encoding is GSM_7BIT of UCS2 en geeft aan welke capaciteit van toepassing is.
  • characters telt de tekens in de tekst voordat de dubbeltelregels worden toegepast. Gebruik count om factureerbare segmenten te controleren.

Voor een bericht dat in één segment moet passen, controleer je count nadat je de volledige berichttekst hebt opgesteld. Neem ingevoegde namen mee en tel tekens zoals 😀 dubbel.

Je kunt ook options.smart_encoding instellen op true of false. De standaardwaarde is false. Indien ingeschakeld vervangt het ondersteunde leestekens alleen als het volledige resultaat in GSM-7 past. Een emoji die in de berichttekst achterblijft, voorkomt alle vervangingen. Smart encoding licht dat gedrag toe.

De gids voor tekenlimieten documenteert de telregels en responsvelden.

Kort gezegd

  1. Elk segment is een factureerbare eenheid.

    Een bericht dat in drie segmenten wordt gesplitst, wordt gefactureerd als drie eenheden tegen het geldende tarief.

  2. Encoding bepaalt de capaciteit.

    Eén teken buiten het compacte SMS-alfabet verplaatst de hele berichttekst naar de Unicode-encoding.

  3. Sommige tekens tellen dubbel.

    Een euroteken telt als twee tekens voor de limiet. Sommige emoji tellen ook dubbel.

  4. Elk meerdelig segment reserveert headerruimte.

    Splitsen verlaagt de capaciteit in elk deel, inclusief het eerste.

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.