reseller

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

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

Vituo vyote vya reseller

Uthibitishaji

Tuma ufunguo wa API kama tokeni ya kubeba. Ufunguo lazima uwe na ruhusa ya reseller.provision; ufunguo usio nayo unakataliwa kwa 403, si 404.

Mahali ambapo kitambulisho cha shirika lako huwekwa

Kituo hiki cha mwisho kinachukua kitambulisho cha shirika lako katika URL yenyewe, kama orgId. Kiweke kwenye njia — hakuna kichwa au kigezo cha hoja ambacho kitafanya kazi badala yake.

Kitambulisho cha shirika lako kipo kwenye skrini ya funguo za API katika dashibodi yako, kando ya ufunguo wenyewe. Ni kitambulisho kile kile katika kila ombi unalofanya.

Jaribu

Badilisha chochote kilicho ndani ya mabano ya pembe na maadili yako mwenyewe, na kishikiliaji cha ufunguo na ufunguo kutoka kwa dashibodi yako.

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

Umeingia kwenye akaunti? Dashibodi yako ya kiweko cha API inajaza kitambulisho chako halisi cha shirika na ufunguo wako mwenyewe, na kuendesha ombi dhidi ya API ya moja kwa moja ili uweze kuona jibu halisi. Fungua sehemu hii ya mwisho (endpoint) kwenye konsole ya API

Maelezo

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.

Vigezo

JinaAinaInayohitajikaKilicho hiki
orgId (path)UuidNdiyoOne of your client organizations.
org_id (query)UuidHapanaWhich of YOUR organizations is asking. Required only when you belong to more than one.

Mwili wa ombi

JinaAinaInayohitajikaKilicho hiki
plan_codestringNdiyoThe 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.
intervalstringHapanaBilling interval for the wholesale line. Defaults to `monthly`.

Majibu

JinaAinaInayohitajikaKilicho hiki
client_org_idUuidNdiyoUUIDv7 identifier — sortable by creation time (docs/02 §8).
subscription_idstringHapanaPass 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_codestringHapana
plan_namestringHapana
intervalstringHapana
createdbooleanNdiyoTrue 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_minorintegerHapanaWhat Zinn® charges you per period. `null`, never `0`, when unpriced.
wholesale_currencystringHapana

Hitilafu ambazo mwisho huu unaweza kurudisha

401 · 403 · 404 · 409 · 422 · 429