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:
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:
- Caso o cliente não exista, como esse CPF ou CNPJ ainda não foi cadastrado, podemos criar o cliente seguindo o passo 3.
- 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 leadA 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 clienteDevido 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çãoDurante 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 clienteDevido 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çãoDurante 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.
Updated 7 months ago
