public

POST /v1/public/pricing/tax-quote

What these net prices look like to a signed-out visitor, after VAT.

همه نقاط پایانی public

احراز هویت

این نقطه پایانی عمومی است. هیچ مدرک احراز هویت و هیچ سازمانی نمی‌پذیرد — این همان چیزی است که سایت بازاریابی خودمان و موتورهای پاسخ‌دهنده هوش مصنوعی می‌خوانند.

این نقطه پایانی هیچ شناسه سازمانی را دریافت نمی‌کند. کلید شما در حال حاضر سازمان مربوطه را مشخص می‌کند و پاسخ در همان محدوده ارائه می‌شود.

امتحان کنید

هر چیزی را که داخل براکت‌های زاویه‌دار قرار دارد با مقادیر خودتان جایگزین کنید، و نگهدارنده کلید را با کلیدی از داشبورد خود جایگزین نمایید.

curl -X POST https://api.zinndigital.com/v1/public/pricing/tax-quote \
  -H "Content-Type: application/json" \
  -d '{ "items": <object[]> }'

وارد شده‌اید؟ کنسول API در داشبورد شما شناسه سازمان واقعی و کلید خودتان را پر می‌کند و درخواست را روی API زنده اجرا می‌کند تا بتوانید پاسخ واقعی را ببینید. این نقطه پایانی را در کنسول 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.

بدنه درخواست

نامنوعالزامیچیست
countrystringخیر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…
currencystringخیرISO 4217. Defaults to the `docs/29` §3.1 resolution for the request.
itemsobject[]بله

پاسخ

نامنوعالزامیچیست
currencystringبله
countrystringبلهThe destination the figures were rated for, or `""` if none was known.
display_modestring<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…
noticestring<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_bpsintegerبله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…
estimatedbooleanبله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…
indeterminatebooleanبله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_minorintegerبله
tax_total_minorintegerبله
gross_total_minorintegerبله⛔ Equal to net in the `indeterminate` fallback, **never 0** — a caller rendering this field unconditionally must show the price rather than a free product.
linesobject[]بله

خطاهایی که این نقطه پایانی می‌تواند برگرداند

422 · 429