Pular para o conteúdo

Listar vendas

GET
/sales
curl --request GET \
--url 'https://dattacrm.com.br/api/v1/sales?limit=50&status=paid&leadId=0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f&occurredSince=2026-10-19T12%3A00%3A00.000Z' \
--header 'Authorization: Bearer <token>'

Lista as vendas da conta (de gateways e da API), da mais nova para a mais antiga pela entrada no CRM, em páginas. Os filtros se combinam (todos precisam valer). Use nextCursor no parâmetro cursor para buscar a página seguinte; quando vier nulo, acabou.

cursor

Cursor da página anterior (nextCursor).

string

Cursor da página anterior (nextCursor).

limit

Itens por página (1 a 200, padrão 50).

integer
default: 50 >= 1 <= 200

Itens por página (1 a 200, padrão 50).

status

Filtra pela situação: paid, pending, refunded, chargeback, canceled, abandoned ou other.

string
Allowed values: paid pending refunded chargeback canceled abandoned other

Filtra pela situação: paid, pending, refunded, chargeback, canceled, abandoned ou other.

gateway

Filtra pela origem exata, ex.: api ou hotmart.

string

Filtra pela origem exata, ex.: api ou hotmart.

transactionId

Filtra pelo identificador exato da transação.

string

Filtra pelo identificador exato da transação.

leadId

Filtra pelas vendas deste lead.

string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
Example
0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f

Filtra pelas vendas deste lead.

tag
Any of:

Nome da tag.

string
>= 1 characters <= 40 characters

Filtra por vendas que têm esta tag de venda (pelo nome, sem diferenciar maiúsculas). Repita o parâmetro (?tag=a&tag=b) para vendas com qualquer uma delas.

occurredSince

Só vendas com data da venda a partir deste instante (inclusive), em ISO 8601. Vendas sem data ficam de fora.

string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/
Example
2026-10-19T12:00:00.000Z

Só vendas com data da venda a partir deste instante (inclusive), em ISO 8601. Vendas sem data ficam de fora.

Sucesso.

Media type application/json
object
data
required

Vendas da página, da mais nova para a mais antiga.

Array<object>

Venda (de um gateway ou registrada pela API) no formato público.

object
id
required

Identificador da venda no CRM.

string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
gateway
required

Origem da venda: api para as registradas pela API, ou o gateway (hotmart, kiwify…).

string
transactionId
required

Identificador da transação no gateway (ou no seu sistema).

string
status
required

Situação: paid, pending, refunded, chargeback, canceled ou abandoned. other aparece só em venda de gateway com status desconhecido.

string
Allowed values: paid pending refunded chargeback canceled abandoned other
value
required

Valor da venda, na moeda de currency.

number
currency
required

Moeda da venda (código ISO de 3 letras, ex.: BRL).

string
productId
required

Identificador do produto, ou null.

string | null
productName
required

Nome do produto, ou null.

string | null
paymentType
required

Forma de pagamento (pix, cartão, boleto…), ou null.

string | null
buyer
required

Comprador, como veio na venda.

object
name
required

Nome do comprador, ou null.

string | null
email
required

E-mail do comprador, ou null.

string | null
phone
required

Telefone do comprador, ou null.

string | null
tags
required

Tags da venda, pelo nome (catálogo de tags de venda, separado do das tags de lead). Veja list_sale_tags.

Array<string>
leadId
required
Any of:

Identificador único (UUID).

string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
occurredAt
required
Any of:

Data e hora em ISO 8601, com fuso.

string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/
utm
required

UTMs da venda; sem UTM na venda, valem as do lead.

object
source
required

Utm_source.

string | null
medium
required

Utm_medium.

string | null
campaign
required

Utm_campaign.

string | null
term
required

Utm_term.

string | null
content
required

Utm_content.

string | null
mirror
required

Espelho do painel do gateway: taxas, líquido do produtor, comissões, oferta e parcelas.

object
grossValue
required

Valor bruto cobrado do comprador, ou null.

number | null
buyerTaxes
required

Impostos pagos pelo comprador, ou null.

number | null
installmentFee
required

Juros do parcelamento, ou null.

number | null
processingFee
required

Taxa de processamento do gateway, ou null.

number | null
streamingFee
required

Taxa de streaming ou entrega, ou null.

number | null
otherFees
required

Outras taxas, ou null.

number | null
producerNetValue
required

Valor líquido do produtor, ou null.

number | null
coproducerValue
required

Comissão do coprodutor, ou null.

number | null
affiliateValue
required

Comissão do afiliado, ou null.

number | null
affiliateName
required

Nome do afiliado, ou null.

string | null
offerCode
required

Código da oferta no gateway, ou null.

string | null
offerName
required

Nome da oferta, ou null.

string | null
couponCode
required

Cupom de desconto usado, ou null.

string | null
installments
required
Any of:
integer
>= -9007199254740991 <= 9007199254740991
payoutCurrency
required

Moeda do repasse ao produtor, ou null.

string | null
approvedAt
required
Any of:

Data e hora em ISO 8601, com fuso.

string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/
createdAt
required

Quando a venda entrou no CRM.

string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/
updatedAt
required

Quando a venda foi alterada pela última vez.

string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$/
nextCursor
required

Cursor da próxima página; nulo na última página.

string | null
Example
{
"data": [
{
"id": "0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f",
"status": "paid",
"leadId": "0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f",
"occurredAt": "2026-10-19T12:00:00.000Z",
"mirror": {
"approvedAt": "2026-10-19T12:00:00.000Z"
},
"createdAt": "2026-10-19T12:00:00.000Z",
"updatedAt": "2026-10-19T12:00:00.000Z"
}
]
}
X-Request-Id
string

Identificador da requisição, para suporte.

X-RateLimit-Limit
integer

Máximo de requisições por janela de 60 segundos para esta chave.

X-RateLimit-Remaining
integer

Requisições restantes na janela atual.

X-RateLimit-Reset
integer

Fim da janela atual, em milissegundos desde a época Unix (epoch ms).

Dados inválidos na requisição (validation_error), lead novo sem lista (list_required), campo que mudou de lugar (field_moved) ou chave enviada na URL (api_key_in_url).

Media type application/json

Formato de erro da API.

object
error
required
object
code
required

Código estável do erro, ex.: validation_error.

string
message
required

Mensagem legível em português.

string
details

Detalhes extras, ex.: lista de campos inválidos.

requestId
required

Identificador da requisição, para suporte.

string
Example generated
{
"error": {
"code": "example",
"message": "example",
"details": "example",
"requestId": "example"
}
}
X-Request-Id
string

Identificador da requisição, para suporte.

Chave ausente, inválida (invalid_api_key), vencida (api_key_expired) ou revogada (api_key_revoked).

Media type application/json

Formato de erro da API.

object
error
required
object
code
required

Código estável do erro, ex.: validation_error.

string
message
required

Mensagem legível em português.

string
details

Detalhes extras, ex.: lista de campos inválidos.

requestId
required

Identificador da requisição, para suporte.

string
Example generated
{
"error": {
"code": "example",
"message": "example",
"details": "example",
"requestId": "example"
}
}
X-Request-Id
string

Identificador da requisição, para suporte.

Limite de requisições atingido (rate_limited). Aguarde Retry-After segundos.

Media type application/json

Formato de erro da API.

object
error
required
object
code
required

Código estável do erro, ex.: validation_error.

string
message
required

Mensagem legível em português.

string
details

Detalhes extras, ex.: lista de campos inválidos.

requestId
required

Identificador da requisição, para suporte.

string
Example generated
{
"error": {
"code": "example",
"message": "example",
"details": "example",
"requestId": "example"
}
}
X-Request-Id
string

Identificador da requisição, para suporte.

X-RateLimit-Limit
integer

Máximo de requisições por janela de 60 segundos para esta chave.

X-RateLimit-Remaining
integer

Requisições restantes na janela atual.

X-RateLimit-Reset
integer

Fim da janela atual, em milissegundos desde a época Unix (epoch ms).

Retry-After
integer

Segundos até poder tentar de novo.

Erro interno (internal_error). Informe o requestId ao suporte.

Media type application/json

Formato de erro da API.

object
error
required
object
code
required

Código estável do erro, ex.: validation_error.

string
message
required

Mensagem legível em português.

string
details

Detalhes extras, ex.: lista de campos inválidos.

requestId
required

Identificador da requisição, para suporte.

string
Example generated
{
"error": {
"code": "example",
"message": "example",
"details": "example",
"requestId": "example"
}
}
X-Request-Id
string

Identificador da requisição, para suporte.