Ontwikkelaars

POST/v3/smslength

Bereken SMS-kodering en segmente

Ontleed die finale boodskapteks sonder om dit te stuur of afleweringskoste te beraam.

Op hierdie bladsy
  1. Ontleed die presiese boodskapteks
  2. Versoek
  3. Antwoord
  4. Kodering en segmentlimiete
  5. Foute en leë teks
  6. Gebruik die resultaat voordat jy stuur

Ontleed die presiese boodskapteks

Bereken die kodering, gekodeerde lengte en aantal SMS-segmente vir die teks wat jy beplan om te stuur. Hierdie eindpunt stuur nie 'n SMS, reserveer nie 'n roete en gee nie 'n kwotasie vir die afleweringsprys terug nie. Dien die volledige finale teks in, insluitend enige voetteks, skakel of bewoording om uit te teken wat jou versendingswerkvloei byvoeg.

Versoek

Verifieer jou identiteit met jou geaktiveerde API-rekening en die toegelate bron-IP-adres daarvan. Bewaar aanmeldbesonderhede in geheime berging aan die bedienerkant. Stuur 'n UTF-8-string in die text-veld; die voorbeeld gebruik omgewingsveranderlikes.

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

Vormgekodeerde invoer word ondersteun. 'n JSON-objek soos {"text":"Your message here"} word ook aanvaar wanneer geen vorm- of navraagvelde verskaf word nie. Gebruik verkieslik POST sodat boodskapteks nie in 'n URL verskyn nie. As beide vorm- en navraaginvoer teenwoordig is, word die vorm gebruik. Moenie versoekformate meng nie.

Antwoord

{
  "status": {
    "code": "200",
    "msg": ""
  },
  "response": {
    "charset": 0,
    "encoding": "GSM-7",
    "count": 1,
    "parts": 1,
    "chars": 17,
    "units": 17,
    "single_limit": 160,
    "multipart_limit": 153
  }
}
Berekenaar se resultaatvelde
VeldBetekenis
charset0 vir GSM-7 of 2 vir UTF-16.
encodingGSM-7 of UTF-16.
parts, countTwee name vir die berekende aantal SMS-segmente. Albei is nul vir leë teks.
units, charsTwee name vir gekodeerde eenhede. Hulle stem nie noodwendig met sigbare karakters ooreen nie.
single_limitLimiet op gekodeerde eenhede vir 'n enkele segment met die gekose kodering.
multipart_limitLimiet op gekodeerde eenhede wat vir elke segment gebruik word nadat die oorhoofse ruimte vir aaneenskakeling afgetrek is.

Kodering en segmentlimiete

Limiete wat die berekenaar gebruik
KoderingEnkele segmentSegment van 'n meerdelige boodskap
GSM-7160 septette153 septette
UTF-1670 kode-eenhede67 kode-eenhede

Uitbreidingskarakters van GSM-7, soos ^, krulhakies, vierkantige hakies, die terugskuinsstreep, vertikale streep, tilde en euroteken, gebruik twee septette. 'n Karakter buite GSM-7 laat die hele boodskap na telling volgens UTF-16 oorskakel. 'n Emoji buite die basiese veeltalige vlak gebruik twee UTF-16-eenhede; 'n sigbare emoji-reeks kan verskeie kodepunte bevat.

Byvoorbeeld, 160 gewone GSM-7-letters pas in een segment en 161 vereis twee. Tagtig ^-karakters gebruik 160 eenhede en pas in een segment; een-en-tagtig gebruik 162 eenhede en vereis twee. Vyf-en-dertig eenvoudige emoji buite die BMP gebruik 70 UTF-16-eenhede en pas in een segment; ses-en-dertig gebruik 72 eenhede en vereis twee. Kombinerende tekens en saamgevoegde emoji kan daardie tellings verander.

Foute en leë teks

'n Ontbrekende text-veld, 'n skikking/objek in plaas van 'n skalaarwaarde, of ongeldige UTF-8 gee API-kode 403 terug. Lees die JSON-velde status.code en status.msg sowel as die HTTP-status; hierdie eindpunt gee die kode as 'n string terug. 'n Leë string is geldig en gee nul eenhede en nul segmente terug.

Gebruik die resultaat voordat jy stuur

Die nagegane berekenaar bevat geen boodskapversending, oproep na 'n netwerkoperateur of debitering van die rekening nie. Die resultaat daarvan is 'n ontleding van die ingediende teks, nie 'n afleweringswaarborg of 'n finale rekening nie. Versending kan bestemmingstariewe, netwerkoperateursfooie, veldtogvereistes en bykomende teksveranderings behels. Bereken weer nadat jy die boodskap verander het, en gebruik dan die goedgekeurde versendingswerkvloei en die huidige pryse vir die rekening.