hosting
POST /v1/bulk-jobs/preview
What a bulk job would do, per site, before you confirm it.
Pagpapatotoo
Magpadala ng API key bilang isang bearer token. Kailangang taglayin ng key ang pahintulot na sites.view; ang key na wala nito ay tatanggihan gamit ang 403, hindi 404.
Ang endpoint na ito ay hindi nangangailangan ng id ng organisasyon. Natutukoy na ng iyong key ang organisasyong kinabibilangan nito, at nakatuon ang tugon dito.
Subukan ito
Palitan ang anuman sa loob ng mga panaklong na may anggulo ng iyong sariling mga halaga, at ang placeholder ng key na may key mula sa iyong dashboard.
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> }'Nakalagda? Ang API console sa iyong dashboard ay awtomatikong naglalagay ng iyong tunay na ID ng organisasyon at sariling susi, at pinapatakbo ang kahilingan laban sa live na API upang makita mo ang aktwal na tugon. Buksan ang endpoint na ito sa console ng API
Mga Detalye
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`.
Katawan ng kahilingan
| Pangalan | Uri | Kailangan | Ano ito |
|---|---|---|---|
operation | BulkOperation | Oo | 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 | Oo | 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 | Hindi | 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[] | Hindi | 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 | Hindi | The operation's arguments. Which keys are read depends on `operation`: `plugin_install` takes `slugs` + `activate`; `plugin_activate`, `plugin_deactivate` and `plugin_remove` ta… |
Tugon
| Pangalan | Uri | Kailangan | Ano ito |
|---|---|---|---|
operation | BulkOperation | Oo | 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 | Oo | 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 | Oo | — |
matched | integer | Oo | How many sites the selection resolves to, **counted over the whole selection**. |
eligible | integer | Oo | 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 | Oo | How many rows are in `sites` (capped at 200); `matched` is the real total. |
max_sites | integer | Oo | The ceiling on one job. A larger selection is a `422`, never a silent truncation. |
confirmation_required | boolean | Oo | — |
confirmation_phrase | object | Oo | The exact phrase to send as `confirm`; `null` when none is needed. |
sites | BulkJobPreviewSite[] | Oo | — |
Mga error na maibabalik ng endpoint na ito
401 · 403 · 422 · 429