Mono Colombia
Bre-B ParticipantSandbox

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 unoCondición dosError 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_reason de 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",
  ...
}

En esta página