A pontos üzenetszöveg elemzése
Számítsa ki az elküldeni kívánt szöveg kódolását, kódolt hosszát és SMS-szegmenseinek számát. Ez a végpont nem küld SMS-t, nem foglal le útvonalat, és nem ad kézbesítési árajánlatot. A teljes, végleges szöveget adja meg, beleértve a küldési munkafolyamat által hozzáadott láblécet, hivatkozást vagy leiratkozási szöveget is.
Kérés
A hitelesítéshez használja engedélyezett API-fiókját és az ahhoz engedélyezett forrás-IP-címet. A hitelesítési adatokat szerveroldali titoktárolóban tárolja. Küldjön egy UTF-8 kódolású karakterláncot a text mezőben; a példa környezeti változókat használ.
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
--data-urlencode 'text=Your message here' \
https://api.multitel.net/v3/smslengthAz űrlapkódolt bemenet támogatott. Egy JSON objektum, például {"text":"Your message here"} is elfogadható, ha nincsenek megadva űrlapmezők vagy lekérdezési mezők. Lehetőleg a POST metódust használja, hogy az üzenetszöveg ne jelenjen meg az URL-ben. Ha űrlapadatok és lekérdezési adatok is jelen vannak, a rendszer az űrlapadatokat használja. Ne keverje a kérésformátumokat.
Válasz
{
"status": {
"code": "200",
"msg": ""
},
"response": {
"charset": 0,
"encoding": "GSM-7",
"count": 1,
"parts": 1,
"chars": 17,
"units": 17,
"single_limit": 160,
"multipart_limit": 153
}
}| Mező | Jelentés |
|---|---|
| charset | 0 a GSM-7 esetén, vagy 2 az UTF-16 esetén. |
| encoding | GSM-7 vagy UTF-16. |
| parts, count | Az SMS-szegmensek kiszámított számának két elnevezése. Üres szövegnél mindkettő értéke nulla. |
| units, chars | A kódolt egységek számának két elnevezése. Ez nem feltétlenül egyezik meg a látható karakterek számával. |
| single_limit | A kódolt egységek felső határa egyetlen szegmens esetén, a kiválasztott kódolással. |
| multipart_limit | A kódolt egységek szegmensenként alkalmazott felső határa az összefűzés többlethelyigényének levonása után. |
Kódolás és szegmenskorlátok
| Kódolás | Egyetlen szegmens | Többrészes üzenet egy szegmense |
|---|---|---|
| GSM-7 | 160 szeptett | 153 szeptett |
| UTF-16 | 70 kódegység | 67 kódegység |
A GSM-7 bővített karakterei, például a ^, a kapcsos és szögletes zárójelek, a fordított törtvonal, a függőleges vonal, a hullámjel és az eurójel két szeptettet foglalnak el. Egy, a GSM-7 karakterkészletén kívüli karakter az egész üzenet számlálását UTF-16 alapúra váltja. Az alap többnyelvű síkon kívüli emodzsi két UTF-16 egységet használ; egy látható emodzsisorozat több kódpontot is tartalmazhat.
Például 160 szokásos GSM-7 betű elfér egy szegmensben, míg 161 már két szegmenst igényel. Nyolcvan ^ karakter 160 egységet használ, és elfér egy szegmensben; nyolcvanegy 162 egységet használ, és két szegmenst igényel. Harmincöt egyszerű, a BMP-n kívüli emodzsi 70 UTF-16 egységet használ, és elfér egy szegmensben; harminchat 72 egységet használ, és két szegmenst igényel. A kombináló jelek és az összekapcsolt emodzsik módosíthatják ezeket az értékeket.
Hibák és üres szöveg
A hiányzó text mező, a skalárérték helyett megadott tömb vagy objektum, illetve az érvénytelen UTF-8 kódolás 403 API-kódot eredményez. A HTTP-állapot mellett olvassa ki a JSON válasz status.code és status.msg mezőit is; ez a végpont karakterláncként adja vissza a kódot. Az üres karakterlánc érvényes, és nulla egységet és nulla szegmenst eredményez.
Az eredmény felhasználása küldés előtt
Az ellenőrzött kalkulátor nem küld üzenetet, nem indít hívást a szolgáltató felé, és nem terheli meg a fiókot. Eredménye a beküldött szöveg elemzése, nem kézbesítési garancia vagy végleges számla. A küldésre célállomásonkénti tarifák, szolgáltatói díjak, kampánykövetelmények és további szövegátalakítások vonatkozhatnak. Az üzenet módosítása után végezze el újra a számítást, majd használja a jóváhagyott küldési munkafolyamatot és a fiók aktuális díjszabását.