Webhooks
Preguntas a la API del proveedor cada diez minutos por si ha pasado algo
Casi nunca ha pasado nada, y cuando pasa te enteras diez minutos tarde. Que te avisen a ti es más rápido y más barato, pero obliga a resolver dos cosas que casi nadie resuelve.
Describir lo que necesitoLas dos cosas que hay que resolver
Comprobar que el aviso es de quien dice ser
La dirección es pública: cualquiera puede llamarla. Sin comprobar la firma, un aviso falso puede marcar como pagado un pedido que nadie pagó.
Soportar que el mismo aviso llegue dos veces
Los proveedores reenvían cuando dudan de que llegara. Si el aviso no es idempotente, un reenvío se convierte en un cobro duplicado o en un envío repetido.
Y comprobarlo en la puerta, no dentro
La validación va en la ruta que recibe, antes del proceso que decide. Si vive dentro de un proceso editable, el día que alguien lo cambia deja de comprobarse y nadie se entera.
Lo que cuesta montar la entrada
Abrir la dirección y comprobar la firma es barato. Lo que se presupuesta es lo que el aviso tiene que hacer con tus datos, que es donde está el negocio y también el riesgo.
Cuéntanos quién debería avisarte
Dinos qué proveedor ofrece avisos y qué tendría que pasar al recibirlos. Te devolvemos el esquema.
Lo que nos preguntan de los webhooks
¿Es seguro abrir una dirección pública?
Lo es si se comprueba la firma antes de hacer nada, que es como está montado. Una dirección pública sin comprobación es un interruptor que puede pulsar cualquiera.
¿Y si el aviso llega cuando estáis caídos?
Los proveedores reintentan, y por eso el aviso tiene que soportar llegar dos veces. Además queda la vía de descargar el periodo por si alguno se perdió del todo.
