Campaigns
POST /v1/campaigns
Create a campaign from a template and an audience.
Kimlik Doğrulama
Bir API anahtarını bearer token olarak gönderin. Bu uç nokta, teknik özelliklerde belirli bir yetki belirtmemektedir; bu nedenle, varsaymak yerine anahtarınıza ihtiyaç duyduğu en az yetkiyi verin ve yanıtı kontrol edin.
Kurum kimliğinizin yazılacağı yer
Bu uç nokta, JSON gövdesinde bir alan olarak org_id alır.
Kuruluş kimliğiniz (id), kontrol panelinizdeki API anahtarları ekranında, anahtarın hemen yanında yer alır. Yaptığınız her çağrıda aynı kimlik kullanı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/campaigns \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "name": <string>, "template_id": <string> }'Oturum 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
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.
İstek gövdesi
| Ad | Tür | Zorunlu | Ne olduğu |
|---|---|---|---|
name | string | Evet | — |
template_id | string | Evet | — |
segment_id | string | Hayır | — |
channels | string<email, in_app, slack, telegram>[] | Hayır | — |
scheduled_for | string | Hayır | — |
include_not_in_good_standing | boolean | Hayır | ⚖️ 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 | Hayır | — |
Yanıt
| Ad | Tür | Zorunlu | Ne olduğu |
|---|---|---|---|
id | string | Evet | — |
org_id | string | Evet | — |
name | string | Evet | — |
template_id | string | Evet | — |
segment_id | string | Hayır | — |
purpose | string<marketing, transactional> | Evet | — |
channels | string[] | Evet | — |
status | string<draft, scheduled, sending, paused, sent, cancelled, failed> | Evet | — |
scheduled_for | string | Hayır | — |
include_not_in_good_standing | boolean | Hayır | — |
total_recipients | integer | Evet | — |
skipped | CampaignSkipCounts | Evet | ⛔ 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 | Hayır | ⛔ `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 | Hayır | — |
created_at | string | Evet | — |
started_at | string | Hayır | — |
finished_at | string | Hayır | — |
Bu uç noktanın dönderebileceği hatalar
401 · 403 · 422