Вебхук (Webhook) - механизм оповещения системы о событиях, которые отправляются на указанный сторонний сервис.
Примеры запросов в Partner API
. Вебхуки позволяют получать уведомления о следующих событиях:
Появление нового клиента в компании.
Проведение стандартной операции.
Получение нового заказа.
Настройка вебхуков:
Перейдите в раздел «Настройки» UDS Бизнес.
Выберите вкладку «Интеграция».
Включите опцию «Вебхуки» и укажите URL вашего сервера для обработки данных.
Важно: Для отправки вебхуков необходимо сгенерировать API Key, если он отсутствует.
Технические детали:
UDS отправляет вебхуки методом POST с JSON-объектом в теле запроса.
Для безопасности данные хешируются с помощью MD5, что позволяет вашему серверу убедиться в подлинности отправителя.
При успешной обработке сервер должен ответить HTTP-кодом 200 в течение 5 секунд. В противном случае UDS повторит попытку отправки через 5 минут (максимум три попытки).

Примеры отправляемых вебхуков
Присоединение нового клиента
{
"phone": +78007754524,
"gender": "NOT_SPECIFIED",
"uid": "18c354ec-278b-41cd-a003-0214f448f299",
"birthDate": "1999-06-21",
"avatar": null,
"participant": {
"cashbackRate": 11,
"dateCreated": "2021-06-21T09:46:28.054Z",
"discountRate": 0,
"id": 1099123456789,
"inviterId": 1090123456789,
"lastTransactionTime": null,
"membershipTier": {
"conditions": {
"effectiveInvitedCount": null,
"totalCashSpent": null
},
"name": "Базовый",
"rate": 11,
"uid": "base"
},
"points": 100
},
"displayName": "Иван Иванов"
}
Получение нового заказа
{
"cash": 270,
"onlinePayment": null,
"purchase": {
"cash": 270,
"discountAmount": 0,
"certificatePoints": 0,
"maxPoints": 10,
"extras": {},
"netDiscount": 10,
"points": 10,
"netDiscountPercent": 3.57,
"cashBack": 9.9,
"total": 280,
"cashTotal": 270,
"skipLoyaltyTotal": 180,
"pointsPercent": 3.57,
"discountPercent": 0
},
"delivery": {
"address": null,
"branch": {
"displayName": "ул. Мира, 1, Москва, Россия, 123456",
"id": 2199023540548
},
"deliveryCase": null,
"receiverName": "Иван Иванов",
"receiverPhone": "+78007754524",
"type": "PICKUP",
"userComment": "Комментарий от клиента"
},
"certificatePoints": 0,
"customer": {
"displayName": "Иван Иванов",
"id": 1099123456789,
"membershipTier": {
"conditions": {
"effectiveInvitedCount": null,
"totalCashSpent": null
},
"name": "Базовый",
"rate": 11,
"uid": "base"
},
"uid": "18c123ec-278b-41cd-a003-0214f448f299"
},
"comment": null,
"dateCreated": "2021-06-21T09:47:29.372Z",
"points": 10,
"id": 876619,
"total": 280,
"items": [
{
"externalId": "coffee_cappuccino1",
"id": 1594565,
"name": "Капучино",
"price": 90,
"qty": 2,
"sku": "1,
"type": "VARYING_ITEM",
"variantName": "Маленький 100 мл"
},
{
"externalId": null,
"id": 1463419,
"name": "Шарф",
"price": 100,
"qty": 1,
"sku": "",
"type": "VARYING_ITEM",
"variantName": "черный"
}
],
"paymentMethod": {
"name": null,
"type": "CASH"
},
"state": "NEW"
}
Проведение операции
{
"id": 296982952,
"dateCreated": "2021-06-21T09:43:40.605Z",
"action": "PURCHASE",
"state": "NORMAL",
"customer": {
"id": 1099123456789,
"uid": "aa11d203-d643-4cce-bb2b-e70efcab74a5",
"displayName": "Иван Иванов",
"membershipTier": {
"uid": "f91234fc-3f24-45ea-8eb1-16d00a7370d2",
"name": "PLATINUM",
"conditions": {
"totalCashSpent": {
"target": 10000
}
},
"rate": 21
}
},
"cashier": {
"id": 2712234337919,
"displayName": "UDS Admin"
},
"points": -10,
"cash": 990,
"total": 1000,
"receiptNumber": null
}