SMS

Wat is een samengevoegd SMS-bericht?

Een samengevoegd SMS-bericht reist als meerdere netwerkberichten die de ontvangende telefoon tot één geheel samenvoegt.

Een lange bezorgmelding kan er op een telefoon uitzien als één bericht. Toch kan het meerdere factureerbare eenheden kosten. Elk deel bevat zowel tekst als informatie die aangeeft waar het thuishoort in het volledige bericht.

Hoe weet de telefoon welke delen bij elkaar horen?

Elk deel bevat een gedeelde referentie, het totale aantal delen en zijn positie in de reeks.

Deze waarden staan in een header naast de tekst. De specificatie 23.040 van het 3rd Generation Partnership Project definieert dat mechanisme. De telefoon controleert ook of de delen dezelfde afzender en hetzelfde berichtencentrum delen.

De header neemt een deel van de capaciteit van elk deel in beslag. Bird hanteert daarom een kleinere tekstlimiet voor elk deel van een samengevoegd bericht.

Waarom levert één extra teken een extra segment op?

Het overschrijden van de limiet voor één segment zorgt ervoor dat Bird de hele berichttekst opdeelt met de kleinere multipart-limiet.

Gewone Latijnse tekst past met 160 tekens in één segment. Elk deel van een langer bericht bevat 153 tekens.

Een berichttekst van 160 gewone Latijnse letters past in één segment. Voeg er een letter aan toe en de 161 letters hebben twee delen nodig, met 153 en acht letters. Beide delen reserveren headerruimte, inclusief het eerste.

Tekens zoals gekrulde aanhalingstekens schakelen het hele bericht over naar een kleinere limiet: 70 tekens, of 67 per deel. Een tekst met 70 Latijnse letters en één gekruld aanhalingsteken heeft daarom twee delen nodig.

Sommige tekens tellen dubbel voor deze limieten. GSM-7 vs UCS-2 legt uit waarom zichtbare tekenaantallen de benodigde ruimte kunnen onderschatten.

Wat gebeurt er als een deel ontbreekt?

De telefoon kan de volledige tekst pas reconstrueren als alle delen binnen zijn.

Het netwerk behandelt de delen als afzonderlijke berichten. De bezorging kan per deel onafhankelijk slagen. Succesvolle bezorging van één deel garandeert niet de bezorging van de hele tekst.

Een onvolledig bericht kan dus een bezorgprobleem zijn, ook als je applicatie de volledige tekst heeft verstuurd. Houd een eenmalige verificatiecode waar mogelijk binnen één segment. De ontvanger heeft dan niet meerdere delen nodig om de code te lezen.

Hoeveel delen accepteert Bird?

Je kunt maximaal twaalf segmenten in één verzoek versturen. Bird weigert een langere berichttekst.

Dat is ruimte voor 1.836 gewone Latijnse tekens: twaalf delen van 153. Het bredere alfabet biedt ruimte voor 804: twaalf delen van 67. Tekens die dubbel tellen, waaronder sommige emoji, verminderen hoeveel tekst er past.

Het text-veld van het verzoek accepteert een niet-lege string met een maximum van twaalf segmenten. Overschrijding levert HTTP 422 op, wat betekent dat het verzoek wordt geweigerd vanwege ongeldige inhoud. Bird kort de tekst niet stilzwijgend in.

Hoe controleer ik het berekende resultaat?

Je leest het segments-object in de berichtrespons om te zien wat Bird heeft berekend.

  • count is een geheel getal van minimaal 1. Uitgaande berichten mogen niet meer dan 12 bevatten. Elk deel telt als een factureerbare eenheid.
  • encoding is GSM_7BIT of UCS2 en geeft aan welke capaciteit van toepassing is.
  • characters telt tekens vóór toepassing van de dubbeltellingsregels. Gebruik count om factureerbare segmenten te controleren.

Controleer bij een lang template de uiteindelijke berichttekst na het invoegen van namen of andere variabele tekst. SMS-segmenten legt de factureringsberekening uit en de gids voor tekenlimieten documenteert de respons.

Kort gezegd

  1. Je verstuurt één bericht.

    Bird splitst een te grote berichttekst in delen die de ontvangende telefoon kan samenvoegen.

  2. Elk deel heeft een header nodig.

    Samenvoeg-informatie verkleint de tekstcapaciteit van elk segment, inclusief het eerste.

  3. Een ontbrekend deel voorkomt volledige samenvoeging.

    De telefoon heeft alle delen nodig om de volledige tekst weer te geven.

  4. Bird beperkt uitgaande berichten tot twaalf segmenten.

    Een langere berichttekst wordt geweigerd met een HTTP 422-respons in plaats van ingekort.

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.