App runtime

Загрузить продажу от имени установки

Интернет-магазин или CRM загружает продажу своим токеном. Повтор того же external_id обновляет ЭТУ же продажу, а не заводит второй, поэтому ответ 200. Внешний номер, уже занятый продажей другого источника (человека, ключа кабинета или другого приложения), отвечает 409 docflow.sale.foreign_source. Необязательный funnel_id выбирает действующую воронку продаж этого кабинета в момент создания продажи: повтор с другой воронкой отвечает 409 core.trade.funnel_mismatch, неизвестная, чужая или архивная воронка — 422 core.trade.funnel_unavailable.

Покупатель называется человеческими ключами. Названный ИНН узнаётся строго; продажа сайта (scenario self_service) без ИНН — в том числе вовсе без покупателя — ложится на системную карточку «Розничный покупатель», а имя, телефон и почта плательщика остаются в самом продаже; в остальных сценариях покупатель с телефоном получает именную карточку физлица. Позиции узнаются по артикулу. Статусы оплаты и отгрузки не принимаются — они считаются из фактов.

Если у юрлица есть склад (warehouse_id или склад по умолчанию политики склада) и в продаже есть складские позиции, под продажа ставится штатный резерв склада на срок из настроек склада; свободный остаток (stockGetAvailability) уменьшается на него. Резерв, который склад поставить не смог, продаже не отказывает.

Кабинет, пространство приложения и автор изменений берутся из токена установки. Строка журнала загрузок получает источником пространство приложения, а не поле source тела.

post/api/v1/app/docflow/sales/import

Request

  • Base URL: https://erp.akeda.ru
  • URL: https://erp.akeda.ru/api/v1/app/docflow/sales/import
  • Auth: HTTP bearer

Headers

X-Tenantstring required

Slug выбранного кабинета; кабинет не является юрлицом

Request body

company_idstring uuid required
contact_idstring uuid
contract_document_idstring uuid
funnel_idstring uuid
external_idstring required

Номер продажи или закупки у магазина — ключ идемпотентности загрузки

numberstring

Пусто — кабинет выдаст следующий номер

titlestring
currencystring required

Код валюты сделки, например RUB

managerstring
commentstring
order_datestring date required
ship_datestring date
due_datestring date
discountstring
prices_include_vatboolean

Цены включают налог; пусто — умолчание кабинета

scenario'self_service' | 'one_off_sale' | 'contract_sale'

Путь сделки; продажа или закупка с оплатой на сайте — self_service

sourcestring

Не используется контуром приложения: источник журнала — пространство приложения из токена

warehouse_idstring uuid

Response

Продажа после загрузки: новый или обновлённый

idstring uuid required
company_idstring uuid required
contact_idstring uuid required
contract_document_idstring uuid
numberstring
titlestring required
status'draft' | 'confirmed' | 'done' | 'cancelled' required
status_idstring uuid
status_namestring

Имя статуса, которое придумал кабинет

funnel_idstring uuid
scenario'self_service' | 'one_off_sale' | 'contract_sale' required
stepsstring[] required
currencystring required
managerstring
commentstring
external_idstring
acquiring_amountstring

Сколько подтвердил эквайринг — списания минус возвраты

order_datestring date
ship_datestring date
due_datestring date
discountstring
prices_include_vatboolean required
amountstring required
goods_amountstring required
service_amountstring required
paid_amountstring required

Сколько денег пришло на счёт по продаже или закупке

shipped_amountstring required
invoiced_amountstring required
closed_amountstring required
payment_status'unpaid' | 'partial' | 'paid' required
shipment_status'not_shipped' | 'partial' | 'shipped' required
company_namestring
contact_namestring
contract_titlestring
company_archivedboolean
contact_archivedboolean
created_atstring date-time required
updated_atstring date-time required

Changes

No recorded changes to this operation across all 1 revision of this API.