Pular para o conteúdo principal

Cadastrar Cliente

O EloFiel oferece duas formas de cadastrar um cliente: cadastro direto antes de qualquer venda e auto-cadastro embutido na primeira venda. Este guia cobre o cadastro direto.

Quando usar cada forma

SituaçãoRecomendação
Atendimento no balcão ou totem antes da compraCadastro diretoPOST /api/v1/cliente
Registro na primeira venda (fluxo integrado)Auto-cadastro — campo cliente no POST /api/v1/venda

Endpoint

POST /api/v1/cliente
X-Api-Key: SUA_API_KEY_AQUI
Idempotente

Se o CPF já estiver cadastrado no tenant, o endpoint retorna os dados existentes sem modificá-los e sinaliza com jaExistia: true. É seguro chamar múltiplas vezes com o mesmo CPF.

Request

CampoTipoObrigatórioDescrição
cpfstringSimCPF do cliente (com ou sem formatação, 11-14 chars)
nomestringSimNome completo (mín. 2, máx. 150 chars)
emailstringSimE-mail válido (máx. 150 chars). Enviar "" quando o cliente não informar
telefonestringSimTelefone (máx. 20 chars). Enviar "" quando o cliente não informar
dataNascimentostringNãoData no formato YYYY-MM-DD. Omitir quando não disponível
aceiteLgpdbooleanSimDeve ser true. Recusa resulta em erro 422
email e telefone são obrigatórios

Mesmo que o cliente não forneça esses dados, os campos devem ser enviados como string vazia "". Eles são obrigatórios no banco de dados e utilizados para envio de notificações de cashback e pontos via WhatsApp/e-mail.

LGPD

aceiteLgpd: true é obrigatório. O PDV/ERP é responsável por obter o consentimento explícito do cliente antes de chamar este endpoint. Nunca envie dados de clientes sem consentimento.

Exemplos de requisição

# Cliente com todos os dados
curl -X POST "$ELOFIEL_BASE_URL/api/v1/cliente" \
-H "Content-Type: application/json" \
-H "X-Api-Key: $ELOFIEL_API_KEY" \
-d '{
"cpf": "123.456.789-09",
"nome": "Maria Silva",
"email": "maria@email.com",
"telefone": "(44) 99999-0000",
"dataNascimento": "1990-05-20",
"aceiteLgpd": true
}'

# Cliente sem e-mail ou telefone (enviar string vazia)
curl -X POST "$ELOFIEL_BASE_URL/api/v1/cliente" \
-H "Content-Type: application/json" \
-H "X-Api-Key: $ELOFIEL_API_KEY" \
-d '{
"cpf": "987.654.321-00",
"nome": "João Souza",
"email": "",
"telefone": "",
"aceiteLgpd": true
}'

Respostas

HTTP 201 — Cliente novo cadastrado

{
"sucesso": true,
"mensagem": "Cliente cadastrado com sucesso.",
"dados": {
"clienteId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"cpf": "12345678909",
"nome": "Maria Silva",
"email": "maria@email.com",
"telefone": "44999990000",
"jaExistia": false
},
"erros": []
}

HTTP 200 — CPF já cadastrado (idempotente)

{
"sucesso": true,
"mensagem": "Cliente já cadastrado.",
"dados": {
"clienteId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"cpf": "12345678909",
"nome": "Maria Silva",
"email": "maria@email.com",
"telefone": "44999990000",
"jaExistia": true
},
"erros": []
}

Campos da resposta (dados):

CampoTipoDescrição
clienteIduuidID do cliente no EloFiel
cpfstringCPF normalizado (apenas dígitos)
nomestringNome do cliente
emailstringE-mail do cliente
telefonestringTelefone normalizado (apenas dígitos)
jaExistiabooleantrue se o CPF já estava cadastrado (dados não foram alterados)

Erros específicos

HTTPMensagemCausa
422"Aceite de LGPD é obrigatório para cadastro."aceiteLgpd: false
422"CPF inválido. Informe 11 dígitos."CPF com número incorreto de dígitos
400"O campo Nome é obrigatório."Nome vazio ou ausente