hosting
POST /v1/bulk-jobs/preview
What a bulk job would do, per site, before you confirm it.
Autentizace
Zašlete API klíč jako nosný token (bearer token). Klíč musí mít oprávnění sites.view; klíč bez něj je odmítnut s kódem 403, nikoli 404.
Tento koncový bod nevyžaduje žádné ID organizace. Váš klíč již identifikuje organizaci, ke které patří, a odpověď je na ni omezena.
Vyzvednout
Nahraďte cokoli v závorkách vlastními hodnotami a zástupný symbol klíče klíčem z vašeho řídicího panelu.
curl -X POST https://api.zinndigital.com/v1/bulk-jobs/preview \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "operation": <BulkOperation>, "selector": <BulkSelector> }'Přihlášeni? Konzole API ve vašem dashboardu automaticky doplní vaše skutečné ID organizace i váš vlastní klíč a odešle požadavek na živé API, abyste viděli reálnou odpověď. Otevřete tento koncový bod v konzoli API
Podrobnosti
Resolves a selection and answers **per site** whether the operation can run on it and, if not, why. ⭐⭐ The counts come from the *same query the job will run*, so the number you confirm cannot drift from the number that executes. A count computed a different way would be decoration. ⭐ A count alone would hide the thing that actually surprises people: six of your twelve sites may be on a platform with no shell and no `wp-cli`, so they physically cannot take an install. Learning that from the report afterwards is learning it too late, which is why `sites[]` carries a `reason` for every ineligible one. ⛔ `POST` for a **read**. Nothing is written and nothing is started. The verb is a transport decision: an explicit selection of several hundred site ids does not fit in a query string that proxies, browsers and access logs will truncate or record. Do not "correct" it to `GET`. Requires `sites.view`.
Tělo požadavku
| Název | Typ | Požadováno | Co to je |
|---|---|---|---|
operation | BulkOperation | Ano | What a bulk job does to each of its sites. ⛔ One job model with an operation discriminator, not eight job models. A selection, a frozen work-list, a durable pass and a per-site… |
selector | BulkSelector | Ano | Which sites a job targets. ⛔ There is no `all`. A job belongs to exactly one organization and `all` would span every tenant on the platform; the fleet-wide act is a staff operat… |
selector_value | string | Ne | The selector's argument — a product-line code for `product_line`, an organization id for `org`, a site-group id for `group`. Ignored for `sites`, whose members are `site_ids`. |
site_ids | Uuid[] | Ne | The explicit selection, for `selector: sites`. Every id is fenced to the organizations you can reach, so one belonging to somebody else resolves to nothing rather than to a cros… |
params | BulkJobParams | Ne | The operation's arguments. Which keys are read depends on `operation`: `plugin_install` takes `slugs` + `activate`; `plugin_activate`, `plugin_deactivate` and `plugin_remove` ta… |
Odpověď
| Název | Typ | Požadováno | Co to je |
|---|---|---|---|
operation | BulkOperation | Ano | What a bulk job does to each of its sites. ⛔ One job model with an operation discriminator, not eight job models. A selection, a frozen work-list, a durable pass and a per-site… |
selector | BulkSelector | Ano | Which sites a job targets. ⛔ There is no `all`. A job belongs to exactly one organization and `all` would span every tenant on the platform; the fleet-wide act is a staff operat… |
selector_value | string | Ano | — |
matched | integer | Ano | How many sites the selection resolves to, **counted over the whole selection**. |
eligible | integer | Ano | How many of those the operation can actually run on — the number that will be enrolled. Counted over the whole selection, never over the listed sample: a truncated count is wors… |
listed | integer | Ano | How many rows are in `sites` (capped at 200); `matched` is the real total. |
max_sites | integer | Ano | The ceiling on one job. A larger selection is a `422`, never a silent truncation. |
confirmation_required | boolean | Ano | — |
confirmation_phrase | object | Ano | The exact phrase to send as `confirm`; `null` when none is needed. |
sites | BulkJobPreviewSite[] | Ano | — |
Chyby, které může tento koncový bod vrátit
401 · 403 · 422 · 429