Notificaciones por WebSocket
Muchas operaciones de la API son asíncronas: la respuesta HTTP inicial confirma que la
operación se aceptó (status: pending), pero el resultado final llega por un canal WebSocket.
El PSP no hace webhooks HTTP salientes hacia tu servidor: sos vos quien mantiene abierta una
conexión WebSocket.
Flujo
- Iniciás una operación por HTTP.
- Si es asíncrona, la respuesta trae
status: pendingy unowner(más unttlen segundos). - Mantenés una conexión WebSocket activa asociada a tu
owner. - Cuando la operación termina, PSP envía un mensaje
operation_completepor ese canal. - Procesás el mensaje y actualizás tu estado interno.
Endpoint
WS {ws_base_url}/notifications?owner={ownerId}
{ws_base_url} es el equivalente WebSocket de tu base_url (wss://…), que te entrega el equipo
de PSP. {ownerId} es el owner que recibiste en la respuesta de la operación.
La conexión WebSocket se autentica con la misma firma HMAC que las requests HTTP (usando tu
signature_key / signature_secret). Ver Autenticación.
Script de ejemplo
El equipo de PSP te entrega un script de ejemplo (comprimido) que:
- arma la firma HMAC-SHA256 con
signature_keyysignature_secret, - abre la conexión WebSocket al endpoint de notificaciones,
- y escucha los mensajes de resultado de operaciones.
Parámetros que configurás en el script:
| Parámetro | Valor |
|---|---|
API_KEY | tu signature_key |
API_SECRET | tu signature_secret |
WS_URL | URL WebSocket del entorno |
OWNER_ID | el owner de tu integración / operación |
Mensaje operation_complete
Cuando una operación finaliza, recibís un mensaje con el operationId y su estado final. Cruzá
el operationId con el que recibiste en la respuesta HTTP para saber a qué operación corresponde.
Para consultar el detalle completo podés usar
GET /api/v1/operation/:operation_id o
GET /api/v1/movement/:operation_id.
Mantené la conexión viva y reconectá si se cae. El ttl de la respuesta indica por cuánto tiempo
el owner sigue siendo válido para recibir la notificación de esa operación.