¿Que es un Webhook?
Un webhook es un mecanismo que permite la comunicación en tiempo real entre aplicaciones a través de una URL específica. Funciona enviando automáticamente una solicitud HTTPS (generalmente en formato JSON) a una dirección configurada cuando ocurre un evento determinado en un sistema. Se utiliza para integrar servicios, recibir notificaciones o sincronizar datos sin necesidad de realizar consultas constantes a una API.
¿Que necesitamos para lograr una integracion exitosa?
Tener definido que se requiere enviar, en que momento y a donde enviar el dato.
Las API´s que intervienen con sus respectivas documentaciones.
Que se cumplan con los protocolos de seguridad establecidos.
Pasos a seguir para integrar con un cliente:
Detección de necesidades: Comprender objetivamente los requerimientos del cliente mediante preguntas clave:
- ¿Qué información desea comunicar?
- ¿En qué evento o situación ocurre?
- ¿Es necesario integrarse con una API específica?
(Este paso puede ser realizado por el equipo de Nivel 1).
Recolección de documentación: Solicitar al cliente la documentación de su sistema tercerizado, incluyendo detalles sobre pruebas de conexión, parámetros y seguridad.
Análisis preliminar: Consolidar toda la información recopilada y elevarla al equipo de Nivel 2 para un análisis más detallado.
Evaluación de factibilidad: Una vez definido el alcance, remitir la integración al equipo de Consultoría Técnica para evaluar su viabilidad.
Configuracion Tecnica:
Se debe configurar los datos necesarios en el Maestro de Webhooks.
Los datos de la cabecera se configuran al definir el webhook. Además, las siguientes opciones están establecidas:
• FOLLOWLOCATION: No sigue redirecciones.
• TIMEOUT: Valor predeterminado = 0 (espera indefinidamente hasta que la operación se complete).
• SSL_VERIFYPEER: Verifica la autenticidad del certificado SSL. Si no es válido, la conexión se rechaza.
• USERAGENT: Valor interno.
• HTTPHEADER: Headers definidos en el webhook.
• POSTFIELDS: Datos en formato JSON enviados, disponibles en el panel de administración.
• CUSTOMREQUEST: Método HTTP especificado en el webhook.
• CURLOPT_ENCODING: Se establece en "" (vacío), lo que significa que no enviará el encabezado Accept-Encoding.
Puertos Predeterminados:
Los puertos están predeterminados por los protocolos, y si no se usan los estándares, se generará un error de conexión.
Los puertos por protocolo son:
• HTTP → Puerto 80
• HTTPS → Puerto 443
• FTP → Puerto 21
• SFTP → Puerto 22
• SMTP → Puerto 25 (o 587 si es con TLS)
Panel de Administración de Webhooks
Desde CristalWEB, existe un panel de administración de webhooks que permite:
• Monitorear intentos de conexión.
• Ver posts enviados.
• Consultar respuestas obtenidas.
Notas Adicionales
• Es importante verificar la configuración SSL al integrar webhooks con servidores externos.
• En caso de problemas de conexión, revisar si el puerto es el correcto según el protocolo.
• Se recomienda monitorear los registros en el panel de administración para detectar errores o respuestas inesperadas.