links

POST /v1/content/runs

Start a multi-site posting run.

Bütün links nöqtələri

Doğrulama

API açarını bearer token kimi göndərin. Bu səhifə spresifikasiyada xüsusi icazə tələb etmir, buna görə də açarınıza ehtiyac duyduğu minimum səviyyədə icazə verin və güman etmək əvəzinə cavabı yoxlayın.

Bu endpoint heç bir təşkilat ID-si tələb etmir. Sizin açarınız artıq aid olduğu təşkilatı müəyyən edir və cavab həmin təşkilat üçün məhdudlaşdırılır.

Sınaqdan keçir

Bucaqlı mötərizələrdə olan hór şeyi öz qiymətlərinizlə, açar yertutucusunu isə idarə panelinizdən bir açarla əvəz edin.

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[]> }'

Sistemə daxil olmusunuz? İdarə panelinizdəki API konsolu real təşkilatınızın identifikatorunu və öz açarınızı avtomatik doldurur, sorğunu canlı API-yə qarşı icra edir ki, siz faktiki cavabı görə biləsiniz. Bu son nöqtəni API konsolunda açın

Təfərrüatlar

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.

Sorğu gövdəsi

AdTipTələb olunurNədir
briefstringBəli
site_idsstring[]Bəli
anchorsContentRunAnchor[]Xeyr
categorystringXeyr
publish_policyContentRunPublishPolicyXeyr
recipe_idstringXeyr

Cavab

AdTipTələb olunurNədir
idstringBəli
stateContentRunStateBəliWhere 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_policyContentRunPublishPolicyBəliHow far a run may go on its own. `draft_only` is the default and puts nothing live.
recipe_idstringXeyr
briefstringBəli
categorystringXeyr
post_idstringXeyrThe 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.
attemptintegerBəliWhich pass over the failures this is. 0 is the original run.
workflow_idstringXeyr
totalsContentRunTotalsBəli
reasonContentRunFailureReasonXeyr
providerstringXeyr
messagestringXeyrAn 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.
resumablebooleanBəliWhether a resume would actually do anything. False on a paused run with nothing failed — do not offer the button when this is false.
started_atstringXeyr
finished_atstringXeyr
created_atstringBəli
itemsContentRunItem[]Bəli

Bu son nöqtənin qaytara biləcəyi xətalar

401 · 403 · 422 · 503