Webhooks
Уведомления о событиях с картами по протоколу http(s)

Принцип работы

Когда происходит событие с картой, система отправляет POST запрос с телом в JSON на указанный URL. Отправка вебхука повторяется через 1-2 часа и через 24 часа. Система не ждет и не обрабатывает ответ по URL.
Возможно предусмотреть запись идентификаторов обработанных вебхуков, чтобы не обрабатывать повторные запросы.

Настройка

Настройка вебхуков производится в разделе интеграций с CRM.
  1. 1.
    В качестве URL необходимо ввести адрес на который будут отправляться уведомления
  2. 2.
    Необходимо выбрать события, о которых вы хотите получать уведомления

События

  1. 1.
    Создание карты - происходит, когда в системе создается карта
  2. 2.
    Обновление карты - происходит, когда карта обновляется
  3. 3.
    Удаление карты - происходит, когда карту удаляют
  4. 4.
    Установка карты на устройство - происходит, когда клиент устанавливает карту в приложение Apple Wallet или Google Pay
  5. 5.
    Удаление карты с устройства - происходит, когда клиент удаляет карту в приложении Apple Wallet или Google Pay

Обработка вебхука

Вебхук отправляется POST запросом по введенному URL в формате JSON. Для обработки вебхука необходимо обрабатывать входящие POST запросы формата JSON.

Пример обработки вебхука

PHP
1
if (!empty(file_get_contents('php://input'))) {
2
$webhook = json_decode(file_get_contents('php://input'), true);
3
}
Copied!
В переменной $webhook будет содержаться массив с данными

Отправляемые данные

Вебхук состоит из следующих полей:
  • webhookId - строка, идентификатор вебхука.
  • event - строка, тип события (createCard, updateCard, deleteCard, installCard, unInstallCard)
  • card - массив, данные по карте. В таком же формате как возвращает запрос на получение информации о карте.

Пример отправляемых данных

1
{
2
"card": {
3
"cardId": "5e451571cea6c6141807b792",
4
"cardCode": "000000018",
5
"cardUrl": "testUrl",
6
"appleUrl": "testUrl",
7
"googleUrl": "testUrl",
8
"qrcodeUrl": "testUrl",
9
"values": {
10
"%POINTS%": "1000"
11
},
12
"deviceRegistered": false,
13
"expirationDate": "",
14
"voided": 0,
15
"phoneNumber": "",
16
"email": "",
17
"strip": "",
18
"logo": "",
19
"icon": "",
20
"templateId": "5e424c181dbf0d537c8b4569",
21
"importUid": "",
22
"installedGPay": 0,
23
"installedAW": 0,
24
"installed": false,
25
"created": "13.02.2020 12:22:57",
26
"updated": "13.02.2020 12:22:57"
27
},
28
"event": "createCard",
29
"webhookId": "5e4515b1cea6c61fba2a4212"
30
}
Copied!

Last modified 1yr ago