Skip to main content
Version: LIFE POS 6.0

Управление продажами

В рамках быстрого старта вы открыли тестовую продажу. Как эта продажа соотносится с вашими реальными процессами? Чтобы разобраться в этом, рассмотрим пример.

У Василия служба доставки. Покупатели заказывают еду из ресторанов, а курьеры её привозят и получают оплату. Василий берёт из оплаты свою долю за доставку, а остальное передаёт ресторанам.

Пока курьер ходит по покупателям, Василий в офисе видит все открытые продажи и может получить информацию о каждой из них. Он может изменить данные заказа или отменить его. Когда работу над заказом закончили, Василий переносит его в архив.

Добавление продажи

Для всех заказов в API LIFE POS используется объект Продажа. Он объединяет информацию о товаре, передаваемом покупателю, его стоимости, статусе передачи и т. д. Именно продажу мы создавали в рамках быстрого старта.

Продажа создаётся POST-запросом по адресу:

{base_url}/orgs/{org_guid}/deals/sales

base_url — адрес сервиса. Возможные значения:

  • https://api-dev.life-pos.ru — тестовый API,
  • https://api.life-pos.ru — рабочий API.

Описание запроса

Можно создать сразу несколько продаж. Для этого измените адрес POST-запроса:

{base_url}/orgs/{org_guid}/deals/sales.batch

Адреса сервиса

Описание запроса

Вместо одной продажи в теле запроса передайте массив сделок.

Вне зависимости от количества созданных сделок, главный результат первого шага — продажа, имеющая идентификатор guid и статус New.

Изменение статуса продажи

Когда курьер доставил заказ, а покупатель оплатил его, можно изменить статус продажи. Для этого отправьте PATCH-запрос по адресу:

{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}

Адреса сервиса

Описание запроса

Модель статусов продажи описывается тремя параметрами:

  • state — состояние самой продажи. Возможные значения:
    • New
    • InProgress
    • Completed
    • Cancelled
  • payment_status — статус оплаты. Возможные значения:
    • NotPaid
    • Paid
    • PartiallyPaid
    • Refunded
    • PartiallyRefunded
  • shipping_status — статус отгрузки товаров. Возможные значения:
    • NotShipped
    • Shipped
    • PartiallyShipped
    • Refunded
    • PartiallyRefunded

В нашем примере нужно передать payment_status=Paid и shipping_status=Shipped.

С помощью PATCH-запроса на изменение продажи можно менять не только статус, но и другие данные. Например, если покупатель попросил добавить в заказ новый товар.

Получение данных о продаже

Если вам нужно видеть все открытые продажи, получите их список, отправив GET-запрос по адресу:

{base_url}/orgs/{org_guid}/deals/sales

Адреса сервиса

Описание запроса

Данные выводятся постранично, по 20 записей на страницу. Если нужно получить данные второй страницы, возьмите из ответа значение параметра next_page_token и отправьте новый запрос, передав это значение в параметре page_token. Продолжайте до тех пор, пока параметр next_page_token не придёт пустым.

Например, вы запросили данные о сотрудниках и получили такой ответ:

“next_page_token”: “OdDEFa2CzpYdp1CmlO9s9mjBn4NkUZB3CXKOtNfQWM0”,
“page_number”: 1,
“pages_total”: 2,
“items_per_page”: 20,
“items_total”: 27,

В ответе представлены только записи 1–20. Чтобы посмотреть записи с 21 по 27, отправьте новый GET-запрос, указав page_token=“OdDEFa2CzpYdp1CmlO9s9mjBn4NkUZB3CXKOtNfQWM0”.

Важно

В запросе есть необязательный параметр selection. Это фильтр продаж по их статусу. Если параметр не передан, по умолчанию используется значение alive_only, то есть в ответе придут только данные продаж, не перенесённых в архив. Чтобы посмотреть весь список продаж или только архивные данные, укажите значение all или archived_only соответственно.

Чтобы получить информацию о конкретной продаже, отправьте GET-запрос по следующему адресу:

{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}

Адреса сервиса

Описание запроса

Вы также можете получать уведомления обо всех изменениях по продажам. Для этого нужно настроить расширение notification_service— рассказываем в отдельной статье.

Получение информации об оплате

Вы можете выгружать из системы LIFE POS информацию о движении денежных средств. Она отражена в прямой сессии, которая будет создана, когда курьер примет оплату.

Чтобы получить список прямых сессий, отправьте GET-запрос по адресу:

{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions

Адреса сервиса

Описание запроса

Данные выводятся постранично, по 20 записей на страницу. Если нужно получить данные второй страницы, возьмите из ответа значение параметра next_page_token и отправьте новый запрос, передав это значение в параметре page_token. Продолжайте до тех пор, пока параметр next_page_token не придёт пустым.

Например, вы запросили данные о сотрудниках и получили такой ответ:

“next_page_token”: “OdDEFa2CzpYdp1CmlO9s9mjBn4NkUZB3CXKOtNfQWM0”,
“page_number”: 1,
“pages_total”: 2,
“items_per_page”: 20,
“items_total”: 27,

В ответе представлены только записи 1–20. Чтобы посмотреть записи с 21 по 27, отправьте новый GET-запрос, указав page_token=“OdDEFa2CzpYdp1CmlO9s9mjBn4NkUZB3CXKOtNfQWM0”.

Важно

В запросе есть необязательный параметр selection. Это фильтр сессий по их статусу. Если параметр не передан, по умолчанию используется значение alive_only, то есть в ответе придут только данные сессий, не перенесённых в архив. Чтобы посмотреть весь список сессий или только архивные данные, укажите значение all или archived_only соответственно.

Данные конкретной прямой сессии получаются другим GET-запросом:

{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/{session_type}/{session_guid}

Адреса сервиса

  • session_type – тип сессии. Возможные значения: direct, reversal, direct-correction, reversal-correction.
  • session_guid — идентификатор сессии. Передаётся в списке сессий.

Описание запроса

Если покупатель платил по карте, можете также получить данные транзакции. Для этого отправьте GET-запрос по адресу:

{base_url}/orgs/{org_guid}/terminals/{method}/{terminal_guid}/transactions/{transaction_guid}

Адреса сервиса

  • method — способ оплаты. Возможные значения: bank — банковская карта, quick-payments — СБП.
  • transaction_guid — идентификатор транзакции. Передаётся в описании сессии, в рамках которой была оплачена продажа.

Описание запроса для банковской карты Описание запроса для СБП

Получение чека

Вы можете выгружать из системы LIFE POS фискальные документы, в том числе и чеки. Чтобы выгрузить список чеков, отправьте GET-запрос по адресу:

{base_url}/orgs/{org_guid}/fiscal-registrars/{registrar_guid}/docs

Адреса сервиса

Описание запроса

Данные выводятся постранично, по 20 записей на страницу. Если нужно получить данные второй страницы, возьмите из ответа значение параметра next_page_token и отправьте новый запрос, передав это значение в параметре page_token. Продолжайте до тех пор, пока параметр next_page_token не придёт пустым.

Например, вы запросили данные о сотрудниках и получили такой ответ:

“next_page_token”: “OdDEFa2CzpYdp1CmlO9s9mjBn4NkUZB3CXKOtNfQWM0”,
“page_number”: 1,
“pages_total”: 2,
“items_per_page”: 20,
“items_total”: 27,

В ответе представлены только записи 1–20. Чтобы посмотреть записи с 21 по 27, отправьте новый GET-запрос, указав page_token=“OdDEFa2CzpYdp1CmlO9s9mjBn4NkUZB3CXKOtNfQWM0”.

Важно

В запросе есть необязательный параметр selection. Это фильтр документов по их статусу. Если параметр не передан, по умолчанию используется значение alive_only, то есть в ответе придут только данные документов, не перенесённых в архив. Чтобы посмотреть весь список документов или только архивные данные, укажите значение all или archived_only соответственно.

Чтобы получить данные конкретного кассового чека, отправьте GET-запрос по адресу:

{base_url}/orgs/{org_guid}/fiscal-registrars/{registrar_guid}/docs/receipts/{doc_guid}

Адреса сервиса

Описание запроса

Архивирование и восстановление продажи

Если ошибку в заказе невозможно исправить, если покупатель отказался от покупки, или если ваш заказ закрыт вне системы LIFE POS, можете перенести продажу в архив. Вместе с продажей в архив отправятся все её дочерние объекты.

Чтобы архивировать продажу, отправьте DEL-запрос по адресу:

{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}

Адреса сервиса

Описание запроса

Никакая информация не удаляется навсегда — из архива продажу можно вернуть. Для этого отправьте POST-запрос по адресу:

{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}:unarchive

Адреса сервиса

Описание запроса

В следующей статье рассмотрим работу со скидками.