compute
POST /v1/panels/licences
Buy a control-panel licence.
การยืนยันตัวตน
ส่ง API key ในรูปแบบ bearer token คีย์ดังกล่าวต้องมีสิทธิ์ billing.payment.manage หากไม่มีสิทธิ์ ระบบจะปฏิเสธด้วยรหัส 403 แทนที่จะเป็น 404
ปลายทางนี้ไม่ต้องใช้รหัสองค์กร คีย์ของคุณระบุองค์กรที่เป็นเจ้าของอยู่แล้ว และการตอบกลับจะถูกจำกัดขอบเขตไว้เฉพาะองค์กรนั้น
ทดลองใช้เลย
แทนที่สิ่งใดๆ ที่อยู่ภายในวงเล็บแหลมด้วยค่าของคุณเอง และตัวยึดตำแหน่งคีย์ด้วยคีย์จากแดชบอร์ดของคุณ
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 ในแดชบอร์ดของคุณจะเติมรหัสองค์กรจริงและคีย์ของคุณเองโดยอัตโนมัติ และทำการส่งคำขอไปยัง 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