Transferencias salientes
Guía para probar y simular transferencias salientes en el entorno sandbox de Bre-B
Simulación exitosa
Para simular una transferencia saliente exitosa en el entorno sandbox, simplemente envía un request con una estructura de payload válida que pase todas las validaciones de negocio. No se requieren valores especiales de campo.
{
"tenant_account_id": "your_tenant_account_id",
"transfers": [
{
"external_id": "transfer_001",
"payment_id": "123856456",
"amount": {
"amount": 50000,
"currency": "COP"
},
"description": "Payment for services",
"query": {
"format": "plain_key",
"value": "user@email.com"
}
}
]
}Si recuperas la transferencia saliente usando este endpoint, verás la transferencia completada exitosamente:
{
"id": "bbot_5tgliBmzjZ6mpQPRbQjfKj",
"resolution_request_id": "bbtgr_5tgliBmzjZ6mpQPRbQjfKj",
"state": "successful",
"state_reason": null,
...
}Simulación de errores
Puedes simular errores en el entorno sandbox a través de reglas especiales que aplican a ciertos valores de campo del payload. Las siguientes son las reglas para simular errores en la creación de transferencias salientes:
| Condición uno | Condición dos | Error esperado en state reason |
|---|---|---|
| transfers[x].description contiene "tx_unknown" | unknown | |
| transfers[x].description contiene "tx_amount_exceeds_balance_limit" | amount_exceeds_balance_limit | |
| transfers[x].description contiene "tx_creditor_account_not_found" | creditor_account_not_found | |
| transfers[x].description contiene "tx_invalid_creditor_account" | invalid_creditor_account | |
| transfers[x].description contiene "tx_risk_control" | risk_control | |
| transfers[x].description contiene "tx_breb_timeout" | breb_timeout | |
| transfers[x].query.format = "plain_key" | transfers[x].query.value = "sandbox@tx_provider_unavailable.err" | provider_unavailable |
| transfers[x].query.format = "plain_key" | transfers[x].query.value = "sandbox@key_unknown.err" | unknown |
| transfers[x].query.format = "plain_key" | transfers[x].query.value = "sandbox@key_not_found.err" | key_not_found |
| transfers[x].query.format = "plain_key" | transfers[x].query.value = "sandbox@key_suspended.err" | key_suspended |
| transfers[x].query.format = "plain_key" | transfers[x].query.value = "sandbox@key_provider_unavailable.err" | provider_unavailable |
Nota: Estos errores están relacionados con la comunicación interna con el sistema Bre-B y son distintos de los errores relacionados con validación de datos. Estos errores se reflejan en el
state_reasonde la transferencia saliente.
Ejemplos
Simulando un error de Key Not Found
Si quieres simular un error cuando la llave Bre-B no existe para la creación de transferencias salientes, puedes enviar algo como:
{
"tenant_account_id": "your_tenant_account_id",
"transfers": [
{
"external_id": "transfer_001",
"payment_id": "123856456",
"query": {
"format": "plain_key",
"value": "sandbox@key_not_found.err"
}
}
]
}La respuesta será exitosa. Después, si recuperas la transacción saliente usando este endpoint, verás el error reflejado en el estado de la transferencia saliente:
{
"id": "bbot_5tgliBmzjZ6mpQPRbQjfKj",
"resolution_request_id": "bbtgr_5tgliBmzjZ6mpQPRbQjfKj",
"state": "failed",
"state_reason": "key_not_found",
...
}