Анализирајте тачан текст поруке
Израчунајте кодирање, дужину кодираног текста и број SMS сегмената за текст који намеравате да пошаљете. Ова крајња тачка не шаље SMS, не резервише руту и не враћа понуду цене испоруке. Доставите цео коначни текст, укључујући свако подножје, везу или текст за одјаву који ваш поступак слања додаје.
Захтев
Аутентификујте се помоћу свог омогућеног API налога и изворне IP адресе дозвољене за тај налог. Чувајте акредитиве у складишту тајних података на серверу. Пошаљите ниску у кодирању UTF-8 у пољу text; пример користи променљиве окружења.
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
--data-urlencode 'text=Your message here' \
https://api.multitel.net/v3/smslengthПодржан је унос кодиран као образац. Објекат у формату JSON, као што је {"text":"Your message here"} такође се прихвата када нису достављена поља обрасца ни параметри упита. Дајте предност методи POST како се текст поруке не би појавио у URL адреси. Ако су присутни и унос из обрасца и параметри упита, користи се образац. Не мешајте формате захтева.
Одговор
{
"status": {
"code": "200",
"msg": ""
},
"response": {
"charset": 0,
"encoding": "GSM-7",
"count": 1,
"parts": 1,
"chars": 17,
"units": 17,
"single_limit": 160,
"multipart_limit": 153
}
}| Поље | Значење |
|---|---|
| charset | 0 за GSM-7 или 2 за UTF-16. |
| encoding | GSM-7 или UTF-16. |
| parts, count | Два назива за израчунати број SMS сегмената. Обе вредности су нула за празан текст. |
| units, chars | Два назива за јединице кодираног текста. Њихов број није нужно једнак броју видљивих знакова. |
| single_limit | Ограничење броја јединица кодираног текста за један сегмент са изабраним кодирањем. |
| multipart_limit | Ограничење броја јединица кодираног текста за сваки сегмент након што се урачуна простор потребан за повезивање сегмената. |
Кодирање и ограничења сегмената
| Кодирање | Један сегмент | Сегмент вишеделне поруке |
|---|---|---|
| GSM-7 | 160 септета | 153 септета |
| UTF-16 | 70 кодних јединица | 67 кодних јединица |
Знакови из проширеног скупа GSM-7, као што су ^, витичасте заграде, угласте заграде, обрнута коса црта, усправна црта, тилда и знак евра, заузимају два септета. Знак ван скупа GSM-7 пребацује целу поруку на бројање у кодирању UTF-16. Емоџи ван основне вишејезичке равни заузима две јединице кодирања UTF-16; видљиви низ емоџија може да садржи више кодних тачака.
На пример, 160 обичних слова из скупа GSM-7 стаје у један сегмент, а 161 захтева два. Осамдесет знакова ^ заузима 160 јединица и стаје у један сегмент; осамдесет један заузима 162 јединице и захтева два. Тридесет пет једноставних емоџија ван основне вишејезичке равни заузима 70 јединица кодирања UTF-16 и стаје у један сегмент; тридесет шест заузима 72 јединице и захтева два. Комбиновани знаци и спојени емоџији могу да промене те бројеве.
Грешке и празан текст
Ако недостаје поље text, ако је уместо скаларне вредности достављен низ или објекат, или ако кодирање UTF-8 није исправно, враћа се API код 403. Прочитајте поља JSON одговора status.code и status.msg, као и HTTP статус; ова крајња тачка враћа код као ниску. Празна ниска је исправна и враћа нула јединица и нула сегмената.
Користите резултат пре слања
Прегледани калкулатор не садржи слање порука, позиве оператеру нити задуживање налога. Његов резултат је анализа достављеног текста, а не гаранција испоруке или коначан рачун. При слању могу да се примењују тарифе према одредишту, накнаде оператера, захтеви за кампање и додатне измене текста. Поновите прорачун након измене поруке, а затим користите одобрени поступак слања и важећи ценовник за налог.