Consultar resumo financeiro realizado
GET /api/v1/integration/reports/summary
Reportar problema nesta página
Copie o relato, descreva a dificuldade e envie pelo suporte disponível no RuralZap. Não inclua chaves ou dados financeiros.
Abrir RuralZap para acessar o suporteResumo do fluxo de caixa; requer reports:read e CASHFLOW_REPORT. Segue regras do relatório do produto, incluindo abertura, ajustes e transferências externas da carteira selecionada. Moeda suportada: BRL.
Autenticação
Authorization: Bearer. A chave determina o Space. Confira permissões.
Parâmetros
| Nome | Obrigatório | Tipo | Detalhes |
|---|---|---|---|
startDate | Sim | string | Data financeira inicial inclusiva. Período máximo: 366 dias. date |
endDate | Sim | string | Data financeira final inclusiva. date |
walletId | Não | string | Carteira do Space. Inclui transferências de entrada e saída dessa carteira. uuid |
categoryId | Não | string | Categoria do Space ou categoria compartilhada do seu reseller. uuid |
costCenterId | Não | string | Centro(s) de custo por UUID separado por vírgula ou UNCLASSIFIED. Em composições, deve corresponder à mesma parte da categoria e equipamento. |
assetId | Não | string | Equipamento do Space atribuído à mesma parte da categoria e centro. uuid |
groupBy | Não | string | day, week, month Padrão: month |
cURL
curl --fail-with-body "$RURALZAP_BASE_URL/api/v1/integration/reports/summary?startDate=2026-01-01&endDate=2026-01-31" \
-H "Authorization: Bearer $RURALZAP_API_KEY"TypeScript
// Execute no servidor com Node.js 22+ e tsx. Não registre o payload financeiro.
const base = process.env.RURALZAP_BASE_URL;
const key = process.env.RURALZAP_API_KEY;
if (!base || !key) throw new Error('Configure RURALZAP_BASE_URL e RURALZAP_API_KEY.');
const origin = new URL(base);
if (origin.protocol !== 'https:' || origin.username || origin.password || origin.pathname !== '/' || origin.search || origin.hash) throw new Error('Informe uma origem HTTPS sem caminho ou credenciais.');
const response = await fetch(new URL('/api/v1/integration/reports/summary?startDate=2026-01-01&endDate=2026-01-31', origin), {
headers: { Authorization: `Bearer ${key}` },
signal: AbortSignal.timeout(30000),
redirect: 'error',
});
if (!response.ok) throw new Error(`HTTP ${response.status}; consulte /guias/erros.`);
const data: unknown = await response.json();
// Valide data com /openapi.json antes de persistir. Preserve decimais como strings.
export { data };Python
"""Chamada única, Python 3, servidor. Não registra respostas financeiras."""
import json
import os
import urllib.request
from urllib.parse import urlsplit
base = os.environ['RURALZAP_BASE_URL']
key = os.environ['RURALZAP_API_KEY']
origin = urlsplit(base)
if origin.scheme != 'https' or not origin.netloc or origin.username or origin.password or origin.path not in ('', '/') or origin.query or origin.fragment:
raise ValueError('Informe uma origem HTTPS sem caminho ou credenciais.')
class NoRedirect(urllib.request.HTTPRedirectHandler):
def redirect_request(self, req, fp, code, msg, headers, newurl):
return None
request = urllib.request.Request(base.rstrip('/') + '/api/v1/integration/reports/summary?startDate=2026-01-01&endDate=2026-01-31', headers={'Authorization': 'Bearer ' + key})
with urllib.request.build_opener(NoRedirect).open(request, timeout=30) as response:
data = json.load(response)
# Valide data com /openapi.json. Preserve dinheiro como string ou Decimal.Resposta 200
Exemplo sintético, sem dados de clientes.
{
"meta": {
"generatedAt": "2026-10-03T12:00:00.000Z",
"startDate": "2026-01-01",
"endDate": "2026-01-31",
"timezone": "America/Sao_Paulo",
"walletId": null,
"categoryId": null,
"costCenterId": null,
"assetId": null,
"mode": "cash",
"groupBy": "month"
},
"currency": "BRL",
"summary": {
"openingBalance": "1000.0000",
"totalInflows": "600.0000",
"totalOutflows": "400.0000",
"netCashflow": "200.0000",
"totalAdjustments": "0.0000",
"closingBalance": "1200.0000"
}
}Campos
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
meta | object | Sim | |
meta.generatedAt | string | Sim | date-time |
meta.startDate | string | Sim | date |
meta.endDate | string | Sim | date |
meta.timezone | string | Sim | Referência de negócio. Datas financeiras são date-only e não sofrem conversão de fuso. |
meta.walletId | string ou null | Sim | uuid Aceita null. |
meta.categoryId | string ou null | Sim | uuid Aceita null. |
meta.costCenterId | string ou null | Sim | Aceita null. |
meta.assetId | string ou null | Sim | uuid Aceita null. |
meta.mode | string | Sim | cash é a visão completa das carteiras; slice é recorte gerencial e não equivale ao saldo bancário integral. Valores: cash, slice |
meta.groupBy | string | Sim | Valores: day, week, month |
currency | string | Sim | Relatórios suportam BRL; uma combinação de moedas não é convertida nem somada. |
summary | string | Sim | Resumo do fluxo de caixa realizado. Requer o recurso CASHFLOW_REPORT. |
Erros
| HTTP | Descrição |
|---|---|
| 400 | Parâmetros inválidos ou moeda não suportada |
| 401 | Credencial inválida, expirada, revogada ou de outro ambiente |
| 403 | Permissão ou acesso ao recurso indisponível |
| 404 | Filtro ou recurso fora do Space |
| 429 | Limite excedido; respeite Retry-After |
| 503 | Indisponibilidade temporária |
Consulte causas e soluções. Erros públicos usam error.code, error.message e error.requestId. Em 429, aguarde Retry-After.
Downloads
cURL · TypeScript · Python · OpenAPI