billing

POST /v1/trials

Start a free trial on a plan.

Ҳамаи нуқтаҳои ниҳоии billing

Санҷиши ҳаққоният

Kalitи API-ро ҳамчун token-и bearer фиристед. Ин нуқтаи ниҳоӣ дар мушаххасот иҷозати мушаххасеро нишон намедиҳад, бинобар ин ба калиди худ ҳадди ақали заруриро диҳед ва ба ҷои тахмин кардан, ҷавобро санҷед.

Ҷое, ки рақами мушаххаси ташкилоти шумо ҷойгир аст

Ин нуқтаи поёнӣ org_id -ро ҳамчун майдон дар бадани JSON мегирад.

Rakami муайянкунандаи ташкилоти шумо дар экрани калидҳои API дар панели идоракунии шумо, дар паҳлӯи худи калид ҷойгир аст. Ин як раками муайянкунанда дар ҳар یک дархосте, ки шумо иҷро мекунед, якхела аст.

Санҷидан

Ҳар чизро дар қаavски кунҷӣ бо қиматҳои худ ва ҷойи нигоҳдорандаи калидро бо калима аз панели идоракунии худ иваз кунед.

curl -X POST https://api.zinndigital.com/v1/trials \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "plan_code": <string> }'

Воarid шудаед? Консоли API дар панели идоракунии шумо рақами мушаххаси ташкилоти воқеӣ ва калиди худро пур мекунад ва дархостро бар зидди API-и фаъол иҷро мекунад, то шумо посухи воқеиро бубинед. Ин нуқтаи ниҳоиро дар консоли API кушоед

Тафсилот

docs/20. **The endpoint the "Start trial" buttons had nowhere to point at.** Three admin trial endpoints existed — list templates, edit a template, staff-extend a trial — and no customer-facing one, so all 47 CTAs on the public pricing page linked to `?intent=register`: *register first*, which is the opposite of what the button says. ⛔ `plan_code`, never a product line. Eligibility is a property of the **plan** (owner ruling 2026-07-29): cloud and VPS live in the same line as plans that do carry a trial, so a line-shaped request could not express "never on billable per-instance compute" at all. One trial per organization, enforced by a database constraint as well as a check — so a double-click races safely and the loser is refused rather than granted a second trial.

Ҷисми дархост

НомНамудТалаб карда мешавадИн чӣ аст
plan_codestringБале
org_idstringНеRequired only when the caller bills for more than one organization. With exactly one it is unambiguous; with several it is asked for rather than guessed, because starting a rese…
auto_convert_opt_inbooleanНе⛔ Defaults to false — the direction that cannot take money nobody agreed to.

Ҷавоб

НомНамудТалаб карда мешавадИн чӣ аст
idstringБале
org_idstringБале
statusstring<active, expired, converted, canceled>Бале
product_linestringБалеThe line's CODE, not its display name — the dashboard renders the label from its own catalogue, so prose here would be a second, untranslated source of that word on the screen.
max_sitesintegerБале
started_atstringБале
ends_atstringБале
auto_convert_opt_inbooleanНеWhether the customer agreed **at the start** that this may become a paid subscription when the period ends. Captured per trial rather than read from the template at expiry, so c…
days_remainingintegerНеWhole days until `ends_at`, rounded UP and floored at zero. Computed on the server on purpose: a client doing `(ends_at - Date.now())` measures the **device** clock, so a laptop…
upgradeTrialUpgradeOfferНеThe plan this trial invites the customer to buy, priced in their own currency (`X-Zinn-Currency`, falling back to the org default). ⛔ `null` when the template names no target or…

Хатоҳое, ки ин нуқтаи ниҳоӣ метавонад баргардонад

401 · 403 · 404 · 422