public

POST /v1/wp/plugin-update/{siteId}

What an installed Zinn® plugin polls for updates.

Semua titik akhir public

Autentikasi

Kirimkan kunci API sebagai token bearer. Titik akhir ini tidak menyatakan izin tertentu dalam spesifikasi, jadi berikan kunci Anda izin minimum yang diperlukan dan periksa responsnya alih-alih berasumsi.

Endpoint ini tidak memerlukan id organisasi. Kunci Anda telah mengidentifikasi organisasi tempatnya berafiliasi, dan respons akan dibatasi untuk organisasi tersebut.

Coba

Ganti apa pun di dalam tanda kurung sudut dengan nilai Anda sendiri, dan placeholder kunci dengan kunci dari dasbor Anda.

curl -X POST https://api.zinndigital.com/v1/wp/plugin-update/{siteId} \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "slug": <string>, "version": <string> }'

Sudah masuk? Konsol API di dasbor Anda akan mengisi ID organisasi asli dan kunci Anda sendiri, serta menjalankan permintaan terhadap API langsung sehingga Anda dapat melihat respons aktualnya. Buka titik akhir ini di konsol API

Detail

The WordPress self-hosted update endpoint. It is called by the plugin, not by a person: `wp/plugins/*/includes/class-updater.php` posts here on WordPress's own update schedule and turns the answer into the ordinary "update available" notice. Authenticated by the site's own secret, never by a bearer token — the caller is a WordPress site, not a principal. The request carries `X-Zinn-Cache-Signature: sha256=HMAC(timestamp + "\n" + body)` keyed with that site's `ZINN_UPDATE_SECRET`, and the response is signed the same way in `X-Zinn-Signature` so a site can prove the answer came from us before installing anything. ⛔ A site already on the current version gets `204`, not a `200` describing the version it has: the updater re-fetches and re-verifies a package whenever it is offered one. Anything unauthenticated, stale or unknown is a `404` — never a `401`, so this cannot become an oracle for which site ids exist.

Parameter

NamaJenisWajibTentang apa ini
siteId (path)UuidYaSite ID (UUIDv7).

Isi permintaan

NamaJenisWajibTentang apa ini
slugstringYaThe plugin asking
versionstringYaThe version currently installed.
sitestringTidakThe site's own home URL

Tanggapan

NamaJenisWajibTentang apa ini
versionstringYa
packagestringYaWhere to fetch the archive. Always HTTPS on our own hostname — the updater refuses any other host, which is what stops a forged descriptor pointing a site at somebody else's zip.
package_sha256stringYa
testedstringTidak
requiresstringTidak
requires_phpstringTidak
changelogstringTidak
homepagestringTidak

Kesalahan yang dapat dikembalikan oleh titik akhir ini

404 · 429