| HTTP | Mensaje | Causa |
|---|
| 200 | "Connection available" | GET /api/v1/connection exitoso |
| 200 | { success: true, ... } | Operación exitosa |
| 400 | "STP error en api de creacion de cuenta: ..." | STP rechazó el registro de cuenta |
| 401 | "Error al obtener credenciales" | Secrets Manager no devolvió credenciales de BD |
| 401 | "Error al obtener datos bancarios" | Secrets Manager no devolvió secreto STP |
| 500 | "No se encontro controlador" | Campo module inválido |
| 500 | "Parametro method no encontrado" | Falta el campo method en el body |
| 500 | "cuenta no encontrada" | La cuenta no existe en BD al actualizar |
| 500 | "no se actualizo ningun registro" | Fallo al actualizar estado de cuenta en BD |
| 500 | "La cuenta no cuenta con saldo suficiente" | Saldo insuficiente para la transferencia |
| 500 | "No se encontro un plan con transacciones restantes" | Sin plan activo o remaining_transactions <= 0 |
| 500 | "Error al realizar transaccion" | STP devolvió error al registrar la orden |
| 500 | "Error al guardar transaccion" | Fallo al escribir en MySQL |
| 500 | "error al enviar mensaje a sqs para creacion de poliza" | Fallo al publicar en SQS de Odoo |
| 500 | "Error al crear mensaje sqs" | Fallo en SQS de webhook al cliente |
| HTTP | Body | Causa |
|---|
| 200 | { message: "recibido" } | Notificación procesada correctamente |
| 200 | { mensaje: "recibido" } | Estado de transacción actualizado (PUT) |
| 400 | { message: "devolver", id: 1 } | Cuenta beneficiaria no existe en BD |
| 400 | { message: "devolver", id: 2 } | Cuenta inactiva o usuario bloqueado/sellado |
| 401 | { message: "faltan credenciales" } | Secrets Manager falló en rutas STP |
| 500 | { message: "error validando firma" } | Firma RSA inválida (solo ENV=prod) |
Las alertas se registran en la tabla alert de MySQL y pueden generar notificaciones adicionales.
| Código | Descripción | URL en portal | Notificaciones generadas |
|---|
VRSTP | Cuenta rechazada por STP durante onboarding | /users/review | Email cliente (REJECT) + Email PLD + WebSocket admin |
ZAR | Transferencia hacia zona de alto riesgo geográfico | /transactions/global | Email PLD + WebSocket admin |
DLA | Transferencia supera límite del director, pendiente de aprobación | /transactions/unapproved | Email director + WebSocket admin |
FABONO | Se alcanzó el umbral de abonos del mes | /account/transactions | Notificación usuario |
FCARGO | Se alcanzó el umbral de cargos del mes | /account/transactions | Notificación usuario |
| Template | Evento |
|---|
ACCOUNT_CREATED | Cuenta registrada en STP (pendiente de activación) |
TRANSACTION_IN | Abono recibido |
TRANSACTION_OUT | Cargo enviado a STP |
TRANSACTION_RETURNED | Transacción saliente cancelada/devuelta por STP |
ON_BOARDING_RESULT_REJECT | Cuenta rechazada por STP — correo al cliente |
ON_BOARDING_RESULT_REJECT_PLD | Cuenta rechazada por STP — correo al área PLD |
TRANSACTION_HIGH_RISK_AREA | Transferencia a zona de alto riesgo — correo al área PLD |
STP_CONNECTION_APPROVE_PENDING | Transferencia pendiente de aprobación del director |
LOW_REMAINING_TRANSACTIONS | Plan con pocas transacciones restantes (50 o 20) |
TRANSACTION_DIRECTOR_LIMIT_DENIED | Transferencia rechazada por el director |