Guias

Etiqueta Branca Cada Email: Como funcionam os Modelos de Email Personalizados da Firma.dev

Texto alternativo: "Interface com tema escuro a mostrar um painel de notificações personalizável. O texto diz 'Personalize Tudo,' com 'Tudo' circulado a roxo, transmitindo personalização."

Quando integra assinaturas eletrónicas no seu produto, os seus clientes não devem saber que plataforma o está a alimentar. A experiência de assinatura deve parecer sua, incluindo todos os emails automáticos enviados durante o processo. A Firma.dev permite agora personalizar todos os emails de notificação que a plataforma envia em seu nome, com controlo total sobre linhas de assunto, corpos em HTML e substituições por workspace.

Os seus clientes veem a sua marca, não a nossa

Cada fluxo de assinatura desencadeia uma série de emails automáticos: o convite inicial, a notificação do próximo signatário num fluxo sequencial, avisos de expiração, mensagens de cancelamento e notificações de recusa. Antes dos modelos de email personalizados, tudo era enviado com o texto e a formatação predefinidos da Firma.dev.

Agora controla todos os cinco:

Tipo de email

Quando é enviado

signing_invite

Quando um pedido de assinatura é enviado pela primeira vez a um destinatário

next_signer

Quando é a vez do próximo signatário numa ordem de assinatura

signing_expired

Quando um pedido de assinatura expira

signing_cancelled

Quando um remetente cancela um pedido de assinatura

signing_declined

Quando um signatário recusa assinar

Tanto a linha de assunto (texto simples, máximo de 500 caracteres) como o corpo (HTML, máximo de 50 000 caracteres) são totalmente personalizáveis para cada tipo. Pode corresponder exatamente ao tom, ao layout, às cores e ao texto da sua marca.

Marcadores Dinâmicos

Os modelos suportam a sintaxe {{placeholder}} para injetar valores em tempo real no momento do envio. A lista completa de marcadores de posição disponíveis pode ser consultada através de GET /email-templates/placeholders, e inclui os que irá usar mais:

  • {{signing_link}} — o link único do signatário para aceder ao documento

  • {{signer_name}} — o nome do destinatário

  • {{document_name}} — o nome do pedido de assinatura

Um exemplo prático do corpo de signing_invite:

<p>Olá {{signer_name}},</p>
<p>
  {{sender_name}} enviou-lhe um documento para rever e assinar.
  Use o link abaixo para aceder ao documento.
</p>
<p>
  <a href="{{signing_link}}" style="background:#1a1a1a;color:#fff;padding:12px 24px;border-radius:4px;text-decoration:none;">
    Rever e Assinar
  </a>
</p>
<p>Este link expira dentro de {{expiration_hours}} horas.</p>
<p>A equipa {{company_name}}<

<p>Olá {{signer_name}},</p>
<p>
  {{sender_name}} enviou-lhe um documento para rever e assinar.
  Use o link abaixo para aceder ao documento.
</p>
<p>
  <a href="{{signing_link}}" style="background:#1a1a1a;color:#fff;padding:12px 24px;border-radius:4px;text-decoration:none;">
    Rever e Assinar
  </a>
</p>
<p>Este link expira dentro de {{expiration_hours}} horas.</p>
<p>A equipa {{company_name}}<

<p>Olá {{signer_name}},</p>
<p>
  {{sender_name}} enviou-lhe um documento para rever e assinar.
  Use o link abaixo para aceder ao documento.
</p>
<p>
  <a href="{{signing_link}}" style="background:#1a1a1a;color:#fff;padding:12px 24px;border-radius:4px;text-decoration:none;">
    Rever e Assinar
  </a>
</p>
<p>Este link expira dentro de {{expiration_hours}} horas.</p>
<p>A equipa {{company_name}}<

Uma nota importante para programadores: se o corpo do seu modelo não incluir {{signing_link}}, a API devolve um aviso ao guardar. A gravação continua a ser bem-sucedida, mas o aviso existe para detetar o erro antes de um signatário receber um email sem forma de aceder ao seu documento.

Modelos ao nível da empresa e do workspace

O sistema de modelos usa uma hierarquia de três níveis: o modelo do workspace tem precedência, depois o modelo da empresa e, por fim, a predefinição integrada da Firma.dev. Isto dá-lhe dois padrões naturais de integração.

Definir uma predefinição para toda a empresa

Defina o seu modelo com a sua marca uma vez ao nível da empresa e ele aplica-se a todos os workspaces que não tenham a sua própria substituição. O padrão do endpoint a partir do registo de alterações da API:

PUT /company/email-templates/{email_type}
{
  "subject": "Por favor assine: {{document_name}}",
  "body": "<p>Olá {{signer_name}},</p><p>Reveja e assine usando este link: {{signing_link}}</p>"
}
PUT /company/email-templates/{email_type}
{
  "subject": "Por favor assine: {{document_name}}",
  "body": "<p>Olá {{signer_name}},</p><p>Reveja e assine usando este link: {{signing_link}}</p>"
}
PUT /company/email-templates/{email_type}
{
  "subject": "Por favor assine: {{document_name}}",
  "body": "<p>Olá {{signer_name}},</p><p>Reveja e assine usando este link: {{signing_link}}</p>"
}

Substituições por workspace

Para parceiros que usam o modelo de workspace do cliente da Firma.dev, cada workspace pode ter os seus próprios modelos de email. Este exemplo de curl é do guia de marca branca:

curl -X PUT https://api.firma.dev/functions/v1/signing-request-api/workspace/{workspace_id}/email-templates/signing_invite \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Ação necessária: por favor assine {{document_name}}",
    "body": "<p>Olá {{signer_name}},</p><p>{{sender_name}} solicitou a sua assinatura em {{document_name}}.</p><p><a href=\"{{signing_link}}\">Assinar agora</a></p><p>— A equipa {{workspace_name}}</p>"
  }'
curl -X PUT https://api.firma.dev/functions/v1/signing-request-api/workspace/{workspace_id}/email-templates/signing_invite \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Ação necessária: por favor assine {{document_name}}",
    "body": "<p>Olá {{signer_name}},</p><p>{{sender_name}} solicitou a sua assinatura em {{document_name}}.</p><p><a href=\"{{signing_link}}\">Assinar agora</a></p><p>— A equipa {{workspace_name}}</p>"
  }'
curl -X PUT https://api.firma.dev/functions/v1/signing-request-api/workspace/{workspace_id}/email-templates/signing_invite \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Ação necessária: por favor assine {{document_name}}",
    "body": "<p>Olá {{signer_name}},</p><p>{{sender_name}} solicitou a sua assinatura em {{document_name}}.</p><p><a href=\"{{signing_link}}\">Assinar agora</a></p><p>— A equipa {{workspace_name}}</p>"
  }'

Um workspace que serve clientes na Alemanha pode usar modelos em alemão com a marca específica desse cliente, enquanto outro workspace usa as predefinições da sua empresa.

Eliminar um modelo de workspace reverte esse workspace para a predefinição ao nível da empresa. Eliminar o modelo da empresa reverte para a predefinição integrada da Firma.dev. A cadeia de fallback tem sempre um ponto de apoio.

Referência completa da API

Endpoint

Descrição

GET /company/email-templates

Listar todos os modelos ao nível da empresa

PUT /company/email-templates/{email_type}

Criar ou atualizar um modelo da empresa

DELETE /company/email-templates/{email_type}

Eliminar um modelo da empresa

GET /workspace/{id}/email-templates

Listar todos os modelos do workspace

GET /workspace/{id}/email-templates/{email_type}

Obter um modelo específico do workspace

PUT /workspace/{id}/email-templates/{email_type}

Criar ou atualizar um modelo do workspace

DELETE /workspace/{id}/email-templates/{email_type}

Eliminar um modelo do workspace

GET /email-templates/defaults/{language}

Obter predefinições integradas para um idioma

GET /email-templates/placeholders

Obter todos os marcadores de posição disponíveis

O GET /email-templates/defaults/{language} é particularmente útil como ponto de partida: extraia o modelo integrado para o seu idioma de destino, personalize-o e guarde-o novamente. Não precisa de escrever o texto do email de raiz.

Começar

Os modelos de email personalizados estão disponíveis a partir da API v1.8.0 em diante, sem alterações disruptivas. Se já estiver integrado, pode começar hoje a personalizar emails sem tocar em qualquer lógica existente de pedido de assinatura.

Comece a usar a Firma.dev gratuitamente, não é necessário cartão de crédito. Todos os pedidos de assinatura custam 0,029 por envelope, sem mínimos mensais.

  1. Cabeçalho

Imagem de Fundo

Pronto para adicionar assinaturas eletrónicas à sua aplicação?

Comece gratuitamente. Não é necessário cartão de crédito. Pague apenas €0,029 por envelope quando estiver pronto para começar ao vivo.

Imagem de Fundo

Pronto para adicionar assinaturas eletrónicas à sua aplicação?

Comece gratuitamente. Não é necessário cartão de crédito. Pague apenas €0,029 por envelope quando estiver pronto para começar ao vivo.

Imagem de Fundo

Pronto para adicionar assinaturas eletrónicas à sua aplicação?

Comece gratuitamente. Não é necessário cartão de crédito. Pague apenas €0,029 por envelope quando estiver pronto para começar ao vivo.