hosting
POST /v1/bulk-jobs/installed-plugins
What is already installed across a bulk selection.
Аутентификация
Отправьте ключ API в качестве токена носителя (bearer token). Ключ должен иметь разрешение sites.view; ключ без него отклоняется с кодом 403, а не 404.
Этот эндпоинт не принимает идентификатор организации. Ваш ключ уже определяет организацию, к которой он принадлежит, и ответ ограничивается ее рамками.
Попробовать
Замените всё в угловых скобках на собственные значения, а плейсхолдер ключа — на ключ из вашей панели управления.
curl -X POST https://api.zinndigital.com/v1/bulk-jobs/installed-plugins \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "operation": <string<plugin_activate, plugin_deactivate, plugin_remove, plugin_update>>, "selector": <BulkSelector> }'Вошли в систему? Консоль API в вашей панели управления автоматически подставляет реальный идентификатор вашей организации и ваш собственный ключ, а также выполняет запрос к работающему API, чтобы вы могли увидеть актуальный ответ. Откройте эту конечную точку в API-консоли
Подробнее
The candidate list for `plugin_activate`, `plugin_deactivate`, `plugin_remove` and `plugin_update` — read from the **sites themselves**, not from the wordpress.org directory. Installing picks from what could go on; activating picks from what is already there, and those are different questions. **POST, and it writes nothing.** Same reason as `previewBulkJob` beside it: an explicit selection of 400 site ids does not survive a query string that proxies, browsers and access logs will truncate or record. No row is written and no job is started. ⛔ **This is one network call per site, so it reads a bounded SAMPLE and says so.** `matched` counts the whole selection, `eligible` counts the ones that could take the operation, and `read` counts the ones actually listed — three separate numbers, because a blind version of this endpoint would return `read: 0`, which must never be readable as *"nothing is installed"*. Sites that could not be reached are named in `unreadable` rather than dropped into a shorter list that looks complete. `uniform` is `false` when the read sites do not all carry the same plugins, so the screen can say that plainly instead of silently acting on a subset. Requires `sites.view` plus the operation's own key — never a cheaper door than the single-site listing.
Тело запроса
| Имя | Тип | Обязательно | Что это |
|---|---|---|---|
operation | string<plugin_activate, plugin_deactivate, plugin_remove, plugin_update> | Да | ⛔ Only the operations that act on something already installed. Anything else is a `422` — there is nothing to list, and the directory search is the right tool. |
selector | BulkSelector | Да | 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 | Нет | The product line, for `selector: product_line`. |
site_ids | string[] | Нет | — |
sample | integer | Нет | How many sites to read. A **latency** bound on an interactive read, not a capacity plan: the response reports what it did not reach, and the bulk job that follows covers the who… |
Ответ
| Имя | Тип | Обязательно | Что это |
|---|---|---|---|
operation | string | Да | — |
matched | integer | Да | Sites the selection resolves to, counted over the whole selection. |
eligible | integer | Да | Of those, how many could take the operation at all. |
read | integer | Да | How many were actually listed. ⛔ The number that makes an empty `data` interpretable: `0` means *we looked at nothing*, never *nothing is installed*. |
sampled | boolean | Да | True when the selection is larger than what was read. |
uniform | boolean | Да | False when the read sites do not all carry the same plugins. Computed here rather than by the client, because it decides what the customer is told. |
data | BulkInstalledPlugin[] | Да | — |
unreadable | object[] | Да | Sites in the selection whose plugins could not be listed. ⛔ Reported, never dropped — a shorter list that looks complete is worse than a short list that says so. |
Ошибки, которые может возвращать этот эндпоинт
401 · 403 · 422 · 429