E-shop potřebuje vědět, kdy byla dokončena platba. CRM potřebuje vědět, kdy z webu přišla nová poptávka. Existují dva základní způsoby, jak se jeden systém dozví o událostech v jiném: pravidelně se ptát, nebo dostat zprávu.
Dotazování: pravidelně se ptát
Při dotazování se váš systém každých pár minut ptá druhého: „Je něco nového?“. Je to jednoduché na vývoj a funguje to s téměř každou službou, která má API. Nevýhodou je zpoždění - o události se dozvíte až při další kontrole - a plýtvání: většina dotazů nic nevrátí, ale přesto spotřebovává limity a prostředky.
Webhooky: dostat zprávu
U webhooku druhý systém pošle zprávu na vaši adresu, jakmile se něco stane. Informace dorazí téměř okamžitě a prázdné dotazy odpadají. Cenou je odpovědnost: váš koncový bod musí být dostupný, ověřit, že zpráva opravdu přišla od partnera, a správně ji zpracovat, i když stejná zpráva dorazí dvakrát.
Jak udělat webhooky spolehlivé
Ověřujte podpis nebo tajný klíč, který poskytovatel přikládá ke každé zprávě, aby vám nikdo nemohl poslat podvržené události. Odpovídejte rychle a náročné zpracování provádějte na pozadí, jinak poskytovatel může doručení vyhodnotit jako neúspěšné a zopakovat ho. Ukládejte identifikátor každé zpracované události a duplicity ignorujte. Veďte záznam příchozích zpráv, aby šlo problémy dohledat.
Praktická kombinace
V praxi nejodolnější integrace kombinují oba přístupy. Webhooky doručují události v reálném čase a pravidelná kontrola - například každou hodinu nebo každou noc - porovná stav na obou stranách a zachytí vše, co se ztratilo během aktualizace serveru nebo výpadku poskytovatele.
Ve zkratce
Dotazování je jednoduché, ale pomalejší a plýtvavé; webhooky jsou rychlé, ale vyžadují pečlivost. Používejte webhooky kvůli rychlosti, chraňte je podpisy a kontrolou duplicit a doplňte pravidelné porovnání, aby se žádná událost neztratila.