POST požadavek obsahující JSON payload popisující událost. Je to nejefektivnější způsob, jak vybudovat sledování zpráv v reálném čase, automatizovat opakování a zpracovávat příchozí zprávy.
Typy webhooků
SmsManager posílá tři typy webhook událostí:sentMessage
Spuštěno při každé změně stavu doručení odchozí zprávy. Můžete obdržet více událostí na zprávu, jak se pohybuje doručovací rourou — například nejprve
sent, pak delivered. Hodnoty stavu zahrnují: sending, sent, delivered, undelivered, rejected, failed a seen (pouze Viber/WhatsApp).incomingReplyMessage
Spuštěno, když příjemce přímo odpoví na zprávu, kterou jste poslali. Payload spojuje odpověď s původní odchozí zprávou přes
message_id.incomingMessage
Spuštěno pro nevyžádané příchozí zprávy — zprávy, které dorazí na vaše číslo, ale nejsou přímou odpovědí na žádnou konkrétní odchozí zprávu.
Nastavení webhook URL
Doručování webhook můžete nakonfigurovat dvěma způsoby: 1. Callback na zprávu — nastavte polecallback v těle požadavku zprávy. SmsManager posílá všechny události doručení pro danou zprávu na URL, kterou uvedete.
Callback na zprávu
default_callback_url na svém API klíči přes SmsManager REST API. Všechny zprávy odeslané tímto API klíčem budou používat tuto URL, pokud není přepsána polem callback na jednotlivých požadavcích.
Nastavit výchozí callback URL
Formát webhook payloadu
SmsManager posílá na vaši callback URL pole objektů událostí. Více událostí doručení může být v jednom POST volaní spojeno. Zde je kompletní příklad payloadusentMessage pro doručenou SMS:
sentMessage payload
sms, viber, whatsapp_template nebo whatsapp_body) se liší podle hodnoty gateway:
Pole payload
Když do svého původního požadavku zprávy zahrnete objekt payload, SmsManager jej vrátí zpět v každé webhook události pro tuto zprávu. Použijte to k propojení událostí doručení s vašimi vlastními aplikačními daty — ID objednávek, ID uživatelů, názvy kampaní a tak dále — bez nutnosti dohledávat cokoli podle message_id.
Požadavek zprávy s payload
payload:
Webhook událost (výňatek)
Sekvence stavu doručení
Typické úspěšné doručení vyprodukuje dvě webhook události v posloupnosti:seen, když příjemce zprávu otevře.
Váš webhook handler musí být idempotentní — SmsManager může ve vzácných případech doručit stejnou událost vícekrát (síťové opakování). Použijte
message_id + result jako klíč pro deduplikaci.Zpracování příchozích zpráv
incomingReplyMessage — odpověď na jednu z vašich odchozích zpráv:incomingReplyMessage payload
incomingMessage payload
Osvědčené postupy
- Ihned odpovězte HTTP 200. SmsManager považuje jakoukoli ne-2xx odpověď za selhání a zopakuje. Vraťte
200 OKco nejrychleji, pak zpracujte payload asynchronně (například do fronty). - Zpracujte duplicitní webhooky. Síťové problémy mohou způsobit doručení stejné události vícekrát. Použijte
message_id+resultjako složený klíč pro deduplikaci událostí před zpracováním. - Logujte surové webhook payloady. Uložte surové JSON tělo vedle svých zpracovaných dat, abyste mohli přehrát události při ladění bez závislosti na oknu opakování SmsManageru.
- Validujte
message_idproti vašim záznamům. Ignorujte události pro message ID, které neroz vyznáváte — to chrání proti podvrženým webhook požadavkům. - Používejte HTTPS. Vždy vystavujte svůj webhook endpoint přes HTTPS pro ochranu obsahu zprávy a doručovacích metadat při přenosu.
Kódy result_info
Pole result_info poskytuje čitelný popis výsledku doručení. Sleduje formát [kód] Popis, kde číselný kód je specifický pro operatéra a volitelný. Běžné příklady:
Používejte
result (strojově čitelný enum) ve vaší aplikační logice a result_info pro logování a podporu.
Co SmsManager POSTůje na váš endpoint
Co SmsManager posílá na vaši callback URL
Další kroky
Odeslat SMS
Zjistěte, jak nastavit pole callback na SMS zprávách.
Odeslat Viber
Porozumějte Viber-specifickým stavům doručení a události seen.
Hromadné odesílání
Propojujte dávkové události doručení pomocí message_id přípon indexu.
Ověření telefonu
Použijte Verify API pro OTP toky s HMAC offline proofy.