المصادقة
أرسل مفتاح واجهة برمجة التطبيقات (API) كرمز حامل (bearer token). لا يحدد نقطة النهاية هذه إذنًا محددًا في المواصفات، لذا امنح مفتاحك الحد الأدنى الذي محتاجه وتحقق من الاستجابة بدلاً من الافتراض.
لا يقبل هذا الطرف أي معرف للمؤسسة. يحدد مفتاحك بالفعل المؤسسة التي ينتمي إليها، وتكون الاستجابة محصورة في نطاقها.
جربه الآن
استبدل أي شيء بين أقواس زاوية بقيمك الخاصة، والعنصر النائب للمفتاح بمفتاح من لوحة تحكمك.
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[]> }'هل سجلت الدخول؟ تقوم وحدة تحكم واجهة برمجة التطبيقات في لوحة التحكم الخاصة بك بربط معرف مؤسستك الحقيقي ومفتاحك الخاص، وتنفذ الطلب مقابل واجهة برمجة التطبيقات المباشرة لتتمكن من رؤية الاستجابة الفعلية. افتح هذه النهاية الطرفية في وحدة تحكم API
التفاصيل
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.
جسم الطلب
| الاسم | النوع | مطلوب | ما هو هذا |
|---|---|---|---|
brief | string | نعم | — |
site_ids | string[] | نعم | — |
anchors | ContentRunAnchor[] | لا | — |
category | string | لا | — |
publish_policy | ContentRunPublishPolicy | لا | — |
recipe_id | string | لا | — |
الاستجابة
| الاسم | النوع | مطلوب | ما هو هذا |
|---|---|---|---|
id | string | نعم | — |
state | ContentRunState | نعم | Where 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_policy | ContentRunPublishPolicy | نعم | How far a run may go on its own. `draft_only` is the default and puts nothing live. |
recipe_id | string | لا | — |
brief | string | نعم | — |
category | string | لا | — |
post_id | string | لا | The 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. |
attempt | integer | نعم | Which pass over the failures this is. 0 is the original run. |
workflow_id | string | لا | — |
totals | ContentRunTotals | نعم | — |
reason | ContentRunFailureReason | لا | — |
provider | string | لا | — |
message | string | لا | An 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. |
resumable | boolean | نعم | Whether a resume would actually do anything. False on a paused run with nothing failed — do not offer the button when this is false. |
started_at | string | لا | — |
finished_at | string | لا | — |
created_at | string | نعم | — |
items | ContentRunItem[] | نعم | — |
الأخطاء التي يمكن أن تُرجعها نقطة النهاية هذه
401 · 403 · 422 · 503