Campaigns
POST /v1/campaigns
Create a campaign from a template and an audience.
Упълномощаване
Изпратете API ключ като носител (bearer token). Тази точка за достъп не указва конкретно разрешение в спецификацията, затова дайте на ключа си най-малкото необходимо и проверете отговора, вместо да правите предположения.
Където отива идентификаторът на вашата организация
Този краен пункт приема org_id като поле в JSON тялото.
ИД на вашата организация се намира на екрана с API ключове във вашето табло за управление, до самия ключ. Това е същият ИД във всяко заявка, която правите.
Опитайте
Заменете всичко в квадратни скоби със собствени стойности, а ключовия заместващ символ – с ключ от вашето табло за управление.
curl -X POST https://api.zinndigital.com/v1/campaigns \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "name": <string>, "template_id": <string> }'Влязохте ли в профила си? API конзолата във вашето табло за управление попълва действителното идентификационно число на вашата организация и вашия собствен ключ и изпълнява заявката спрямо реалното API, за да можете да видите действителния отговор. Отворете този крайpoint в API конзолата
Детайли
Create a campaign from a template and an audience segment. It is created as a draft and sends nothing until the send endpoint is called.
Тяло на заявката
| Име | Тип | Задължително | Какво представлява |
|---|---|---|---|
name | string | Да | — |
template_id | string | Да | — |
segment_id | string | Не | — |
channels | string<email, in_app, slack, telegram>[] | Не | — |
scheduled_for | string | Не | — |
include_not_in_good_standing | boolean | Не | ⚖️ Suspended and unpaid organisations are excluded by default (CLAUDE.md §2.46); this is the explicit per-campaign override that makes a win-back campaign possible. The skip is… |
org_id | string | Не | — |
Отговор
| Име | Тип | Задължително | Какво представлява |
|---|---|---|---|
id | string | Да | — |
org_id | string | Да | — |
name | string | Да | — |
template_id | string | Да | — |
segment_id | string | Не | — |
purpose | string<marketing, transactional> | Да | — |
channels | string[] | Да | — |
status | string<draft, scheduled, sending, paused, sent, cancelled, failed> | Да | — |
scheduled_for | string | Не | — |
include_not_in_good_standing | boolean | Не | — |
total_recipients | integer | Да | — |
skipped | CampaignSkipCounts | Да | ⛔ Every skip counted separately and never silent, and **every one is present even when it is zero**. "4,127 recipients, 312 skipped — not in good standing" is rendered from thes… |
delivery | CampaignDeliveryCounts | Не | ⛔ `sent` is NOT `delivered`. `sent` means a provider accepted the hand-off; `delivered` means the receiving server accepted it, which arrives later by webhook. A screen showing… |
last_error | string | Не | — |
created_at | string | Да | — |
started_at | string | Не | — |
finished_at | string | Не | — |
Грешки, които този крайpoint може да върне
401 · 403 · 422