Recibir notificaciones
Cuando ocurre un evento al que estás suscripto, Propago envía una solicitud POST a tu notificationUrl con el cuerpo que se describe abajo.
Estructura común
Todas las notificaciones comparten la misma envoltura:
| Campo | Tipo | Descripción |
|---|---|---|
action | string | El tipo de evento, igual al notificationType con el que te suscribiste. |
datetime_created | datetime | Momento en que se generó el evento. |
data | object | Contenido propio del evento. Su forma depende de action. |
trace_id | string | Identificador único de la notificación. |
Validar antes de procesar
Cada notificación llega firmada. Validá la firma antes de procesar el contenido, y validá también el timestamp para descartar retransmisiones.
Confirmar la recepción
Tu endpoint tiene que responder 200 (OK) o 201 (CREATED). Cualquier otra respuesta, o la falta de respuesta dentro del tiempo de espera, se interpreta como que la notificación no llegó y dispara un reintento.
Respondé primero, procesá después. El tiempo de espera del primer envío es de 30 segundos, y el de los reintentos de 5. Si tu endpoint hace trabajo pesado antes de contestar, vas a recibir reintentos de notificaciones que en realidad procesaste bien. Confirmá la recepción y encolá el procesamiento.
Política de reintentos
| Evento | Plazo después del primer envío | Tiempo de espera de confirmación |
|---|---|---|
| Envío | — | 30 segundos |
| 1.er intento | 15 minutos | 5 segundos |
| 2.º intento | 30 minutos | 5 segundos |
| 3.er intento | 6 horas | 5 segundos |
| 4.º intento | 48 horas | 5 segundos |
| 5.º intento | 72 horas | 5 segundos |
Los tiempos son aproximados. Después del último intento, la notificación se marca como finalizada sin éxito y no se vuelve a enviar.
Tu endpoint tiene que tolerar duplicados. Con hasta cinco reintentos, una notificación que procesaste pero no confirmaste a tiempo te va a llegar de nuevo. Hacé que procesar dos veces la misma notificación no duplique efectos de tu lado.
NEW_MONEY_MOVEMENT
Se dispara cuando se registra un nuevo movimiento de dinero entre cuentas del usuario.
{
"action": "NEW_MONEY_MOVEMENT",
"datetime_created": "2026-03-04T15:08:37.6122851",
"data": {
"type": "DEBIT",
"sub_type": "OTHER",
"source": {
"account": "0000099900000012345678",
"taxNumber": "30123456789"
},
"target": {
"account": "0000099900000087654321",
"taxNumber": "20345678901"
},
"currency": "ARS",
"amount": 19.99,
"transaction_ids": [
"RM 1a2b3c4d5e6f7890abcdef1234567890"
],
"order_id": "PQR-000987654"
},
"trace_id": "6b758d443b6e4c9e87be646fbc80d892906484329b8546fa8fc9339ba6d8fb1e"
}Información adicional sobre campos
source/target:accountes el CVU de la cuenta,taxNumberel CUIT o CUIL de su titular.order_id(opcional): identificador del QR que originó el movimiento, el mismopropagoQrIdque usan los servicios de QR de cobro. Solo viene cuando el movimiento corresponde a un cobro por QR; se omite en el resto de los casos.
Este evento es la alternativa al polling para cobros por QR. En vez de consultar el estado de cada QR, podés suscribirte a NEW_MONEY_MOVEMENT y correlacionar por order_id. Ver Consultar estado.
TRXPULL_AP_TOKEN_GIVEN y TRXPULL_WALLET_TOKEN_REVOKED
Se disparan cuando se otorga o se revoca un token de acceso para transferencias pull. Ambos comparten la misma forma; cambia el action. Corresponden a Open Banking.
{
"action": "TRXPULL_AP_TOKEN_GIVEN",
"datetime_created": "2026-08-02T12:18:19.883045",
"data": {
"iss": "33550",
"aud": "33563",
"accounts": [
"0000099900000012345678"
],
"cui": "23244825664"
},
"trace_id": "5ac58915-6b44-44c4-b1e4-89bfa599f990"
}