Pontuar um cliente no programa de fidelidade
Esta requisição tem como objetivo gerar pontos no programa de fidelidade do estabelecimento de acordo com o valor gasto enviado. A conversão de pontos será baseada de acordo com a regra do programa configurada previamente.
curl --location --request POST 'https://sandbox.fidelizii.com.br/api/v4/estabelecimentos/3954/fidelidade/pontuar' \
--header 'app-token: {{app-token}}' \
--header 'access-token: {{access-token}}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"valor_gasto": 700,
"senha_atendente": "11111",
"cliente": {
"celular": "+551999999999",
"cpf": "44444444444",
"nome": "TESTE INTERNO",
"email": "teste@teste.com.br",
"data_nascimento": "1994-01-01",
"genero": "M",
"cep": "444444",
"endereco": "",
"bairro": "",
"cidade": "",
"estado": ""
},
"itens": [
{
"descricao": "Refrigerante",
"complemento": "Coca-cola",
"qtde": 2,
"valor": 350
}
]
}'
Ao enviar os dados do cliente, o sistema verificará se ele já está cadastrado no estabelecimento.
- Se sim, o lançamento de pontos será realizado diretamente.
- Se não, o cliente será cadastrado automaticamente e, em seguida, os pontos iniciais serão lançados.
No payload, também poderá ser enviado a cesta de compras do cliente, com o objetivo de detalhar sua compra e permitir ao estabelecimento realizar campanhas específicas voltadas aos itens comprados:
Sobre os itens da compra enviados
Importante mencionar que a soma de todos os itens deve ser o mesmo do valor gasto passado no payload. importante realizar essa validação no sistema.
Parâmetro | Descrição | Exemplo |
---|---|---|
valor_gasto | Valor gasto pelo cliente na compra (inteiro) — R$ 1,00 = 100 / R$ 10,50 = 1050 | 700 |
senha_atendente | Senha do atendente | 11111 |
cliente.celular | Celular do cliente (Obrigatório, padrão E164) | +551999999999 |
cliente.cpf | CPF do cliente (Opcional — se não informado, gerar hash aleatório) | 44444444444 |
cliente.nome | Nome completo do cliente (Opcional — se ausente, usar "CLIENTE DESCONHECIDO") | TESTE INTERNO |
cliente.email | E-mail do cliente (Opcional — se ausente, usar "invalido@invalido.com.br") | teste@teste.com.br |
cliente.data_nascimento | Data de nascimento do cliente (Opcional — formato YYYY-MM-DD) | 1994-01-01 |
cliente.genero | Gênero do cliente (Opcional — M: Masculino, F: Feminino) | M |
cliente.cep | CEP do cliente (Opcional — somente números) | 444444 |
cliente.endereco | Endereço do cliente (Opcional — máximo 100 caracteres) | |
cliente.bairro | Bairro do cliente (Opcional — máximo 50 caracteres) | |
cliente.cidade | Cidade do cliente (Opcional) | |
cliente.estado | Estado do cliente (Opcional) | |
itens[].descricao | Descrição do item comprado (Opcional) | Refrigerante |
itens[].complemento | Complemento do item comprado (Opcional) | Coca-cola |
itens[].qtde | Quantidade do item comprado (Opcional) | 2 |
itens[].valor | Valor do item comprado (Opcional — inteiro, ex: R$ 3,50 = 350) | 350 |
Caso a requisição seja realizada com sucesso, você terá um retorno parecido com o exemplo abaixo:
{
"success": true,
"message": "Pontos lançados com sucesso.",
"data": {
"id_cliente": 11111,
"id_ponto": 333333,
"saldo_atual": 10, // Saldo atualizado do cliente após a pontuação
"saldo_carencia": 3, // Pontos em carência a serem computados no dia seguinte, caso o estabelecimento tenha configurado isso.
}
}
Como saber se tenho carência de pontos configurada ?
Basta realizar uma requisição e checar o retorno do endpoint de informações do programa de fidelidade.