Consultar lançamentos por período
GET /api/v1/integration/transactions
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 suporteRequer transactions:read. Ordem createdAt,id crescente. Até 100 itens; período obrigatório de até 366 dias. Inclui pendentes/cancelados, ajustes, transferências e pagamentos de fatura, com flags explícitas; exclui apagados. Não somar todos os lançamentos como receita/despesa: use os relatórios. Paginação não é snapshot; alterações/exclusões durante a travessia podem modificar resultados.
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 |
type | Não | string | INCOME, EXPENSE, TRANSFER |
status | Não | string | PENDING, COMPLETED, CANCELLED |
limit | Não | number | Mínimo: 1 Máximo: 100 Padrão: 50 |
cursor | Não | string | nextCursor da página anterior, mantendo todos os filtros e limite. Validade: 24 horas. Não representa snapshot nem sincronização incremental. |
cURL
curl --fail-with-body "$RURALZAP_BASE_URL/api/v1/integration/transactions?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/transactions?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/transactions?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.
{
"data": [
{
"id": "019a1000-0000-7000-8000-000000000001",
"reference": "#105",
"type": "INCOME",
"status": "COMPLETED",
"amount": "100.0000",
"reportAmount": "1234.5678",
"compositionVersion": 0,
"compositionLines": [],
"currency": "BRL",
"description": "Venda sintética de grãos",
"date": "2026-01-15",
"competenceDate": null,
"walletId": null,
"categoryId": null,
"categoryName": null,
"cardId": null,
"transferSourceWalletId": null,
"transferDestinationWalletId": null,
"isAdjustment": false,
"isInvoicePayment": false,
"ignored": false,
"settlementManaged": false,
"settledPrincipal": "100.0000",
"settledCashAmount": "100.0000",
"remainingAmount": "0.0000",
"settlementStatus": "PAID",
"createdAt": "2026-10-03T12:00:00.000Z",
"updatedAt": "2026-10-03T12:00:00.000Z"
},
{
"id": "019a1000-0000-7000-8000-000000000002",
"reference": "#105",
"type": "EXPENSE",
"status": "COMPLETED",
"amount": "200.0000",
"reportAmount": "1234.5678",
"compositionVersion": 0,
"compositionLines": [],
"currency": "BRL",
"description": "Compra sintética de insumos",
"date": "2026-01-15",
"competenceDate": null,
"walletId": null,
"categoryId": null,
"categoryName": null,
"cardId": null,
"transferSourceWalletId": null,
"transferDestinationWalletId": null,
"isAdjustment": false,
"isInvoicePayment": false,
"ignored": false,
"settlementManaged": false,
"settledPrincipal": "200.0000",
"settledCashAmount": "200.0000",
"remainingAmount": "0.0000",
"settlementStatus": "PAID",
"createdAt": "2026-10-03T12:00:00.000Z",
"updatedAt": "2026-10-03T12:00:00.000Z"
},
{
"id": "019a1000-0000-7000-8000-000000000003",
"reference": "#105",
"type": "INCOME",
"status": "COMPLETED",
"amount": "300.0000",
"reportAmount": "1234.5678",
"compositionVersion": 0,
"compositionLines": [],
"currency": "BRL",
"description": "Serviço sintético",
"date": "2026-01-15",
"competenceDate": null,
"walletId": null,
"categoryId": null,
"categoryName": null,
"cardId": null,
"transferSourceWalletId": null,
"transferDestinationWalletId": null,
"isAdjustment": false,
"isInvoicePayment": false,
"ignored": false,
"settlementManaged": false,
"settledPrincipal": "300.0000",
"settledCashAmount": "300.0000",
"remainingAmount": "0.0000",
"settlementStatus": "PAID",
"createdAt": "2026-10-03T12:00:00.000Z",
"updatedAt": "2026-10-03T12:00:00.000Z"
}
],
"meta": {
"hasMore": false,
"nextCursor": null
}
}Campos
| Campo | Tipo | Obrigatório | Significado |
|---|---|---|---|
data | array | Sim | |
data[].id | string | Sim | uuid |
data[].reference | string ou null | Sim | Referência humana; use id como identificador estável. Aceita null. |
data[].type | string | Sim | Valores: INCOME, EXPENSE, TRANSFER |
data[].status | string | Sim | Valores: PENDING, COMPLETED, CANCELLED |
data[].amount | string | Sim | Principal original integral do lançamento, preservado mesmo em recortes analíticos. |
data[].reportAmount | string | Sim | Principal considerado pelas partes que atendem simultaneamente aos filtros. Não representa caixa pago. |
data[].compositionVersion | number | Sim | Zero identifica classificação legada; versão positiva usa exclusivamente compositionLines. |
data[].compositionLines | array | Sim | Composição completa do lançamento para auditoria; não somente as partes filtradas. |
data[].compositionLines[].id | string | Sim | uuid |
data[].compositionLines[].position | number | Sim | |
data[].compositionLines[].amount | string | Sim | Valor exato da parte no principal contratado. |
data[].compositionLines[].categoryId | string ou null | Sim | uuid Aceita null. |
data[].compositionLines[].categoryName | string ou null | Sim | Aceita null. |
data[].compositionLines[].costCenterId | string ou null | Sim | uuid Aceita null. |
data[].compositionLines[].costCenterName | string ou null | Sim | Aceita null. |
data[].compositionLines[].equipmentState | string | Sim | Valores: NONE, PENDING, LINKED |
data[].compositionLines[].assetId | string ou null | Sim | uuid Aceita null. |
data[].compositionLines[].assetCode | string ou null | Sim | Aceita null. |
data[].compositionLines[].assetName | string ou null | Sim | Aceita null. |
data[].currency | string | Sim | |
data[].description | string ou null | Sim | Aceita null. |
data[].date | string | Sim | date |
data[].competenceDate | string ou null | Sim | date Aceita null. |
data[].walletId | string ou null | Sim | uuid Aceita null. |
data[].categoryId | string ou null | Sim | uuid Aceita null. |
data[].categoryName | string ou null | Sim | Aceita null. |
data[].cardId | string ou null | Sim | uuid Aceita null. |
data[].transferSourceWalletId | string ou null | Sim | uuid Aceita null. |
data[].transferDestinationWalletId | string ou null | Sim | uuid Aceita null. |
data[].isAdjustment | boolean | Sim | |
data[].isInvoicePayment | boolean | Sim | |
data[].ignored | boolean | Sim | Lançamento desconsiderado dos indicadores, ainda visível e podendo afetar saldo. |
data[].settlementManaged | boolean | Sim | Indica liquidações parciais geridas pelo domínio. |
data[].settledPrincipal | string | Sim | Valor decimal exato com quatro casas; não converter para float. |
data[].settledCashAmount | string | Sim | Valor decimal exato com quatro casas; não converter para float. |
data[].remainingAmount | string | Sim | Valor decimal exato com quatro casas; não converter para float. |
data[].settlementStatus | string | Sim | Valores: PAID, PARTIAL, UNPAID |
data[].createdAt | string | Sim | date-time |
data[].updatedAt | string | Sim | Atualização técnica; não equivale a feed de mudanças. date-time |
meta | object | Sim | |
meta.nextCursor | string ou null | Sim | Aceita null. |
meta.hasMore | boolean | Sim |
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