Блог
Релиз

Оформление счёта — одним запросом к API

Интегратор прислал баг: счёт нужно было создавать двумя запросами — сначала создать, потом отдельно убрать логотип. Починили и заодно проверили все поля оформления на создании.

Что было не так

Поля hide_logo, hide_stamp и hide_signature принимались только методом PATCH. При создании они молча игнорировались: сервер отвечал 201, документ выглядел «как обычно», и понять, что настройка не применилась, можно было лишь по ответу.

Как сейчас

Все настройки вида документа применяются тем же запросом, что и создание. «Счёт без логотипа, но с печатью и подписью» — это hide_logo: true при with_signatures: true.

POST /api/organizations/{org_id}/documents
{
  "kind": "invoice",
  "counterparty_id": "…",
  "hide_logo": true,
  "with_signatures": true,
  "invoice_style": "individual",
  "accent_color": "#2563EB",
  "tag_ids": ["<uuid тега>"],
  "items": [ … ]
}

Мелочи, которые важны интегратору

  • копия документа и «создать на основе» наследуют оформление, скрытые ассеты и теги источника;
  • чужой тег в tag_ids даёт 400 tag_not_found, и документ не создаётся — берите UUID из GET /tags;
  • неизвестные поля тела не отклоняются, поэтому опечатку в имени поля видно только по ответу.

Читайте также

Попробовать в деле

Заведите организацию и выставьте счёт за минуту — все функции бесплатны.

Начать бесплатно