Documentação da API v1 · Conheça a Naut
v1

Listar vendas

Devolve as vendas da conta em páginas, com filtro por estado, método, produto, período e parâmetros de origem.

GEThttps://api.navenaut.com/sales/

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. A lista é sempre a da conta da sessão: não há filtro que alcance a venda de outro vendedor.

Parâmetros

Consulta

NomeTipoDescrição
stateum de: `pending`, `credited`, `under_review`, `refused`, `cancelled`Só as vendas neste estado.
methodum de: `pix`, `card`, `boleto`, `wallet`Só as vendas pagas por este método.
walletBrandum de: `apple_pay`, `google_pay`, `paypal`—
productIdtexto (uuid)Só as vendas deste produto.
fromtexto (date-time)Começo do período, inclusive.
totexto (date-time)Fim do período, inclusive.
termtextoBusca livre sobre os dados do comprador.
affiliateOnlybooleanoSó as vendas que vieram por indicação.
coproductionOnlybooleano—
srctextoFiltra pelo parâmetro de origem src registrado na visita.
scktextoFiltra pelo parâmetro de origem sck registrado na visita.
utm_sourcetextoFiltra pela origem UTM registrada na visita: de onde o comprador veio.
utm_mediumtextoFiltra pelo meio UTM registrado na visita: por que canal ele veio.
utm_campaigntextoFiltra pela campanha UTM registrada na visita.
utm_contenttextoFiltra pela variação de criativo UTM registrada na visita.
utm_termtextoFiltra pelo termo UTM registrado na visita.
s1textoFiltra pelo parâmetro livre s1 registrado na visita. Ele é seu: a Naut só o guarda e o devolve.
s2textoFiltra pelo parâmetro livre s2 registrado na visita.
s3textoFiltra pelo parâmetro livre s3 registrado na visita.
pageinteiroQual página trazer, começando em 1.
pageSizeinteiroQuantas vendas por página, até 100.
anchortexto (uuid)Fixa a paginação numa venda, para que uma venda nova não desloque as páginas seguintes.

Respostas

200 · sucesso

{
  "anchor": "exemplo",
  "creditedViewerLegCents": 129900,
  "page": 1,
  "pageCount": 0,
  "pageSize": 1,
  "rows": [
    {
      "buyerEmail": "comprador@exemplo.com.br",
      "buyerName": "exemplo",
      "cardBrand": "exemplo",
      "currency": "BRL",
      "hasAffiliate": true,
      "hasCoproducer": true,
      "hasSplit": true,
      "method": "pix",
      "occurredAt": "2026-01-15T12:00:00.000Z",
      "offerName": "exemplo",
      "productName": "exemplo",
      "publicId": "7K3M9XABCD",
      "reversal": {
        "full": true,
        "grossCents": 129900,
        "kind": "refund",
        "viewerCents": 129900
      },
      "saleId": "0f2a4e6c-91c4-4e1b-9a3d-5b7c2e8f4a06",
      "saleTotalCents": 129900,
      "state": "pending",
      "strategy": [
        {
          "amountCents": 129900,
          "kind": "bump",
          "offerName": "exemplo",
          "productName": "exemplo"
        }
      ],
      "viaApi": true,
      "view": "participant",
      "viewerLegCents": 129900,
      "viewerLegRole": "produtor",
      "walletBrand": "exemplo"
    }
  ],
  "totalCount": 0
}

400 · requisição inválida

A janela pedida não é válida: from precisa vir antes de to, e as duas datas precisam formar um período que a busca aceite.

Erros desta rota

StatusCódigoQuandoO que fazer
400SALES_WINDOW_INVALIDA janela pedida não é válida: from depois de to, data que a busca não consegue ler, ou período mais largo do que ela aceita de uma vez.Corrija as duas datas e reenvie. Para períodos longos, quebre em janelas menores e pagine cada uma.

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.

Próximo passo