campaigns
POST /v1/webhooks/campaign-events
Ingest a signed delivery event from the e-mail provider.
Kimlik Doğrulama
Bu uç nokta arakatmana açıktır. Kimlik bilgisi ve organizasyon gerektirmez; kendi pazarlama sitemizin ve yapay zeka yanıt motorlarımızın okuduğu yerdir.
Bu uç nokta hiçbir organizasyon kimliği almaz. Anahtarınız zaten ait olduğu organizasyonu tanımlar ve yanıt bu organizasyonla sınırlandırılır.
Dene
Köşeli parantez içindeki her şeyi kendi değerlerinizle ve anahtar yer tutucusunu panonuzdan bir anahtarla değiştirin.
curl -X POST https://api.zinndigital.com/v1/webhooks/campaign-eventsOturum açtınız mı? Panonuzdaki API konsolu, gerçek organizasyon kimliğinizi ve kendi anahtarınızı otomatik olarak doldurur ve isteği canlı API üzerinde çalıştırarak gerçek yanıtı görmenizi sağlar. Bu uç noktayı API konsolunda açın
Ayrıntılar
Unauthenticated by design — the provider holds no Zinn® credential, so the HMAC over the raw request body is the authentication, exactly as for the Stripe path above. This is what moves a campaign delivery from sent to delivered, bounced or complained, and what feeds the suppression list. Redelivery is the normal case and every transition is monotonic, so a replay is a no-op rather than a row moved backwards. An event type Zinn® does not handle is acknowledged with 200, because a 4xx would only buy a retry storm for an event nobody was going to act on. ⛔ With no configured secret this endpoint answers 503 and processes nothing. Accepting unsigned events "until it is configured" would be an unauthenticated write path into the delivery table and the suppression list — i.e. anybody on the internet could suppress a competitor's entire customer base.
Yanıt
| Ad | Tür | Zorunlu | Ne olduğu |
|---|---|---|---|
status | string<handled, ignored, duplicate> | Evet | handled — acted on. ignored — a valid event of a type Zinn® does not consume. duplicate — already processed; Stripe may stop redelivering. |
Bu uç noktanın dönderebileceği hatalar
400 · 503