hosting
POST /v1/bulk-jobs/installed-plugins
What is already installed across a bulk selection.
Autenticação
Envie uma chave de API como um token de portador. A chave deve ter a permissão sites.view; uma chave sem ela é recusada com 403, e não 404.
Este endpoint não requer um ID de organização. Sua chave já identifica a organização à qual pertence, e a resposta é delimitada a ela.
Experimente
Substitua qualquer item entre colchetes por seus próprios valores e o espaço reservado para a chave por uma chave do seu painel.
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> }'Conectado? O console da API no seu painel preenche o ID da sua organização real e a sua própria chave, e executa a requisição contra a API de produção para que você possa ver a resposta real. Abra este endpoint no console da API
Detalhes
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.
Corpo da requisição
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
operation | string<plugin_activate, plugin_deactivate, plugin_remove, plugin_update> | Sim | ⛔ 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 | Sim | 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 | Não | The product line, for `selector: product_line`. |
site_ids | string[] | Não | — |
sample | integer | Não | 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… |
Resposta
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
operation | string | Sim | — |
matched | integer | Sim | Sites the selection resolves to, counted over the whole selection. |
eligible | integer | Sim | Of those, how many could take the operation at all. |
read | integer | Sim | 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 | Sim | True when the selection is larger than what was read. |
uniform | boolean | Sim | 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[] | Sim | — |
unreadable | object[] | Sim | 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. |
Erros que este endpoint pode retornar
401 · 403 · 422 · 429