API privada para acesso aos dados do banco, destinada exclusivamente ao desenvolvedor (user ID 1).
| URL | |
|---|---|
| Frontend | http://172.19.1.15:3000 |
| API (base URL) | http://172.19.1.15:8800 |
Toda requisição aos endpoints de dados deve incluir o header:
X-API-Key: <sua_chave>
Chaves são gerenciadas pelo frontend em Admin → API Keys (visível apenas para user 1).
Usam autenticação JWT normal (Authorization: Bearer <token>).
| Método | Rota | Descrição |
|---|---|---|
POST |
/api-keys |
Gera nova chave — body: { "name": "..." } |
GET |
/api-keys |
Lista chaves |
DELETE |
/api-keys/:id |
Revoga chave |
A key completa só é retornada no
POST. Guarde-a — não aparece novamente.
Todos os endpoints GET /api/data/* aceitam filtros via query string:
| Tipo | Parâmetro | Comportamento |
|---|---|---|
| Texto | ?name=maria |
LIKE parcial, case-insensitive (%maria%) |
| Exato | ?status=ATIVA |
Igualdade exata |
| Booleano | ?isArchived=false |
Aceita true/false ou 1/0 |
| Nulo | ?respFiscalId=null |
Filtra registros onde o campo é NULL |
| Faixa numérica | ?employeesCount_min=10&employeesCount_max=50 |
Entre 10 e 50 |
| Faixa de data | ?createdAt_from=2025-01-01&createdAt_to=2025-12-31 |
Formato YYYY-MM-DD |
| Nome do resp. | ?respFiscalName=heidy |
LIKE no nome do usuário relacionado |
| Parâmetro | Padrão | Descrição |
|---|---|---|
limit |
500 |
Máximo de registros (teto: 1000) |
offset |
0 |
Pular N registros |
orderBy |
name |
Campo para ordenar |
order |
ASC |
ASC ou DESC |
A resposta sempre inclui { total, limit, offset, data: [...] }.
| Parâmetro | Valores de exemplo |
|---|---|
id |
42 |
num |
1307 |
rule |
Simples · Presumido · Real · MEI |
classi |
ICMS · ISS · ICMS/ISS |
status |
ATIVA · DISTRATO · PARALISADA · SUSPENSA |
uf |
DF · SP · MG … |
branchNumber |
1 |
respFiscalId |
1 (ID do usuário) |
respDpId |
8 |
respContabilId |
13 |
grupoId |
3 |
contactModeId |
1 |
name, cnpj, ie, email, phone, contact, obs, important_info
respFiscalName, respDpName, respContabilName
isArchived, isHeadquarters, openedByUs,
isZeroedFiscal, sentToClientFiscal,
isZeroedDp, sentToClientDp, declarationsCompletedDp, hasNoDpObligations,
isZeroedContabil
bonusValue_min / bonusValue_max,
employeesCount_min / employeesCount_max,
accountingMonthsCount_min / accountingMonthsCount_max
createdAt_from / createdAt_to,
statusUpdatedAt_from / statusUpdatedAt_to,
fiscalCompletedAt_from / fiscalCompletedAt_to,
dpCompletedAt_from / dpCompletedAt_to,
contabilCompletedAt_from / contabilCompletedAt_to
# Todas as empresas ativas do Simples com responsável fiscal = Heidy
curl -H "X-API-Key: <key>" \
"http://172.19.1.15:8800/api/data/companies?rule=Simples&status=ATIVA&respFiscalName=Heidy"
# Empresas com +30 funcionários, não arquivadas, ordenadas por nome
curl -H "X-API-Key: <key>" \
"http://172.19.1.15:8800/api/data/companies?employeesCount_min=30&isArchived=false&orderBy=name"
# Empresas sem responsável fiscal (campo null)
curl -H "X-API-Key: <key>" \
"http://172.19.1.15:8800/api/data/companies?respFiscalId=null&isArchived=false"
# Buscar por CNPJ parcial
curl -H "X-API-Key: <key>" \
"http://172.19.1.15:8800/api/data/companies?cnpj=22854614"
# Criadas em 2025, página 2
curl -H "X-API-Key: <key>" \
"http://172.19.1.15:8800/api/data/companies?createdAt_from=2025-01-01&createdAt_to=2025-12-31&limit=50&offset=50"Retorna empresa completa com impostos, obrigações, automações, grupo e modo de contato.
curl -H "X-API-Key: <key>" http://172.19.1.15:8800/api/data/companies/3| Parâmetro | Tipo | Exemplo |
|---|---|---|
id |
exato | 1 |
name |
parcial | heidy |
email |
parcial | contelb |
department |
exato | Fiscal · Pessoal · Contábil · Financeiro · Processual · Outros |
role |
exato | admin · user · not-validated |
ramal |
parcial | 9731 |
hasBonus |
booleano | true |
birthday_from / birthday_to |
data | 1990-01-01 |
createdAt_from / createdAt_to |
data | 2025-01-01 |
Senhas nunca são retornadas.
# Todos do Fiscal com bonus
curl -H "X-API-Key: <key>" \
"http://172.19.1.15:8800/api/data/users?department=Fiscal&hasBonus=true"
# Busca pelo nome
curl -H "X-API-Key: <key>" \
"http://172.19.1.15:8800/api/data/users?name=beatriz"Retorna automações com lista de empresas vinculadas.
curl -H "X-API-Key: <key>" http://172.19.1.15:8800/api/data/automations| Parâmetro | Exemplo | Descrição |
|---|---|---|
month |
4 |
Mês (1–12) |
year |
2026 |
Ano |
type |
DAS |
DAS · ICMS · ISS · PIS/COFINS · IRPJ/CSLL · IPI · IRRF |
curl -H "X-API-Key: <key>" \
"http://172.19.1.15:8800/api/data/taxes?month=4&year=2026&type=DAS"| Parâmetro | Exemplo |
|---|---|
month |
4 |
year |
2026 |
curl -H "X-API-Key: <key>" \
"http://172.19.1.15:8800/api/data/obligations?month=4&year=2026"import requests
KEY = "sua_chave_aqui"
BASE = "http://172.19.1.15:8800"
H = {"X-API-Key": KEY}
# Empresas do Simples ativas com resp. fiscal = Heidy, com bônus
companies = requests.get(f"{BASE}/api/data/companies", headers=H, params={
"rule": "Simples",
"status": "ATIVA",
"respFiscalName": "Heidy",
"isArchived": "false",
"limit": 1000,
}).json()
print(f"{companies['total']} empresas encontradas")
for c in companies["data"]:
print(c["name"], c["cnpj"])
# Usuários do Fiscal
users = requests.get(f"{BASE}/api/data/users", headers=H, params={
"department": "Fiscal",
"hasBonus": "true",
}).json()
for u in users["data"]:
print(u["name"], u["email"])| Código | Descrição |
|---|---|
401 |
API Key ausente, inválida ou revogada |
403 |
Operação restrita ao user ID 1 |
404 |
Recurso não encontrado |
500 |
Erro interno |