Vývojáři

POST/v3/smslength

Výpočet kódování a počtu segmentů SMS

Analyzujte konečný text zprávy bez jejího odeslání a bez odhadu poplatků za doručení.

Na této stránce
  1. Analyzujte přesné znění zprávy
  2. Požadavek
  3. Odpověď
  4. Kódování a limity segmentů
  5. Chyby a prázdný text
  6. Použijte výsledek před odesláním

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/smslength

Je 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ýsledku kalkulátoru
PoleVýznam
charset0 pro GSM-7 nebo 2 pro UTF-16.
encodingGSM-7 nebo UTF-16.
parts, countDva názvy pro vypočtený počet segmentů SMS. Pro prázdný text mají obě pole hodnotu nula.
units, charsDva názvy pro počet kódovaných jednotek. Tento počet se nemusí rovnat počtu viditelných znaků.
single_limitLimit počtu kódovaných jednotek pro jeden segment při zvoleném kódování.
multipart_limitLimit 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ů

Limity používané kalkulátorem
KódováníJeden segmentSegment vícedílné zprávy
GSM-7160 septetů153 septetů
UTF-1670 kódových jednotek67 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.