links
GET /v1/content/targets
Which of your sites can receive a post, and why the rest cannot.
احراز هویت
یک کلید API را به عنوان یک توکن برbearer ارسال کنید. این نقطه پایانی مجوز خاصی را در مشخصات خود ذکر نمیکند، بنابراین به جای فرض کردن، حداقل نیازهای کلید خود را بدهید و پاسخ را بررسی کنید.
جایی که شناسه سازمان شما قرار میگیرد
این نقطه پایانی org_id را به عنوان یک پارامتر پرسوجو میپذیرد. آن را رها کنید تا فراخوانی کل زیردرخت اجارهای شما را پوشش دهد؛ آن را ارسال کنید تا فراخوانی به یک سازمان محدود شود.
شناسه سازمان شما در صفحه کلیدهای API در داشبوردتان، در کنار خود کلید قرار دارد. این شناسه در تمام درخواستهایی که ارسال میکنید یکسان است.
امتحان کنید
هر چیزی را که داخل براکتهای زاویهدار قرار دارد با مقادیر خودتان جایگزین کنید، و نگهدارنده کلید را با کلیدی از داشبورد خود جایگزین نمایید.
curl -X GET https://api.zinndigital.com/v1/content/targets \
-H "Authorization: Bearer zdk_live_…"وارد شدهاید؟ کنسول API در داشبورد شما شناسه سازمان واقعی و کلید خودتان را پر میکند و درخواست را روی API زنده اجرا میکند تا بتوانید پاسخ واقعی را ببینید. این نقطه پایانی را در کنسول API باز کنید
جزئیات
Every live site in scope with its **suitability**: can it take an article, and — when it cannot — whose fact that is. Gated on `links.view`. ⛔⛔ `suitability` has five values and the difference between two of them is the whole point of this endpoint. `unsuitable` is **measured**: every adapter was asked which sites it claims and each one declined, so this kind of site genuinely has nowhere to put an article. `unknown` means **we could not determine it** — the box was unreachable, the credential has never been tested, or nothing has checked this site yet. A client MUST NOT render `unknown` as a refusal, MUST NOT silently exclude it from a selection, and SHOULD count it separately in any confirmation ("9 ready, 3 unchecked"). Treating "we could not look" as "no" is the defect this endpoint exists to prevent. ⛔ This endpoint makes **no outbound calls**. Suitability is served from the last stored probe with `checkedAt` beside it, because probing every row of a 500-site page would be an uncached external call in an interactive path. `checkedAt: null` means never checked and MUST be shown as such, not as a fresh result. Use `probeContentTargets` to refresh. ⭐ `requires` takes capability ids a recipe needs; each row then carries `missingCapabilities`, so an editor can grey a site out and say what it cannot do. A site whose capabilities are not established reports **nothing** missing rather than everything missing — for the same reason `unknown` is not `unsuitable`.
پارامترها
| نام | نوع | الزامی | چیست |
|---|---|---|---|
org_id (query) | string | خیر | Narrow to one organisation in a reseller subtree. Can never widen scope. |
q (query) | string | خیر | Match on domain or site name. |
suitability (query) | string<ready, needs_setup, unknown, unsuitable, blocked> | خیر | — |
product_line (query) | string | خیر | — |
stack_type (query) | string | خیر | — |
group_id (query) | string | خیر | Only sites in this site group. |
cms (query) | string<wordpress, headless_rest, git_static> | خیر | Only sites whose target is this kind. |
requires (query) | string | خیر | Comma-separated capability ids a recipe requires, e.g. `cms_target:featured_image,cms_target:category`. |
limit (query) | integer | خیر | — |
offset (query) | integer | خیر | — |
پاسخ
| نام | نوع | الزامی | چیست |
|---|---|---|---|
items | SiteTarget[] | بله | — |
total | integer | بله | Every site matching the filters, not the page. This is the number a select-all-matching control shows. |
offset | integer | بله | — |
limit | integer | بله | — |
has_more | boolean | بله | — |
خطاهایی که این نقطه پایانی میتواند برگرداند
401 · 403 · 422