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/smslengthSunt 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âmp | Semnificație |
|---|---|
| charset | 0 pentru GSM-7 sau 2 pentru UTF-16. |
| encoding | GSM-7 sau UTF-16. |
| parts, count | Două denumiri pentru numărul calculat de segmente SMS. Ambele au valoarea zero pentru textul gol. |
| units, chars | Două denumiri pentru unitățile de codificare. Numărul acestora nu este neapărat egal cu numărul caracterelor vizibile. |
| single_limit | Limita de unități de codificare pentru un singur segment, în codificarea selectată. |
| multipart_limit | Limita de unități de codificare utilizată pentru fiecare segment după scăderea spațiului necesar informațiilor de concatenare. |
Codificare și limitele segmentelor
| Codificare | Segment unic | Segment dintr-un mesaj cu mai multe segmente |
|---|---|---|
| GSM-7 | 160 de septete | 153 de septete |
| UTF-16 | 70 de unități de codificare | 67 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.