Enrolamiento

Enrolamiento #

Configuraciones básicas #

Para comenzar, configuraremos de forma previa el entorno de ejecución y endpoints que serán llamados a través del consumo de la API de leancore. Utilizaremos la librería axios como cliente HTTP para crear nuestra instancia a los servicios de la API.

import axios from "axios/index";

const instance = axios.create({
    baseURL: "https://www.api.sandbox-middleware.leancore.co/",
    timeout: 1000 * 20,
     
});

export const LOGIN = "/login";
export const FIND_ENTITY = "/financial-entity";
export const LEAD = "/lead";
export const ASSIGN_LEAD_TO_FINANCIAL_ENTITY = "/assign-lead-to-financial-entity";

export default instance;
import axios, { 
    LOGIN, 
    FIND_ENTITY, 
    LEAD,
    ASSIGN_LEAD_TO_FINANCIAL_ENTITY,
} from "./axios";

Obtener token de acceso #

Para autenticar las solicitudes, debemos proporcionar la api_key que ha sido asignada a nuestras credenciales, esta petición retornará un valor de access_token que debe ser pasado en el encabezado Authorization para obtener acceso a cada interacción. Asegúrese de autenticar cada solicitud al servidor, las peticiones HTTP sin autenticación retornarán una respuesta fallida.

const resultLogin = await axios.post(LOGIN, { id, api_key });
const token = resultLogin.data.access;

Resultado

{
    "access": "eyJ0eX...",
}
Authorization: Bearer {access}

Consultar entidad financiera y ecosistema #

Para consultar información relacionada a nuestra entidad, realizaremos una petición GET al endpoint /find-entity enviando en la solicitud el id asignado a nuestras credenciales. Retornará un objeto que almacenaremos en la variable dataFE con los datos relacionados a nuestra entidad y el uid asignado del ecosistema.

const resultFE = await axios.get(`${FIND_ENTITY}?uid=${id}`);
const dataFE = resultFE.data;

Resultado

{
    "uid": "a94a90bd-ab2d-4b42-a250-e281c421ac81",
    ...
    "leads": [],
    "ecosystem": "92edaae1-1eb6-4046-bbb4-49f5b50105ea"
}

Crear lead #

Luego de obtener el identificador asignado a nuestro ecosistema en el paso anterior, realizaremos una petición POST al endpoint create_lead con los datos recopilados del usuario, esto permitirá dar visualización de los datos ingresados por el lead al entorno de asignación de créditos de nuestra entidad financiera.

const resultCL = await axios.post(CREATE_LEAD, {
    name,
    business_name,
    phone,
    email,
    nit,
    address,
    image,
    lead_status: "not_assigned",
    business_entity: "natural",
    created_at: new Date(),
    ecosystem,
});
const dataCL = resultCL.data;

Resultado

{
    "id": "a410c1c2-a810-47bb-b5fe-b5081329f190",
    ...
    "lead_status": "not_assigned",
    "ecosystem": "92edaae1-1eb6-4046-bbb4-49f5b50105ea",
}

Asignar lead a entidad financiera #

Podemos convertir leads en clientes realizando una petición POST al endpoint assign-lead-to-financial-entity, envíe en la solicitud su uid obtenido en la variable dataFE de la consulta al endpoint find-entity y el id obtenido en el objeto dataCL retornado al crear el lead, esto permitirá la asignación de sus productos de crédito a su nuevo cliente registrado en el ecosistema.

await axios.post(ASSIGN_LEAD_TO_FINANCIAL_ENTITY, {
    financial_entity_id: dataFE.uid,
    lead_id: dataCL.id,
});

Resultado

{
    "uid": "a94a90bd-ab2d-4b42-a250-e281c421ac81",
    ...
    "leads": [
        "a410c1c2-a810-47bb-b5fe-b5081329f190"
    ],
}