Endpoints da API
Documentação completa de todos os endpoints disponĆveis
Base URL
All API requests should be made to:
https://aldeia-connect-dev-57r2q.ondigitalocean.appCertifique-se de incluir o prefixo de versão apropriado (ex: /v1/) em suas requisições conforme mostrado nos exemplos de endpoints abaixo.
Autentiação
Endpoints para autenticação de usuÔrios. Os endpoints de autenticação são usados para login e cadastro de usuÔrios.
Documentos

Descrição
Login de um usuƔrio. O refresh token Ʃ necessƔrio para renovar o access token.
Corpo da Requisição
{
"email": "fulano@tal.com",
"password": "password"
}Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
email | string | Sim | Email do usuƔrio |
password | string | Sim | Senha do usuƔrio |
Resposta 200
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI3NgyMGE0MC1jOTM4LTQ2N2ItOTQ1NS1hZjFiM2U5NTVlODQiLCJpYXQiOjE3NTc1OTA1MDMsImV4cCI6MTc1NzY3NjkwM30.HFmxpO4M3-627WjxGW1WruswWnIg-aSgdrDRNeezlJw",
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiiI3NjgyMGE0MC1jOTM4LTQ2N2ItOTQ1NS1hZjFiM2U5NTVlODQiLCJpYXQiOjE3NTc1OTA0OTksImV4cCI6MTc1ODE5NTI5OX0.lseo5UDwkrd7HwhEj7dVl-svYgt8wQUHcNyZGV3AXDg",
"type": "Bearer",
"user": {
"id": "76820a40-c938-467b-9455-af1b3e955e84",
"device_id": null,
"profile": {
"id": "b8951baf-0315-4169-be30-5621eca8121d",
"document": "29733865000246",
"name": "Morissette, Heathcote and Hand",
"image": null,
"is_verified": true,
"birth_date": null,
"terms": false,
"gender": "MALE",
"type": "BARBER",
"status": "PENDING"
}
}
}Resposta 400
{
"error": {
"detail": "Senha invƔlida",
"status_code": 400,
"title": "Bad Request",
"type": "https://httpstatuses.com/400"
}
}Descrição
Renovar access token. O refresh token Ʃ necessƔrio para renovar o access token.
Corpo da Requisição
{
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...."
}Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
refresh_token | string | Sim | Refresh token gerado no login. NĆ£o Ć© permitido usar o access_token |
Resposta 200
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"type": "Bearer"
}Resposta 400
{
"error": {
"detail": "Token invƔlido",
"status_code": 400,
"title": "Bad Request",
"type": "https://httpstatuses.com/400"
}
}Descrição
Cadastrar um novo usuƔrio
Corpo da Requisição
{
"name": "Fulano de Tal",
"document": "29733865000141",
"email": "fulano@tal.com",
"phone": "38998980000",
"birth_date": "1994-11-26",
"gender": "MALE",
"type": "BARBER",
"terms": true,
"password": "password",
"password_confirm": "password"
}Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
type | string | Sim | Tipo de usuƔrio. Valores: BARBER, CLIENT |
name | string | Sim | Nome do usuƔrio |
gender | string | Não | Gênero do usuÔrio. Valores: MALE, FEMALE, OTHER OBS: O campo gender é obrigatório quando type = CLIENT. |
document | string | Sim | Email do usuƔrio |
phone | string | Sim | Email do usuƔrio |
birth_date | string | Não | Data de nascimento do usuÔrio. Formato: yyyy-mm-ddOBS: O campo birth_date é obrigatório quando type = CLIENT. |
email | string | Sim | Email do usuƔrio |
password | string | Sim | Senha do usuƔrio |
password_confirm | string | Sim | Confirmação de senha do usuÔrio |
terms | boolean | Sim | Aceitação dos termos de uso |
Resposta 201
{
"id": "a0faad67-c006-4a9e-ae8d-607c068132a9",
"profile": {
"id": "b93edde6-1257-48bc-8438-1567086d0d9f",
"document": "29733865000146",
"name": "Lakin, Ryan and Nitzsche",
"gender": "MALE",
"type": "BARBER"
}
}Resposta 400
{
"error": {
"detail": "Você deve aceitar os termos e condições",
"status_code": 400,
"title": "Bad Request",
"type": "https://httpstatuses.com/400"
}
}Descrição
Este ponto de extremidade é usado para enviar um código de confirmação ao contato de um usuÔrio para fins de autenticação.
Corpo da Requisição
{
"contact": "38991919961",
"document": "29733865000141"
}Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
contact | string | Sim | Contato de telefone do usuƔrio |
document | string | Sim | Documento do usuƔrio. Valores: CPF ou CNPJ |
Resposta 200
{
"token": "75ec7e6da4bc8baa58a2ee55f9d91cf417a4e9097a952a4f29ac9774653498a4",
"type": "Hash"
}Descrição
Este ponto de extremidade é usado para validar um código de confirmação ao contato de um usuÔrio para fins de autenticação.
Corpo da Requisição
{
"code": "5078",
"hash": "75ec7e6da4bc8baa58a2ee55f9d91cf417a4e9097a952a4f29ac9774653498a4",
"document": "29733865000141"
}Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
code | string | Sim | Código de confirmação |
hash | string | Sim | Hash do usuƔrio |
document | string | Sim | Documento do usuƔrio. Valores: CPF ou CNPJ |
Resposta 200
trueResposta 400
{
"error": {
"detail": "Código de confirmação invÔlido",
"status_code": 400,
"title": "Bad Request",
"type": "https://httpstatuses.com/400"
}
}Descrição
Retorna os dados do usuÔrio logado. Este endpoint é protegido por autenticação.
Autenticação
Este endpoint requer autenticação. Você precisa incluir um token de acesso vÔlido no cabeçalho da requisição:
Authorization: Bearer seu-token-jwtResposta 200
{
"id": "76820a40-c938-467b-9455-af1b3e955e84",
"device_id": null,
"profile": {
"id": "b8951baf-0315-4169-be30-5621eca8121d",
"document": "29733865000246",
"name": "Morissette, Heathcote and Hand",
"image": null,
"is_verified": true,
"birth_date": null,
"terms": false,
"gender": "MALE",
"type": "BARBER",
"status": "PENDING"
}
}Resposta 401
{
"error": {
"detail": "Token expirado",
"status_code": 401,
"title": "Unauthorized",
"type": "https://httpstatuses.com/401"
}
}UsuƔrios
Endpoints para usuƔrios.
Descrição
Validar se um documento jĆ” existe na base de dados.
Corpo da Requisição
{
"document": "12345678900"
}Parâmetros do Corpo
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
document | string | Sim | Documento do usuƔrio |
Resposta 200
{
"exists": false
}Parâmetros de resposta
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
exists | boolean | Sim | Indica se o documento jÔ existe na base de dados. Sempre vai retornar false se não existir. OBS: Caso jÔ exista retorna um erro 400 |
Resposta 400
{
"error": {
"detail": "CPF ou CNPJ jĆ” cadastrado!",
"status_code": 400,
"title": "Bad Request",
"type": "https://httpstatuses.com/400"
}
}