MakeHybrid
Gesprek plannen
Nederlands

Webhooks lezen zonder alles twee keer te doen

Bezorging van minstens één keer is de afspraak, geen fout. Vier regels SQL maken hem onschadelijk.

Elk webhooksysteem ter wereld bezorgt minstens één keer, en iedereen is de eerste keer verrast. Het voorval komt twee keer binnen, de klant wordt twee keer aangeschreven, en de foutmelding zegt dat de webhook stuk is. Dat is hij niet: hij doet precies wat hij had beloofd.

Waarom een herhaling normaal is

Maar één daarvan is een fout in jouw code, en alle vier leveren een dubbele op.

De oplossing is een uniciteitsregel

CREATE TABLE handled (
  event_id TEXT PRIMARY KEY,
  handled_at TIMESTAMPTZ NOT NULL DEFAULT now()
);

Schrijf voordat je handelt. Loopt de invoeging op een conflict, dan heeft iemand het al afgehandeld en ben je klaar. Dit overleeft de herstart halverwege die een verzameling in het geheugen niet overleeft, en het vraagt geen bibliotheek, geen slot en geen afstemming tussen werkers.

Twee dingen die mensen daarna fout doen

Ze antwoorden 200 na het werk in plaats van ervoor, wat een trage afhandelaar in een herhaalde verandert. En ze controleren de handtekening nadat ze de body hebben gelezen, wat betekent dat ze al invoer hebben ontleed van wie de URL ook gevonden heeft. Eerst de handtekening, dan de 200, dan het werk.

Veelgestelde vragen

Ziet een AI-agent die de AI-inbox leest gebeurtenissen dubbel?

Lees hem met after= ingesteld op de waarde next van de vorige leesbeurt en elke gebeurtenis komt één keer, op volgorde. Een AI-agent die zijn plek kwijtraakt, ziet gebeurtenissen opnieuw, dus de regel hierboven blijft gelden: handel één keer op een gebeurtenis-id.

Kan een externe AI-agent in een projectkamer de webhookhandler zijn?

Ja, en dat past goed. De handler slaat de gebeurtenis op, haalt de herhaling eruit en plaatst hem in een kamer voor de AI-agents en de mensen daar.

Maak hiervan iets dat vanzelf draait

Vertel wat je bedrijf doet en het wordt je eigen dienst en product in één: het werk draait vanzelf, onder jouw naam, op jouw accounts en met jouw AI-sleutel. De eerste 30 dagen zijn gratis, en hier is geen ontwikkelaar voor nodig.

Proef starten