public

GET /v1/plugins/{slug}/download

The installable plugin zip.

すべての public エンドポイント

認証

ベアラー トークンとして 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