reseller
POST /v1/reseller/clients/{orgId}/plan
Put a client on a plan — call this before provisioning their first service.
ການພິສູດຕົວຕົນ
ສົ່ງລະຫັດ API ເປັນ bearer token. ລະຫັດຕ້ອງມີສິດ reseller.provision; ລະຫັດທີ່ບໍ່ມີສິດດັ່ງກ່າວຈະຖືກປະຕິເສດດ້ວຍລະຫັດ 403, ບໍ່ແມ່ນ 404.
ບ່ອນທີ່ລະບົບຈັດການອົງກອນຂອງທ່ານໄປ
ຈຸດສິ້ນສຸດນີ້ຈະຮັບເອົາລະຫັດອົງກອນຂອງທ່ານຢູ່ໃນ URL ເອງ, ເປັນ orgId. ໃຫ້ແທນທີ່ມັນລົງໃນເສັ້ນທາງ — ບໍ່ມີສ່ວນຫົວ ຫຼື ພາຣາະມິເຕີຄຳຖາມໃດທີ່ຈະເຮັດໜ້າທີ່ນັ້ນແທນ.
ລະຫັດອົງກອນຂອງທ່ານແມ່ນຢູ່ໜ້າກະແຈ API ໃນແຜງຄວບຄຸມຂອງທ່ານ, ຖັດຈາກກະແຈ itself. ມັນແມ່ນລະຫັດດຽວກັນໃນທຸກໆການໂທທີ່ທ່ານເຮັດ.
ລອງໃຊ້ເບິ່ງ
ປ່ຽນແທນທຸກຢ່າງທີ່ຢູ່ໃນວົງເລັບມຸມດ້ວຍຄ່າຂອງທ່ານເອງ, ແລະ ປ່ຽນແທນຕົວແທນບ່ອນວ່າງຄີດ້ວຍຄີຈາກແຜງຄວບຄຸມຂອງທ່ານ.
curl -X POST https://api.zinndigital.com/v1/reseller/clients/{orgId}/plan \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "plan_code": <string> }'ເຂົ້າສູ່ລະບົບແລ້ວບໍ? ໂຄງສົນທະນາ API ໃນໜ້າັດສະຫຼອງຂອງທ່ານຈະຕື່ມຂໍ້ມູນລະຫັດອົງກອນຕົວຈິງ ແລະ ລະຫັດລັບສ່ວນຕົວຂອງທ່ານໂດຍອັດຕະໂນມັດ, ແລະ ປະຕິບັດການຮ້ອງຂໍຜ່ານ API ຕົວຈິງ ເພື່ອໃຫ້ທ່ານສາມາດເຫັນຜົນຕອບຮັບທີ່ແທ້ຈິງໄດ້. ເປີດຈຸດສິ້ນສຸດນີ້ໃນຄອນໂສລ API
ລາຍລະອຽດ
Grants the client organization the plan your product sells, and returns the `subscription_id` to pass to `createSite`. Requires `reseller.provision`. ⛔⛔ **A provisioning module MUST call this before `createSite`, and omitting it is a silent, total loss of the invoice.** A newly created organization has no subscription, and `createSite` has no plan field — so a site provisioned without one lands with no plan at all. Your wholesale statement is built from your clients' live subscriptions, so there is no line for that service and Zinn® bills you nothing while the hosting runs; the client inherits no entitlements, so no quota is applied to their box; and `changeResellerServicePackage` has nothing to change, so an upgrade you sell cannot be performed. Nothing anywhere reports this — the site provisions and serves perfectly. **Your client is never invoiced by Zinn®.** The subscription is granted comped: it exists to carry entitlements and to put a line on *your* wholesale statement, and our renewal billing skips it. You bill your client; we bill you. **A second service for the same client.** On the **same** plan this is a no-op and returns `200` with `created: false` — the plan's own site allowance covers the extra site, so nothing further is granted and a retried provision cannot disturb the subscription it is re-establishing. On a **different** plan it is refused `422`, because replacing the live plan would leave one of the two services unbilled. Either sell both on the same plan, or set the client up as a separate client record. To move a client to a different plan, use `changeResellerServicePackage` on the service. `422` for an unknown plan code and for a plan that is not for sale. `409` when the client's existing usage does not fit the plan being granted, with the real numbers.
ພາຣາມິເຕີ
| ຊື່ | ປະເພດ | ຕ້ອງການ | ສິ່ງທີ່ມັນເປັນ |
|---|---|---|---|
orgId (path) | Uuid | ແມ່ນແລ້ວ | One of your client organizations. |
org_id (query) | Uuid | ບໍ່ | Which of YOUR organizations is asking. Required only when you belong to more than one. |
ເນື້ອຫາຂອງຄຳຮ້ອງ
| ຊື່ | ປະເພດ | ຕ້ອງການ | ສິ່ງທີ່ມັນເປັນ |
|---|---|---|---|
plan_code | string | ແມ່ນແລ້ວ | The plan to put this client on, by code — the value your product's module settings carry. The newest active version of it is always what is granted. |
interval | string | ບໍ່ | Billing interval for the wholesale line. Defaults to `monthly`. |
ຖືກໂຈະ
| ຊື່ | ປະເພດ | ຕ້ອງການ | ສິ່ງທີ່ມັນເປັນ |
|---|---|---|---|
client_org_id | Uuid | ແມ່ນແລ້ວ | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
subscription_id | string | ບໍ່ | Pass this as `subscription_id` on `createSite`. Null when the client is on no plan — provisioning a site in that state is what leaves it unbilled. |
plan_code | string | ບໍ່ | — |
plan_name | string | ບໍ່ | — |
interval | string | ບໍ່ | — |
created | boolean | ແມ່ນແລ້ວ | True when this call granted the plan, false when the client was already on it. A retried provision needs the difference without inferring it from a timestamp. |
wholesale_amount_minor | integer | ບໍ່ | What Zinn® charges you per period. `null`, never `0`, when unpriced. |
wholesale_currency | string | ບໍ່ | — |
ຂໍ້ຜິດພາດທີ່ຈຸດເຊື່ອມຕໍ່ນີ້ສາມາດສົ່ງຄືນໄດ້
401 · 403 · 404 · 409 · 422 · 429