Նույնականացում

Ուղարկեք API բանալին որպես bearer token: Բանալին պետք է ունենա billing.payment.manage թույլտվությունը. առանց դրա բանալին մերժվում է 403, և ոչ թե 404 կարգավիճակով:

Որտեղ տեղադրվում է ձեր կազմակերպության ID-ն

Այս վերջնակետը JSON մարմնում որպես դաշտ վերցնում է org_id-ը։

Ձեր կազմակերպության ID-ն գտնվում է Ձեր ղեկավարման վահանակի API բանալիների էկրանին՝ բուն բանալու կողքին: Այն նույն ID-ն է Ձեր կատարած յուրաքանչյուր հարցման մեջ:

Փորձել

Փոխարինեք անկյունային փակագծերում գտնվող ցանկացած բան ձեր սեփական արժեքներով, և բանալու տեղապահը՝ ձեր վահանակի բանալիով:

curl -X POST https://api.zinndigital.com/v1/extras/{code}/purchase \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{  }'

Մուտք գործե՞լ եք: Ձեր վահանակի API վահանակը լրացնում է ձեր իրական կազմակերպության ID-ն և ձեր սեփական բանալին և գործարկում է հարցումը ուղիղ API-ի դեմ, որպեսզի կարողանաք տեսնել փաստացի պատասխանը: Բացեք այս վերջնակետը API վահանակում

Մանրամասներ

Buys the extra: it is charged wallet-first then gateway, and handed to durable fulfilment (an automated workflow, or a staff task). The price and fulfilment path are server-decided (docs/26 §3). Requires billing.payment.manage. Two different 422s, and a client must tell them apart: PAYMENT_METHOD_REQUIRED means the organization holds no chargeable payment method, so nothing was presented to any gateway and nothing was refused — the remedy is to add a payment method — or pay with PayPal or cryptocurrency — and buy again. UNPROCESSABLE_ENTITY on this path is a genuine gateway decline. Reporting the first as the second tells a customer who has never entered a card that their bank refused them (docs/491 §7).

Պարամետրեր

ԱնունՏեսակՊահանջվում էԻնչ է դա
code (path)stringԱյոThe extra's code (e.g. db_maintenance).

Հարցման մարմին

ԱնունՏեսակՊահանջվում էԻնչ է դա
org_idUuidՈչUUIDv7 identifier — sortable by creation time (docs/02 §8).
site_idobjectՈչ
domain_idobjectՈչThe domain a domain-scoped extra is bought for. Premium DNS (premium_dns) is the first: it is applied at the registrar, per zone, on a name held in our registrar account.…
currencyCurrencyCode | nullՈչThe currency the customer was quoted in on the catalogue screen. Omit it and the engine uses the X-Zinn-Currency header. Extra rows are stored in the base currency only, so…
gatewayobjectՈչThe payment rail the customer picked, from getPaymentOptions. Omit it (or send null) for "no preference", which follows the payment method the organization would be charged on…
pay_withstring<card, credit>ՈչWhere the money comes from. Owner ruling 2026-08-24: "Credit pays, or card — customer picks". Only the AI products (ai_webmaster, ai_update_guard and any other row in those…

Պատասխան

ԱնունՏեսակՊահանջվում էԻնչ է դա
idUuidԱյոUUIDv7 identifier — sortable by creation time (docs/02 §8).
org_idUuidԱյոUUIDv7 identifier — sortable by creation time (docs/02 §8).
extra_idUuidԱյոUUIDv7 identifier — sortable by creation time (docs/02 §8).
site_idobjectՈչ
domain_idobjectՈչ
statusExtraPurchaseStatusԱյոAn extra purchase's lifecycle state.
categorystringԱյո
fulfilment_typeExtraFulfilmentTypeԱյոHow an extra is delivered.
intervalExtraIntervalԱյոOne-off charge or a recurring subscription.
priceMoneyAmountԱյոA money value — integer minor units + an ISO 4217 code (CLAUDE.md §2.8).
recurrencestring<none, active, ended>ԱյոWhether the recurrence behind this purchase is still live. none = it never recurred (a one-off); active = a scheduled charge exists; ended = it recurred and no longer does.…
next_renewal_onobjectՈչThe next charge date, or null. Also null for a live charge that has no date scheduled yet, so read recurrence — not this field — to decide whether a purchase renews at all.
sla_due_atobjectՈչ
completed_atobjectՈչ
failure_reasonstringՈչ
created_atstringԱյո
updated_atstringԱյո

Այս վերջնակետի կողմից վերադարձվող սխալները

401 · 403 · 404 · 422 · 429