Introdução
Bem-vindo à documentação da API do AshLite, o sistema ERP Soys. Esta API RESTful fornece acesso programático às funcionalidades do sistema, permitindo integração com outros sistemas e desenvolvimento de aplicações customizadas.
Informações Importantes
Todas as requisições devem ser feitas para a URL base: http://127.0.0.1:8000/api/v1/
Os dados são enviados e recebidos no formato JSON. Para acessar endpoints protegidos, é necessário incluir um token de autenticação no cabeçalho das requisições.
Autenticação
A API utiliza autenticação baseada em token. Para acessar os endpoints protegidos, você deve primeiro obter um token de autenticação através do endpoint de login, e então incluí-lo no cabeçalho Authorization das requisições subsequentes.
Login
POSTAutentica um usuário no sistema e retorna um token de acesso.
Cabeçalhos
| Cabeçalho | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Content-Type | string | Sim | Deve ser definido como application/json |
| Accept | string | Não | Define o tipo de resposta esperada (padrão: application/json) |
Corpo da Requisição
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | Sim | Email do usuário | |
| password | string | Sim | Senha do usuário |
Exemplo de Requisição
{
"email": "usuario@exemplo.com",
"password": "senha123"
}
Logout
POSTEncerra a sessão do usuário atual e invalida o token de acesso.
Cabeçalhos
| Cabeçalho | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Authorization | string | Sim | Token de autenticação no formato Bearer {token} |
| Content-Type | string | Não | Deve ser definido como application/json |
| Accept | string | Não | Define o tipo de resposta esperada |
Usuários
Endpoints para gerenciamento de usuários do sistema. Todos os endpoints desta seção requerem autenticação.
Listar Usuários
GETRetorna uma lista de todos os usuários do sistema.
Cabeçalhos
| Cabeçalho | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Authorization | string | Sim | Token de autenticação no formato Bearer {token} |
| Content-Type | string | Não | Deve ser definido como application/json |
| Accept | string | Não | Define o tipo de resposta esperada |
Obter Usuário
GETRetorna informações detalhadas de um usuário específico.
Parâmetros de URL
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | integer | Sim | ID do usuário a ser recuperado |
Cabeçalhos
| Cabeçalho | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Authorization | string | Sim | Token de autenticação no formato Bearer {token} |
| Accept | string | Não | Define o tipo de resposta esperada |
| Content-Type | string | Não | Deve ser definido como application/json |
Exemplo de Requisição
GET http://127.0.0.1:8000/api/v1/users/2
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Exemplos de Uso
Abaixo estão exemplos completos de como utilizar a API em diferentes linguagens de programação.
Exemplo 1: Login em Python
import requests
url = "http://127.0.0.1:8000/api/v1/auth/login"
payload = {
"email": "usuario@exemplo.com",
"password": "senha123"
}
headers = {
"Content-Type": "application/json",
"Accept": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
data = response.json()
if response.status_code == 200:
token = data.get("token")
print(f"Token de autenticação: {token}")
else:
print(f"Erro: {data.get('message')}")
Exemplo 2: Listar Usuários em JavaScript (Fetch)
const token = "SEU_TOKEN_AQUI";
const url = "http://127.0.0.1:8000/api/v1/users";
fetch(url, {
method: "GET",
headers: {
"Authorization": `Bearer ${token}`,
"Content-Type": "application/json",
"Accept": "application/json"
}
})
.then(response => response.json())
.then(data => {
console.log("Usuários:", data);
})
.catch(error => {
console.error("Erro:", error);
});
Exemplo 3: cURL - Fluxo Completo
# 1. Autenticação
curl -X POST http://127.0.0.1:8000/api/v1/auth/login \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"email":"usuario@exemplo.com","password":"senha123"}'
# 2. Listar usuários (com token obtido no passo 1)
curl -X GET http://127.0.0.1:8000/api/v1/users \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-H "Accept: application/json"
# 3. Obter usuário específico
curl -X GET http://127.0.0.1:8000/api/v1/users/2 \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-H "Accept: application/json"
# 4. Logout
curl -X POST http://127.0.0.1:8000/api/v1/auth/logout \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-H "Content-Type: application/json"
Códigos de Erro
A API retorna códigos de status HTTP padrão para indicar o resultado das requisições.
| Código | Nome | Descrição |
|---|---|---|
| 200 | OK | A requisição foi bem-sucedida |
| 201 | Created | Recurso criado com sucesso |
| 400 | Bad Request | A requisição está malformada ou contém parâmetros inválidos |
| 401 | Unauthorized | Autenticação necessária ou token inválido |
| 403 | Forbidden | Usuário não tem permissão para acessar o recurso |
| 404 | Not Found | Recurso não encontrado |
| 500 | Internal Server Error | Erro interno do servidor |
Boas Práticas
Sempre verifique o código de status HTTP antes de processar a resposta da API. Em caso de erro (códigos 4xx ou 5xx), a resposta geralmente incluirá um objeto JSON com detalhes sobre o erro.