Painel
Também funcionaPelo site, sem programar
Para testar um envio antes de integrar, ou para envios avulsos fora do sistema.
Conecte seu ERP, CRM ou sistema próprio à API e envie correspondências com os dados que já estão lá.
Contas novas ganham R$ 50 em créditos, o suficiente para 3 cartas simples.
curl https://api.cartaflow.com.br/v1/letters \
-H "Authorization: Bearer $CARTAFLOW_API_KEY" \
-H "Idempotency-Key: fatura-2026-10-0042" \
-F "to[name]=Destinatário Exemplo" \
-F "to[address_line1]=Rua Exemplo, 128" \
-F "to[address_line2]=Ap. 52" \
-F "to[district]=Centro" \
-F "to[city]=São Paulo" \
-F "to[state]=SP" \
-F "to[cep]=01001-000" \
-F "color=true" \
-F "file=@fatura-outubro.pdf"import { readFile } from 'node:fs/promises';
const form = new FormData();
form.append('to[name]', 'Destinatário Exemplo');
form.append('to[address_line1]', 'Rua Exemplo, 128');
form.append('to[address_line2]', 'Ap. 52');
form.append('to[district]', 'Centro');
form.append('to[city]', 'São Paulo');
form.append('to[state]', 'SP');
form.append('to[cep]', '01001-000');
form.append('color', 'true');
form.append('file', new Blob([await readFile('fatura-outubro.pdf')]), 'fatura-outubro.pdf');
const res = await fetch('https://api.cartaflow.com.br/v1/letters', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.CARTAFLOW_API_KEY}`,
'Idempotency-Key': 'fatura-2026-10-0042',
},
body: form,
});
const letter = await res.json();import os
import requests
letter = requests.post(
"https://api.cartaflow.com.br/v1/letters",
headers={
"Authorization": f"Bearer {os.environ['CARTAFLOW_API_KEY']}",
"Idempotency-Key": "fatura-2026-10-0042",
},
data={
"to[name]": "Destinatário Exemplo",
"to[address_line1]": "Rua Exemplo, 128",
"to[address_line2]": "Ap. 52",
"to[district]": "Centro",
"to[city]": "São Paulo",
"to[state]": "SP",
"to[cep]": "01001-000",
"color": "true",
},
files={"file": open("fatura-outubro.pdf", "rb")},
).json()Os endereços dos clientes, os contratos e as faturas já estão no seu sistema. Quando alguém precisa enviar uma correspondência, costuma exportar os dados, copiar o endereço, gerar o documento e imprimir por fora. É nessa cópia que aparecem os erros, como um CEP trocado ou um documento que vai para o cliente errado.
Com a integração, o próprio sistema manda o PDF e o endereço para a CartaFlow. O envio sai com os dados do cadastro e fica registrado junto com o cliente.

No painel da CartaFlow. Guarde a chave no cofre de segredos do seu sistema, nunca no código.
Nome, endereço e CEP vêm do cadastro de clientes que você já tem.
Uma requisição HTTP com o PDF e o destinatário, em qualquer linguagem.
Salve o id do envio no registro do cliente para consultar a situação depois.
Por exemplo: uma empresa de manutenção de elevadores fatura pelo ERP, e parte dos clientes pediu a fatura impressa. No fechamento do mês, uma rotina do ERP separa as faturas desses clientes e chama a API da CartaFlow uma vez para cada uma.
O id de cada envio volta para o ERP e fica no cadastro do cliente. Quem do financeiro quiser saber se a fatura foi postada encontra a informação no próprio ERP.
{
"id": "ltr_8Kq2wX4m",
"object": "letter",
"status": "received",
"pages": 2,
"to": {
"name": "Destinatário Exemplo",
"cep": "01001-000",
"city": "São Paulo",
"state": "SP"
},
"created_at": "2026-10-13T14:20:00Z"
}A API funciona com qualquer sistema que consiga fazer requisições HTTP.
Uma rotina no fechamento do faturamento cria os envios do período, um por cliente.
Uma automação cria o envio quando o cliente muda de etapa, por exemplo quando a proposta vira contrato.
O seu backend chama a API no momento do evento, como faria com qualquer outro serviço.
Envie pelo painel, sem programar, ou deixe o seu sistema enviar automaticamente pela API.
Pelo site, sem programar
Para testar um envio antes de integrar, ou para envios avulsos fora do sistema.
Pelo seu sistema, automático
Os envios saem com os dados do cadastro, sem exportar nem copiar nada.
Cada envio custa o valor por envio do seu plano, mais a mensalidade, se houver. O plano mais econômico depende de quantos envios você faz por mês: Avulso até 24 envios por mês, Essencial de 25 a 256 envios por mês, Profissional de 257 a 1.466 envios por mês e Escala a partir de 1.467 envios por mês.
Calcular meu planoVeja todas as respostas em perguntas frequentes.
A integração é feita pela API REST, então funciona com qualquer sistema que consiga fazer requisições HTTP, direto ou por uma ferramenta de automação.
Em qualquer linguagem com um cliente HTTP. Os exemplos desta página estão em cURL, Node.js e Python.
Com uma chave de API enviada no cabeçalho Authorization, no formato Bearer. Você cria a chave no painel da CartaFlow.
Para a integração pela API, sim, ou de uma ferramenta de automação que faça requisições HTTP. Sem integração, você faz os envios pelo painel.
Contas novas ganham R$ 50 em créditos, o suficiente para 3 cartas simples.