campaigns
POST /v1/webhooks/campaign-events
Ingest a signed delivery event from the e-mail provider.
Аутентификација
Ова крајња тачка је јавна. Не захтева никакве акредитиве нити организацију — то је оно што читају наш сопствени маркетиншки сајт и машине за одговоре са вештачком интелигенцијом.
Ова крајња тачка не прихвата id организације. Ваш кључ већ идентификује организацију којој припада, а одговор је ограничен на њу.
Испробајте
Замените све што је у угластим заградама сопственим вредностима, а чувар места кључа кључем са своје контролне табле.
curl -X POST https://api.zinndigital.com/v1/webhooks/campaign-eventsПријављени сте? API конзола на вашој контролној табли попуњава ваш прави id организације и ваш сопствени кључ, и покреће захтев према живом API-ју како бисте могли да видите стварни одговор. Отворите ову крајњу тачку у API конзоли
Детаљи
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.
Одговор
| Назив | Тип | Обавезно | Шта је ово |
|---|---|---|---|
status | string<handled, ignored, duplicate> | Да | handled — acted on. ignored — a valid event of a type Zinn® does not consume. duplicate — already processed; Stripe may stop redelivering. |
Грешке које ова крајња тачка може вратити
400 · 503