public

POST /v1/public/pricing/tax-quote

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

Todos los endpoints de public

Autenticación

Este endpoint es público. No requiere credenciales ni organización; es lo que leen nuestro propio sitio de marketing y los motores de respuesta de IA.

Este endpoint no requiere ningún id de organización. Su clave ya identifica la organización a la que pertenece, y la respuesta está delimitada a ella.

Pruébalo

Reemplaza cualquier elemento entre corchetes angulares por tus propios valores, y el marcador de posición key con una clave de tu panel de control.

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

¿Has iniciado sesión? La consola de la API en tu panel de control rellena el ID de tu organización real y tu propia clave, y ejecuta la solicitud contra la API en vivo para que puedas ver la respuesta real. Abre este endpoint en la consola de la API

Detalles

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.

Cuerpo de la solicitud

NombreTipoObligatorio¿Qué es esto?
countrystringNoISO 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…
currencystringNoISO 4217. Defaults to the `docs/29` §3.1 resolution for the request.
itemsobject[]

Respuesta

NombreTipoObligatorio¿Qué es esto?
currencystring
countrystringThe 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_bpsintegerThe 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…
estimatedbooleanThe 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…
indeterminatebooleanThe 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[]

Errores que este endpoint puede devolver

422 · 429