Analyzujte přesné znění zprávy
Vypočítejte kódování, délku v kódovaných jednotkách a počet segmentů SMS pro text, který chcete odeslat. Tento koncový bod neodesílá SMS, nerezervuje trasu ani nevrací cenovou nabídku za doručení. Zadejte úplný konečný text včetně případného zápatí, odkazu nebo pokynů k odhlášení odběru, které přidává váš postup odesílání.
Požadavek
K autentizaci použijte svůj aktivovaný účet API a zdrojovou IP adresu, která je pro něj povolena. Přihlašovací údaje uchovávejte v úložišti tajných údajů na straně serveru. V poli text odešlete řetězec v kódování UTF-8; příklad používá proměnné prostředí.
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
--data-urlencode 'text=Your message here' \
https://api.multitel.net/v3/smslengthJe podporován vstup ve formulářovém kódování. Objekt JSON, například {"text":"Your message here"} je rovněž přijímán, pokud nejsou zadána žádná formulářová pole ani parametry dotazu. Upřednostňujte metodu POST, aby se text zprávy neobjevil v URL. Pokud jsou současně přítomny formulářové údaje i parametry dotazu, použijí se formulářové údaje. Nekombinujte formáty požadavků.
Odpověď
{
"status": {
"code": "200",
"msg": ""
},
"response": {
"charset": 0,
"encoding": "GSM-7",
"count": 1,
"parts": 1,
"chars": 17,
"units": 17,
"single_limit": 160,
"multipart_limit": 153
}
}| Pole | Význam |
|---|---|
| charset | 0 pro GSM-7 nebo 2 pro UTF-16. |
| encoding | GSM-7 nebo UTF-16. |
| parts, count | Dva názvy pro vypočtený počet segmentů SMS. Pro prázdný text mají obě pole hodnotu nula. |
| units, chars | Dva názvy pro počet kódovaných jednotek. Tento počet se nemusí rovnat počtu viditelných znaků. |
| single_limit | Limit počtu kódovaných jednotek pro jeden segment při zvoleném kódování. |
| multipart_limit | Limit počtu kódovaných jednotek pro každý segment po odečtení režie potřebné pro spojování segmentů. |
Kódování a limity segmentů
| Kódování | Jeden segment | Segment vícedílné zprávy |
|---|---|---|
| GSM-7 | 160 septetů | 153 septetů |
| UTF-16 | 70 kódových jednotek | 67 kódových jednotek |
Znaky z rozšířené sady GSM-7, například ^, složené závorky, hranaté závorky, zpětné lomítko, svislá čára, vlnovka a symbol eura, zabírají dva septety. Znak mimo sadu GSM-7 přepne celou zprávu na počítání v kódování UTF-16. Emoji mimo základní vícejazyčnou rovinu zabírá dvě jednotky UTF-16; viditelná sekvence emoji může obsahovat několik kódových bodů.
Například 160 běžných písmen ze sady GSM-7 se vejde do jednoho segmentu a 161 vyžaduje dva. Osmdesát znaků ^ zabírá 160 jednotek a vejde se do jednoho segmentu; osmdesát jedna zabírá 162 jednotek a vyžaduje dva. Třicet pět jednoduchých emoji mimo základní vícejazyčnou rovinu zabírá 70 jednotek UTF-16 a vejde se do jednoho segmentu; třicet šest zabírá 72 jednotek a vyžaduje dva. Kombinační znaménka a spojené sekvence emoji mohou tyto počty změnit.
Chyby a prázdný text
Chybějící pole text, pole či objekt namísto skalární hodnoty nebo neplatné kódování UTF-8 vede k vrácení kódu API 403. V odpovědi JSON čtěte hodnoty status.code a status.msg i stav HTTP; tento koncový bod vrací kód jako řetězec. Prázdný řetězec je platný a vrací nula jednotek a nula segmentů.
Použijte výsledek před odesláním
Zkontrolovaný kalkulátor neobsahuje žádné odesílání zpráv, volání služeb operátora ani odečítání prostředků z účtu. Jeho výsledkem je analýza zadaného textu, nikoli záruka doručení nebo konečné vyúčtování. Na odesílání se mohou vztahovat sazby podle cíle, poplatky operátora, požadavky na kampaně a další úpravy textu. Po změně zprávy výpočet zopakujte a poté použijte schválený postup odesílání a aktuální ceny platné pro váš účet.