Webhook
Nuestra API envía documentos electrónicos a través de un webhook que el cliente configura al crear una cuenta o compañía. Este webhook proporciona el estado del documento y devuelve todos los datos del documento, incluyendo los metadatos enviados durante su creación.
Configuración del Webhook
Al crear una cuenta o compañía, el cliente debe proporcionar una URL de webhook donde se enviarán las notificaciones de estado de los documentos electrónicos.
Estructura del Webhook
El webhook enviará una solicitud HTTP POST a la URL configurada con el siguiente payload:
{
"id": "123456",
"status": "succeded",
...
"metadata": {
"meta1": "value1",
"meta2": "value2",
...
}
}
Cabeceras de la Solicitud
La solicitud incluirá una cabecera Tandia-Signature que contiene un JWT (JSON Web Token) firmado. Los clientes pueden verificar la autenticidad de este JWT usando el secret que se les asigna al crear la cuenta.
Tandia-Signature: <jwt_token>
Verificación del JWT
Para verificar la autenticidad del JWT, los clientes deben utilizar el secret proporcionado al momento de la creación de la cuenta. El JWT garantiza que la solicitud proviene de nuestra API y no ha sido alterada.
Ejemplo de Verificación
Usando una biblioteca JWT en su lenguaje de preferencia, los clientes pueden decodificar y verificar la firma del JWT. A continuación, se muestra un ejemplo en pseudocódigo:
jwt_token = request.headers["Tandia-Signature"]
secret = "your_secret_assigned_at_account_creation"
decoded_token = decode_and_verify_jwt(jwt_token, secret)
if decoded_token is valid:
process_webhook_request()
else:
reject_request()
Conclusión
Este mecanismo asegura una comunicación segura y confiable entre nuestra API y los sistemas del cliente, permitiendo recibir actualizaciones de estado de los documentos electrónicos de manera efectiva y segura.
Si tienes alguna pregunta o necesitas asistencia adicional, no dude en contactarnos.