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

Pré-requisitos

Antes de seguir com esse guia, é necessário que as seguintes etapas já tenham sido realizadas com sucesso:

  1. Passo a passo: Como se autenticar na API do Credere;
  2. Passo a passo: Como criar e exibir um lead

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

O que é um cliente

Clientes são potenciais compradores ou usuários dos produtos ofertados por um indivíduo ou organização. No caso do Credere, os clientes constituem a parte interessada em adquirir um veículo.

Desse modo, o cliente (customer) cadastrado no Credere possui todas as informações do comprador que são exigidas pelo banco durante a análise de uma proposta de financiamento.

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

Passos

1. Verificando se o cliente existe

O primeiro passo é verificar se o cliente já foi cadastro. Essa consulta é importante devido a impossibilidade de cadastrar clientes com o mesmo CPF ou CNPJ.

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

No exemplo abaixo, é apresentada a verificação de existência de um cliente.

const query_params = new URLSearchParams({
	cpf_cnpj: '000.000.000-00'
})

fetch('https://app.meucredere.com.br/api/v1/customers/find?' + query_params.toString(), {
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer chave_de_acesso_abc123'
  },
}).then(clienteConsultadoSucesso);

async function clienteConsultadoSucesso(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.customer.cpf;
    console.log('Cliente (CPF/CNPJ: ' + cpf_cnpj  + ') já cadastrado.');
  } else {
    console.log('CPF ou CNPJ não cadastrado.');
  }
}
📘

Para mais informações sobre buscar dados de um cliente, consulte a documentação do endpoint: Buscar cliente.

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

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

2. Criando o cliente

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

📘

Aproveitando dados do lead

A essa altura, um lead já deve ter sido criado com alguns dados do cliente. Sendo esse o caso, para aproveitar essas informações e evitar solicitá-las novamente ao cliente, é possível resgatá-las consultado o endpoint mostrar lead.

No exemplo abaixo, é apresentada a criação de um cliente.

const informacoesCliente = {
  customer: {
    cpf: '012.345.678-90',
    name: 'Fulano dos Santos',
    marital_status_id: 1,
    emails: [
      {
        address: "[email protected]"
      }
    ],
    address: {
      city: "Natal",
      number: "3700, Sala 409 Bloco A",
      street: "Avenida Amintas Barros",
      zip_code: "59075-810",
      complement: "Edifício Corporate Tower Center-Trade",
      state_id: 20,
      neighborhood: "Lagoa Nova"
    },
    phones: [
      {
        code: 84,
        number: 999999999,
        phone_type_id: 1,
        phone_confirmation_id: null
      },
      {
        code: 84,
        number: 999999999,
        phone_type_id: 2,
        phone_confirmation_id: null
      }
    ]
  },
  bank_validations: {
    bank_codes: [
      "moneyplus"
    ]
  }
};

fetch('https://app.meucredere.com.br/api/v1/customers', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer chave_de_acesso_abc123',
  },
  body: JSON.stringify(informacoesCliente),
}).then(clienteCriadoSucesso);

async function clienteCriadoSucesso(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.
  	
    const json = await resposta.json();
  	console.log('O cliente' + json.customer.name + ' foi criado com sucesso!');
  } else {
    console.log('Ops, algum erro ocorreu!');
  }
}
📘

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

Durante o cadastro do cliente, podemos informar para quais bancos pretendemos enviar propostas de financiamento com esse cliente. Assim, o Credere valida os dados necessários baseado nas exigências dos bancos especificados. Para mais informações, consulte o tópico validação das informações obrigatórias para determinados bancos na documentação do endpoint criar cliente.

📘

Dados obrigatórios do cliente

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

Sendo assim, recomenda-se a leitura do documento campos obrigatórios por banco no cadastro do cliente, para identificar as informações exigidas por cada banco no processo de análise de propostas.

🚧

Erros de validação

Durante a utilização do endpoint criar cliente, o Credere valida os dados enviados.

Se existir(em) inconsistência(s) nas informações enviadas, a API responde com um erro de validação, destacando o(s) problema(s) identificado(s).

Caso tenha recebido um erro e encontre dificuldade de compreendê-lo, recomenda-se a leitura do guia de erros. O guia pode ajudá-lo a compreender a(s) inconsistência(s) identificada(s) na validação de dados.

3. Atualizando o cliente

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

No exemplo abaixo, é apresentada a atualização de um cliente.

const informacoesCliente = {
  customer: {
    cpf: '012.345.678-90',
    name: 'Fulano dos Santos',
    marital_status_id: 1,
    emails: [
      {
        id: 1,
        address: "[email protected]"
      }
    ],
    address: {
      id: 1,
      city: "Natal",
      number: "3700, Sala 409 Bloco A",
      street: "Avenida Amintas Barros",
      zip_code: "59075-810",
      complement: "Edifício Corporate Tower Center-Trade",
      state_id: 20,
      neighborhood: "Lagoa Nova"
    },
    phones: [
      {
        id: 1,
        code: 84,
        number: 999999999,
        phone_type_id: 1,
        phone_confirmation_id: null
      },
      {
        id: 2,
        code: 84,
        number: 999999999,
        phone_type_id: 2,
        phone_confirmation_id: null
      }
    ]
  },
  bank_validations: {
    bank_codes: [
			"moneyplus"
    ]
  }
};

fetch('https://app.meucredere.com.br/api/v1/customers/1', {
  method: 'PATCH',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer chave_de_acesso_abc123',
  },
  body: JSON.stringify(informacoesCliente),
}).then(clienteAtualizadoSucesso);

async function clienteAtualizadoSucesso(resposta) {
  if (resposta.status == 200) {
    // Resposta.status 200 significa  que o cliente foi atualizado com sucesso e o JSON abaixo
    // vai possuir todas as informações existentes dele.
  	
    const json = await resposta.json();
  	console.log('O cliente' + json.customer.name + ' foi atualizado com sucesso!');
  } else {
    console.log('Ops, algum erro ocorreu!');
  }
}
📘

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

Durante a atualização do cliente, podemos informar para quais bancos pretendemos enviar propostas de financiamento com esse cliente. Assim, o Credere valida os dados necessários baseado nas exigências dos bancos especificados. Para mais informações, consulte o tópico validação das informações obrigatórias para determinados bancos na documentação do endpoint atualizar cliente.

📘

Dados obrigatórios do cliente

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

Sendo assim, recomenda-se a leitura do documento campos obrigatórios por banco no cadastro do cliente, para identificar as informações exigidas por cada banco no processo de análise de propostas.

🚧

Erros de validação

Durante a utilização do endpoint atualizar cliente, o Credere valida os dados enviados.

Se existir(em) inconsistência(s) nas informações enviadas, a API responde com um erro de validação, destacando o(s) problema(s) identificado(s).

Caso tenha recebido um erro e encontre dificuldade de compreendê-lo, recomenda-se a leitura do guia de erros. O guia pode ajudá-lo a compreender a(s) inconsistência(s) identificada(s) na validação de dados.