📡 API de Criação de Contas

Documentação completa para integração

GET /

GET

Retorna esta página de documentação.

POST /create

POST

Cria uma nova conta em um dos programas de fidelidade disponíveis.

🔐 Autenticação Obrigatória: Esta rota requer autenticação via header HTTP. É necessário enviar o header Authorization com o valor MinhaPassword123 em todas as requisições. Sem este header, a API retornará erro 401.

Headers Requeridos

Header Tipo Obrigatório Valor
Authorization string SIM MinhaPassword123
Content-Type string SIM application/json

Exemplo de Requisição com cURL

curl -X POST http://localhost:9091/create \ -H "Authorization: MinhaPassword123" \ -H "Content-Type: application/json" \ -d '{ "type": "smiles", ... }'

401 Erro de Autenticação

{ "status": false, "message": "Acesso não autorizado. Header de autenticação inválido." }

Parâmetros Base (JSON)

Campo Tipo Obrigatório Descrição
type string SIM Tipo de programa: smiles, voezul, livelo, latam
ℹ️ Informação: Tipos disponíveis: smiles, voezul, latam (implementados) e livelo (em construção).

Parâmetros para type = "smiles"

Campo Tipo Obrigatório Descrição
cpf string SIM CPF do usuário
cep string SIM CEP do endereço
rua string SIM Nome da rua
rua_n string SIM Número da rua
complemento string SIM Complemento do endereço
ddd string SIM DDD do telefone
telefone string SIM Telefone sem o DDD
full_name string SIM Nome completo do usuário
email string SIM Email do usuário
password string SIM Senha (apenas números inteiros, até 4 dígitos)
data_nasc string SIM Data de nascimento (formato: dia/mes/ano ou ano-mes-dia)

Exemplo de Requisição

{ "type": "smiles", "cpf": "12345678900", "cep": "12345-678", "rua": "Rua Exemplo", "rua_n": "123", "complemento": "Apto 45", "ddd": "11", "telefone": "987654321", "full_name": "João Silva Santos", "email": "joao@exemplo.com", "password": "1234", "data_nasc": "15/03/1990" }

Respostas

200 Sucesso

{ "status": true, "message": "Conta criada com sucesso" }

401 Campos Faltando

{ "status": false, "message": "Certifique-se de que preencheu todos os campos para o Smiles" }

401 Data Inválida

{ "status": false, "message": "Preencha a data de nascimento" }

Erro na Criação

{ "status": false, "message": "Mensagem de erro específica" }

Type Inválido

{ "status": false, "message": "valores permitidos em type: (smiles|voezul|livelo|latam)" }

POST /create - type = "voezul"

POST

Cria uma nova conta no programa VoeAzul.

🔐 Lembrete: Esta rota requer o header Authorization: MinhaPassword123 (veja detalhes na seção POST /create acima).

Parâmetros para type = "voezul"

Campo Tipo Obrigatório Descrição
cpf string SIM CPF do usuário
cep string SIM CEP do endereço
rua string SIM Nome da rua
rua_n string SIM Número da rua
city string SIM Cidade
state string SIM Estado (PE, RJ, SP, etc.)
telefone string SIM Telefone com o DDD
firstName string SIM Primeiro nome
lastName string SIM Sobrenome
email string SIM Email do usuário
password string SIM Senha (apenas letras e números inteiros)
gender string SIM Gênero: Male or Female
data_nasc string SIM Data de nascimento (formato: dia/mes/ano)

Exemplo de Requisição

{ "type": "voezul", "cpf": "12345678900", "cep": "12345-678", "rua": "Rua Exemplo", "rua_n": "123", "city": "São Paulo", "state": "SP", "telefone": "11987654321", "firstName": "João", "lastName": "Silva", "email": "joao@exemplo.com", "password": "senha123", "gender": "Male", "data_nasc": "15/03/1990" }

Respostas

200 Sucesso

{ "status": true, "message": "Mensagem de sucesso" }

Erro na Criação

{ "status": false, "message": "Mensagem de erro específica" }

POST /create - type = "latam"

POST

Cria uma nova conta no programa Latam Airlines.

🔐 Lembrete: Esta rota requer o header Authorization: MinhaPassword123 (veja detalhes na seção POST /create acima).

Parâmetros para type = "latam"

Campo Tipo Obrigatório Descrição
cpf string SIM CPF do usuário
telefone string SIM Telefone com o DDD
firstName string SIM Primeiro nome
lastName string SIM Sobrenome
email string SIM Email do usuário
password string SIM Senha (apenas letras e números inteiros)
data_nasc string SIM Data de nascimento (formato: dia/mes/ano)

Exemplo de Requisição

{ "type": "latam", "cpf": "12345678900", "telefone": "11987654321", "firstName": "João", "lastName": "Silva", "email": "joao@exemplo.com", "password": "senha123", "data_nasc": "15/03/1990" }

Respostas

200 Sucesso

{ "status": true, "message": "Mensagem de sucesso" }

401 Campos Faltando

{ "status": false, "message": "Certifique-se de que preencheu todos os campos para o LatamAirlines" }

401 Data Inválida

{ "status": false, "message": "Preencha a data de nascimento" }

Erro na Criação

{ "status": false, "message": "Mensagem de erro específica" }

POST /create - type = "livelo"

POST

Programa Livelo - Em construção.

🔐 Lembrete: Esta rota requer o header Authorization: MinhaPassword123 (veja detalhes na seção POST /create acima).
⚠️ Em Desenvolvimento: Este tipo ainda não foi implementado.

Resposta Atual

{ "status": true, "message": "type a ser construido" }

Programas em Desenvolvimento

Os seguintes tipos estão planejados mas ainda não foram implementados:

  • livelo - Em construção