Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

101
Vistas
hacer posible registrar webhook a API

Soy bastante nuevo en los webhooks y necesito que sea posible registrar un webhook en una API que estoy creando. Uso esquemas para crear y almacenar datos. Quiero que el webhook emita un evento cada vez que se cree un nuevo objeto 'estudiante' a partir del esquema. Quiero que el usuario pueda enviar una solicitud de webhook a https://localhost:8080/api/webhook que contenga un secreto de enlace en el encabezado y junto con la URL, a la que se enviará el evento de emisión, en el cuerpo. Si creo un objeto a partir de, por ejemplo, un esquema de 'suscriptor' para cada webhook, ¿cómo debo emitir el evento a todos los webhooks?

Estoy escribiendo en Vanilla JS. Estoy usando Express y Socket.io para el servidor. MongoDB como base de datos.

¿Puedo usar res.io.emit() para hacerlo? Si es así, ¿cómo le digo a la función dónde enviar el evento de emisión?

Así es como actualmente registro un suscriptor/webhook:

 export class WebHook { authorize (req, res, next) { if (req.headers['x-app-secret'] !== process.env.HOOK_SECRET) { res.status(403).send('incorrect hook secret') return } next() } async registerSubscriber (req, res, next) { try { // Creates a new subscriber object. const subscriber = await Subscriber.insert(req.body, req.user).then(response => { return response }) res.status(200).end() } catch (error) { let err = error err = createError(500) err.innerException = error next(error) } } }

Esta es la función de cómo se crea un nuevo objeto de estudiante y dónde quiero que se notifique a todos los suscriptores:

 async create (req, res, next) { try { // Creates a new student object. const student = await Student.insert(req.body).then(response => { return response }) // SOMETHING LIKE "res.io.emit()" SHOULD HAPPEN HERE: res .status(201) .send('Accepted') .json(student) } catch (error) { let err = error err = createError(500) err.innerException = error next(error) } }
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda