Webhooks

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

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

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

Возможно предусмотреть запись идентификаторов обработанных вебхуков, чтобы не обрабатывать повторные запросы.

Настройка

  1. В качестве URL необходимо ввести адрес на который будут отправляться уведомления

  2. Необходимо выбрать события, о которых вы хотите получать уведомления

События

  1. Создание карты - происходит, когда в системе создается карта

  2. Обновление карты - происходит, когда карта обновляется

  3. Удаление карты - происходит, когда карту удаляют

  4. Установка карты на устройство - происходит, когда клиент устанавливает карту в приложение Apple Wallet или Google Pay

  5. Удаление карты с устройства - происходит, когда клиент удаляет карту в приложении 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