Passo-a-passo: Como criar e exibir um lead

Pré-requisitos

Antes de seguir com esse guia, é necessário que a seguinte etapa já tenha sido realizada com sucesso:

  1. Passo a passo: Como se autenticar na API do Credere;

Caso não tenha completado o pré-requisito, é recomendado que acesse o link e leia o guia da etapa não realizada, para só depois seguir com esse passo a passo.

O que é um lead

Leads são clientes em potencial, que forneceram suas informações de contato a fim de possibilitar uma negociação de compra e venda. No caso do Credere, leads são clientes com interesse em adquirir um veículo.

Desse modo, o lead cadastrado no Credere possui os dados básicos de um cliente, possibilitando a realização de uma simulação de financiamento.

Nos passos descritos a seguir, será informado como consultar, criar e atualizar leads.

Passos

1. Escolhendo uma loja

O primeiro passo para criar um lead na API do Credere, é escolher a loja na qual o lead será criado.

Como um conta pode ter várias lojas associadas, uma maneira de verificar as lojas existentes é listando as lojas de um usuário. A partir dessa listagem, será necessário armazenar o ID da loja desejada.

No exemplo abaixo, é apresentado um caso que informa o ID da primeira loja retornada na listagem.

fetch('https://app.meucredere.com.br/api/v1/stores', {
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer chave_de_acesso_abc123',
  },
}).then(lojasListadasSucesso);

async function lojasListadasSucesso(resposta) {
  const json = await resposta.json();

  console.log('O ID da primeira loja da lista é: ' + json.stores[0].id);
}

O 'Authorization': 'Bearer chave_de_acesso_abc123' usado no cabeçalho da requisição no exemplo acima, é a chave de acesso do usuário na API do Credere. Se você não sabe do que se trata, é recomendada a leitura do Passo a passo: Como se autenticar na API do Credere.

📘

Para mais informações sobre a listagem de lojas, consulte a documentação do endpoint: Listar lojas.

2. Verificando se o lead existe na loja

Uma vez escolhida a loja, o passo seguinte é verificar se o lead já foi cadastro na loja. Essa consulta é importante devido a impossibilidade de cadastrar o mesmo CPF ou CNPJ duas vezes como lead de uma loja.

Para consultar a existência de um lead em determinada loja, vamos precisar do CPF ou CNPJ dele. De posse dessa informação, faça uma requisição ao endpoint mostrar lead.

No exemplo abaixo, é apresentado um caso que verifica a existência de um lead em determinada loja.

fetch('https://app.meucredere.com.br/api/v1/banks_api/leads/01234567890', {
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer chave_de_acesso_abc123',
    'Store-Id': 1,
  },
}).then(leadConsultadoSucesso);

async function leadConsultadoSucesso(resposta) {
  if (resposta.status == 200) {
    // Resposta.status 200  significa  que o cliente existe e o JSON abaixo vai possuir todas as informações
    // existentes dele, pra caso você queira reutilizar elas pra pre-preencher os campos do seu formulário
    const json = await resposta.json();

    const cpf_cnpj = json.data.cpf_cnpj;
    console.log('Lead (CPF/CNPJ: ' + cpf_cnpj  + ') já cadastrado.');
  } else {
    console.log('CPF ou CNPJ não cadastrado.');
  }
}
📘

Para mais informações sobre mostrar dados de um lead, consulte a documentação do endpoint: Mostrar lead.

A partir da resposta obtida na consulta, saberemos se o lead já foi cadastrado ou não, e portanto, devemos tomar uma das seguintes ações:

  1. Caso o lead não exista, como esse CPF ou CNPJ ainda não foi cadastrado, podemos criar o lead seguindo o passo 3.
  2. Caso o lead exista, como não podemos criar um novo lead para esse CPF ou CPNJ, devemos atualizá-lo seguindo o passo 4.

3) Criando o lead

Caso o lead não exista em determinada loja, faça uma requisição ao endpoint criar lead para criá-lo.

No exemplo abaixo, é apresentada a criação de um lead em determinada loja.

const informacoesLead = {
  lead: {
    cpf_cnpj: '012.345.678-90',
    name: 'Fulano dos Santos',
    birthdate: '1990-10-30',
    retrieve_gender: 'M',
    email: '[email protected]',
    phone_number: "(84) 99999-8888",
    has_cnh: true,
  },
};

fetch('https://app.meucredere.com.br/api/v1/banks_api/leads', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer chave_de_acesso_abc123',
    'Store-Id': 1,
  },
  body: JSON.stringify(informacoesLead),
}).then(leadCriadoOuAtualizadoSucesso);

async function leadCriadoOuAtualizadoSucesso(resposta) {
  if (resposta.status == 201) {
    // Resposta.status 201 significa  que o cliente foi criado com sucesso e o JSON abaixo vai possuir todas as informações
    // existentes dele, pra caso você queira reutilizar elas pra pre-preencher os campos do seu formulário
  	
    const json = await resposta.json();
  	console.log('O cliente' + json.data.name + ' foi criado com sucesso!');
  } else {
    console.log('Ops, algum erro ocorreu!');
  }
}
📘

Para mais informações sobre a criação de um lead, consulte a documentação do endpoint: Criar lead.

📘

Dados obrigatórios do lead

Devido ao fato de cada banco possuir seus próprios critérios de análise, a obrigatoriedade dos dados do lead varia de banco para banco.

Sendo assim, recomenda-se a leitura do documento campos obrigatórios por banco no cadastro do lead, para identificar as informações exigidas por cada banco no processo de simulação.

4. Atualizando o lead

Caso o lead exista em determinada loja, faça uma requisição ao endpoint atualizar lead para atualizá-lo.

No exemplo abaixo, é apresentada a atualização de um lead em determinada loja.

const informacoesLead = {
  lead: {
    cpf_cnpj: '012.345.678-90',
    name: 'Fulano dos Santos',
    birthdate: '1990-10-30',
    retrieve_gender: 'M',
    email: '[email protected]',
    phone_number: "(84) 99999-8888",
    has_cnh: true,
  },
};

fetch('https://app.meucredere.com.br/api/v1/banks_api/leads/01234567890', {
  method: 'PATCH',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer chave_de_acesso_abc123',
    'Store-Id': 1,
  },
  body: JSON.stringify(informacoesLead),
}).then(leadCriadoOuAtualizadoSucesso);

async function leadCriadoOuAtualizadoSucesso(resposta) {
  if (resposta.status == 200) {
    // Resposta.status 201 significa  que o cliente foi criado com sucesso e o JSON abaixo vai possuir todas as informações
    // existentes dele, pra caso você queira reutilizar elas pra pre-preencher os campos do seu formulário
  	
    const json = await resposta.json();
  	console.log('O cliente' + json.data.name + ' foi atualizado com sucesso!');
  } else {
    console.log('Ops, algum erro ocorreu!');
  }
}
📘

Para mais informações sobre a atualização de um lead, consulte a documentação do endpoint: Atualizar lead.

📘

Dados obrigatórios do lead

Devido ao fato de cada banco possuir seus próprios critérios de análise, a obrigatoriedade dos dados do lead varia de banco para banco.

Sendo assim, recomenda-se a leitura do documento campos obrigatórios por banco no cadastro do lead, para identificar as informações exigidas por cada banco no processo de simulação.