Мне удивительно трудно найти учебники. Я новичок в вебхуках и не использовал и не видел их, за исключением некоторых основных описаний того, как они должны работать.
Наш вариант использования для этого - обновление пользователей наших API, когда появляются новые записи. Поскольку мы используем Kafka и установили «возможную согласованность», другим способом может быть уведомление их об ошибках, когда записи не могут быть правильно прочитаны / записаны из потока Kafka.
Итак, основная концепция, насколько я вижу:
const express = require("express");
const router = express.Router();
const processSomething = callback => {
setTimeout(callback, 20000);
}
router.post("/hook", (req, res, next) => {
processSomething(() => {
res.status(200).send({
id: "ABC123",
message: "New record added!"
});
});
});
module.exports = router;
Это то, ради чего я стреляю? Будут ли пользователи отправлять сообщения в эту конечную точку, ждать ответа, а затем отправлять сообщения после получения ответа, чтобы повторно подписаться? Есть ли проблема с этим запуском в течение длительного периода или даже бесконечно?
Я действительно мог бы использовать более сложные примеры, но я просто не могу их найти. Большая часть того, что вы обнаруживаете при поиске в Google, включает в себя интеграцию сторонних веб-хуков, таких как Github, Slack и т. Д., А не пользовательских, что мне нужно построить.
Я тоже не против другого подхода полностью. Просто поиск лучшего способа уведомления пользователей API об обновлениях и другой важной информации.