public
GET /v1/plugins/{slug}/download
The installable plugin zip.
認証
ベアラー トークンとして API キーを送信します。このエンドポイントでは仕様に特定の権限が記載されていないため、キーに必要な最小限の権限を付与し、推測するのではなくレスポンスを確認してください。
このエンドポイントは組織IDを受け付けません。お使いのキーによって所属する組織がすでに特定されており、レスポンスはその組織にスコープされます。
試してみる
アングルブラケット内のすべてをご自身の値に置き換え、キーのプレースホルダーをご利用中のダッシュボードのキーに置き換えてください。
curl -X GET https://api.zinndigital.com/v1/plugins/{slug}/download \
-H "Authorization: Bearer zdk_live_…"ログインしていますか?ダッシュボード内のAPIコンソールでは、実際の組織IDやお客様ご自身のキーが自動入力され、ライブAPIに対してリクエストが実行されるため、実際のレスポンスを確認することができます。 API コンソールでこのエンドポイントを開く
詳細
The archive itself, over TLS on our own hostname, with its SHA-256 in X-Zinn-Package-SHA256 so a download is checkable without a second request. ⛔ The bytes are served rather than redirected, and that is a constraint the CLIENT imposes: the self-hosted updater shipped inside these plugins accepts a package only on our own host, so a redirect to a release asset or an object store is refused on every site. An app-only plugin is invisible here to an anonymous caller. A site we host reaches it with the package ticket (site, exp, sig) that POST /v1/wp/plugin-update/{siteId} puts in the package URL it returns — WordPress fetches that URL with no headers, so the proof has to travel in the query string. The ticket is bound to one plugin at one version and expires; an invalid one is the same 404 as an unknown plugin.
パラメータ
| 名前 | タイプ | 必須 | これがその内容です |
|---|---|---|---|
slug (path) | string | はい | The plugin's directory name and text domain, e.g. zinn-cache. |
site (query) | string | いいえ | The site id a package ticket was minted for. Ignored for public plugins. |
exp (query) | integer | いいえ | Unix time the package ticket stops being accepted. |
sig (query) | string | いいえ | Hex HMAC-SHA256 over slug:version:exp with the site's own secret. |
このエンドポイントが返すエラー
404 · 429