Documentação da API Contact list!
Visão geral do projeto, um pouco das tecnologias usadas.
Voltar para o topo
2.1. Instalando Dependências
Clone o projeto em sua máquina e instale as dependências com o comando:
2.2. Variáveis de Ambiente
Em seguida, crie um arquivo .env , copiando o formato do arquivo .env.example :
Configure suas variáveis de ambiente com suas credenciais do Postgres e uma nova database da sua escolha.
Execute as migrations com o comando:
yarn typeorm migration:run -d src/data-source.ts
Voltar para o topo
Voltar para os Endpoints
O objeto User é definido como:
Campo
Tipo
Descrição
id
string
Identificador único do usuário
name
string
O nome do usuário.
email
string
O e-mail do usuário.
password
string
A senha de acesso do usuário
createdAt
date
Define a hora e data de criação do usuário.
Método
Rota
Descrição
POST
/users
Criação de um usuário.
GET
/users
Lista todos os usuários
GET
/users/:id
Lista um usuário usando seu ID como parâmetro
PATCH
/users/:id
Atualiza os dados do usuário usado seu ID como parâmetro
DELETE
/users/:id
Deleta um usuário através do seu ID passado como parâmetro
Voltar para os Endpoints
POST /clients
Host: https://localhost:4000
Authorization: None
Content-type: application/json
{
"name" :" Admin" ,
"email" : " admin@admin.com" ,
"password" : " admin" ,
"phone" : " 99 99999-9999"
}
{
"id" : " 3bb6ffa8-d771-44f1-87e5-72b229264118" ,
"name" : " admin" ,
"phone" : " 99 99999-9999" ,
"email" : " admin@admin.com" ,
"createdAt" : " 2023-03-27T07:27:49.128Z"
}
Código do Erro
Descrição
400 Bad Request
Email is not valid
400 Bad Request
Email already registered.
1.2. Listando todos os usuários
Voltar aos Endpoints
GET /clients
Host: https://localhost:4000
Authorization: Bearer {token}
Content-type: application/json
[
{
"id" : " 3bb6ffa8-d771-44f1-87e5-72b229264118" ,
"name" : " admin" ,
"phone" : " 99 99999-9999" ,
"email" : " admin@admin.com" ,
"createdAt" : " 2023-03-27T07:27:49.128Z"
}
]
Código do Erro
Descrição
401 Unauthorized
Invalid token
1.3. Listar Usuário por ID
Voltar aos Endpoints
GET /clients/3bb6ffa8-d771-44f1-87e5-72b229264118
Host: https://localhost:4000
Authorization: Bearer {token}
Content-type: application/json
Parâmetros da Requisição:
Parâmetro
Tipo
Descrição
id
string
Identificador único do usuário (User)
{
"id" : " 3bb6ffa8-d771-44f1-87e5-72b229264118" ,
"name" : " admin" ,
"phone" : " 99 99999-9999" ,
"email" : " admin@admin.com" ,
"createdAt" : " 2023-03-27T07:27:49.128Z"
}
Código do Erro
Descrição
401 Unauthorized
Invalid token
1.4. Atualizando os dados do Usuário
Voltar aos Endpoints
PATCH /clients/3bb6ffa8-d771-44f1-87e5-72b229264118
Host: https://localhost:4000
Authorization: Bearer {token}
Content-type: application/json
Parâmetros da Requisição:
Parâmetro
Tipo
Descrição
id
string
Identificador único do usuário (User)
{
"id" : " 3bb6ffa8-d771-44f1-87e5-72b229264118" ,
"name" : " superAdmin" ,
"phone" : " 99 99999-9999" ,
"email" : " admin@admin.com" ,
"createdAt" : " 2023-03-27T07:27:49.128Z"
}
Código do Erro
Descrição
400 Unauthorized
Email has been used
404 Bad Request
User not founded
Voltar aos Endpoints
DELETE /clients/3bb6ffa8-d771-44f1-87e5-72b229264118
Host: https://localhost:4000
Authorization: Bearer {token}
Content-type: application/json
Parâmetros da Requisição:
Parâmetro
Tipo
Descrição
id
string
Identificador único do usuário (User)
Código do Erro
Descrição
401 Unauthorized
Invalid token
404 Bad Request
User not found
Voltar para os Endpoints
O objeto de login é definido como:
Campo
Tipo
Descrição
email
string
O e-mail do usuário usado no cadastro.
password
string
A senha de acesso do usuário criada no cadastro.
Método
Rota
Descrição
POST
/session
Login do usuário.
Voltar para os Endpoints
POST /session
Host: https://localhost:4000
Authorization: None
Content-type: application/json
{
"email" : " admin" ,
"password" : " admin"
}
{
"id" : " 56ac622f-44bd-43a0-8b80-e2e1669885c6" ,
"token" : " eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc0FjdGl2ZSI6dHJ1ZSwiaXNBZG0iOnRydWUsImlhdCI6MTY2Nzk2NTgxNSwiZXhwIjoxNjY4MDUyMjE1LCJzdWIiOiI1NmFjNjIyZi00NGJkLTQzYTAtOGI4MC1lMmUxNjY5ODg1YzYifQ.klfpodJJA0rZyXMROrv7yWlU4Uo_dTmKH95grIxaA94"
}
Código do Erro
Descrição
403 Forbidden
Wrong email or password
Voltar para os Endpoints
O objeto contact é definido como:
Campo
Tipo
Descrição
id
string
Identificador único do contato
name
string
Nome do contato.
email
string
Email do contato.
phone
string
Telefone do contato
Método
Rota
Descrição
POST
/contacts
Criação de um contato.
GET
/contacts
Lista todos contatos.
GET
/contacts/:id
Lista um contato usando o ID do usuário como parâmetro.
PATCH
/contacts/:id
Atualiza os dados do contato usando seu ID como parâmetro.
DELETE
/contacts /:id
Deleta um contato através do seu ID passado como parâmetro.
Voltar aos Endpoints
Para criação do contato é preciso o token de um usuário válido logado
POST /contacts
Host: https://localhost:4000
Authorization: Bearer {token}
Content-type: application/json
{
"name" : " Junior" ,
"email" : " jrcba@gmail.com" ,
"phone" : " 67993443452"
}
{
"id" : " 3ce0090a-fde1-48ec-9f0a-6e8514ab8b20" ,
"name" : " Junior" ,
"phone" : " 67993443452" ,
"email" : " jrcba@gmail.com"
}
Código do Erro
Descrição
404 Bad Request
User not founded
3.2. Lista todos os contatos
Voltar aos Endpoints
GET /contacts
Host: https://localhost:4000
Authorization: Bearer {token}
Content-type: application/json
{
"id" : " 3bb6ffa8-d771-44f1-87e5-72b229264118" ,
"name" : " admin" ,
"phone" : " 121344343455" ,
"email" : " admin@admin.com" ,
"createdAt" : " 2023-03-27T07:27:49.128Z" ,
"contact" : [
{
"id" : " 3ce0090a-fde1-48ec-9f0a-6e8514ab8b20" ,
"name" : " Junior" ,
"phone" : " 67993443452" ,
"email" : " jrcba@gmail.com"
}
]
}
Código do Erro
Descrição
401 Unauthorized
Invalid token
3.3. Listar Contato por ID do contato
Voltar aos Endpoints
GET /users/a8465d9b-a646-46a9-a8d9-a1004aa7e3ce
Host: https://localhost:4000
Authorization: Bearer {token}
Content-type: application/json
Parâmetros da Requisição:
Parâmetro
Tipo
Descrição
id
string
Identificador único do contato
{
"id" : " 3ce0090a-fde1-48ec-9f0a-6e8514ab8b20" ,
"name" : " Junior" ,
"phone" : " 67993443452" ,
"email" : " jrcba@gmail.com"
}
Código do Erro
Descrição
401 Unauthorized
Invalid token
3.4. Atualizando os dados do contato
Voltar aos Endpoints
O usuário que estiver devidamente autorizado (deve ter token válido), poderá fazer atualizações nos dados de seus contatos.
PATCH /contacts/9cda28c9-e540-4b2c-bf0c-c90006d37893
Host: https://localhost:4000
Authorization: Bearer {token}
Content-type: application/json
Parâmetros da Requisição:
Parâmetro
Tipo
Descrição
id
string
Identificador único do anúncio
{
"id" : " 3ce0090a-fde1-48ec-9f0a-6e8514ab8b20" ,
"name" : " Fabio" ,
"phone" : " 67993443452" ,
"email" : " jrcba@gmail.com"
}
Código do Erro
Descrição
404 Bad Request
User not founded
404 Bad Request
User not founded
401 Unauthorized
Invalid token
Voltar aos Endpoints
O usuário que estiver devidamente autorizado (deve ter token válido), poderá fazer o delete de contato.
PATCH /contacts/9cda28c9-e540-4b2c-bf0c-c90006d37893
Host: https://localhost:4000
Authorization: Bearer {token}
Content-type: application/json
Parâmetros da Requisição:
Parâmetro
Tipo
Descrição
id
string
Identificador único do anúncio
Código do Erro
Descrição
401 Unauthorized
Invalid token
401 Unauthorized
You don't have permission
404 Bad Request
Announce not founded