links

POST /v1/content/campaigns/plan

Price and preview a campaign without creating it.

Всички крайни точки в links

Всички документи за разработчици

Упълномощаване

Изпратете API ключ като носител (bearer token). Тази точка за достъп не указва конкретно разрешение в спецификацията, затова дайте на ключа си най-малкото необходимо и проверете отговора, вместо да правите предположения.

Където отива идентификаторът на вашата организация

Този ендпойнт приема org_id като параметър на заявката. Оставете го празен и извикването ще обхване цялото ви поддървано дърво; изпратете го, за да ограничите извикването до една организация.

ИД на вашата организация се намира на екрана с API ключове във вашето табло за управление, до самия ключ. Това е същият ИД във всяко заявка, която правите.

Опитайте

Заменете всичко в квадратни скоби със собствени стойности, а ключовия заместващ символ – с ключ от вашето табло за управление.

curl -X POST https://api.zinndigital.com/v1/content/campaigns/plan \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "brief": <string>, "posts": <integer> }'

Влязохте ли в профила си? API конзолата във вашето табло за управление попълва действителното идентификационно число на вашата организация и вашия собствен ключ и изпълнява заявката спрямо реалното API, за да можете да видите действителния отговор. Отворете този крайpoint в API конзолата

Детайли

Resolves the target sites — named ones, or a site group expanded at this moment rather than remembered — lays the articles out across the drip window, and returns the whole schedule with the number of articles and publications it will produce. Creates nothing. Gated on links.edit. ⚖️ The customer sees this before every campaign, not only above a spending threshold (owner ruling, 2026-09-08). total_placements is the honest size: twelve articles across twenty sites is two hundred and forty publications, and quoting total_articles alone understates the work and the spend by the number of sites. targets.skipped_not_publishable is always present, including at zero — "12 sites" and "12 of your 40 sites" need different actions from the customer.

Параметри

ИмеТипЗадължителноКакво представлява
org_id (query)stringНеNarrow to one organisation. A reseller managing several client organisations reads the wrong one without it — and on a footprint-free network, another operator's posting schedule…

Тяло на заявката

ИмеТипЗадължителноКакво представлява
briefstringДаThe standing instruction — voice, audience, what the sites are about.
postsintegerДаHow many ARTICLES to write. Each is placed on every target site, so the number of publications is this times the site count.
topicsstring[]НеOne subject per article, so N articles are N articles rather than N paraphrases. A shorter list cycles; an empty one means the brief alone.
site_idsstring[]Не
site_group_idstringНеA site group, resolved when the campaign is created rather than copied. A recurring schedule pointed at a group re-resolves it on every firing, so sites added later are…
drip_daysintegerНеSpread the articles across this many days. 0 publishes them together.
drip_jitter_minutesintegerНеRandomise each moment by up to this many minutes either way. Perfectly even spacing is more detectable than posting all at once — nothing a person does is that regular — so this…
anchorsContentRunAnchor[]Не
categorystringНе
publish_policyContentRunPublishPolicyНеHow far a run may go on its own. draft_only is the default and puts nothing live.
recipe_idstringНе

Отговор

ИмеТипЗадължителноКакво представлява
campaign_idstringДа
targetsContentCampaignTargetsДа
postsContentCampaignPlannedPost[]Да
total_articlesintegerДаArticles written. One per topic.
total_placementsintegerДаIndividual publications — articles times sites. The number that reads as "how much am I about to do", and the one the spend estimate is built on.
first_atstringНе
last_atstringНе

Грешки, които този крайpoint може да върне

401 · 403 · 404 · 422