📚 Como Usar a API - ecosif-moviments
📋 Visão Geral
Este guia prático explica como usar a API do ecosif-moviments para realizar operações comuns.
🔑 Passo 1: Autenticação
Primeiro, obtenha um token JWT:
TOKEN=$(curl -s -X POST http://localhost:8080/api/auth/signin \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"senha123"}' \
| jq -r '.accessToken')
echo "Token: $TOKEN"
Use o token em todas as requisições:
curl -H "Authorization: Bearer $TOKEN" ...
📦 Criar um Lote Completo
1. Criar Lote
BATCH_ID=$(curl -s -X POST http://localhost:8082/batch \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"lote": "001",
"empresa": "00001",
"filial": "00001",
"ano": 2025,
"mes": 11,
"descricao": "Lote de Novembro"
}' | jq -r '.id')
echo "Batch ID: $BATCH_ID"
2. Criar Documento
DOC_ID=$(curl -s -X POST http://localhost:8082/document \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"batchId\": $BATCH_ID,
\"documento\": \"000001\",
\"texto\": \"Documento de teste\"
}" | jq -r '.id')
echo "Document ID: $DOC_ID"
3. Criar Lançamentos (Débito e Crédito)
# Débito
curl -X POST http://localhost:8082/entry \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"documentId\": $DOC_ID,
\"lancamento\": \"001\",
\"debcre\": \"D\",
\"day\": \"15\",
\"contaId\": 100,
\"valor\": 1000.00
}"
# Crédito (partida dobrada)
curl -X POST http://localhost:8082/entry \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"documentId\": $DOC_ID,
\"lancamento\": \"002\",
\"debcre\": \"C\",
\"day\": \"15\",
\"contaId\": 200,
\"valor\": 1000.00
}"
📥 Importar Arquivo CSV
Criar Arquivo CSV
documento,lançamento,débito_crédito,dia,conta,valor,histórico
000001,001,D,15,100,1000.00,Lançamento teste
000001,002,C,15,200,1000.00,Contrapartida
Importar
curl -X POST "http://localhost:8082/batch/$BATCH_ID/import?dryRun=false" \
-H "Authorization: Bearer $TOKEN" \
-F "file=@lancamentos.csv"
🔄 Consolidar Período
curl -X POST http://localhost:8082/runconsolidation \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"company": "00001",
"branch": "00001",
"year": "2025",
"month": "11"
}'
Nota: Operação assíncrona. Verifique status via logs ou endpoints de monitoramento.
📊 Consultar Dados
Listar Lotes
curl -X GET "http://localhost:8082/allbatch/00001/00001" \
-H "Authorization: Bearer $TOKEN" | jq
Buscar Documento
curl -X GET "http://localhost:8082/document/$DOC_ID" \
-H "Authorization: Bearer $TOKEN" | jq
Listar Lançamentos
curl -X GET "http://localhost:8082/allentry/$DOC_ID" \
-H "Authorization: Bearer $TOKEN" | jq
💰 Calcular Cotas
Preview (não salva)
curl -X GET "http://localhost:8082/taxquotacalculation/00001/00001?confirmed=false" \
-H "Authorization: Bearer $TOKEN" | jq
Confirmar e Salvar
curl -X GET "http://localhost:8082/taxquotacalculation/00001/00001?confirmed=true" \
-H "Authorization: Bearer $TOKEN"
📝 Exemplos com cURL
Script Completo
#!/bin/bash
# 1. Autenticação
TOKEN=$(curl -s -X POST http://localhost:8080/api/auth/signin \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"senha123"}' \
| jq -r '.accessToken')
# 2. Criar lote
BATCH_ID=$(curl -s -X POST http://localhost:8082/batch \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"lote": "001",
"empresa": "00001",
"filial": "00001",
"ano": 2025,
"mes": 11
}' | jq -r '.id')
echo "Lote criado: $BATCH_ID"
# 3. Criar documento
DOC_ID=$(curl -s -X POST http://localhost:8082/document \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"batchId\": $BATCH_ID,
\"documento\": \"000001\"
}" | jq -r '.id')
echo "Documento criado: $DOC_ID"
# 4. Criar lançamentos
curl -X POST http://localhost:8082/entry \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"documentId\": $DOC_ID,
\"lancamento\": \"001\",
\"debcre\": \"D\",
\"day\": \"15\",
\"contaId\": 100,
\"valor\": 1000.00
}"
curl -X POST http://localhost:8082/entry \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"documentId\": $DOC_ID,
\"lancamento\": \"002\",
\"debcre\": \"C\",
\"day\": \"15\",
\"contaId\": 200,
\"valor\": 1000.00
}"
echo "Lançamentos criados com sucesso!"
🔍 Dicas e Boas Práticas
- Sempre valide partidas dobradas antes de criar múltiplos lançamentos
- Use paginação em listagens grandes
- Considere usar dryRun=true ao importar arquivos grandes
- Verifique status de operações assíncronas
- Trate erros apropriadamente
Última Atualização: 2025-11-27