reseller

POST /v1/reseller/clients/{orgId}/plan

Put a client on a plan — call this before provisioning their first service.

Tất cả các điểm cuối reseller

Xác thực

Gửi khóa API dưới dạng mã thông báo bearer. Khóa này phải có quyền reseller.provision; khóa không có quyền này sẽ bị từ chối với mã lỗi 403, không phải 404.

Nơi điền id tổ chức của bạn

Endpoint này nhận mã tổ chức của bạn trực tiếp trong URL dưới dạng orgId. Hãy thay thế nó vào đường dẫn — không có header hoặc query parameter nào có thể thay thế được.

Mã tổ chức của bạn nằm ở màn hình khóa API trong bảng điều khiển, ngay bên cạnh khóa đó. Đây là cùng một mã trong mọi lệnh gọi mà bạn thực hiện.

Dùng thử

Thay thế bất kỳ nội dung nào trong ngoعل (angle brackets) bằng giá trị của riêng bạn và trình giữ chỗ key bằng một key từ trang tổng quan của bạn.

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> }'

Đã đăng nhập? Bảng điều khiển API trong trang quản lý của bạn sẽ tự điền ID tổ chức thực tế và khóa của riêng bạn, sau đó chạy yêu cầu đối với API trực tiếp để bạn có thể xem phản hồi thực tế. Mở điểm cuối này trong bảng điều khiển API

Chi tiết

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.

Tham số

TênLoạiBắt buộcNội dung này là gì
orgId (path)UuidOne of your client organizations.
org_id (query)UuidKhôngWhich of YOUR organizations is asking. Required only when you belong to more than one.

Nội dung yêu cầu

TênLoạiBắt buộcNội dung này là gì
plan_codestringThe 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.
intervalstringKhôngBilling interval for the wholesale line. Defaults to `monthly`.

Phản hồi

TênLoạiBắt buộcNội dung này là gì
client_org_idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
subscription_idstringKhôngPass 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_codestringKhông
plan_namestringKhông
intervalstringKhông
createdbooleanTrue 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_minorintegerKhôngWhat Zinn® charges you per period. `null`, never `0`, when unpriced.
wholesale_currencystringKhông

Các lỗi điểm cuối này có thể trả về

401 · 403 · 404 · 409 · 422 · 429