Vendas
As vendas de cartão do cliente, em todas as adquirentes conectadas, criadas ou alteradas a partir de uma data, em páginas numeradas.
Autenticação: Authorization: Bearer <access_token> e X-Company-Token: <company_token>.
Parâmetros de consulta
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
updated_since | data e hora ISO 8601 | Traz as vendas criadas ou alteradas a partir deste instante (inclusive). Sem ele, vêm todas as vendas dos últimos 90 dias. Não pode estar mais de 5 minutos no futuro. Ex.: 2026-10-01T00:00:00Z. | |
page | inteiro | 1 | Número da página, de 1 a 10000. |
page_size | inteiro | 500 | Itens por página, de 1 a 1000. |
acquirer | string | Só uma adquirente: REDE, STONE, PAGBANK ou CIELO. | |
merchant_code | string | Só um estabelecimento (PV, StoneCode etc.). Até 60 caracteres. | |
date_from | data YYYY-MM-DD | 90 dias atrás | Vendas com sale_date a partir deste dia. Não pode ser anterior a 90 dias atrás. |
date_to | data YYYY-MM-DD | Vendas com sale_date até este dia. Não pode ser anterior a 90 dias atrás. |
:::info Últimos 90 dias
A API entrega só vendas e recebimentos com data de até 90 dias atrás (no horário de Brasília). Recebimentos com crédito previsto para o futuro aparecem normalmente. date_from ou date_to antes desse limite dão 400.
:::
:::info Mesmos parâmetros em todas as páginas
Ao passar de uma página para a outra, mude só o page. O updated_since, o page_size e os filtros devem ser os mesmos da página 1.
:::
:::tip Todas as vendas de um dia
Sem updated_since e com date_from e date_to, vêm todas as vendas do período, novas ou antigas. Veja Consultar um dia ou período.
:::
curl "$BASE_URL/v1/sales?updated_since=2026-10-01T00:00:00Z&page=1&page_size=1000" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "X-Company-Token: $COMPANY_TOKEN"
curl "$BASE_URL/v1/sales?updated_since=2026-10-01T00:00:00Z&page=2&page_size=1000" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "X-Company-Token: $COMPANY_TOKEN"
Resposta 200
{
"message": "Vendas",
"result": true,
"data": {
"items": [
{
"id": "84213",
"acquirer": "REDE",
"merchant_code": "12345678",
"nsu": "000123456",
"authorization_code": "A1B2C3",
"tid": "10017372230206210001",
"order_number": "PED-2026-0042",
"sale_date": "2026-10-01",
"sale_hour": "14:22:05",
"brand_code": "1",
"modality": "CREDIT",
"installments": 3,
"capture_type": "POS",
"card_number": "532930******7894",
"status": "APPROVED",
"gross_amount": "150.000000",
"mdr_amount": "3.750000",
"net_amount": "146.250000",
"updated_at": "2026-10-02T06:15:03.482915Z"
}
],
"page": 1,
"page_size": 1000,
"has_more": false,
"next_updated_since": "2026-10-21T15:42:10.000Z"
},
"error": null
}
Página
Campo de data | Tipo | Descrição |
|---|---|---|
items | array | Vendas da página, em ordem de id. |
page | number | Número desta página. |
page_size | number | Itens por página pedidos. |
has_more | boolean | true: há mais páginas, peça page + 1. false: esta foi a última. |
next_updated_since | string ISO 8601 ou null | Só na página 1 (nas outras, null). É o horário da consulta menos 30 segundos. Use como updated_since na próxima rodada. |
Venda
Campos que podem vir null estão marcados como "ou null": nem toda adquirente informa todos eles.
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador da venda no Concilia+. Estável. Use para deduplicar. |
acquirer | string | Adquirente: REDE, STONE, PAGBANK ou CIELO. |
merchant_code | string | Código do estabelecimento na adquirente (PV, StoneCode etc.). |
nsu | string | NSU da transação na adquirente. |
authorization_code | string ou null | Código de autorização. |
tid | string ou null | Identificador da transação (TID). |
order_number | string ou null | Número do pedido no e-commerce. Bom para cruzar com o pedido no seu sistema. |
sale_date | string YYYY-MM-DD | Data da venda. |
sale_hour | string HH:MM:SS ou null | Hora da venda, no horário informado pela adquirente. |
brand_code | string ou null | Código da bandeira, como informado pela adquirente. |
modality | string ou null | Modalidade, por exemplo CREDIT ou DEBIT. |
installments | number | Quantidade de parcelas (1 = à vista). |
capture_type | string ou null | Forma de captura, por exemplo POS ou ECOMMERCE. |
card_number | string ou null | Número do cartão mascarado (ex.: 532930******7894). O número completo nunca é guardado. |
status | string | Situação da venda, por exemplo APPROVED ou CANCELED. |
gross_amount | string decimal | Valor bruto da venda, em reais. |
mdr_amount | string decimal ou null | Taxa (MDR) cobrada pela adquirente, em reais. |
net_amount | string decimal ou null | Valor líquido, em reais. |
updated_at | string ISO 8601 | Última alteração da venda no Concilia+ (UTC, com microssegundos). |
Comportamento importante
- Uma venda alterada volta a aparecer. Um cancelamento, por exemplo, muda o
statuse oupdated_at, e a venda reaparece na próxima rodada. Faça upsert peloid: atualize se já existe, insira se não. - Pode haver repetição. Se uma venda for alterada enquanto você pagina, ela pode vir em duas páginas seguidas. E como o
next_updated_sincecomeça 30 segundos antes da consulta, as vendas alteradas nesses 30 segundos voltam na rodada seguinte. O upsert peloidresolve. Nenhuma venda é pulada. - Nada é apagado. Cancelamento é mudança de
status, não exclusão.
O passo a passo está em Sincronização incremental.
Erros
| Código | Quando |
|---|---|
400 | updated_since mais de 5 minutos no futuro; page fora de 1–10000; page_size fora de 1–1000; acquirer desconhecida; data fora do formato YYYY-MM-DD; date_from ou date_to antes de 90 dias atrás; date_from depois de date_to; intervalo entre date_from e date_to acima de 366 dias; parâmetro desconhecido. |
401 | Token de acesso ou company_token ausente, vencido, revogado ou inválido. Veja Quando dá 401. |
429 | Limite por minuto excedido. |