campaigns

POST /v1/campaigns/segments/preview

How many people this reaches, who they are, and who it leaves out.

همه نقاط پایانی campaigns

احراز هویت

یک کلید API را به عنوان یک توکن برbearer ارسال کنید. این نقطه پایانی مجوز خاصی را در مشخصات خود ذکر نمی‌کند، بنابراین به جای فرض کردن، حداقل نیازهای کلید خود را بدهید و پاسخ را بررسی کنید.

جایی که شناسه سازمان شما قرار می‌گیرد

این نقطه پایانی org_id را به عنوان یک پارامتر پرس‌وجو می‌پذیرد. آن را رها کنید تا فراخوانی کل زیردرخت اجاره‌ای شما را پوشش دهد؛ آن را ارسال کنید تا فراخوانی به یک سازمان محدود شود.

شناسه سازمان شما در صفحه کلیدهای API در داشبوردتان، در کنار خود کلید قرار دارد. این شناسه در تمام درخواست‌هایی که ارسال می‌کنید یکسان است.

امتحان کنید

هر چیزی را که داخل براکت‌های زاویه‌دار قرار دارد با مقادیر خودتان جایگزین کنید، و نگهدارنده کلید را با کلیدی از داشبورد خود جایگزین نمایید.

curl -X POST https://api.zinndigital.com/v1/campaigns/segments/preview \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{  }'

وارد شده‌اید؟ کنسول API در داشبورد شما شناسه سازمان واقعی و کلید خودتان را پر می‌کند و درخواست را روی API زنده اجرا می‌کند تا بتوانید پاسخ واقعی را ببینید. این نقطه پایانی را در کنسول API باز کنید

جزئیات

Pass either a `definition` (to preview an unsaved segment as you build it) or a `segment_id` — exactly one. ⛔ `total` is the TRUE recipient count and `sample` is a bounded illustration of it. They are different numbers and `truncated` says when: an operator who reads the sample size as the audience size sends thousands of emails believing they sent twenty. Every response carries all five skip counters whether or not any is non-zero, because a counter that disappears when it is zero is indistinguishable from a fence that never ran. `skipped_no_marketing_consent` will be large today: marketing is soft opt-in for people who are or were customers, and anyone else needs an explicit opt-in.

پارامترها

نامنوعالزامیچیست
org_id (query)stringخیر

بدنه درخواست

نامنوعالزامیچیست
definitionCampaignSegmentNodeخیرA filter tree. Two node shapes and no third: a GROUP (`op` with `children`) or a CONDITION (`field`/`operator`/`value`). `not` takes exactly one child — an n-ary `not` reads as…
segment_idstringخیر
channelstringخیر
purposestring<marketing, transactional>خیر`marketing` applies the consent fence and the suppression list; `transactional` applies neither — a service notice is not silenced by "stop sending me offers".
include_not_in_good_standingbooleanخیر⚖️ Owner ruling 2026-08-26. Suspended and unpaid accounts are excluded by DEFAULT, because a send costs money (CLAUDE.md §2.46). Set this to reach them anyway — which is what a…
limitintegerخیر
record_approvalbooleanخیرPersist this resolution as an immutable **approval record** — what the operator saw and agreed to, stamped at the moment they agreed. Returns its id as `snapshot_id`. ⛔ Requires…

پاسخ

نامنوعالزامیچیست
snapshot_idstringخیرThe approval record's id when `record_approval` was set; `null` otherwise.
totalintegerبلهThe TRUE recipient count — not the length of `sample`. Show this number, and show the skips beside it.
skipped_not_in_good_standingintegerبله
skipped_no_marketing_consentintegerبلهPeople the soft opt-in does not cover — a trial that never converted, an imported contact — who hold no explicit opt-in.
skipped_unsubscribedintegerبله
skipped_channel_mutedintegerبله
skipped_no_destinationintegerبلهAccounts with no member carrying an address on this channel.
skipped_totalintegerبله
truncatedbooleanبلهTrue when `sample` is shorter than `total`.
evaluated_atstringبله
scopestring<platform, reseller>بله
sampleobject[]بله

خطاهایی که این نقطه پایانی می‌تواند برگرداند

401 · 403 · 422