La requête
UnPOST JSON par événement et par adresse :
2xx dans les 15 secondes. Les redirections ne sont pas suivies.
Les événements
Abonnés
subscriber.created, subscriber.confirmed, subscriber.unsubscribed, subscriber.tag_added, subscriber.tag_removed.
tag n’est présent que pour les deux événements de tags.
Une personne inscrite sur une liste en double opt-in qui ne confirme jamais
ne déclenche aucun événement.
Campagnes
campaign.sent, quand le dernier e-mail d’une campagne est parti :
Retours des fournisseurs
mail.bounced et mail.complaint, quand un fournisseur signale un rebond ou une plainte :
type vaut hard_bounce, soft_bounce ou complaint. campaign est null pour un e-mail transactionnel ou d’automatisation.
Filtrer par liste
Une adresse réglée sur Seulement pour une liste ne reçoit que les événements de cette liste.campaign.sent suit la liste de la campagne.
Vérifier la signature
X-Lekalao-Signature est le HMAC SHA-256, en hexadécimal, du corps brut de la requête, avec le secret de signature de l’adresse. Calculez-le sur les octets reçus, avant tout décodage JSON, et comparez en temps constant.
Échecs
- Lekalao ne réessaie pas tout seul. Chaque appel est dans le journal Appels que nous avons faits, avec la réponse de votre serveur, et Renvoyer le rejoue.
- Après 10 échecs d’affilée, l’adresse est désactivée. Réactivez-la une fois votre serveur réparé.
Conseils
- Répondez vite. Mettez le travail en file et répondez
204tout de suite. - Soyez idempotent. Le même événement peut arriver deux fois, par exemple après un Renvoyer : gardez la trace de ce que vous avez déjà traité (événement, id ou adresse, date) pour ignorer un doublon.
- Ne supposez pas l’ordre. Deux événements proches peuvent arriver dans le désordre ; relisez la ressource par l’API si l’état compte.
- En local, exposez votre serveur avec un tunnel (ngrok, Cloudflare Tunnel) : Lekalao refuse d’appeler une adresse privée ou
localhost.