RUS
  • ENG
  • RUS

Вебхуки

Последние изменения: 23.11.2022

Вебхук (Webhook) -  механизм оповещения системы о событиях, которые отправляются на указанный сторонний сервис.

Описание метода webhook

Примеры запросов в Partner API

В UDS Бизнес Вы можете настроить вебхуки на следующие события:

  • Появление нового клиента в компании.

  • Проведение стандартной операции.

  • Получение о поступлении заказа.

UDS отправляет вебхук методом POST с JSON-объектом в теле запроса. Для безопасности вебхуки хешируются с помощью md5, что позволяет Вашему серверу убедиться, что данные отправляются именно от UDS.

Для настройки вебхука нужно зайти в Настройки UDS Бизнес в раздел Интеграция, включить настройку вебхуки и указать адрес Вашего сервера, который будет обрабатывать отправляемые данные.

Важно! Для отправки вебхуков необходимо сгенерировать API Key, если он отсутствует

mceclip0.png

  

Принимающий вебхук сервер при успешной обработке данных должен отвечать 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
}

Помогла ли вам статья?