links

POST /v1/content/runs

Start a multi-site posting run.

Barcha links yakuniy nuqtalari

Autentifikatsiya

API kalitini bearer token sifatida yuboring. Ushbu yakuniy nuqta spetsifikatsiyada ma'lum bir ruxsatni ko'rsatmaydi, shuning uchun kalitingizga eng kam kerakli huquqni bering va taxmin qilish o'rniga javobni tekshiring.

Bu yakuniy nuqta hech qanday tashkilot identifikatorini qabul qilmaydi. Sizning kalitingiz unga tegishli tashkilotni allaqachon aniqlaydi va javob shunga qarab cheklanadi.

Sinab ko'rish

Qavslardagi har qanday narsani o'z qiymatlaringiz bilan, kalit pleysxolderini эsa boshqaruv panelingizdagi kalit bilan almashtiring.

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

Tizimga kirganmisiz? Boshqaruv panelingizdagi API konsoli haqiqiy tashkilot ID raqamingiz va shaxsiy kalitingizni avtomatik to'ldiradi hamda haqiqiy javobni ko'rishingiz uchun so'rovni jonli API orqali bajaradi. Ushbu yakuniy nuqtani API konsolida oching

Tafsilotlar

Writes one article from the brief and places it on every site named, eight at a time. Answers **201 immediately** with the run row — the work itself happens on the durable queue, and the run screen shows it progressing. Gated on `links.edit`, the same key as scheduling a post by hand, because that is what this creates. ⛔ `publish_policy` defaults to `draft_only`, so a request that omits it produces scheduled drafts and puts nothing live. `unattended` is the only value that publishes without a human, and it is the mode the durability guarantees are written for. ⛔ Every site id must belong to this organisation. A run naming a site that does not is refused whole with 422 rather than quietly posting to the rest — *"it only posted to some of them"* is not a state a customer can act on. Sites that cannot receive a post (suspended, a non-WordPress stack, transferred away) are recorded as `skipped` with a reason and do not stop the run.

Soʻrov tanasi

NomiTuriMajburiyNima bu
briefstringHa
site_idsstring[]Ha
anchorsContentRunAnchor[]Yo'q
categorystringYo'q
publish_policyContentRunPublishPolicyYo'q
recipe_idstringYo'q

Javob

NomiTuriMajburiyNima bu
idstringHa
stateContentRunStateHaWhere a run got to. `partial` is a real, honest, terminal answer and not a euphemism: some sites published and some did not, nothing is left to try, and the failures can be resu…
publish_policyContentRunPublishPolicyHaHow far a run may go on its own. `draft_only` is the default and puts nothing live.
recipe_idstringYo'q
briefstringHa
categorystringYo'q
post_idstringYo'qThe article this run wrote. Written once and reused for every site, so a resumed run places the SAME copy rather than paying for a second generation.
attemptintegerHaWhich pass over the failures this is. 0 is the original run.
workflow_idstringYo'q
totalsContentRunTotalsHa
reasonContentRunFailureReasonYo'q
providerstringYo'q
messagestringYo'qAn English sentence for the customer. Clients should render their own localised text from `reason` and fall back to this only for a code they do not know.
resumablebooleanHaWhether a resume would actually do anything. False on a paused run with nothing failed — do not offer the button when this is false.
started_atstringYo'q
finished_atstringYo'q
created_atstringHa
itemsContentRunItem[]Ha

Ushbu yakuniy nuqta qaytarishi mumkin bo'lgan xatolar

401 · 403 · 422 · 503