Repository navigation
API Reference
A API é implementada em api/app.py. As respostas de negócio são JSON, exceto downloads CSV/XLSX e arquivos estáticos. Os endpoints abaixo foram conferidos em docs/development.md.
| Método | Rota | Descrição |
|---|---|---|
| GET | /api/auth/setup-status |
Verifica se o primeiro administrador precisa ser criado |
| POST | /api/auth/setup |
Provisiona o administrador usando token temporário |
| POST | /api/auth/login |
Inicia sessão |
| GET | /api/auth/me |
Retorna usuário atual e token CSRF |
| POST | /api/auth/logout |
Revoga a sessão atual |
| GET | /api/auth/users |
Lista usuários; acesso administrativo |
| POST | /api/auth/users |
Cria usuário; acesso administrativo |
| POST | /api/auth/users/{id}/deactivate |
Desativa usuário e revoga sessões; acesso administrativo |
| Método | Rota | Descrição |
|---|---|---|
| GET | /api/health |
Estado básico do serviço |
| GET | /api/dashboard |
Indicadores, categorias, clientes recentes e estoque crítico |
| GET | /api/categories |
Categorias e contagem de produtos |
| GET | /api/clients |
Consulta clientes |
| POST | /api/clients |
Cadastra cliente; admin/operação |
| GET | /api/products |
Lista produtos; aceita filtro category
|
| POST | /api/products |
Cadastra produto; admin/operação |
| POST | /api/products/{id} |
Atualiza produto; admin/operação |
| POST | /api/products/{id}/deactivate |
Desativa produto sem apagar seu cadastro |
| POST | /api/products/{id}/activate |
Reativa produto desativado |
| POST | /api/products/{id}/delete |
Remove produto e alertas associados; admin |
| GET | /api/dashboard/export.csv |
Exporta dashboard em CSV |
| GET | /api/dashboard/export.xlsx |
Exporta dashboard em XLSX |
Exemplo de filtro: GET /api/products?category=Hardware. Use category=all para todas as categorias.
| Método | Rota | Descrição |
|---|---|---|
| GET | /api/finance/summary |
Totais realizados e saldo projetado |
| GET/POST | /api/finance/entries |
Lista/cria receitas e despesas |
| GET | /api/alerts/stock |
Consulta alertas ativos de estoque |
| GET | /api/alerts/config |
Consulta limite padrão |
| POST | /api/alerts/stock/{id}/threshold |
Atualiza mínimo do produto |
| POST | /api/alerts/stock/{id}/acknowledge |
Reconhece um alerta |
| GET/POST | /api/work-items |
Lista/registra bugs e riscos |
| POST | /api/work-items/{id} |
Atualiza estado/responsável; admin/operação |
| Método | Rota | Descrição |
|---|---|---|
| GET | /api/integrations/google-sheets/status |
Informa se a integração está configurada, sem expor credenciais |
| POST | /api/integrations/google-sheets/export |
Exporta indicadores e catálogo para a planilha configurada |
Todas as rotas, exceto /api/auth/setup-status, /api/auth/setup, /api/auth/login e arquivos estáticos, exigem sessão autenticada. Rotas de escrita exigem o cookie pm_session e o cabeçalho X-CSRF-Token, cujo valor é obtido em GET /api/auth/me. Os papéis são verificados no servidor.
A documentação do projeto indica HTTP 400 para erros de validação e HTTP 409 para conflitos de unicidade. Os campos obrigatórios e restrições devem ser consultados em db/schema.sql e doc/data-model.md. Não presuma que endpoints de escrita aceitam chamadas sem sessão/CSRF.
CSV e XLSX são gerados localmente. Google Sheets é uma integração opcional que usa um token OAuth de curta duração configurado no ambiente do servidor; o aplicativo não renova esse token automaticamente. O envio transfere os dados selecionados à conta/planilha configurada.
O fluxo geral de integração é:
- Autenticar-se por
POST /api/auth/logine conservar o cookie de sessão. - Consultar
GET /api/auth/mepara obter o token CSRF. - Enviar o cookie e
X-CSRF-Tokennas requisições de escrita. - Tratar respostas de erro e conflitos; não repetir escritas sem avaliar idempotência.
O contrato exato de campos JSON deve ser validado no código de api/app.py; esta página resume rotas, não substitui os validadores implementados.