Skip to main content
Chyby ve SmsManageru se objevují na dvou místech: jako HTTP status kódy vrácené přímo z odpovědí API a jako pole result a result_info doručená na vaši webhook callback URL poté, co byla zpráva odeslána. Pochopení obou povrchů vám pomůže rozlišit mezi selháními na úrovni požadavku (kde se nic neodeslalo) a selháními na úrovni doručení (kde byla zpráva přijata, ale nedosáhla příjemce).

HTTP status kódy

Následující tabulka pokrývá všechny HTTP status kódy, které můžete obdržet z SmsManager API. Odpověď 200 znamená, že server přijal váš požadavek — ale stále byste měli zkontrolovat pole rejected v těle odpovědi pro zachycení případných selhání jednotlivých příjemců.
Odpověď 200 z /message nebo /messages nezaručuje, že každý příjemce zprávu obdržel. Vždy kontrolujte pole rejected v těle odpovědi a sledujte webhook callbacky pro finální výsledky doručení.

Hodnoty result zprávy

Po odeslání zprávy SmsManager doručí jeden nebo více webhook callbacků na vaši nakonfigurovanou callback URL. Každý callback obsahuje pole result, které odráží aktuální stav doručení zprávy. Můžete obdržet více callbacků pro stejnou zprávu, jak se její stav vyvíjí (například sending → sent → delivered).
Výsledek rejected znamená, že zpráva nebyla nikdy odeslána operatérovi. Zkontrolujte kreditní zůstatek účtu a ověřte formát telefonního čísla příjemce před opakováním.

Stavové kódy a hodnoty result_info

Každý stav odeslané zprávy má číselný stavový kód (status_code). Tabulka uvádí všechny stavové kódy a jejich mapování na pole result a result_info ve webhooku. Pomlčka (—) znamená, že SmsManager pro daný stav pole result_info nevyplňuje.
Pole result_info je nepovinné. Ve webhook události může chybět nebo být prázdné. Logiku vaší aplikace stavte na poli result a result_info používejte pro logování, diagnostiku a podporu.
Stejné kódy vrací i endpoint GET /message v REST API: stav odeslání v poli status_code a stav doručení v poli delivery_code. Nepleťte si tyto kódy s chybovými kódy HTTP/XML API, které mají vlastní číslování.

Hodnoty od poskytovatele kanálu

Kromě hodnot z tabulky může result_info obsahovat chybu, kterou vrátil poskytovatel kanálu, hlavně WhatsApp. Tyto hodnoty mají formát [kód] Popis, ale kterákoli část může chybět:
WhatsApp chybové kódy (jako 131042) sledují WhatsApp error code referenci Mety. Ohledně úplného seznamu specifických WhatsApp kódů a jejich významu se podívejte na dokumentaci Mety.

Běžné chyby a jejich řešení

Váš požadavek byl odmítnut, protože API klíč chybí, je poškozený nebo neodpovídá žádnému aktivnímu klíči na vašem účtu.Řešení: Přihlaste se na app.smsmanager.com/api-cloud a zkopírujte váš aktuální API klíč. Předejte jej v každém požadavku pomocí hlavičky x-api-key:
Alternativně jej můžete předat jako query parametr apikey, i když přístup přes hlavičku je doporučený z bezpečnostních důvodů.
Váš účet nemá dostatek kreditu k odeslání požadovaných zpráv. Postihované zprávy se objeví s result: rejected a result_info: [307] Insufficient credit ve vašich webhook callbaccích.Řešení: Dobijte kredit účtu na app.smsmanager.com. Po dobití neuspělé zprávy zopakujte.
Telefonní číslo, které jste poskytli, nebylo možno parsovat nebo normalizovat na platné E.164 číslo.Řešení: Použijte formát E.164 bez úvodního + nebo 00. Například české číslo +420 777 123 456 by mělo být odesláno jako:
Kompletní seznam přijatých formátů najdete v Telefonní čísla.
Zpráva se objeví v poli rejected odpovědi API nebo dorazí do vašeho webhooku s result: rejected.Řešení: Přesnou příčinu ve webhooku obvykle najdete v poli result_info — jeho kód vyhledejte v tabulce stavových kódů výše. Dvě nejčastější příčiny jsou nedostatečný kredit a neplatné telefonní číslo. Zkontrolujte obojí:
  1. Ověřte kreditní zůstatek na app.smsmanager.com.
  2. Potvrďte, že telefonní číslo je ve formátu E.164 bez úvodního + (např. 420777123456).
Obdrželi jste webhook s result: sent, ale nikdy jste neobdrželi navazující callback result: delivered.To je v mnoha případech normální. Stav sent znamená, že operatér přijal zprávu, ale potvrzení doručení (DLR) závisí na tom, zda operatér podporuje potvrzení a zda je zařízení příjemce dostupné. Někteří operatoři a sítě nevracejí potvrzení doručení vůbec.Pokud je zpráva časově citlivá, zvažte použití záložního kanálu (např. SMS → Viber) přes parametr flow.
Obdrželi jste odpověď 415 Unsupported Media Type při volání simple POST endpointu.Řešení: Endpoint POST /simple/message vyžaduje form-encoded data, ne JSON. Nastavte hlavičku Content-Type na:
Všechny ostatní JSON API v2 endpointy (/message, /messages) přijímají application/json.

Chybové kódy Verify API

Verify API vrací strukturované chybové objekty se strojově čitelným kódem error spolu s čitelným message. Ve vaší aplikační logice používejte pole error pro zpracování konkrétních podmínek selhání.