core bancario
) de la entidad financiera.
DOWNLOAD
con el ID correspondiente (CUS) en la base de datos del banco.Casos de crédito
Caso 1: Transferencia de crédito regular
SEND
o REQUEST
. Este paso representa el tercero en el flujo UPLOAD → SEND → DOWNLOAD
(o DEBIT → SEND → CREDIT
).Caso 2: Reversión de débito
SEND
o REQUEST
. Es decir, el usuario original recupera el dinero como parte del proceso de reversión (REJECT
).Pasos para procesar el crédito
Crear acción DOWNLOAD
Consultar datos del firmante objetivo
Action.snapshot.target.signer.handle
y recuperar los datos de la cuenta bancaria localmente.Analizar tipo de operación
Action.labels.type
para determinar si se trata de un crédito normal por SEND
, REQUEST
o una reversión por REJECT
.Decidir aceptar o rechazar la transferencia
status: "REJECT"
. Si se acepta, retornar con status: "PENDING"
.Cargar Keeper del firmante objetivo
Action.snapshot.target.signer.handle
.Actualizar etiquetas de la acción
labels
de la acción con información necesaria como tx_ref
, description
, domain
, entre otros.Firmar acción DOWNLOAD
Enviar acción firmada a /v1/transfer/:tx_ref/continue
COMPLETED
al endpoint de TIN Cloud para continuar el flujo.Continuar procesamiento
Flujo Exitoso
TIN Cloud envía solicitud de crédito
/credit
bank endpoint.El banco crea la acción DOWNLOAD
DOWNLOAD
by making a POST
request to /v1/action
.El banco responde a la solicitud de creación de la acción
DOWNLOAD
con el estado PENDING
en el cuerpo de la respuesta.La respuesta debe incluir un objeto
error
con código 0
y el mensaje "success"
.El banco procesa el abono y actualiza la acción
El sistema bancario responde con una referencia de la transacción que debe almacenarse en el campo
labels.tx_id
de la acción DOWNLOAD
.Esta referencia será utilizada posteriormente en los procesos de conciliación y debe identificar de forma clara y única la transacción en el banco asociada a esta acción.El banco debe actualizar la acción DOWNLOAD
utilizando la referencia proporcionada, realizando una llamada PUT
a /v1/action/{downloadAction_id}
.Firmar la acción DOWNLOAD y enviar IOU firmado
DOWNLOAD
utilizando las llaves de la cuenta del usuario (es decir, las llaves del firmante source
).Luego, debe enviar el IOU firmado a través de una llamada
POST
a /v1/action/{downloadAction_id}/sendit
.Al hacerlo correctamente, recibirá la acción
DOWNLOAD
con estado COMPLETED
y un hash
de transacción en la etiqueta labels.hash
.Los pasos detallados para completar esta operación son:- Crear el objeto Claims (IOU)
Utiliza los campos de la acciónDOWNLOAD
para construir el objeto consource
,target
,amount
,symbol
,domain
, yexpiry
.
- Cargar las llaves del firmante
Carga las llaves públicas y privadas del firmante correspondiente (cuenta de usuario).
- Firmar el IOU
Aplica la firma criptográfica sobre elhash
del objetoClaims
, generando una estructura con la metadata de la firma.
- Enviar el IOU firmado
Realiza la llamadaPOST /v1/action/{downloadAction_id}/sendit
con el contenido firmado.
COMPLETED
y el hash
correspondiente.Llamar al endpoint /continue con la acción DOWNLOAD firmada
/v1/transfer/{mainAction_id}/continue
o /v1/transfer/{tx_ref}/continue
(ambos son válidos) utilizando como cuerpo del mensaje la acción DOWNLOAD
firmada previamente en el paso anterior.Esta acción DOWNLOAD
debe tener:status
con valorCOMPLETED
- el
hash
firmado en el campolabels.hash
error
con:Flujo de error - Inicio del proceso de acreditación
/credit
del banco para iniciar el proceso de acreditación de fondos.Flujo de error - Creación de la acción DOWNLOAD
DOWNLOAD
basada en la información de la transferencia principal.Flujo de error - Respuesta con acción DOWNLOAD pendiente
DOWNLOAD
en el cuerpo, con estado PENDING
y un objeto error
con código 0
y mensaje Success
.Flujo de error - Error en el procesamiento del Core bancario
Flujo de error - Llamada al endpoint /continue con estado ERROR
/v1/transfer/{tx_ref}/continue
para continuar el flujo, incluyendo:- El
action_id
de la acción principal (SEND
oREQUEST
) - La acción
DOWNLOAD
con el estadoERROR
enlabels.status
- Un objeto
error
con elcode
ymessage
que describen la causa del error
⚠️ Nota: Esta llamada es obligatoria cuando el proceso en el Core retorna un error. Permite que TIN Cloud actualice el estado de la transferencia de manera adecuada.
Ejemplo de respuesta de Error
0
.Mensaje: El mensaje de error debe corresponder al código utilizado, también basado en la tabla de errores. En caso exitoso, debe enviarse el mensaje "Success"
.El banco realiza una llamada al endpoint
/continue
enviando una acción de tipo UPLOAD
o DOWNLOAD
con estado COMPLETED
o ERROR
. A partir de esta llamada, TIN Cloud puede determinar cómo continuar el flujo de la transferencia. Las posibles rutas son:- Continuar con el proceso (flujo exitoso)
- Dejar la transferencia en estado
ERROR
- Revertir la transferencia (flujo de reversa)