Сессии
Сессия — это объект в LIFE POS API, отвечающий за движения денег и товаров между вами и покупателем. Это любое ваше взаимодействие с покупателем, в рамках которого передаются деньги или позиции номенклатуры.
Сессии делятся на прямые и обратные. Оплата заказа, отгрузка товара или предоставление услуги — это прямые сессии, а возврат — обратная. Например, у Василия интернет-магазин одежды. Покупатель заказал джинсы, пришёл в пункт выдачи, оплатил покупку и забрал её. Возникает прямая сессия — Василий получил от покупателя оплату и отгрузил ему товар. В терминах способов расчёта это полный расчёт. Если бы покупатель оплачивал джинсы картой на сайте, а получал их у курьера, то прямых сессий возникло бы две: в рамках первой Василий получил бы от покупателя аванс, а в рамках второй отгрузил бы ему товар.
Внимание! API LIFE POS пока не поддерживает работу со всеми признаками расчёта. Можно оформить только полный расчёт, т. е. получить оплату и отгрузить товар в рамках одной сессии.
Теперь представим, что покупатель примерил джинсы и они ему не подошли. Покупатель отдаёт их обратно курьеру, а Василий возвращает деньги на карту покупателю. Возникает обратная сессия: товар вернулся Василию, а деньги — покупателю. Сессия возврата должна быть привязана к исходной сессии продажи, чтобы было понятно, какая именно позиция и какие именно деньги возвращаются.
Бывает так, что в момент оплаты чек пробить не удалось. Тогда в момент создания чека коррекции возникает прямая сессия коррекции. Если же вы корректируете возврат, это обратная сессия коррекции. Как и обратная сессия, сессия коррекции должна быть привязана к той сессии, которую она корректирует.
Структура объекта Сессия
Рассмотрим структуру объекта Сессия в API LIFE POS — она одинакова и для прямых сессий, и для обратных, и для сессий коррекции; содержит следующие данные:
| Поле | Описание |
sale | Объект Продажа, содержащий guid продажи и тип объекта type_of |
actions | Массив объектов Действия, который описывает, что именно произошло в рамках сессии |
fiscal_documents | Массив объектов Фискальные документы. Когда по сессии появится чек, здесь появятся guid чека и тип объекта type_of |
При необходимости каждый объект массива fiscal_documents можно раскрыть, чтобы получить полную информацию о каждой транзакции. Для этого надо передать в запросе параметр expand:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions?expand=expand=fiscal_documents[:].fiscal_registrar&presentation=full
base_url — адрес сервиса. Возможные значения:
Раскрытый объект будет содержать объект fiscal_registrar, который, в свою очередь, содержит следующие поля:
| Поле | Описание |
model | Модель фискального регистратора |
registration_number | Регистрационный номер |
serial_number | Серийный номер |
В массиве actions передаются следующие данные:
money_action — объект Операция с деньгами и позициями. Содержит следующие поля:
purposes — массив объектов Предметы расчёта. payment_parts — массив объектов Части платежа.
non_purpose_money_action — объект Операция с деньгами. Пока не используется, поскольку признаки способа расчёта не поддержаны и подразумевается, что при получении каждой оплаты вы передаёте покупателю товар. shipping_action — объект Операция с позициями. Содержит массив объектов purposes, каждый из которых должен содержать (знаком * отмечены обязательные поля):
quantity * — количество позиций; marking_attributes — данные о маркировке; position — объект Позиция, содержащий guid позиции и тип объекта type_of.
В объекте money_action.purposes передаются следующие данные (знаком * отмечены обязательные поля):
amount * — объект Стоимость товара. Содержит поля:
value — сумма; currency * — валюта. Возможные значения: RUB, GBP, USD, EUR, Unknown; position — объект Позиция, содержащий guid позиции и тип объекта type_of.
Объект money_action.payment_parts содержит данные о частях платежа. Частей платежа может быть сколько угодно, а конкретное содержимое каждой части зависит от способа, которым покупатель оплачивает заказ.
| Способ оплаты | Специальные поля |
Сервис оплаты частями «Подели» (BnplPaymentPart) | podeli_details — объект, содержащий обязательное поле order_id — идентификатор заказа |
Оплата картой (CardPaymentPart) | transactions — массив ссылок на транзакции; каждая ссылка содержит поля guid и type_of |
Наличные (CashPaymentPart) | Специальных полей нет |
Незарегистрированный перевод (CashlessPaymentPart) | Специальных полей нет. Этот способ оплаты используется, если покупатель расплатился с вами переводом без использования платёжного шлюза LIFE POS. Например, отправил деньги по СБП |
Платёжная ссылка (LinkPaymentPart) | external_id — внешний идентификатор; ttl — время жизни ссылки в минутах, от 5 до 2880; payment_url — адрес ссылки; expired_at — дата и время истечения срока жизни ссылки; transactions — массив ссылок на транзакции; каждая ссылка содержит поля guid и type_of |
Система быстрых платежей (QuickPaymantPaymentPart) | transactions — массив ссылок на транзакции; каждая ссылка содержит поля guid и type_of |
При необходимости каждый объект массива transactions при оплате картой можно раскрыть, чтобы получить полную информацию о каждой транзакции. Для этого надо передать в запросе параметр expand:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions?expand=actions.*.payment_parts[:].transactions[:].bank_terminal&presentation=full
Адреса сервиса.
Раскрытый объект будет содержать объект bank_terminal, который, в свою очередь, содержит следующие поля:
| Поле | Описание |
model | Модель банковского терминала |
terminal_id | Идентификатор банковского терминала |
merchant_id | Идентификатор продавца, выданный банком |
reference_retrieval_number | RRN операции |
card_number | Номер карты покупателя |
При необходимости каждый объект массива transactions при оплате по СБП можно раскрыть, чтобы получить полную информацию о каждой транзакции. Для этого надо передать в запросе параметр expand:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions?expand=actions.*.payment_parts[:].transactions[:].quick_payments_terminal&presentation=full
Адреса сервиса.
Раскрытый объект будет содержать объект quick_payments_terminal, который, в свою очередь, содержит следующие поля:
| Поле | Описание |
model | Модель терминала СБП |
terminal_id | Идентификатор терминала СБП |
reference_retrieval_number | RRN операции |
Поля объекта money_action.purposes, общие для всех способов оплаты:
amount * — объект Стоимость товара. Содержит поля:
value — сумма; currency * — валюта. Возможные значения: RUB, GBP, USD, EUR, Unknown; position — объект Позиция, содержащий guid позиции и тип объекта type_of.
status * — статус платежа. Возможные значения: Draft, Accepted, Refunded. guid — идентификатор.
С помощью такой модели можно реализовать комбинированную оплату (например, часть картой, часть наличными), частичную предоплату с последующей доплатой, частичный возврат и т. д. Вот и всё, что вам нужно знать о сессиях.
Оплаты
LIFE POS API позволяет получать, хранить и обрабатывать все данные об оплатах, в том числе для последующей фискализации.
Создать оплату
За движения денежных средств в LIFE POS API отвечает объект Сессия. Сессия — это любое ваше взаимодействие с покупателем, в рамках которого передаются деньги или позиции номенклатуры. Оплата продавцу и отгрузка товара покупателю — это прямые сессии, а возврат — обратная. Подробнее о сессиях.
Чтобы создать новую прямую сессию, отправьте POST-запрос по адресу:
Описание запроса.
Получение информации об оплате
Чтобы получить список всех сессий, связанных с продажей, отправьте 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" : ,
"pages_total" : ,
"items_per_page" : ,
"items_total" : ,
В ответе представлены только записи 1–20. Чтобы посмотреть записи с 21 по 27, отправьте новый GET-запрос, указав page_token="OdDEFa2CzpYdp1CmlO9s9mjBn4NkUZB3CXKOtNfQWM0".
Чтобы получить данные конкретной сессии, отправьте GET-запрос по другому адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/direct/{session_guid}
session_guid — идентификатор сессии. Можно получить в списке сессий по продаже.
- Адреса сервиса.
- Описание запроса.
Если покупатель платил по карте, можете также получить данные транзакции. Для этого отправьте GET-запрос по адресу:
{base_url}/orgs/{org_guid}/terminals/{method}/{terminal_guid}/transactions/{transaction_guid}
method — способ оплаты. Возможные значения: bank — банковская карта, quick-payments — СБП. transaction_guid — идентификатор транзакции. Передаётся в документе оплаты.
- Описание запроса для банковской карты.
- Описание запроса для СБП.
Изменение информации об оплате
Когда статус оплаты изменится, нужно обновить информацию о ней. Например, когда оплата будет фискализирована, вы можете добавить в поле fiscal_documents ссылку на чек. Чтобы изменить информацию об оплате, отправьте PATCH-запрос по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/direct/{session_guid}
- Адреса сервиса.
- Описание запроса.
Удаление и восстановление информации об оплате
Вы можете отправить информацию об оплате в архив. Полностью информация не удаляется. Она исчезает из вашего интерфейса управления заказами, но продолжает храниться на сервере LIFE POS. Её можно восстановить, если она снова понадобится.
Чтобы удалить информацию об оплате, отправьте DEL-запрос по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/direct/{session_guid}
- Адреса сервиса.
- Описание запроса.
Восстановить информацию об оплате можно POST-запросом:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/direct/{session_guid}:unarchive
- Адреса сервиса.
- Описание запроса.
Вот и всё, что нужно знать о работе с оплатами.
Транзакции
В LIFE POS по одному заказу может проходить несколько транзакций. Самые частые примеры таких случаев — если покупатель оплачивает заказ частями или если состав оплаченного заказа изменился. Различать нужно транзакции по банковскому терминалу, т. е. классический эквайринг, и транзакции по СБП — переводы по QR-коду или ссылке. Они описываются разным набором данных, поэтому для них предусмотрены разные методы API. Рассказываем, как перенести данные о транзакциях из LIFE POS в вашу систему учёта.
Получить список транзакций
Чтобы получить список транзакций банковского терминала, отправьте GET-запрос по адресу:
{base_url}/orgs/{org_guid}/terminals/bank/{terminal_guid}/transactions
base_url — адрес сервиса. Возможные значения:
terminal_guid — идентификатор банковского терминала.
Описание запроса.
Чтобы получить список транзакций по СБП, отправьте GET-запрос по адресу:
{base_url}/orgs/{org_guid}/terminals/quick-payments/{terminal_guid}/transactions
Описание запроса.
Если вам нужен список всех транзакций вне зависимости от платёжной системы, отправьте GET-запрос по адресу:
{base_url}/orgs/{org_guid}/terminals/*/{terminal_guid}/transactions
Описание запроса.
Данные выводятся постранично, по 20 записей на страницу. Если нужно получить данные второй страницы, возьмите из ответа значение параметра next_page_token и отправьте новый запрос, передав это значение в параметре page_token. Продолжайте до тех пор, пока параметр next_page_token не придёт пустым. Например, вы запросили данные о сотрудниках и получили такой ответ:
"next_page_token" : "OdDEFa2CzpYdp1CmlO9s9mjBn4NkUZB3CXKOtNfQWM0",
"page_number" : ,
"pages_total" : ,
"items_per_page" : ,
"items_total" : ,
В ответе представлены только записи 1–20. Чтобы посмотреть записи с 21 по 27, отправьте новый GET-запрос, указав page_token="OdDEFa2CzpYdp1CmlO9s9mjBn4NkUZB3CXKOtNfQWM0".
Получить описание транзакции
Чтобы получить описание транзакции по банковскому терминалу, отправьте GET-запрос по адресу:
{base_url}/orgs/{org_guid}/terminals/bank/{terminal_guid}/transactions/{transaction_guid}
Адреса сервиса.
terminal_guid — идентификатор банковского терминала. transaction_guid — идентификатор транзакции. Можно получить в списке транзакций.
Описание запроса.
Чтобы получить описание транзакции по СБП, отправьте GET-запрос по адресу:
{base_url}/orgs/{org_guid}/terminals/quick-payments/{terminal_guid}/transactions/{transaction_guid}
Описание запроса.
Если нужны данные транзакции вне зависимости от платёжной системы, отправьте GET-запрос по адресу:
{base_url}/orgs/{org_guid}/terminals/*/*/transactions/{transaction_guid}
Описание запроса.
Удалить и восстановить транзакцию
Удалить транзакцию из LIFE POS невозможно, но можно отправить её в архив. Она исчезнет из интерфейса, но останется на сервере LIFE POS.
Чтобы удалить транзакцию по банковскому терминалу, отправьте DEL-запрос по адресу:
{base_url}/orgs/{org_guid}/terminals/bank/{terminal_guid}/transactions/{transaction_guid}
Адреса сервиса.
terminal_guid — идентификатор банковского терминала. transaction_guid — идентификатор транзакции. Можно получить в списке транзакций.
Описание запроса.
Чтобы удалить транзакцию по СБП, отправьте DEL-запрос по адресу:
{base_url}/orgs/{org_guid}/terminals/quick-payments/{terminal_guid}/transactions/{transaction_guid}
Описание запроса.
Если нужно восстановить транзакцию по банковскому терминалу, отправьте POST-запрос по адресу:
{base_url}/orgs/{org_guid}/terminals/bank/{terminal_guid}/transactions/{transaction_guid}:unarchive
Описание запроса.
Если нужно восстановить транзакцию по СБП, отправьте POST-запрос по адресу:
{base_url}/orgs/{org_guid}/terminals/quick-payments/{terminal_guid}/transactions/{transaction_guid}:unarchive
Описание запроса.
На этом с транзакциями всё.
Возвраты
Провести через API полноценную операцию возврата средств не получится — обязательно понадобится карта покупателя для проведения денег через эквайринг. Но через API вы можете создать обратную сессию для выполнения возврата. Рассказываем, как работать с обратными сессиями.
Оформить возврат
За движения денежных средств в LIFE POS API отвечает объект Сессия. Сессия — это любое ваше взаимодействие с покупателем, в рамках которого передаются деньги или товары. Оплата продавцу, отгрузка товара или предоставление услуги — это прямые сессии, а возврат — обратная. Подробнее о сессиях.
Чтобы создать обратную сессию, отправьте POST-запрос по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/reversal
base_url — адрес сервиса. Возможные значения:
Возврат должен ссылаться на прямую сессию оплаты, а каждая часть платежа — на соответствующую часть платежа в этой прямой сессии. Для этого в описании операций, проведённых в рамках сессии, в объекте payment_parts используются объекты primary_sale_session и primary_payment_part соответственно. Передайте в них guid и type_of объектов, на которые хотите сослаться.
Подробное описание запроса.
Когда возврат будет оформлен, поменяйте статус сделки. Как поменять статус сделки.
Получить документ возврата
Чтобы получить список всех сессий, связанных с продажей, отправьте 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" : ,
"pages_total" : ,
"items_per_page" : ,
"items_total" : ,
В ответе представлены только записи 1–20. Чтобы посмотреть записи с 21 по 27, отправьте новый GET-запрос, указав page_token="OdDEFa2CzpYdp1CmlO9s9mjBn4NkUZB3CXKOtNfQWM0".
Чтобы получить данные конкретного возврата, отправьте GET-запрос по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/reversal/{session_guid}
session_guid — идентификатор сессии. Можно получить в списке всех сессий, связанных с продажей.
Описание запроса.
Изменить документ возврата
Когда возврат будет фискализирован, добавьте данные чека в описание сессии PATCH-запросом по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/reversal/{session_guid}
- Адреса сервиса.
- Описание запроса.
Удалить и восстановить возврат
Сессию нельзя удалить навсегда, но можно перенести в архив. Она исчезнет из интерфейса вашей учётной программы, но сохранится на сервере LIFE POS. Для этого отправьте DEL-запрос по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/reversal/{session_guid}
Чтобы восстановить архивную сессию, отправьте POST-запрос по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/reversal/{session_guid}:unarchive
Описание запроса.
Сессии коррекции
Бывает так, что в момент оплаты на точке нет интернета. Платёж невозможно провести сразу, но он фиксируется в системе и будет проведён позже, когда связь восстановится. Тогда в момент списания возникает прямая сессия коррекции. Также она возникает, когда вы печатаете чек коррекции — например, если в момент продажи кассовый чек пробить не удалось. Если же вы корректируете возврат, возникает обратная сессия коррекции.
Как и обратные сессии, все сессии коррекции должны быть привязаны к тем сессиям, которые они корректируют. Для этого в описании операций, проведённых в рамках сессии, в объекте payment_parts используются объекты primary_sale_session и primary_payment_part соответственно. Передайте в них guid и type_of объектов, на которые хотите сослаться. Подробнее о сессиях.
Исправить ошибку
Чтобы создать новую сессию коррекции, отправьте POST-запрос по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/direct-correction
Получить данные о коррекции
Чтобы получить список всех сессий, связанных с продажей, отправьте 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" : ,
"pages_total" : ,
"items_per_page" : ,
"items_total" : ,
В ответе представлены только записи 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/direct-correction
Адреса сервиса.
session_guid — идентификатор сессии. Можно получить в списке всех сессий, связанных с продажей.
Отредактировать коррекцию
Когда коррекция будет фискализирована, добавьте данные чека в описание сессии PATCH-запросом по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/direct-correction
Адреса сервиса.
Удалить и восстановить коррекцию
Сессию нельзя удалить навсегда, но можно перенести в архив. Она исчезнет из интерфейса вашей учётной программы, но сохранится на сервере LIFE POS. Для этого отправьте DEL-запрос по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/direct-correction
Адреса сервиса.
Чтобы восстановить архивную сессию, отправьте POST-запрос по адресу:
{base_url}/orgs/{org_guid}/deals/sales/{deal_guid}/sessions/direct-correction:unarchive
Адреса сервиса.
Отчёты
LIFE POS предоставляет подробные отчёты: по выручке, продажам, транзакциям, фискальным документам и т. д. Их можно посмотреть и скачать в личном кабинете (ЛК) LIFE POS, настроив период — например, квартал или полугодие. Если отчёты нужны вам регулярно за один и тот же период, проще настроить автоматическую выгрузку по API. Вы можете выгружать их в таблице Excel или в формате CSV, а также в различных срезах. Если файлы отчётов не подходят, или если нужно поменять представление, — получите данные отчётов по API и создайте свой интерфейс для работы с ними. Рассказываем, как это сделать.
Для передачи файлов используется тип данных multipart/form-data. Как работать с multipart.
Выручка за период
Чтобы получить файл отчёта, сперва нужно создать задачу на экспорт. Если экспортируете отчёт в таблицу Excel, создайте задачу POST-запросом по адресу:
{base_url}/orgs/{org_guid}/async/exports/revenueperiods:new.xlsx
base_url — адрес сервиса. Возможные значения:
- Описание запроса Excel.
- Описание запроса CSV.
Чтобы получить данные отчёта, отправьте GET-запрос по адресу:
{base_url}/orgs/{org_guid}/reports/revenue/periods
Описание запроса.
Выручка с группировкой по точкам
Отчёт нужен, чтобы сравнивать торговые точки по выручке между собой. В той точке, где выручки больше, можно увеличить сотрудникам план продаж, и наоборот.
{base_url}/orgs/{org_guid}/async/exports/revenueoutletsperiods:new.xlsx
Адреса сервиса.
- Описание запроса Excel.
- Описание запроса CSV.
Получить данные отчёта можно GET-запросом.
{base_url}/orgs/{org_guid}/reports/revenue/outletsperiods
- Описание запроса с группировкой.
- Описание запроса итогов.
Выручка с группировкой по курьерам
Отчёт нужен для построения индивидуальных планов мотивации. Вы увидите, кто из курьеров принёс больше выручки, и сможете поощрять отличившихся.
{base_url}/orgs/{org_guid}/async/exports/revenueemployeesperiods:new.xlsx
Адреса сервиса.
- Описание запроса Excel.
- Описание запроса CSV.
Чтобы получить данные отчёта, отправьте GET-запрос. Доступен также итоговый отчёт по курьерам.
{base_url}/orgs/{org_guid}/reports/revenue/employeesperiods
- Описание запроса с группировкой.
- Описание запроса итогов.
Получить данные задачи
Вы можете получить список всех задач на экспорт.
{base_url}/orgs/{org_guid}/async/exports/revenuereports
- Адреса сервиса.
- Описание запроса.
Данные выводятся постранично, по 20 записей на страницу. Если нужно получить данные второй страницы, возьмите из ответа значение параметра next_page_token и отправьте новый запрос, передав это значение в параметре page_token. Продолжайте до тех пор, пока параметр next_page_token не придёт пустым. Например, вы запросили данные о сотрудниках и получили такой ответ:
"next_page_token" : "OdDEFa2CzpYdp1CmlO9s9mjBn4NkUZB3CXKOtNfQWM0",
"page_number" : ,
"pages_total" : ,
"items_per_page" : ,
"items_total" : ,
В ответе представлены только записи 1–20. Чтобы посмотреть записи с 21 по 27, отправьте новый GET-запрос, указав page_token="OdDEFa2CzpYdp1CmlO9s9mjBn4NkUZB3CXKOtNfQWM0".
Также вы можете посмотреть данные конкретной задачи. Отправьте GET-запрос по адресу:
{base_url}/orgs/{org_guid}/async/exports/revenuereports/{task_guid}
task_guid — идентификатор задачи. Если вы не указали его при создании, LIFE POS создал его сам. Тогда его можно получить, запросив список задач на экспорт.
Описание запроса.
Следите за статусом задачи. Вот список статусов:
| Статус | Значение |
InQueue | В очереди |
InProgress | В работе |
WaitingForFeedback | Требуется обратная связь |
Completed | Отчёт готов |
Canceled | Задача отменена |
Скачать файл отчёта
Когда задача перейдёт в статус Completed, файл отчёта можно будет скачать. Чтобы скачать отчёт, отправьте GET-запрос по адресу:
{base_url}/orgs/{org_guid}/async/exports/revenuereports/{task_guid}/result.xlsx
Адреса сервиса.
task_guid — идентификатор задачи. Если вы не указали его при создании, LIFE POS создал его сам. Тогда его можно получить, запросив список задач на экспорт.
- Описание запроса Excel.
- Описание запроса CSV.
Отменить экспорт
Чтобы отменить задачу на экспорт отчётов о выручке, отправьте POST-запрос по адресу:
{base_url}/orgs/{org_guid}/async/exports/revenuereports/{task_guid}:cancel
Адреса сервиса.
task_guid — идентификатор задачи. Если вы не указали его при создании, LIFE POS создал его сам. Тогда его можно получить, запросив список задач на экспорт.
Описание запроса.
Вот и всё.