Partner / Rail API

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.

Pre autorización de ingresos (bancos)

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.

Autenticación de cada llamada

CampoDóndeObligatoriedadFormatoDescripción
x-conecta-key-idheaderObligatoriotextoIdentificador de la credencial del banco entregada por Monetae (por ejemplo credicomer_t365_prod).
x-conecta-timestampheaderObligatorioentero (segundos Unix)Momento de la llamada. Se rechaza un desfase mayor a 5 minutos contra el reloj de Conecta.
x-conecta-signatureheaderObligatoriohex (64)HMAC-SHA256 en hexadecimal de `timestamp.MÉTODO.ruta.cuerpo` calculado con el secreto compartido del banco.
x-client-cert-subjectheaderOpcionaltextoSujeto del certificado cliente cuando la conexión usa mTLS. Se valida contra la credencial registrada.

Ciclo de vida de una reserva

EstadoQué significa
reservadaAprobada y con cupo tomado. Espera confirmación o cancelación del banco.
confirmadaEl banco acreditó y Conecta registró el ingreso en la cuenta virtual.
canceladaEl banco liberó la operación. El cupo volvió a los límites.
vencidaPasaron 30 minutos sin confirmar. El cupo se liberó automáticamente.
rechazadaLa 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 motivoSignificado
OKCuenta activa y validaciones superadas
ACCOUNT_NOT_FOUNDNo existe una cuenta virtual con ese número
ACCOUNT_INACTIVELa cuenta virtual no está activa
ACCOUNT_CLOSEDLa cuenta virtual cerró su ciclo y no admite acreditaciones
COMPANY_INACTIVELa empresa titular no está activa
RAIL_DISABLEDEl riel o el corredor no están habilitados para la empresa
AMOUNT_BELOW_MINEl monto es menor al mínimo permitido
AMOUNT_ABOVE_MAXEl monto supera el máximo permitido por transacción
LIMIT_DAILY_EXCEEDEDSe superó el límite diario de la empresa
LIMIT_MONTHLY_EXCEEDEDSe superó el límite mensual de la empresa
LIMIT_COUNT_EXCEEDEDSe superó la cantidad máxima de transacciones del día
FRAUD_SUSPECTEDLa operación quedó marcada por reglas de prevención de fraude
AML_BLOCKEDLa operación fue bloqueada por listas y reglas AML
AML_UNAVAILABLE_REVIEWNo se obtuvo veredicto AML: se acredita y queda en revisión
ORIGINATOR_REQUIREDFaltan los datos del ordenante de la transferencia
ORIGINATOR_INVALIDLos datos del ordenante no cumplen el formato esperado
DUPLICATE_REQUESTLa referencia del banco ya tiene una decisión registrada
INVALID_REQUESTLa solicitud no cumple el formato esperado
UNAUTHENTICATEDLa firma o la credencial del banco no son válidas
NOT_FOUNDLa pre autorización indicada no existe
EXPIREDLa pre autorización venció y ya no puede confirmarse
ALREADY_SETTLEDLa pre autorización ya fue confirmada o cancelada
INTERNAL_ERROROcurrió un error al procesar la operación