Enrolamiento de Clientes
Secuencia completa para registrar un cliente en Voultech: persona, cuenta, cuenta bancaria, personas relacionadas y documentos.
El proceso de enrolamiento ejecuta una secuencia ordenada de llamadas a la API. Cada paso depende del anterior — si un paso crítico falla, el proceso se detiene. Los pasos no críticos registran el error y continúan.
Paso 1 — Autenticación
→ POST /api/publicapi/shared/Auth/SignIn
El token obtenido aquí se usa en todas las llamadas siguientes.
{
"userName": "tu_usuario",
"password": "tu_contraseña"
}{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"expiration": "2025-10-21T18:00:00Z"
}Incluye el token en todas las llamadas siguientes:
Authorization: Bearer {token}
Paso 2 — Cargar catálogos
Obtén los valores válidos antes de construir el body del cliente. Estos 5 endpoints se consultan en paralelo:
| Endpoint | Uso |
|---|---|
GET /api/publicapi/creasys/Comuna | Mapear idComunaCiudad → dscComunaCiudad en direcciones |
GET /api/publicapi/creasys/Pais | Mapear codPais → dscPais |
GET /api/publicapi/creasys/EstadoCivil | Mapear codEstadoCivil → dscEstadoCivil |
GET /api/publicapi/creasys/PerfilRiesgo | Resolver descripción del perfil de riesgo del cliente |
GET /api/publicapi/creasys/TipoContacto | Resolver tipo de contacto para personas relacionadas |
Paso 3 — Crear cliente
→ POST /api/publicapi/creasys/Clientes
Campos del body:
| Campo | Tipo | Descripción |
|---|---|---|
persona | object | Datos de la persona (ver subcampos abajo) |
pep | string | S si es Persona Expuesta Políticamente, N en caso contrario |
fatca | string | S si aplica declaración FATCA, N en caso contrario |
relacionado | object | Datos del banco relacionado (opcional) |
asesor | array | Lista de asesores. Siempre incluir el código de tu fintech. |
Campos de persona:
| Campo | Descripción |
|---|---|
identificador | RUT del cliente (12345678-9) |
tipoIdentificador | RUT o PASAPORTE |
tipoEntidad | N = natural, J = jurídica |
nombre, paterno, materno | Nombres (para jurídica usar razón social en nombre) |
sexo | M o F (solo personas naturales) |
fechaNacimiento | ISO 8601 (solo personas naturales) |
email | Correo principal |
telefono | Teléfono fijo |
celular | Teléfono móvil |
codPais / dscPais | De catálogo GET /Pais |
codEstadoCivil / dscEstadoCivil | De catálogo GET /EstadoCivil |
codTipoRelacion | CLINTE para el cliente principal |
fechaFormacion | Fecha de constitución (solo jurídicas) |
codTipoSociedad | Tipo de sociedad (solo jurídicas) |
direccionPersona | Array con al menos una dirección |
{
"persona": {
"identificador": "11111111-1",
"tipoIdentificador": "RUT",
"tipoEntidad": "N",
"nombre": "Ana",
"paterno": "Prueba",
"materno": "Ejemplo",
"sexo": "F",
"fechaNacimiento": "1990-05-15T00:00:00",
"email": "[email protected]",
"telefono": "1",
"celular": "+56912345678",
"codPais": "CL",
"dscPais": "CHILE",
"codEstadoCivil": "S",
"dscEstadoCivil": "SOLTERO",
"codTipoRelacion": "CLINTE",
"direccionPersona": [
{
"direccion": "Av. Siempre Viva 742",
"idComunaCiudadNavigation": {
"dscComunaCiudad": "SANTIAGO",
"idRegionNavigation": {
"dscRegion": "METROPOLITANA DE SANTIAGO",
"codPaisNavigation": { "dscPais": "CHILE" }
}
}
}
]
},
"pep": "N",
"fatca": "N",
"asesor": [{ "abrNombre": "TU_CODIGO_ASESOR" }]
}| Código | Acción |
|---|---|
201 Created | Continuar al paso 4 |
409 Conflict | Ejecutar PUT /Clientes/{identificador} con el mismo body y continuar |
Paso 4 — Crear cuenta de inversión
→ POST /api/publicapi/creasys/Cuentas
El número de cuenta se construye como {RUT}/{secuencia}, donde {secuencia} es el número asignado a tu fintech.
{
"numCuenta": "11111111-1/17",
"dscCuenta": "Ana Prueba Ejemplo",
"abrCuenta": "11111111-1/17",
"identificador": "11111111-1",
"codMoneda": "CLP",
"codTipoAdministracion": "NF",
"dscPerfilRiesgo": "CONSERVADOR",
"dscTipoCuenta": "NACIONAL",
"abrAsesor": "TU_CODIGO_ASESOR"
}| Código | Acción |
|---|---|
201 Created | Continuar al paso 5 |
409 Conflict | Ignorar y continuar |
Paso 5 — Asociar cuenta bancaria
→ POST /api/publicapi/creasys/CuentaCorriente
Se usa la primera cuenta bancaria registrada del cliente principal.
{
"identificador": "11111111-1",
"numeroCuentaCte": "00012345678",
"codMoneda": "CLP",
"codEstado": "VIG",
"dscBanco": "BANCO BICE",
"tipoCuenta": "Corriente"
}| Código | Acción |
|---|---|
201 Created | Continuar al paso 6 |
409 Conflict | Ignorar y continuar |
Paso 6 — Personas relacionadas
Vincular como contacto
→ POST /api/publicapi/creasys/Contacto
El tipoContacto se resuelve haciendo match del codTipoRelacion contra el catálogo GET /TipoContacto.
{
"identificadorCliente": "11111111-1",
"tipoContacto": "Representante Legal",
"identificadorContacto": "22222222-2"
}| Código | Acción |
|---|---|
201 Created | Continuar con la siguiente persona |
409 Conflict | Ignorar y continuar |
Paso 7 — Cargar documentos
→ POST /api/publicapi/creasys/Documentos
Tipos de documento (codTipo):
codTipo | Descripción | tipoDocumento |
|---|---|---|
contrato | Contrato firmado del cliente | application/pdf |
ciFrontal | Parte delantera del carnet de identidad | image/jpeg |
ciAnverso | Reverso del carnet de identidad | image/jpeg |
Los valores válidos se pueden consultar con GET /api/publicapi/creasys/CodigoTipoDocumento.
{
"identificador": "11111111-1",
"codTipo": "contrato",
"tipoDocumento": "application/pdf",
"nombreDocumento": "contrato-vector.pdf",
"contenidoBase64": "JVBERi0xLjQKJ..."
}Resumen de manejo de errores
| Paso | Endpoint | Error | Comportamiento |
|---|---|---|---|
| 3 | POST /Clientes | 409 | PUT /Clientes/{rut} |
| 3 | POST /Clientes | 400, 500 | ❌ Detener |
| 4 | POST /Cuentas | 409 | Ignorar, continuar |
| 5 | POST /CuentaCorriente | 409 | Ignorar, continuar |
| 6 | POST /Contacto | 409 | Ignorar, continuar |
| 7 | POST /Documentos | Cualquiera | Registrar error, continuar con el siguiente |
Updated 4 months ago
