Templates¶
Um template é um modelo de documento com HTML + variáveis que você preenche na hora de gerar.
Útil pra contratos repetitivos onde só mudam dados específicos (nome, CPF, valor) — o PDF é renderizado no servidor a partir do HTML + variáveis.
Estrutura¶
{
"name": "Contrato de prestação de serviços",
"htmlContent": "<h1>Contrato com {{nome}}</h1><p>CPF: {{cpf}}</p>...",
"variables": ["nome", "cpf", "valor", "vigencia"]
}
Variáveis no HTML usam sintaxe {{nome}}. O array variables declara quais existem (validado na renderização).
Criar e usar¶
1. Criar o template (uma vez):
curl -X POST https://api.aceitou.com.br/api/v1/templates \
-H "X-Api-Key: $KEY" -H "Content-Type: application/json" \
-d '{
"name": "NDA padrão",
"htmlContent": "<h1>NDA entre {{empresa}} e {{contraparte}}</h1>...",
"variables": ["empresa", "contraparte", "vigencia"]
}'
2. Gerar documento a partir do template:
# Cria o documento (envelope)
DOC_ID=$(curl -sX POST https://api.aceitou.com.br/api/v1/documents \
-H "X-Api-Key: $KEY" -H "Content-Type: application/json" \
-d '{"title": "NDA — Empresa X"}' | jq -r .id)
# Gera o PDF a partir do template + variáveis
curl -X POST "https://api.aceitou.com.br/api/v1/documents/$DOC_ID/documents/from-template" \
-H "X-Api-Key: $KEY" -H "Content-Type: application/json" \
-d '{
"templateId": 9,
"variables": {
"empresa": "Aceitou LTDA",
"contraparte": "Empresa X SA",
"vigencia": "12 meses"
}
}'
O backend substitui as variáveis no HTML, renderiza pra PDF e anexa ao documento.
Templates padrão¶
Todo tenant nasce com 4 templates de exemplo:
- CLT
- Locação
- NDA
- Prestação de serviços
Você pode listá-los e usá-los pra teste:
Header e footer global¶
O tenant pode definir um header/footer HTML que é aplicado a todos os templates (no portal: Configurações → Branding). Útil pra logo da empresa, número da página, marcas d'água.