Уведомления об операциях
LIFE POS может уведомлять вас об операциях с продажами: создание, изменение и удаление. Для этого он отправляет API-запросы к клиенту. В запросе приходит содержимое объекта на момент выполнения операции.
Чтобы уведомления продолжали отправляться, на запросы от LIFE POS нужно отвечать кодом ответа HTTP 200. Если в течение суток ни на один запрос такой ответ не получен, то отправка уведомлений отключается.
Для отправки уведомлений нужно подключить бесплатное расширение. Рассказываем, как это сделать.
##Включение уведомлений Чтобы включить уведомления, отправьте PATCH-запрос по адресу:
{base_url}/v6/orgs/{org_guid}
base_url
— адрес сервиса. Возможные значения:- https://api-dev.life-pos.ru — тестовый API,
- https://api.life-pos.ru — рабочий API.
- org_guid — id организации в LIFE POS.
В параметре заголовка X-LP-Client-Extensions
передайте значение notification_service
.
Также в теле запроса в параметре value
отправьте параметры для настройки уведомлений:
turned_on
— определяет включена отправка уведомлений или нет.true
— уведомления включены,false
— выключены;primary_url_for_notifications
— основной URL для отправки уведомлений, обязательный параметр.secondary_url_for_notifications
— дополнительный URL для отправки уведомлений. Указывать необязательно. Используется при проблемах с отправкой на основной URL.
Пример запроса в curl:
curl -i -X PATCH \
-H "X-LP-Client-Identifier:a6680000" \
-H "X-LP-Client-Type:app" \
-H "Accept-Language:en-US" \
-H "X-LP-Client-Extensions:notification_service" \
-d \
'[
{
"op": "add",
"path": "/extensions/notification_service",
"value": {
"turned_on": "true",
"primary_url_for_notifications": "https://example.com/lifePOS/update",
"version": "1.0"
}
}
]' \
'https://api.life-pos.ru/v5/orgs/aa000000'
Логика работы
После добавления расширения через параметр заголовка X-LP-Client-Extensions
для организации будет создана очередь уведомлений. У каждой организации может быть только одна очередь. В очередь попадают уведомления, которые не удалось отправить с первого раза.
Если в X-LP-Client-Extensions
не передано значение notification_service
, то очередь уведомлений будет удалена.
При добавленном расширении вы можете принудительно включать его или выключать. Это делается через параметр turned_on
. Если расширение включено, то периодически происходят попытки отправить уведомления из очереди. Если выключено, то отправка не происходит и уведомления накапливаются в очереди.
Логика отправки уведомлений
У каждой организации может быть только одна очередь и один процесс отправки уведомлений. Отправка уведомлений происходит только в прямой последовательности по очереди.
После любых изменений организации процесс отправки уведомлений останавливается. Обработчик уведомлений будет удален и создан новый с сохранением очереди.
Если в течение суток не удалось отправить ни одно уведомление, обработчик уведомлений будет остановлен. Чтобы перезапустить его, обновите организацию PATCH-запросом или выключите расширение и включите повторно.