Знакомство с LIFE POS API
LIFE POS объединяет кассовые, учётные и аналитические сервисы. Он позволяет организовать продажи, а также управление товарами и доставкой через единый личный кабинет. Через API вы можете передавать заказы, выгружать отчёты и управлять финансовыми операциями.
Миграция с v5 на v6
Чтобы интеграция, написанная для API v5, заработала на API v6, нужно самостоятельно её адаптировать под описанные изменения и обновить приложение LIFE POS до версии 6. Чтобы обновить приложение, обратитесь к вашему персональному менеджеру.
Изменена модель статусов сделки, оплаты и отгрузки в рамках продажи
Изменена логика хранения статусов продажи, её оплаты и отгрузки товара. За это теперь отвечают три параметра:
state
— состояние продажи, возможные значения:New
InProgress
Completed
Cancelled
payment_status
— статус оплаты, в озможные значения:NotPaid
Paid
PartiallyPaid
Refunded
PartiallyRefunded
shipping_status
— статус отгрузки товаров, возможные значения:NotShipped
Shipped
PartiallyShipped
Refunded
PartiallyRefunded
Изменена логика передачи маркированных товаров для продажи
- Параметр
markable_as
удалён. Теперь параметры маркированных товаров нужно передавать через объектmarking_attributes
. - Параметр
is_markable
показывает, является ли товар маркируемым. Еслиtrue
, то товар маркируемый и обязательно нужно передать его марку. Параметр доступен только для чтения. Значение клиент получает от сервера. - Удалён параметр
good_codes
. Теперь нужно передавать штрихкод товара вbarcode
. Заполнять поле обязательно, если товар маркированный. - Удалён параметр
mark_scanning_was_skipped
; - Параметры
marking_code
иchecking_result
перемещены в объектmarking_attributes
в массивmarks
. - Теперь марки нескольких одинаковых позиций передаются в
marking_attributes
в массиве marks. Пример в JSON:
"quantity": "2",
"is_markable": true,
"marking_attributes":
{ "marks": [
{"marking_code": "123456",
"for_quantity": "1"},
{"marking_code": "623456",
"for_quantity": "1"}
]}
Сущности «Оплата/Возврат» заменены на «Прямая/Обратная Сессия»
Сущность «Оплата/Возврат» заменена на «Прямая/обратная сессия продажи». Сессия позволяет отражать в рамках продажи неограниченное множество действий по приёму оплаты и отгрузки товара в рамках одной продажи. Если в вашей интеграции не используются методы для работы с Платежами и Возвратами, то пропустите этот раздел.
Например, рассмотрим методы для проведения продажи. На API v5:
/v5/orgs/{org_guid}/deals/sales/{deal_guid}/docs/money/payments
На API v6:
/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/direct
Логика работы с сессиями в v6:
- Прямая (direct) сессия продажи — обычная продажа товара. Методы:
/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/direct
- Обратная (reversal) сессия продажи — возврат денег за проведённую ранее продажу. Методы:
/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/reversal
- Также есть сессии коррекции, как для прямой, так и для обратной сессии. Методы:
/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/direct-correction
и/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/reversal-correction
Версионность и продажи
Продажи, созданные на API v5, доступны на 6 версии приложения. Если на приложении внести изменения в продажу — например, добавить или удалить товар, то такая продажа сама переедет на API v6. Если вы не вносили изменений, а просто приняли оплату и фискализировали продажу, то такая продажа останется на API v5. В API v6 доступны все сущности, созданные в 6 и более ранних версиях API и приложения.