Webhooks
Уведомления о событиях с картами по протоколу http(s)
Принцип работы
Когда происходит событие с картой, система отправляет POST запрос с телом в JSON на указанный URL. Отправка вебхука повторяется через 1-2 часа и через 24 часа. Система не ждет и не обрабатывает ответ по URL.
Настройка
Настройка вебхуков производится в разделе интеграций с CRM (https://app.passteam.io/vue/dist/settings/integrations/webhooks ссылка для настройки).
В качестве URL необходимо ввести адрес на который будут отправляться уведомления
Необходимо выбрать события, о которых вы хотите получать уведомления
События
Создание клиента - происходит, когда в системе создается клиент
Обновление клиента - происходит, когда клиент обновляется
Удаление клиента - происходит, когда клиента удаляют
Установка карты на устройство - происходит, когда клиент устанавливает карту в приложение Apple Wallet или Google Pay
Удаление карты с устройства - происходит, когда клиент удаляет карту в приложении Apple Wallet или Google Pay
Обработка вебхука
Вебхук отправляется POST запросом по введенному URL в формате JSON. Для обработки вебхука необходимо обрабатывать входящие POST запросы формата JSON.
Пример обработки вебхука
if (!empty(file_get_contents('php://input'))) {
$webhook = json_decode(file_get_contents('php://input'), true);
}
В переменной $webhook будет содержаться массив с данными
Отправляемые данные
Вебхук состоит из следующих полей:
webhookId - строка, идентификатор вебхука.
event - строка, тип события (createCard, updateCard, deleteCard, installCard, unInstallCard)
card - массив, данные по карте. В таком же формате как возвращает запрос на получение информации о карте.
Пример отправляемых данных
{
"card": {
"cardId": "5e451571cea6c6141807b792",
"cardCode": "000000018",
"cardUrl": "testUrl",
"appleUrl": "testUrl",
"googleUrl": "testUrl",
"qrcodeUrl": "testUrl",
"values": {
"%POINTS%": "1000"
},
"deviceRegistered": false,
"expirationDate": "",
"voided": 0,
"phoneNumber": "",
"email": "",
"strip": "",
"logo": "",
"icon": "",
"templateId": "5e424c181dbf0d537c8b4569",
"importUid": "",
"installedGPay": 0,
"installedAW": 0,
"installed": false,
"created": "13.02.2020 12:22:57",
"updated": "13.02.2020 12:22:57"
},
"event": "createCard",
"webhookId": "5e4515b1cea6c61fba2a4212"
}
Last updated
Was this helpful?