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:

EndpointUso
GET /api/publicapi/creasys/ComunaMapear idComunaCiudad → dscComunaCiudad en direcciones
GET /api/publicapi/creasys/PaisMapear codPais → dscPais
GET /api/publicapi/creasys/EstadoCivilMapear codEstadoCivil → dscEstadoCivil
GET /api/publicapi/creasys/PerfilRiesgoResolver descripción del perfil de riesgo del cliente
GET /api/publicapi/creasys/TipoContactoResolver tipo de contacto para personas relacionadas

Paso 3 — Crear cliente

→ POST /api/publicapi/creasys/Clientes

Campos del body:

CampoTipoDescripción
personaobjectDatos de la persona (ver subcampos abajo)
pepstringS si es Persona Expuesta Políticamente, N en caso contrario
fatcastringS si aplica declaración FATCA, N en caso contrario
relacionadoobjectDatos del banco relacionado (opcional)
asesorarrayLista de asesores. Siempre incluir el código de tu fintech.

Campos de persona:

CampoDescripción
identificadorRUT del cliente (12345678-9)
tipoIdentificadorRUT o PASAPORTE
tipoEntidadN = natural, J = jurídica
nombre, paterno, maternoNombres (para jurídica usar razón social en nombre)
sexoM o F (solo personas naturales)
fechaNacimientoISO 8601 (solo personas naturales)
emailCorreo principal
telefonoTeléfono fijo
celularTeléfono móvil
codPais / dscPaisDe catálogo GET /Pais
codEstadoCivil / dscEstadoCivilDe catálogo GET /EstadoCivil
codTipoRelacionCLINTE para el cliente principal
fechaFormacionFecha de constitución (solo jurídicas)
codTipoSociedadTipo de sociedad (solo jurídicas)
direccionPersonaArray 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ódigoAcción
201 CreatedContinuar al paso 4
409 ConflictEjecutar 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ódigoAcción
201 CreatedContinuar al paso 5
409 ConflictIgnorar 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ódigoAcción
201 CreatedContinuar al paso 6
409 ConflictIgnorar 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ódigoAcción
201 CreatedContinuar con la siguiente persona
409 ConflictIgnorar y continuar

Paso 7 — Cargar documentos

→ POST /api/publicapi/creasys/Documentos

Tipos de documento (codTipo):

codTipoDescripcióntipoDocumento
contratoContrato firmado del clienteapplication/pdf
ciFrontalParte delantera del carnet de identidadimage/jpeg
ciAnversoReverso del carnet de identidadimage/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

PasoEndpointErrorComportamiento
3POST /Clientes409PUT /Clientes/{rut}
3POST /Clientes400, 500❌ Detener
4POST /Cuentas409Ignorar, continuar
5POST /CuentaCorriente409Ignorar, continuar
6POST /Contacto409Ignorar, continuar
7POST /DocumentosCualquieraRegistrar error, continuar con el siguiente

Did this page help you?