Documentação

Preços e saldo

Como o preço de cada envio é calculado, quando o saldo é cobrado e como conciliar os gastos.

A conta CartaFlow tem um saldo pré-pago. Cada correspondência e cada verificação de endereço são pagas com esse saldo. A mensalidade do plano é cobrada à parte e não sai do saldo.

Como o preço é formado

O preço de uma correspondência vem em price, linha por linha. Cada linha tem uma quantidade, o preço de uma unidade no plano da conta e o valor da linha.

typeO que cobraquantity
baseEnvio simples (carta simples): a primeira folha impressa em preto e branco, o envelope e a postagem. Uma por correspondência ou verificação.1
additional_sheetsCada folha do seu documento além da primeira. O endereço nunca é cobrado, mesmo quando extra_page acrescenta uma folha.Folhas do documento além da primeira
colorImpressão colorida, cobrada por página impressa: cada lado impresso de uma folha conta como uma página. O lado do endereço nunca é colorido nem cobrado.Páginas impressas em cores
registeredCarta registrada, com código de rastreio dos Correios.1
return_receiptAviso de recebimento (AR).1
restricted_deliveryMão própria (MP).1

As linhas aparecem sempre nessa ordem, e linhas com valor zero não aparecem. total é a soma das linhas e é o valor debitado do saldo. Todos os valores são inteiros em centavos: 1135 são R$ 11,35.

Correspondência colorida com 2 páginas, só frente (valores ilustrativos)
"price": {
  "currency": "BRL",
  "total": 1135,
  "items": [
    { "type": "base", "quantity": 1, "unit_amount": 990, "amount": 990 },
    { "type": "additional_sheets", "quantity": 1, "unit_amount": 75, "amount": 75 },
    { "type": "color", "quantity": 2, "unit_amount": 35, "amount": 70 }
  ]
}

Os valores desta página são ilustrativos

O preço de verdade depende do plano da sua conta. Veja os planos em cartaflow.com.br/precos. Na sua conta, a API e o painel mostram o valor exato de cada envio antes de você confirmar.

  • O destino não muda o preço. O valor é o mesmo para qualquer CEP do Brasil.
  • Uma verificação de endereço com o modelo da CartaFlow custa o mesmo que um envio simples do seu plano: uma linha base. Com o seu próprio PDF, ela é cobrada como uma correspondência com as mesmas opções (folhas adicionais e cor), sem serviços dos Correios. Veja Verificação de endereço físico.
  • Frente e verso deixa mais barato quando o documento tem várias páginas, porque usa menos folhas. A cor continua cobrada por página. Veja Documento e área do endereço.

Serviços dos Correios

Uma correspondência vai como carta simples, a não ser que você escolha serviços adicionais dos Correios em postal_services. Cada serviço acrescenta uma linha ao preço:

postal_servicesServiçoLinha no preço
registeredCarta registrada, com código de rastreio dos Correios em tracking_code depois da postagemregistered
return_receiptAviso de recebimento (AR), que volta assinado para o remetente. Exige registered.return_receipt
restricted_deliveryMão própria (MP): entrega só para a pessoa do envelope. Exige registered.restricted_delivery
Carta registrada com AR, 1 página em preto e branco (valores ilustrativos)
"price": {
  "currency": "BRL",
  "total": 3340,
  "items": [
    { "type": "base", "quantity": 1, "unit_amount": 990, "amount": 990 },
    { "type": "registered", "quantity": 1, "unit_amount": 1175, "amount": 1175 },
    { "type": "return_receipt", "quantity": 1, "unit_amount": 1175, "amount": 1175 }
  ]
}

Uma verificação de endereço é sempre uma carta simples. Como cada serviço funciona está em Correspondências e status.

Calcular o preço antes de enviar

POST /v1/letters/quote recebe exatamente o mesmo corpo de POST /v1/letters, em JSON ou com o PDF enviado como arquivo. A API valida tudo, completa o endereço pelo CEP, conta as páginas do documento e devolve o preço no plano atual da conta, com os serviços dos Correios escolhidos. Nada é criado nem cobrado, e o saldo não precisa cobrir o valor.

curl -X POST "https://api.cartaflow.com.br/v1/letters/quote" \
  -H "Authorization: Bearer $CARTAFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": { "name": "Destinatário Exemplo", "postal_code": "01001-000", "number": "128", "complement": "Ap. 52" },
    "document": { "type": "url", "url": "https://arquivos.exemplo.com.br/faturas/2026-10-0042.pdf" },
    "color": true
  }'

A resposta traz o plano usado (plan), as páginas (pages), as folhas (sheets), o endereço completo (to) e o preço (price). Se a simulação passar, a criação com o mesmo corpo também passa, desde que haja saldo.

Quando o saldo é cobrado

EnvioQuando é cobradoSem saldo suficiente
Correspondência enviada na horaNa criação, quando ela nasce como received.A API responde 402 com insufficient_balance e nada é criado.
Correspondência agendada com send_dateNa data do envio, às 06:00 de Brasília, com o preço do plano desse dia.A correspondência é cancelada com cancellation_reason: insufficient_balance. Veja Agendar envios.
Verificação de endereçoNa criação.A API responde 402 com insufficient_balance e nada é criado.

Quando você cancela uma correspondência ou uma verificação que já foi cobrada, o valor volta para o saldo na hora. Uma correspondência agendada cancelada antes da data não tinha sido cobrada, então não há devolução. Uma verificação cancelada depois que a produção começou é revogada (revoked), e o valor não volta. Veja Cancelar ou revogar.

Quando uma correspondência falha na produção (status failed), o valor volta para o saldo automaticamente. Erros encontrados antes da cobrança, como um PDF fora do padrão, nunca são cobrados: a API responde 422 e nada é criado.

Consultar o saldo

GET /v1/balance devolve quanto você pode gastar agora.

{
  "object": "balance",
  "currency": "BRL",
  "available": 48865,
  "pending": 0
}
  • available é o valor disponível para novos envios, em centavos.
  • pending fica reservado para recargas que dependem da confirmação de um pagamento. Hoje o saldo é adicionado na hora, então pending é sempre 0.

Consulte o saldo antes de envios grandes. Você adiciona saldo no painel, em Saldo e extrato > Adicionar saldo, e o valor entra na hora. A equipe da CartaFlow também pode adicionar saldo à sua conta.

Conciliar os gastos

GET /v1/balance/transactions lista cada entrada e saída do saldo, da mais recente para a mais antiga. Cada movimentação traz o valor (amount, negativo quando sai do saldo), o saldo logo depois dela (balance_after) e, quando existe, o id da correspondência ou da verificação ligada a ela (source_id).

typeO que éValor
top_upSaldo adicionado no painel ou pela equipe da CartaFlow.Positivo
letterDébito de uma correspondência. source_id começa com ltr_.Negativo
verificationDébito de uma verificação. source_id começa com ver_.Negativo
refundDevolução de uma correspondência ou verificação cancelada, ou de uma correspondência que falhou na produção.Positivo
creditCrédito dado pela CartaFlow, como o crédito de boas-vindas.Positivo
adjustmentAjuste feito pelo suporte. description explica o motivo.Positivo ou negativo

Para fechar o mês, filtre por tipo e período: GET /v1/balance/transactions?type=letter&created_after=2026-10-01T00:00:00Z&created_before=2026-11-01T00:00:00Z. Use a reference e os metadata de cada correspondência para ligar o gasto ao seu cliente ou ao seu centro de custo. Veja Paginação e filtros.

Nesta página