Dezvoltatori

POST/v3/smslength

Calculați codificarea și numărul de segmente SMS

Analizați textul final al mesajului fără a-l trimite sau a estima costurile de livrare.

Pe această pagină
  1. Analizați textul exact al mesajului
  2. Cerere
  3. Răspuns
  4. Codificare și limitele segmentelor
  5. Erori și text gol
  6. Folosiți rezultatul înainte de trimitere

Analizați textul exact al mesajului

Calculați codificarea, lungimea textului codificat și numărul de segmente SMS pentru textul pe care intenționați să îl trimiteți. Acest endpoint nu trimite SMS-uri, nu rezervă o rută și nu returnează o ofertă de preț pentru livrare. Furnizați textul final complet, inclusiv orice subsol, link sau formulare pentru dezabonare adăugată de fluxul de trimitere.

Cerere

Autentificați-vă folosind contul API activat și adresa IP sursă permisă pentru acesta. Păstrați datele de autentificare într-un spațiu de stocare a secretelor pe server. Trimiteți un șir UTF-8 în câmpul text; exemplul folosește variabile de mediu.

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

Sunt acceptate date de intrare codificate ca formular. Un obiect JSON precum {"text":"Your message here"} este, de asemenea, acceptat atunci când nu sunt furnizate câmpuri de formular sau parametri de interogare. Preferați metoda POST, astfel încât textul mesajului să nu apară într-un URL. Dacă sunt prezente atât date de formular, cât și parametri de interogare, se folosește formularul. Nu combinați formatele de cerere.

Răspuns

{
  "status": {
    "code": "200",
    "msg": ""
  },
  "response": {
    "charset": 0,
    "encoding": "GSM-7",
    "count": 1,
    "parts": 1,
    "chars": 17,
    "units": 17,
    "single_limit": 160,
    "multipart_limit": 153
  }
}
Câmpurile rezultatului calculatorului
CâmpSemnificație
charset0 pentru GSM-7 sau 2 pentru UTF-16.
encodingGSM-7 sau UTF-16.
parts, countDouă denumiri pentru numărul calculat de segmente SMS. Ambele au valoarea zero pentru textul gol.
units, charsDouă denumiri pentru unitățile de codificare. Numărul acestora nu este neapărat egal cu numărul caracterelor vizibile.
single_limitLimita de unități de codificare pentru un singur segment, în codificarea selectată.
multipart_limitLimita de unități de codificare utilizată pentru fiecare segment după scăderea spațiului necesar informațiilor de concatenare.

Codificare și limitele segmentelor

Limitele utilizate de calculator
CodificareSegment unicSegment dintr-un mesaj cu mai multe segmente
GSM-7160 de septete153 de septete
UTF-1670 de unități de codificare67 de unități de codificare

Caracterele din extensia GSM-7, precum ^, acoladele, parantezele drepte, bara oblică inversă, bara verticală, tilda și simbolul euro, consumă două septete. Un caracter din afara GSM-7 face ca întregul mesaj să fie numărat în unități UTF-16. Un emoji din afara planului multilingv de bază folosește două unități UTF-16; o secvență emoji vizibilă poate conține mai multe puncte de cod.

De exemplu, 160 de litere obișnuite din GSM-7 încap într-un segment, iar 161 necesită două. Optzeci de caractere ^ folosesc 160 de unități și încap într-un segment; optzeci și unu folosesc 162 de unități și necesită două. Treizeci și cinci de emoji simple din afara planului multilingv de bază folosesc 70 de unități UTF-16 și încap într-un segment; treizeci și șase folosesc 72 de unități și necesită două. Semnele combinante și secvențele de emoji unite pot modifica aceste numere.

Erori și text gol

Lipsa câmpului text, furnizarea unui tablou sau a unui obiect în locul unei valori scalare ori o codificare UTF-8 nevalidă determină returnarea codului API 403. Citiți câmpurile status.code și status.msg din răspunsul JSON, precum și starea HTTP; acest endpoint returnează codul ca șir de caractere. Un șir gol este valid și returnează zero unități și zero segmente.

Folosiți rezultatul înainte de trimitere

Calculatorul examinat nu include nicio operațiune de trimitere a mesajelor, de apelare a serviciilor operatorului sau de debitare a contului. Rezultatul său reprezintă o analiză a textului furnizat, nu o garanție de livrare sau o factură finală. Trimiterea poate implica tarife în funcție de destinație, taxe ale operatorului, cerințe privind campaniile și transformări suplimentare ale textului. Recalculați după modificarea mesajului, apoi folosiți fluxul de trimitere aprobat și tarifele curente ale contului.