Campaigns
POST /v1/campaigns
Create a campaign from a template and an audience.
Autentificare
Trimiteți o cheie API ca token de tip bearer. Acest punct final nu specifică o permisiune anume în specificație, așa că acordați cheii cele mai puține drepturi necesare și verificați răspunsul în loc să faceți presupuneri.
Unde merge ID-ul organizației tale
Acest punct final preia org_id ca câmp în corpul JSON.
ID-ul organizației tale se află pe ecranul cheilor API din panoul de control, lângă cheia însăși. Este același ID în fiecare apel pe care îl faci.
Încearcă
Înlocuiți tot ce se află între paranteze unghiulare cu propriile valori și substituentul cheie cu o cheie din tabloul de bord.
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> }'Autentificat? Consola API din panoul de control îți completează ID-ul real al organizației și propria cheie și rulează cererea în API-ul live, astfel încât să poți vedea răspunsul efectiv. Deschideți acest punct final în consola API
Detalii
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.
Corp cerere
| Nume | Tip | Obligatoriu | Ce este |
|---|---|---|---|
name | string | Da | — |
template_id | string | Da | — |
segment_id | string | Nu | — |
channels | string<email, in_app, slack, telegram>[] | Nu | — |
scheduled_for | string | Nu | — |
include_not_in_good_standing | boolean | Nu | ⚖️ 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 | Nu | — |
Răspuns
| Nume | Tip | Obligatoriu | Ce este |
|---|---|---|---|
id | string | Da | — |
org_id | string | Da | — |
name | string | Da | — |
template_id | string | Da | — |
segment_id | string | Nu | — |
purpose | string<marketing, transactional> | Da | — |
channels | string[] | Da | — |
status | string<draft, scheduled, sending, paused, sent, cancelled, failed> | Da | — |
scheduled_for | string | Nu | — |
include_not_in_good_standing | boolean | Nu | — |
total_recipients | integer | Da | — |
skipped | CampaignSkipCounts | Da | ⛔ 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 | Nu | ⛔ `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 | Nu | — |
created_at | string | Da | — |
started_at | string | Nu | — |
finished_at | string | Nu | — |
Erori pe care le poate returna acest punct final
401 · 403 · 422