Ler o extrato
Devolve as linhas do extrato, com categoria, sinal e o saldo de cada dia. Confere contra o saldo, ao centavo.
Autenticação
A sessão do painel autentica esta rota, e ela é lida de forma autoritativa: não há parâmetro em que o chamador aponte para outra conta.
Esta rota não exige escopo nomeado — o que não quer dizer que ela seja aberta: sem a credencial acima ela recusa.
Exige sessão de vendedor. Tudo aqui é escopado pela sessão: não há parâmetro em que o chamador aponte para outra conta.
Parâmetros
Consulta
| Nome | Tipo | Descrição |
|---|---|---|
currency | um de: `BRL`, `USD`, `EUR` | A moeda das linhas. |
limit | inteiro | Quantas linhas trazer nesta página. |
cursor | texto | O ponteiro devolvido pela página anterior. Só vale com os mesmos filtros e a mesma janela. |
from | texto (date-time) | Começo do período, inclusive. |
to | texto (date-time) | Fim do período, exclusive. |
direction | um de: `all`, `in`, `out` | Só entradas (in), só saídas (out) ou todas (all). |
categories | arranjo de um de: `sale_received`, `fee_applied`, `reserve_released`, `reserve_applied`, `withdrawal`, `withdrawal_fee`, `refund`, `chargeback`, `other` | Só estas categorias. Repita o parâmetro ou separe por vírgula. |
q | texto | Busca por valor, identificador, data ou categoria, até 80 caracteres e seis termos. Todos precisam casar. |
Respostas
200 · sucesso
{
"entries": [
{
"aggregatedCount": 1,
"amount": {
"amountCents": 129900,
"currency": "BRL"
},
"buyerName": "exemplo",
"category": "sale_received",
"currency": "BRL",
"day": "exemplo",
"dayBalance": {
"amountCents": 129900,
"currency": "BRL"
},
"direction": "in",
"kind": "sale",
"lineId": "0f2a4e6c-91c4-4e1b-9a3d-5b7c2e8f4a06",
"movementId": "0f2a4e6c-91c4-4e1b-9a3d-5b7c2e8f4a06",
"occurredAt": "2026-01-15T12:00:00.000Z",
"originPaymentId": "0f2a4e6c-91c4-4e1b-9a3d-5b7c2e8f4a06",
"parentMovementId": "0f2a4e6c-91c4-4e1b-9a3d-5b7c2e8f4a06",
"productName": "exemplo",
"recordedAt": "2026-01-15T12:00:00.000Z",
"reference": "exemplo",
"saleId": "0f2a4e6c-91c4-4e1b-9a3d-5b7c2e8f4a06"
}
],
"nextCursor": "exemplo",
"timeZone": "exemplo",
"totals": {
"matching": 0,
"window": 0
}
}As linhas da página, da mais recente para a mais antiga. dayBalance é o saldo ao fim do dia de day, igual em toda página e sem mudar com filtro ou busca.
400 · requisição inválida
O ponteiro, a busca ou o período não podem ser usados.
Erros desta rota
| Status | Código | Quando | O que fazer |
|---|---|---|---|
| 400 | STATEMENT_CURSOR_INVALID | O cursor não está no resultado deste pedido, porque o filtro ou o período mudou entre as páginas. | Volte à primeira página, sem cursor. |
| 400 | STATEMENT_SEARCH_INVALID | A busca q tem mais de seis termos. | Use menos palavras e reenvie. |
| 400 | STATEMENT_WINDOW_TOO_LARGE | Só a exportação (GET /seller/statement/export) o devolve, quando o arquivo teria mais de cem mil linhas. A lista paginada não tem esse limite. | Na exportação, reenvie com from e to mais próximos. |
Os códigos são estáveis e fazem parte do contrato. A lista completa, com todos os vocabulários, está na tabela de erros.