身份验证
请将 API 密钥作为 bearer 令牌发送。该密钥必须具有 billing.payment.manage 权限;缺少该权限的密钥将被拒绝并返回 403 状态码,而非 404。
此端点不需要组织 ID。您的密钥已用于识别其所属的组织,且响应范围也仅限于该组织。
免费试用
将尖括号中的内容替换为您自己的值,并将键占位符替换为您仪表板中的一个键。
curl -X POST https://api.zinndigital.com/v1/panels/licences \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "product_code": <string>, "currency": <string> }'已登录?您仪表板中的 API 控制台会自动填入您真实的组织 ID 和您自己的密钥,并针对实时 API 运行请求,以便您查看实际的响应。 在 API 控制台中打开此端点
详细信息
⛔ This spends money at the supplier, monthly, until the licence is released. ⭐ On the customer's OWN machine the licence is bought immediately, because the address is known at order time. On one of ours it is recorded pending and bought the moment the machine has an IP — Openprovider Plesk licences are IP-bound, and one bought before an address exists is bound to nothing and cannot be released. ⛔ Answers 422 when the account is not in good standing, when the product is not on sale, when a licence for the customer's own server arrives without its IP, or when an extension is ordered for a machine holding no matching base edition. Answers 503 when the supplier could not be reached — in which case the licence is recorded and reconciled automatically rather than silently lost. Requires billing.payment.manage.
请求正文
| 名称 | 类型 | 必填 | 内容简介 |
|---|---|---|---|
product_code | string | 是 | — |
currency | string | 是 | — |
target_kind | string<ours, customer> | 否 | — |
server_id | Uuid | 否 | Required when target_kind is ours. |
bound_ip | string | 否 | The machine's IP. ⛔ Required when target_kind is customer and refused rather than defaulted: a licence registered against a guessed address is bound to somebody else's… |
响应
| 名称 | 类型 | 必填 | 内容简介 |
|---|---|---|---|
id | Uuid | 是 | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
product_code | string | 是 | The PanelProduct.code this licence is for. |
state | string<pending, active, suspended, released, failed> | 是 | ⛔ suspended is not a synonym for released. The charge has stopped and the record has not: the licence returns automatically when the account is back in good standing, with… |
target_kind | string<ours, customer> | 是 | Whose machine this licence runs on. ⛔ Stored rather than derived from whether server_id is set: "did we build this machine" and "whose problem is it when the disk fills" are… |
server_id | Uuid | 是 | Our machine, when there is one. Null for a customer-owned server. |
bound_ip | string | 是 | The address the licence is registered against at the supplier. ⛔ This is what releasing needs — by teardown the machine may be gone, and a licence we cannot release bills monthly… |
key_number | string | 是 | The panel-facing key number (PLSK.01234567) — an identifier, not a secret. ⛔ The activation code itself is never returned by this API; it lives in Vault. |
price_minor | integer | 是 | What the customer is charged per month, in minor units, frozen at purchase. A copy rather than a join, so an operator repricing the catalogue cannot move an existing customer's… |
currency | string | 是 | — |
message | string | 是 | Why it failed or was suspended, in a sentence the customer reads. |
activated_at | string | 是 | — |
此端点可能返回的错误
401 · 403 · 422 · 429 · 503