Přejít na obsah
Dokumentace

Reference

Jak Emailit opakuje neúspěšné požadavky webhooků, kdy vám pošle e-mail a vypne endpoint a jak neúspěšné požadavky prohlížet a znovu odeslat.

Aktualizováno 1. 10. 2026

Když váš endpoint požadavek webhooku nepřijme, Emailit si události ponechá a zkouší je odeslat znovu podle plánu, který trvá něco přes tři dny. Tato stránka tento plán uvádí, vysvětluje, jaké e-maily Emailit posílá a kdy endpoint vypne, a ukazuje, jak neúspěšné požadavky prohlížet a znovu odeslat.

Co se považuje za selhání

Požadavek selže, když váš endpoint:

  • Vrátí jakýkoli stav mimo rozsah 200–299, včetně přesměrování (3xx).
  • Neodpoví do 30 sekund.
  • Není dostupný: chyby DNS, odmítnutá spojení, chyby TLS nebo URL, která se přeloží na soukromou IP adresu.

Selhání se týká celé dávky: všechny události v požadavku se opakují společně.

Plán opakování

Po každém neúspěšném pokusu Emailit před dalším pokusem počká:

Pokus Čekání po předchozím pokusu Čas od prvního pokusu
1 Odešle se během několika sekund po události 0
2 5 minut 5 minut
3 30 minut 35 minut
4 2 hodiny 2 hodiny 35 minut
5 5 hodin 7 hodin 35 minut
6 12 hodin 19 hodin 35 minut
7 12 hodin 1 den 7 hodin
8 12 hodin 1 den 19 hodin
9 12 hodin 2 dny 7 hodin
10 12 hodin 2 dny 19 hodin
11 12 hodin 3 dny 7 hodin

Pokud selže i 11. pokus, požadavek dostane stav Failed a automaticky se už neopakuje. Ještě 7 dní ho ale můžete odeslat znovu.

Každý pokus se znovu podepíše s novým časovým razítkem. Události, které dorazí, zatímco starší požadavky čekají na opakování, se odesílají ve vlastních dávkách, takže jedna problémová událost nezablokuje novější.

E-mailová upozornění

Emailit pošle vlastníkovi workspace e-mail ve dvou případech:

Kdy E-mail
Požadavek selže potřetí (asi 35 minut po prvním selhání) Upozornění, že webhook selhává. Odešle se jednou za incident. Další dostanete, jen pokud po úspěšném doručení dojde k novým selháním, nebo po 4 dnech.
Webhook se automaticky vypne Upozornění, že byl webhook vypnut, s posledním stavovým kódem.

Automatické vypnutí

Pokud webhook od svého nejstaršího neúspěšného požadavku 3 dny nic úspěšně nedoručil, Emailit ho při dalším neúspěšném pokusu vypne. V praxi se to stane zhruba při 11. pokusu prvního neúspěšného požadavku, nebo dřív, pokud nové události dál selhávají.

Dokud je webhook vypnutý:

  • Nové události se pro něj do fronty nezařazují. V proudu událostí se ale dál zaznamenávají.
  • Požadavky, které čekaly na opakování, dál čekají a pokračují, jakmile webhook zapnete.
  • Stránka webhooku ukazuje stav Disabled.

Pokud ho chcete znovu zapnout, vyberte v nabídce akcí webhooku Enable webhook, nebo zavolejte endpoint Úprava webhooku s {"enabled": true}. Webhook zapne také Retry failed a opakování jednoho požadavku.

Karta Requests

Otevřete webhook v Email APIWebhooks a na jeho kartě Requests uvidíte požadavky od nejnovějšího:

Sloupec Popis
Event type Událost v požadavku.
Event ID ID evt_, stejná hodnota, jakou váš endpoint dostává jako event_id.
Created Kdy se požadavek zařadil do fronty.
Attempts Kolik pokusů o doručení zatím selhalo.
Status Pending (ještě se nezkoušel), Attempting (alespoň jednou selhal, bude se opakovat), Delivered, nebo Failed (opakování se vyčerpala).

Filtrovat můžete podle Status code, Event nebo Created. Testovací události z Send test se tu nezobrazují.

U požadavku ve stavu Failed vyberte View a otevře se Failure reason: stavový kód, který váš endpoint vrátil (0, když nepřišla žádná HTTP odpověď), kdy byl požadavek vytvořen a kdy selhal, a prvních 2 000 znaků těla odpovědi.

Znovu odešlete neúspěšné požadavky

Znovu odeslat můžete požadavky ve stavu Failed, jejichž poslední selhání nastalo během posledních 7 dní. Znovu odeslané požadavky se vrátí do stavu Pending a začnou nový cyklus opakování od 1. pokusu. Doručení není okamžité: převezme je další doručovací běh během několika sekund.

Zopakujte jeden požadavek

Na kartě Requests vyberte v řádku neúspěšného požadavku Retry. Tlačítko se zobrazuje jen u neúspěšných požadavků z posledních 7 dní.

Endpoint API je Opakování jednoho požadavku, POST /v2/webhooks/{id}/requests/{request_id}/retry, a vrací {"retried": 1, "id": "whr_…"}. Přijímá jen požadavky ve stavu Failed a pro ostatní vrací 400. ID požadavků (whr_…) nevypisuje žádný veřejný endpoint, takže pro automatizaci přes API použijte raději Retry failed.

Zopakujte neúspěšné požadavky

Otevřete nabídku akcí webhooku a vyberte Retry failed. Všechny požadavky, které selhaly během posledních 7 dní, se znovu zařadí do fronty a webové rozhraní zobrazí „Queued 3 failed request(s) for retry“ se skutečným počtem, nebo „No failed requests in the last 7 days“.

Přes API zavolejte Opakování neúspěšných požadavků:

Terminal
curl -X POST https://api.emailit.com/v2/webhooks/wh_2xGk8Hd3RvN6qT1mWsB9cL4pZ7e/retry-failed \
  -H "Authorization: Bearer $EMAILIT_API_KEY"
JSON
{ "retried": 42 }

Obnovte provoz po výpadku

  1. Opravte endpoint. Pomocí View u neúspěšného požadavku zjistíte, co váš endpoint vrátil.

  2. Ověřte, že funguje. Použijte Send test z nabídky akcí, nebo přes API Odeslání testovací události, a zkontrolujte, že dostanete 2xx.

  3. Zapněte webhook, pokud ho Emailit vypnul.

  4. Znovu odešlete neúspěšné požadavky. Vyberte Retry failed a do fronty se znovu zařadí všechny požadavky, které selhaly během posledních 7 dní. Požadavky, které jsou stále ve stavu Attempting, se opakují podle vlastního plánu.

  5. Doplňte mezery. Události, které nastaly, zatímco byl webhook vypnutý, se do fronty nikdy nezařadily, a selhání starší než 7 dní nelze znovu odeslat. Načtěte je za dotčené období přes API událostí a zpracujte ty, které vám chybějí.

Protože se při opakování znovu odesílají celé dávky, udělejte svůj handler idempotentní: ukládejte si každé event_id a události, které jste už zpracovali, přeskakujte. Viz Požadavky webhooků.

Uchovávání

Požadavky webhooků se řídí dobou uchovávání pro Logs, takže starší řádky z karty Requests postupně mizí.

Pay as you goProBusinessCustom
Uchovávání logů požadavků7 dní30 dní30 dníFlexibilní

Byla tato stránka užitečná?

Děkujeme za zpětnou vazbu.

Děkujeme, čteme každou zprávu.