SaaS e plataformas
Produtos que geram contratos, relatórios e comprovantes para os próprios clientes.
API · Assinatura eletrônica
Suba o PDF, informe os signatários e posicione os campos: cada pessoa recebe um link por e-mail, confirma um código de 6 dígitos e assina. Quando todos terminam, você recebe o webhook com o PDF assinado e o relatório de evidências com hashes e QR Code de verificação.
500 créditos grátis por mês · sem cartão · Pix, cartão e nota fiscal
Produtos que geram contratos, relatórios e comprovantes para os próprios clientes.
Adicione PDF, DANFE, etiquetas e consultas ao seu sistema sem manter infraestrutura.
Contratos, admissões e processos com PDF/A, OCR e assinatura.
Boleto, Pix copia e cola e validação de documentos no onboarding.
Gere o contrato em PDF (por exemplo com html-para-pdf ou mala direta), crie o envelope com os signatários e acompanhe a situação pelo webhook esign.envelope.completed.
Site para PDF · Mala direta com modelo do Word · POST /v1/esign/envelopes
Defina sequential: true para que o gestor só receba o convite depois que o cliente assinar; lembretes e cancelamento por chamada, sem custo extra.
POST /v1/esign/envelopes · POST /v1/esign/envelopes/{id}/remind · POST /v1/esign/envelopes/{id}/cancel
Envie o contrato de trabalho e os termos ao novo colaborador com verificação de CPF e guarde o PDF final com o relatório de assinaturas.
POST /v1/esign/envelopes · GET /v1/esign/envelopes/{id}/files/final · GET /v1/esign/envelopes/{id}/files/audit
Crie o envelope com send: false, revise os campos e envie depois com POST …/send; rascunhos não consomem créditos.
POST /v1/esign/envelopes · POST /v1/esign/envelopes/{id}/send
Autentique com a chave no cabeçalho Authorization: Bearer. Respostas em JSON com mensagens em português; use ?wait=true para receber o resultado na mesma chamada ou webhook_url para ser avisado.
curl -X POST "https://convertaja.com.br/v1/esign/envelopes" \
-H "Authorization: Bearer $CONVERTAJA_KEY" \
-F "file=@contrato.pdf" \
-F 'data={"name":"Contrato de prestação de serviços","message":"Olá! Segue o contrato para assinatura.","signers":[{"name":"Ana Souza","email":"ana@cliente.com.br","role":"sign"},{"name":"Bruno Lima","email":"bruno@empresa.com.br","role":"witness"}],"fields":[{"signer":0,"type":"signature","page":0,"x":0.1,"y":0.75,"w":0.3,"h":0.07},{"signer":1,"type":"signature","page":0,"x":0.55,"y":0.75,"w":0.3,"h":0.07}],"webhook_url":"https://seusite.com.br/webhooks/convertaja"}'import { openAsBlob } from 'node:fs';
const form = new FormData();
form.append('file', await openAsBlob('contrato.pdf'), 'contrato.pdf');
form.append('data', JSON.stringify({
"name": "Contrato de prestação de serviços",
"message": "Olá! Segue o contrato para assinatura.",
"signers": [
{
"name": "Ana Souza",
"email": "ana@cliente.com.br",
"role": "sign"
},
{
"name": "Bruno Lima",
"email": "bruno@empresa.com.br",
"role": "witness"
}
],
"fields": [
{
"signer": 0,
"type": "signature",
"page": 0,
"x": 0.1,
"y": 0.75,
"w": 0.3,
"h": 0.07
},
{
"signer": 1,
"type": "signature",
"page": 0,
"x": 0.55,
"y": 0.75,
"w": 0.3,
"h": 0.07
}
],
"webhook_url": "https://seusite.com.br/webhooks/convertaja"
}));
const res = await fetch('https://convertaja.com.br/v1/esign/envelopes', {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.CONVERTAJA_KEY}` },
body: form,
});
const envelope = await res.json();
console.log(envelope.id, envelope.status); // ex.: K7QD-9WZ2-M4HT-R8PA pendingimport json, os, requests
dados = {
"name": "Contrato de prestação de serviços",
"message": "Olá! Segue o contrato para assinatura.",
"signers": [
{
"name": "Ana Souza",
"email": "ana@cliente.com.br",
"role": "sign"
},
{
"name": "Bruno Lima",
"email": "bruno@empresa.com.br",
"role": "witness"
}
],
"fields": [
{
"signer": 0,
"type": "signature",
"page": 0,
"x": 0.1,
"y": 0.75,
"w": 0.3,
"h": 0.07
},
{
"signer": 1,
"type": "signature",
"page": 0,
"x": 0.55,
"y": 0.75,
"w": 0.3,
"h": 0.07
}
],
"webhook_url": "https://seusite.com.br/webhooks/convertaja"
}
res = requests.post(
"https://convertaja.com.br/v1/esign/envelopes",
headers={"Authorization": f"Bearer {os.environ['CONVERTAJA_KEY']}"},
files={"file": open("contrato.pdf", "rb")},
data={"data": json.dumps(dados)},
)
envelope = res.json()
print(envelope["id"], envelope["status"])<?php
$dados = json_decode('{"name":"Contrato de prestação de serviços","message":"Olá! Segue o contrato para assinatura.","signers":[{"name":"Ana Souza","email":"ana@cliente.com.br","role":"sign"},{"name":"Bruno Lima","email":"bruno@empresa.com.br","role":"witness"}],"fields":[{"signer":0,"type":"signature","page":0,"x":0.1,"y":0.75,"w":0.3,"h":0.07},{"signer":1,"type":"signature","page":0,"x":0.55,"y":0.75,"w":0.3,"h":0.07}],"webhook_url":"https://seusite.com.br/webhooks/convertaja"}', true);
$ch = curl_init('https://convertaja.com.br/v1/esign/envelopes');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('CONVERTAJA_KEY')],
CURLOPT_POSTFIELDS => ['file' => new CURLFile('contrato.pdf'), 'data' => json_encode($dados)],
]);
$envelope = json_decode(curl_exec($ch), true);
echo $envelope['id'];
| Ferramenta ou endpoint | Chamada | Créditos |
|---|---|---|
| Site para PDF | POST /v1/tools/html-para-pdf | 5 por arquivo de até 10 páginas (+1 a cada 10 páginas) |
| Mala direta com modelo do Word | POST /v1/tools/mala-direta-word | 5 por arquivo de até 10 páginas (+1 a cada 10 páginas) |
| Criar envelope | POST /v1/esign/envelopes | 20 por envelope enviado |
| Enviar rascunho | POST /v1/esign/envelopes/{id}/send | 20 por envelope enviado |
| Consultar envelope | GET /v1/esign/envelopes/{id} | grátis |
| Lembrar quem falta | POST /v1/esign/envelopes/{id}/remind | grátis |
| Cancelar envelope | POST /v1/esign/envelopes/{id}/cancel | grátis |
| Baixar PDF assinado | GET /v1/esign/envelopes/{id}/files/final | grátis |
| Baixar relatório de assinaturas | GET /v1/esign/envelopes/{id}/files/audit | grátis |
Comece no Sandbox com 500 créditos grátis por mês, sem cartão. Planos pagos a partir de R$ 29,00/mês (Mini, 1.000 créditos) até 30.000 créditos no Scale, a R$ 0,015 por crédito. Anual = 10× o mensal (2 meses grátis). Pix, cartão e nota fiscal.
Tarefa que termina com erro não é cobrada: os créditos voltam automaticamente.
20 créditos por envelope enviado, com até 10 signatários. Rascunhos, consultas, lembretes, cancelamento e downloads são grátis. Se o envio falhar, os créditos voltam na hora.
Sim. É uma assinatura eletrônica nos termos da MP 2.200-2/2001, art. 10, § 2º, e da Lei 14.063/2020, com relatório de evidências (IP e porta, dispositivo, horários e hashes SHA-256). Não é assinatura qualificada com certificado ICP-Brasil.
Além dos créditos, vale a cota mensal de documentos do plano do site da conta (Grátis 3, Pro 30, Empresas 200). Acima dela a API responde 402 esign_quota, sem cobrança.
Envie webhook_url ao criar o envelope: avisamos quando ele chega a um estado final (completed, refused, expired ou canceled), com a mesma assinatura HMAC dos demais webhooks.
O PDF final e o relatório ficam guardados por 90 dias depois da conclusão, cifrados. Baixe e arquive no seu sistema.
Entre com seu e-mail, crie a chave em Minha conta → API e faça a primeira chamada. Precisa de volume alto, contrato ou faturamento personalizado? Fale com vendas.
Criar chave grátis