Utvecklare

POST/v3/smslength

Beräkna SMS-kodning och antal segment

Analysera den slutliga meddelandetexten utan att skicka den eller uppskatta leveranskostnader.

På denna sida
  1. Analysera den exakta meddelandetexten
  2. Begäran
  3. Svar
  4. Kodning och segmentgränser
  5. Fel och tom text
  6. Använd resultatet före utskicket

Analysera den exakta meddelandetexten

Beräkna kodningen, den kodade längden och antalet SMS-segment för texten du tänker skicka. Den här ändpunkten skickar inget SMS, reserverar ingen rutt och returnerar ingen prisuppgift för leveransen. Skicka in hela den slutliga texten, inklusive eventuell sidfot, länk eller formulering för avregistrering som ditt utskicksflöde lägger till.

Begäran

Autentisera dig med ditt aktiverade API-konto och dess tillåtna käll-IP-adress. Förvara autentiseringsuppgifterna i ett hemlighetslager på serversidan. Skicka en sträng i UTF-8 i fältet text; exemplet använder miljövariabler.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --data-urlencode 'text=Your message here' \
  https://api.multitel.net/v3/smslength

Formulärkodade indata stöds. Ett JSON-objekt som {"text":"Your message here"} accepteras också när inga formulärfält eller frågeparametrar anges. Använd helst POST så att meddelandetexten inte visas i en URL. Om både formulärdata och frågeparametrar finns används formuläret. Blanda inte olika format för begäran.

Svar

{
  "status": {
    "code": "200",
    "msg": ""
  },
  "response": {
    "charset": 0,
    "encoding": "GSM-7",
    "count": 1,
    "parts": 1,
    "chars": 17,
    "units": 17,
    "single_limit": 160,
    "multipart_limit": 153
  }
}
Fält i beräkningsresultatet
FältBetydelse
charset0 för GSM-7 eller 2 för UTF-16.
encodingGSM-7 eller UTF-16.
parts, countTvå namn för det beräknade antalet SMS-segment. Båda är noll för tom text.
units, charsTvå namn för kodade enheter. De motsvarar inte nödvändigtvis synliga tecken.
single_limitGräns för antalet kodade enheter i ett enskilt segment med den valda kodningen.
multipart_limitGräns för antalet kodade enheter i varje segment efter avdrag för det utrymme som krävs för sammanlänkning.

Kodning och segmentgränser

Gränser som beräkningsverktyget använder
KodningEnskilt segmentSegment i ett flerdelat meddelande
GSM-7160 septetter153 septetter
UTF-1670 kodenheter67 kodenheter

Utökningstecken i GSM-7, som ^, klammerparenteser, hakparenteser, omvänt snedstreck, lodrätt streck, tilde och eurotecknet, tar upp två septetter. Ett tecken utanför GSM-7 gör att hela meddelandet räknas enligt UTF-16. En emoji utanför det grundläggande flerspråkiga planet använder två UTF-16-enheter; en synlig emojisekvens kan innehålla flera kodpunkter.

Till exempel ryms 160 vanliga GSM-7-bokstäver i ett segment, medan 161 kräver två. Åttio ^-tecken använder 160 enheter och ryms i ett segment; åttioen använder 162 enheter och kräver två. Trettiofem enkla emojier utanför BMP använder 70 UTF-16-enheter och ryms i ett segment; trettiosex använder 72 enheter och kräver två. Kombinerande tecken och sammanfogade emojier kan ändra dessa antal.

Fel och tom text

Om fältet text saknas, om en array eller ett objekt anges i stället för ett skalärt värde eller om UTF-8 är ogiltig returneras API-koden 403. Läs JSON-fältet status.code och fältet status.msg samt HTTP-statusen; den här ändpunkten returnerar koden som en sträng. En tom sträng är giltig och ger noll enheter och noll segment.

Använd resultatet före utskicket

Det granskade beräkningsverktyget skickar inga meddelanden, gör inga anrop till operatörer och debiterar inte kontot. Resultatet är en analys av den inskickade texten, ingen leveransgaranti eller slutlig faktura. Vid utskick kan destinationsbaserade priser, operatörsavgifter, kampanjkrav och ytterligare textomvandlingar tillkomma. Beräkna på nytt efter att du har ändrat meddelandet och använd sedan det godkända utskicksflödet och kontots aktuella priser.