Webhooks
Introducción

Webhooks

Los webhooks te permiten recibir notificaciones en tu servidor cuando ocurre un evento, mediante una solicitud POST a una URL tuya. Es la alternativa a consultar el estado en polling.

Qué necesitás

  • Un servidor con una URL pública, accesible por HTTPS, capaz de recibir solicitudes POST.
  • Poder responder esa solicitud con 200 o 201 dentro del tiempo de espera. Ver Recibir notificaciones.

Cómo se integra

  1. Preparás tu endpoint para recibir las notificaciones con el formato que se describe en Recibir notificaciones.
  2. Creás una suscripción indicando tu URL, el tipo de evento y una clave secreta.
  3. Validás la firma de cada notificación entrante con esa clave, antes de procesarla.
⚠️

Guardá el secretKey de forma segura en tu servidor en el momento de crear la suscripción. Lo vas a necesitar para validar cada notificación que recibas, y no se puede recuperar después.

Tipos de evento

EventoSe dispara cuando
NEW_MONEY_MOVEMENTSe registra un nuevo movimiento de dinero entre cuentas del usuario.
TRXPULL_AP_TOKEN_GIVENSe otorga acceso mediante un token para transferencias pull.
TRXPULL_WALLET_TOKEN_REVOKEDSe revoca un token de acceso para transferencias pull.

NEW_MONEY_MOVEMENT es el evento que notifica, entre otros movimientos, los cobros por QR: cuando el movimiento corresponde a un cobro de QR, la notificación incluye el order_id del QR que lo originó.

Los eventos TRXPULL_* corresponden a Open Banking.

ℹ️

Una suscripción por tipo de evento. Cada llamada a Crear suscripción registra un solo evento. Si querés recibir los tres, hacé tres llamadas.

Manejo de errores

Los errores de negocio devuelven HTTP 400 con el siguiente formato:

JSON 400
{
    "exceptionType": "Business",
    "errors": [
        {
            "code": "WebHookNotification_InvalidSecretKey",
            "description": "La clave secreta no es segura"
        }
    ]
}
HTTPCódigoCuándo ocurre
400WebHookNotification_InvalidSecretKeyEl secretKey no cumple los requisitos mínimos
400WebHookNotification_UndefinedEventTypeEl tipo de evento indicado no existe
400WebHookNotification_SubscriptionNotFoundNo hay una suscripción activa para el evento indicado
401—Falta el header Authorization, o el token está vencido o es inválido

Los errores genéricos comunes a todos los servicios están detallados acá.