Ir para o conteúdo

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:

curl https://api.aceitou.com.br/api/v1/templates \
  -H "X-Api-Key: $KEY"

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.