1. Создать страничку или API, на которую будет присылаться хук. Она должна успешно отвечать на запрос:
curl -X POST https://exemple.com -d "name=sessionUpdate&data[id]=5&data[user_id]=1&data[session_key]=11111111111111111111111111111111&data[create_date]=2019-09-12%2013:29:51&data[update_date]=now()&data[php_session]=22222222222222222222222222&data[IP]=172.18.0.1&data[is_support]=0]¶ms[dop_param1]=param1¶ms[dop_param2]=param2¶ms[dop_param3]=param3"
где exemple.com — это полный путь к файлу обработчика
2. В настройках Ветменежера выбрать Справочники → Сервисы для хук-уведомлений → Добавить. Заполнить поля и нажать кнопку Сохранить.
Если необходимо ограничить выборку по событиям (из большого списка протестировать только некоторые из них), то необходимо эти события перечислить в поле "Параметр 3" хука. (Важно! В "Параметр 3" должна быть или пустота, или название событий через запятую. Ничего другого не допускается.) В этом случае из хука будут слаться запросы только при срабатывании событий, перечисленных в этом параметре. Например: invoiceAdd,invoiceEdit.

3. Пример получения данных на событие goodEdit (редактирование товара). Ваш сайт получит данные в виде массива:
[
["name"]=> "goodEdit"
["data"]=> [
["id"]=> "5380"
["group_id"]=>"65"
["title"]=>"sfsdf"
["unit_storage_id"]=>"5"
["is_warehouse_account"]=>"1"
["is_active"]=>"1"
["code"]=>""
["is_call"]=>"0"
["is_for_sale"]=>"1"
["barcode"]=>""
["description"]=>""
["prime_cost"]=>"0.0000000000"
]
["params"]=> [
["dop_param1"]=>"1" <- здесь будет значение, которое было введено в настройках хука в поле "Параметр 1"
["dop_param2"]=>"2"
["dop_param3"]=>"3"
]
]Не отправленные хуки можно посмотреть, используя api: Доступ к хукам, которые не удалось отправить.
Если на сервис клиента не удалось отправить более 1000 запросов, то сервис отключается и хуки на него больше не отправляются. Чтобы восстановить работу, необходимо почистить список упавших хуков, как описано в инструкции.
Ветменеджер поддерживает следующие события:
| Название события | Описание | Данные события |
| admissionInvoicesSumChanged | срабатывает, когда выполняется счет на клиента для приемов, которые запланированы на тот же день, что и счет. | данные по приему, где id - ид приема, invoices_sum - сумма по счетам, admission_date - дата приема, client_id - ид клиента, patient_id - ид питомца, status - статус приема |










4. Пример запроса на получение id справочника с хук-уведомлениями
curl --location --request GET 'https://{Domain URL}/rest/api/ComboManualName?filter=[{'property':'name', 'value':'services_for_hooks'}]' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}' \Ответ сервера:
{
"success": true,
"message": "Records Retrieved Successfully",
"data": {
"totalCount": "1",
"comboManualName": [
{
"id": "11",
"title": "Сервисы для хук-уведомлений",
"is_readonly": "0",
"name": "services_for_hooks",
"comboManualItems": [
{
"id": "199",
"combo_manual_id": "11",
"title": "admissionAccepted",
"value": "value",
"dop_param1": "1", <-параметры введённые в настройках Хука
"dop_param2": "2",
"dop_param3": "3",
"is_active": "0"
},
....
{
"id": "187",
"combo_manual_id": "11",
"title": "noName",
"value": "value",
"dop_param1": "1",
"dop_param2": "2",
"dop_param3": "3",
"is_active": "0"
}
]
}
]
}
}5. Пример запроса на получение списка хук-уведомлений с фильтром по id справочника
curl --location --request GET 'https://{Domain URL}/rest/api/ComboManualItem?filter=[{'property':'combo_manual_id', 'value':'{{ID}}'},{'property':'is_active', 'value':'1'}]' \
--header 'Content-Type: application/json' \
--header 'X-REST-API-KEY: {REST API KEY}' \Параметры:
is_active: 0 - неактивный, 1 - активный is_active: 0 - хук уведомления не отправляются
Ответ сервера:
{
"success": true,
"message": "Records Retrieved Successfully",
"data": {
"totalCount": "1",
"comboManualItem": [
{
"id": "251",
"combo_manual_id": "11",
"title": "startInvoiceRun",
"value": "value",
"dop_param1": "1", <- параметры введённые в настройках Хука
"dop_param2": "2",
"dop_param3": "3",
"is_active": "1",
"comboManualName": {
"id": "11",
"title": "Сервисы для хук-уведомлений",
"is_readonly": "0",
"name": "services_for_hooks"
}
}
]
}
}