Een webhook is een URL van jou waar wij een POST naartoe sturen als er iets gebeurt op een verbonden account — er komt een bericht binnen, er wordt een connectie toegevoegd, een account vraagt aandacht. Hij vervangt het herhaald opvragen, wat op een API met gebruikslimieten geen stijlkwestie is maar het verschil tussen werken en niet werken.
Controleer de handtekening. Elke keer.
Je endpoint staat op het open internet, en alles wat erbij kan, kan er posten wat het wil. Elke bezorging draagt een handtekening, berekend uit een geheim dat alleen jij en wij hebben; controleer hem voordat je de body leest, en vergelijk in constante tijd in plaats van met een tekenreeksvergelijking die vroeg afbreekt.
Reken op hetzelfde voorval, twee keer
De bezorging is minstens één keer. Is je endpoint traag, geeft het een 500, of lijkt het daar alleen maar op, dan komt hetzelfde voorval opnieuw binnen. Dat is geen fout om te melden; dat is de afspraak. Maak de afhandelaar idempotent en het probleem verdwijnt.
Antwoord snel met 200 en doe het werk daarna. Een afhandelaar die tien seconden andere API's belt voordat hij antwoordt, is een afhandelaar die opnieuw wordt aangeroepen terwijl hij nog bezig is.
Veelgestelde vragen
Mijn assistent heeft geen server. Kan hij webhooks krijgen?
Ja, via de AI-inbox: een webhook die wij voor je AI bewaren in plaats van hem ergens naartoe te sturen. Hij bewaart elke gebeurtenis op je gekoppelde accounts 30 dagen, en een assistent, of een kamer-agent met MakeHybrid aangevinkt, leest hem als je erom vraagt.
Kan een webhook een AI-agent in een projectkamer starten?
Niet rechtstreeks, want kamers antwoorden op berichten. Je webhookhandler kan als externe AI-agent bij een kamer meedoen en de gebeurtenis daar plaatsen en daarbij de agent die erop moet handelen via @mention noemen.