Des événements fiables, signés et traçables.
Recevez les modifications apportées à votre opération sans interrogation. Chaque livraison passe par la file d'attente dédiée, enregistre les tentatives et porte une signature vérifiable.
28 événements de domaine
Signez-les tous avec * ou choisissez uniquement les événements que votre application consomme réellement.
offer.createdoffer.updatedoffer.archivedoffer.publishedsegment.createdsegment.updatedsegment.deletedcoupon.createdcoupon.updatedcoupon.archivedtemplate.createdtemplate.updatedtemplate.deletedschedule.createdschedule.updatedschedule.deletedschedule.executedmonitor.createdmonitor.updatedmonitor.deletedstore.updatedjourney.createdjourney.updatedjourney.deletedconversation.updatedconversation.closedconversation.repliedwebhook.testSchémas avec versions d'événements
Chaque enveloppe prend api_version. Le catalogue fournit l'URL du schéma et fournit un exemple pour valider les consommateurs avant de publier une modification.
{
"id": "evt_...",
"type": "offer.updated",
"api_version": "2026-08-31",
"created_at": "2026-08-31T12:00:00.000Z",
"data": { "offer_id": "off_..." }
}Valider avant traitement
Le secret n'apparaît qu'une seule fois. Calculez HMAC-SHA256 sur l'horodatage et le corps brut et comparez en temps constant.
import { createHmac, timingSafeEqual } from "node:crypto";
const signed = `${timestamp}.${rawBody}`;
const expected = createHmac("sha256", process.env.ACHADU_WEBHOOK_SECRET)
.update(signed)
.digest("hex");
const received = signature.replace("sha256=", "");
if (!timingSafeEqual(Buffer.from(expected), Buffer.from(received))) {
throw new Error("Invalid signature");
}Livraison durable
Webhook Inspector
Dans la zone Développeurs, ouvrez une diffusion pour vérifier la charge utile, la réponse cible, l'état HTTP, la durée, les tentatives et la prochaine tentative. Le même panneau vous permet de copier l'événement et de mettre en file d'attente un renvoi.