billing
GET /v1/invoices/{invoiceId}/pdf
Download the invoice or credit note as a PDF, in a chosen language.
Аутентификация
Передайте API-ключ в качестве маркера носителя (bearer token). Эта конечная точка не указывает конкретное разрешение в спецификации, поэтому предоставьте своему ключу минимум необходимых прав и проверьте ответ, вместо того чтобы делать предположения.
Этот эндпоинт не принимает идентификатор организации. Ваш ключ уже определяет организацию, к которой он принадлежит, и ответ ограничивается ее рамками.
Попробовать
Замените всё в угловых скобках на собственные значения, а плейсхолдер ключа — на ключ из вашей панели управления.
curl -X GET https://api.zinndigital.com/v1/invoices/{invoiceId}/pdf \
-H "Authorization: Bearer zdk_live_…"Вошли в систему? Консоль API в вашей панели управления автоматически подставляет реальный идентификатор вашей организации и ваш собственный ключ, а также выполняет запрос к работающему API, чтобы вы могли увидеть актуальный ответ. Откройте эту конечную точку в API-консоли
Подробнее
The rendered legal document (#708, `docs/34` §4.2) — server-side HTML→PDF, in all 58 locales including RTL, with embedded fonts covering Latin, Greek, Cyrillic, CJK, Arabic and Hebrew. Rendered from the invoice's **immutable snapshot**, never from live data: a customer who has since moved still sees the address that was on the document, because a re-render that updated it would be a different legal document under the same number. That is also what makes the render deterministic and the cache disposable. ⭐ **Labels translate; numbers, tax wording and the document identity do not.** The invoice number, the amounts and the dates keep their canonical form, and the **English document is the authoritative original** — a translated rendering is a copy of the same numbered document for the customer's convenience and says so in its footer. Answers a short-lived signed URL rather than the bytes, so a multi-megabyte document never transits the engine twice. ⛔ When no document bucket is configured in an environment the response is the **PDF itself** (`application/pdf`) rather than a refusal: the cache is an optimisation, and a customer must not be unable to download their own invoice because a bucket is missing.
Параметры
| Имя | Тип | Обязательно | Что это |
|---|---|---|---|
invoiceId (path) | Uuid | Да | The billing document's id. This is the `Invoice`/`CreditNote` id — **not** the order's. It was the order's id while `/v1/invoices` projected orders (docs/34 §7); the projection… |
locale (query) | string | Нет | Language to render in. Defaults to the account's own. A language this platform does not ship is a `422` rather than a silent fallback — and it is validated because the value rea… |
Ответ
| Имя | Тип | Обязательно | Что это |
|---|---|---|---|
url | string | Да | Minted per request and **never persisted** — it expires in minutes, so storing it in a list payload or a cache would hand a client a link that is already dead. |
expires_at | string | Нет | — |
locale | string | Да | The language the document was rendered in. |
Ошибки, которые может возвращать этот эндпоинт
401 · 403 · 404 · 422 · 429 · 503