Skip to main content
Webhooky vám posílají změny stavu ve chvíli, kdy nastanou. REST API vám stejné informace vydá na vyžádání. Můžete se zeptat na stav jedné zprávy, projít všechny zprávy odeslané za den, stáhnout souhrnné statistiky nebo načíst přijaté zprávy.
Všechny endpointy na této stránce patří do REST API. Základní URL je https://rest-api.smsmngr.com/v1. Autentizace je stejná jako u JSON API v2: hlavička x-api-key se stejným API klíčem. Svůj API klíč najdete v sekci Vývojáři.
Skill smsmanager-message-status z balíčku SmsManager skills zná všechny endpointy z této stránky. AI asistent připojený přes MCP server zjistí stav zprávy nástrojem get_message_status a přehled dne nástrojem list_messages.

Webhooky, nebo dotazování

Pro sledování v reálném čase použijte webhooky. O každé změně se dozvíte hned a nemusíte se opakovaně ptát. Dotazování přes REST API se hodí jako doplněk:
  • Dohledání stavu — když webhook nedorazil nebo ho váš server nezpracoval.
  • Kontrola proti vlastní databázi — například jednou denně porovnáte odeslané zprávy se svými záznamy.
  • Reporty a dashboardy — počty odeslaných, doručených a prokliknutých zpráv po dnech a tazích.
  • Integrace bez veřejné callback URL — například interní skript, na který SmsManager nemůže posílat webhooky.
Neptejte se na stav každé zprávy v krátké smyčce. Pro průběžné sledování jsou webhooky efektivnější a nezatěžují vaši integraci zbytečnými požadavky.

Stav jedné zprávy

GET /message vrací úplný stav jedné zprávy podle jejího message_id.
cURL
Odpověď
Stavové kódy jsou řetězce ("200", ne 200), proto je tak i porovnávejte. Význam všech kódů najdete v přehledu chyb. U zprávy s více kroky, například Viber se zálohou na SMS, vám flow_index řekne, který krok se použil. V flow_status vidíte stav každého kroku zvlášť.
GET /message vrací jen zprávy odeslané stejným API klíčem, kterým se ptáte. Pokud zprávu odeslal jiný klíč, třeba váš podřízený klíč, dostanete "message": null. Stejnou odpověď dostanete i pro neexistující ID.
Zprávy odeslané přes POST /messages v JSON API v2 mají ID s příponou indexu příjemce, například e27ff0ac-87b5-4e1d-b644-5fc6029e2a11-1. Na stav se ptejte právě tímto ID. Jak se ID skládají, popisuje koncept message_id a request_id.

Odeslané zprávy za den

GET /messages vrací přehled zpráv odeslaných v jeden den, jeden řádek na příjemce. Výsledky se stránkují kurzorem.
cURL
Odpověď

Stránkování

Pokud next_cursor v odpovědi není null, pošlete jeho hodnotu v parametru cursor a dostanete další stránku. Ostatní parametry nechte stejné. Jakmile je next_cursor null, máte všechny řádky.

Statistiky jednoho požadavku

GET /request vrací souhrnné statistiky jednoho odesílacího požadavku. Jako id použijte request_id, které vám JSON API v2 vrátilo při odeslání. Statistiky se vedou po dnech, proto zadejte i date.
cURL
Odpověď
Všechny hodnoty v objektu request jsou řetězce, včetně čítačů a časů. Pokud pro zadaný den a id žádné statistiky neexistují, dostanete "request": null. Volitelný parametr subid funguje stejně jako u GET /messages.

Statistiky po dnech a tazích

GET /requests sčítá statistiky za celé dny. V parametru dates předejte jedno nebo více dat oddělených čárkou.
cURL
Pole requests obsahuje jednu položku za každý den, pro který existují data. Dny bez záznamů se vynechají. Každá položka obsahuje date, seznam nalezených tagů v tags a statistiky ve stats.
Odpověď
Na rozdíl od GET /request jsou čítače v GET /requests čísla, ne řetězce.

Proč zprávy neodešly

count_notsent_codes rozkládá count_notsent podle stavového kódu zamítnutí (300–399). Klíčem je kód, hodnotou počet zpráv. Součet hodnot vždy odpovídá count_notsent. V příkladu výše skončilo 27 zpráv s kódem 300 a 2 s kódem 303. Význam kódů najdete v přehledu chyb.

Statistiky po krocích flow

flow_stats je klíčovaný indexem kroku ("0", "1", …) a dále názvem kanálu, například sms, viber nebo whatsapp_template. Pro každý kanál dostanete čítače sent, notsent, delivered, nondelivered, seen, clicked, replied a optout. Čítače fungují dvěma způsoby:
  • Doručovací metriky (delivered, nondelivered, seen, clicked, replied, optout) započítají každou zprávu v rámci kroku nejvýše jednou.
  • sent a notsent počítají pokusy o odeslání.
V příkladu má Viber krok ("0") 100 odeslaných a 27 neodeslaných pokusů. SMS krok ("1") má 25 odeslaných a 2 neodeslané. Tak vidíte, jakou část provozu nesl záložní SMS kanál.

Rozpad po tazích

S parametrem group=tag je stats pole místo jednoho objektu. Každá položka patří jednomu tagu, jehož hodnota je v poli key. Obsahuje stejné čítače jako souhrn za den. Zpráva s více tagy se mezi jednotlivé tagy nerozpočítá. Zůstane pod jedním klíčem s kombinací tagů spojenou čárkou, například newsletter,promo.
cURL
Odpověď (zkráceno)
Skutečná odpověď obsahuje u každého tagu všechna pole souhrnu, včetně msg_mccmnc a flow_stats.

Přijaté zprávy

GET /inbox vrací zprávy, které jste přijali v zadaný den. Najdete tu odpovědi na vaše zprávy i nevyžádané příchozí zprávy.
cURL
Odpověď

Spárovaná odchozí zpráva

Pokud se příchozí zprávu podaří spárovat s vaší odchozí zprávou, najdete ji v objektu original. U nevyžádaných příchozích zpráv je original null.

Přílohy

Pokud příchozí zpráva z WhatsAppu nebo RCS obsahuje médium, popisuje ho objekt media. Může jít o obrázek, video, audio, dokument, nálepku, sdílenou polohu nebo kontaktní karty. U čistě textových zpráv je media null. Objekt má stejnou strukturu jako media v příchozím webhooku, viz Webhooky. Když se soubor nepodaří uložit, ostatní metadata dostanete i tak. Před stažením proto zkontrolujte, jestli je vyplněné url, nebo error.
Na příchozí zprávy můžete odpovídat automaticky nebo si je nechat přeposílat e-mailem. Postup najdete v návodu Automatické odpovědi a příchozí zprávy.

Další kroky

Webhooky

Dostávejte změny stavu a příchozí zprávy v reálném čase místo dotazování.

message_id a request_id

Jak se skládají ID zpráv a požadavků, včetně přípony indexu příjemce.

Chybové kódy

Význam kódů status_code, delivery_code a kódů v count_notsent_codes.

Tok zpráv

Jak fungují kroky flow a záložní kanály, které vidíte ve flow_stats.

Automatické odpovědi

Odpovídejte na příchozí zprávy automaticky podle klíčového slova nebo tlačítka.

REST API reference

Úplný popis parametrů a odpovědí endpointů /message, /messages, /request, /requests a /inbox.