Integración para bancos y rieles de pago conectados a Conecta. Las empresas usuarias no consumen estos endpoints: para operar tu empresa usá la Client API.
Solo para partners y bancos. La producción de cada partner se habilita al acordar su autenticación.
Este bloque no es para empresas usuarias: lo consume el banco del riel (hoy Credicomer sobre Transfer365) antes de acreditar una transferencia entrante hacia una cuenta virtual. Conecta valida en línea la cuenta, la empresa, los montos, los límites operativos, las reglas de fraude y el veredicto AML, y responde APPROVED, REVIEW o REJECTED. La decisión reserva la operación por 30 minutos; el banco confirma o cancela después.
| Campo | Dónde | Obligatoriedad | Formato | Descripción |
|---|---|---|---|---|
| x-conecta-key-id | header | Obligatorio | texto | Identificador de la credencial del banco entregada por Monetae (por ejemplo credicomer_t365_prod). |
| x-conecta-timestamp | header | Obligatorio | entero (segundos Unix) | Momento de la llamada. Se rechaza un desfase mayor a 5 minutos contra el reloj de Conecta. |
| x-conecta-signature | header | Obligatorio | hex (64) | HMAC-SHA256 en hexadecimal de `timestamp.MÉTODO.ruta.cuerpo` calculado con el secreto compartido del banco. |
| x-client-cert-subject | header | Opcional | texto | Sujeto del certificado cliente cuando la conexión usa mTLS. Se valida contra la credencial registrada. |
| Estado | Qué significa |
|---|---|
| reservada | Aprobada y con cupo tomado. Espera confirmación o cancelación del banco. |
| confirmada | El banco acreditó y Conecta registró el ingreso en la cuenta virtual. |
| cancelada | El banco liberó la operación. El cupo volvió a los límites. |
| vencida | Pasaron 30 minutos sin confirmar. El cupo se liberó automáticamente. |
| rechazada | La decisión fue REJECTED: nunca hubo reserva. |
Cada llamada va firmada. El banco envía x-conecta-key-id, x-conecta-timestamp (segundos, desfase máximo 5 minutos) y x-conecta-signature, que es el HMAC-SHA256 en hexadecimal de timestamp.MÉTODO.ruta.cuerpo con el secreto compartido. Cuando el banco habilite certificados, se suma mTLS sin cambiar el contrato. La referencia bank_reference es la llave de idempotencia: repetir la misma llamada devuelve la misma decisión, nunca una segunda reserva.
Reintentos seguros. Ante un timeout o una respuesta perdida, reintentá la misma llamada tal cual. Enviá además x-conecta-correlation-id (o correlation_id en el cuerpo) con un identificador propio y estable de la operación: Conecta lo usa como segunda llave de idempotencia y lo devuelve en cada respuesta. Una repetición llega con "replayed": true y exactamente la misma decisión y el mismo auth_id. La confirmación se toma de forma exclusiva: si dos reintentos llegan a la vez, uno acredita y el otro recibe 409 DUPLICATE_REQUEST para reintentar más tarde; nunca se acredita dos veces. Si la acreditación falla internamente, la reserva queda liberada y el reintento vuelve a intentarlo. Cancelar dos veces devuelve la misma respuesta; cancelar algo ya confirmado responde 409 ALREADY_SETTLED.
Si CORSA no responde, la operación se aprueba con AML_UNAVAILABLE_REVIEW y queda marcada para revisión manual en el Portal. Un bloqueo explícito de listas sí rechaza.
| Código de motivo | Significado |
|---|---|
| OK | Cuenta activa y validaciones superadas |
| ACCOUNT_NOT_FOUND | No existe una cuenta virtual con ese número |
| ACCOUNT_INACTIVE | La cuenta virtual no está activa |
| ACCOUNT_CLOSED | La cuenta virtual cerró su ciclo y no admite acreditaciones |
| COMPANY_INACTIVE | La empresa titular no está activa |
| RAIL_DISABLED | El riel o el corredor no están habilitados para la empresa |
| AMOUNT_BELOW_MIN | El monto es menor al mínimo permitido |
| AMOUNT_ABOVE_MAX | El monto supera el máximo permitido por transacción |
| LIMIT_DAILY_EXCEEDED | Se superó el límite diario de la empresa |
| LIMIT_MONTHLY_EXCEEDED | Se superó el límite mensual de la empresa |
| LIMIT_COUNT_EXCEEDED | Se superó la cantidad máxima de transacciones del día |
| FRAUD_SUSPECTED | La operación quedó marcada por reglas de prevención de fraude |
| AML_BLOCKED | La operación fue bloqueada por listas y reglas AML |
| AML_UNAVAILABLE_REVIEW | No se obtuvo veredicto AML: se acredita y queda en revisión |
| ORIGINATOR_REQUIRED | Faltan los datos del ordenante de la transferencia |
| ORIGINATOR_INVALID | Los datos del ordenante no cumplen el formato esperado |
| DUPLICATE_REQUEST | La referencia del banco ya tiene una decisión registrada |
| INVALID_REQUEST | La solicitud no cumple el formato esperado |
| UNAUTHENTICATED | La firma o la credencial del banco no son válidas |
| NOT_FOUND | La pre autorización indicada no existe |
| EXPIRED | La pre autorización venció y ya no puede confirmarse |
| ALREADY_SETTLED | La pre autorización ya fue confirmada o cancelada |
| INTERNAL_ERROR | Ocurrió un error al procesar la operación |