public
POST /v1/public/pricing/tax-quote
What these net prices look like to a signed-out visitor, after VAT.
ავტორიზაცია
ეს ენდპოინტი საჯაროა. ის არ მოითხოვს არც რამედას და არც ორგანიზაციას — ეს არის ის, რასაც ჩვენი მარკეტინგული საიტი და AI პასუხების ძრავები კითხულობენ.
ეს ბოლო წერტილი არ იღებს ორგანიზაციის იდენტიფიკატორს. თქვენი გასაღები უკვე აიდენტიფიცირებს იმ ორგანიზაციას, რომელსაც ის ეკუთვნის, და პასუხი შემოფარგლულია მისით.
სცადეთ
შეSubstituted any value inside angle brackets with your own and the key placeholder with a key from your dashboard.
curl -X POST https://api.zinndigital.com/v1/public/pricing/tax-quote \
-H "Content-Type: application/json" \
-d '{ "items": <object[]> }'შესული ხართ? თქვენი სამართავ პანელში არსებული API კონსოლი ავტომატურად ამატებს თქვენი რეალური ორგანიზაციის ID-სა და საკუთარ გასაღებს და ატარებს მოთხოვნას ცოცხალ API-ს წინააღმდეგ, რათა იხილოთ რეალური პასუხი. გაAღით ეს ენდპოინტი API კონსოლში
დეტალები
The anonymous half of `quoteTaxDisplay` (#1482). Same answer, one difference that matters: there is no organisation, so there is no validated VAT number and **every visitor is treated as a consumer**. ⛔ **This route accepts no buyer-validation flag, deliberately.** Reverse charge turns on a VIES-validated number and the seller carries the liability for granting it wrongly (`docs/34` §2.3), so a client-supplied validation claim would be a request to zero-rate a sale on the buyer's own say-so. Treating everyone as a consumer is also the safe direction: it over-states rather than under-states the tax due. Country comes from the request body or Cloudflare's `CF-IPCountry`. The answer is always `estimated: true` — a pricing page runs on a geo hint, and the charge is rated again at checkout against real place-of-supply evidence.
მოთხოვნის სხეული
| სახელი | ტიპი | სავალდებულო | რა არის ეს |
|---|---|---|---|
country | string | არა | ISO 3166-1 alpha-2 destination. On the signed-in route this overrides the stored billing country (the customer may be pricing an address they have not saved). Omitted on the pub… |
currency | string | არა | ISO 4217. Defaults to the `docs/29` §3.1 resolution for the request. |
items | object[] | დიახ | — |
პასუხი
| სახელი | ტიპი | სავალდებულო | რა არის ეს |
|---|---|---|---|
currency | string | დიახ | — |
country | string | დიახ | The destination the figures were rated for, or `""` if none was known. |
display_mode | string<gross, net> | დიახ | Which figure leads. `gross` for a consumer (with the VAT shown separately), `net` for a validated business and for any supply carrying no VAT. ⛔ Read it; do not re-derive it — t… |
notice | string<vat_included, reverse_charge, no_vat, vat_at_checkout> | დიახ | A **key**, never rendered prose — every user-facing string goes through the frontend i18n layer in all 58 locales (§2.7, §2.19), so a wording change is a translation change rath… |
rate_bps | integer | დიახ | The single rate behind `notice`, or `0` where the basket carries more than one. A mixed basket (hosting at the buyer's rate, a website build at UK 20%) genuinely has no single r… |
estimated | boolean | დიახ | The figures ran on weak evidence (a geo hint, no billing address) and are indicative. The charge is rated again at checkout against full place-of-supply evidence, and **that** i… |
indeterminate | boolean | დიახ | The supply could not be rated and the **net** figure is being shown with `notice: vat_at_checkout`. Never true alongside a non-zero `tax_total_minor`. |
net_total_minor | integer | დიახ | — |
tax_total_minor | integer | დიახ | — |
gross_total_minor | integer | დიახ | ⛔ Equal to net in the `indeterminate` fallback, **never 0** — a caller rendering this field unconditionally must show the price rather than a free product. |
lines | object[] | დიახ | — |
შეცდომები, რომლებიც ამ ენდპოინტს შეუძლია დააბრუნოს
422 · 429