Guias

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

Escrito por

Maquete de notificação por e-mail com remetente personalizável e um cartão de título roxo com a imagem da marca.

Quando integra assinaturas eletrónicas no seu produto, os seus clientes não devem saber qual é a plataforma que o suporta. A experiência de assinatura deve parecer sua, incluindo todos os e-mails automatizados enviados durante o processo. A Firma.dev agora permite personalizar todos os e-mails de notificação que a plataforma envia em seu nome, com controlo total sobre assuntos, corpos em HTML e sobreposições por espaço de trabalho.

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

Cada fluxo de trabalho de assinatura aciona uma série de e-mails automatizados: o convite inicial, a notificação para o signatário seguinte num fluxo sequencial, avisos de expiração, mensagens de cancelamento e notificações de recusa. Antes dos modelos de e-mail personalizados, todos estes eram enviados com o texto e a formatação predefinidos da Firma.dev.

Agora controla os cinco:

Tipo de E-mail

Quando é Enviado

signing_invite

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

next_signer

Quando chega 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áx. 500 carateres) como o corpo (HTML, máx. 50.000 carateres) são totalmente personalizáveis para cada tipo. Pode corresponder exatamente ao tom, esquema, cores e texto da sua marca.

Marcadores Dinâmicos

Os modelos suportam a sintaxe {{placeholder}} para injetar valores dinâmicos no momento do envio. A lista completa de marcadores disponíveis pode ser consultada através de GET /email-templates/placeholders e inclui os que usará com mais frequência:

  • {{signing_link}} — a hiperligação exclusiva 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 de um corpo de signing_invite:

<p>Olá {{signer_name}},</p>
<p>
  {{sender_name}} enviou-lhe um documento para rever e assinar.
  Por favor, utilize a hiperligação abaixo para aceder ao mesmo.
</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>Esta hiperligação expira em {{expiration_hours}} horas.</p>
<p>— A Equipa da {{company_name}}<

<p>Olá {{signer_name}},</p>
<p>
  {{sender_name}} enviou-lhe um documento para rever e assinar.
  Por favor, utilize a hiperligação abaixo para aceder ao mesmo.
</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>Esta hiperligação expira em {{expiration_hours}} horas.</p>
<p>— A Equipa da {{company_name}}<

<p>Olá {{signer_name}},</p>
<p>
  {{sender_name}} enviou-lhe um documento para rever e assinar.
  Por favor, utilize a hiperligação abaixo para aceder ao mesmo.
</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>Esta hiperligação expira em {{expiration_hours}} horas.</p>
<p>— A Equipa da {{company_name}}<

Uma nota 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 efetuada com sucesso, mas o aviso serve para detetar o erro antes de um signatário receber um e-mail sem qualquer forma de aceder ao seu documento.

Modelos ao Nível da Empresa e do Espaço de Trabalho

O sistema de modelos utiliza uma hierarquia de três níveis: o modelo do espaço de trabalho tem prioridade, seguido do modelo da empresa e, por fim, da predefinição integrada da Firma.dev. Isto oferece dois padrões naturais de integração.

Definir uma Predefinição para Toda a Empresa

Configure o seu modelo personalizado uma vez ao nível da empresa e este será aplicado a todos os espaços de trabalho que não tenham a sua própria sobreposiçã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>Por favor, reveja e assine através desta hiperligação: {{signing_link}}</p>"
}
PUT /company/email-templates/{email_type}
{
  "subject": "Por favor, assine: {{document_name}}",
  "body": "<p>Olá {{signer_name}},</p><p>Por favor, reveja e assine através desta hiperligação: {{signing_link}}</p>"
}
PUT /company/email-templates/{email_type}
{
  "subject": "Por favor, assine: {{document_name}}",
  "body": "<p>Olá {{signer_name}},</p><p>Por favor, reveja e assine através desta hiperligação: {{signing_link}}</p>"
}

Sobrepor por Espaço de Trabalho

Para parceiros que utilizam o modelo de espaço de trabalho de cliente da Firma.dev, cada espaço de trabalho pode ter os seus próprios modelos de e-mail. Este exemplo de curl é do guia de personalização de marca (white-labeling):

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 da {{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 da {{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 da {{workspace_name}}</p>"
  }'

Um espaço de trabalho que atenda clientes na Alemanha pode utilizar modelos em alemão com a identidade visual específica desse cliente, enquanto outro espaço de trabalho utiliza as predefinições de toda a empresa.

Eliminar um modelo de espaço de trabalho reverte esse espaço de trabalho 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 contingência tem sempre um ponto de recurso.

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 de empresa

DELETE /company/email-templates/{email_type}

Eliminar um modelo de empresa

GET /workspace/{id}/email-templates

Listar todos os modelos de espaço de trabalho

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

Obter um modelo de espaço de trabalho específico

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

Criar ou atualizar um modelo de espaço de trabalho

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

Eliminar um modelo de espaço de trabalho

GET /email-templates/defaults/{language}

Obter predefinições integradas para um idioma

GET /email-templates/placeholders

Obter todos os marcadores disponíveis

O endpoint GET /email-templates/defaults/{language} é particularmente útil como ponto de partida: obtenha o modelo integrado para o seu idioma de destino, personalize-o e guarde-o novamente. Não é necessário redigir o texto do e-mail a partir do zero.

Como Começar

Os modelos de e-mail personalizados estão disponíveis a partir da versão v1.8.0 da API, sem alterações que quebrem a compatibilidade. Se já realizou a integração, pode começar a personalizar e-mails hoje mesmo sem alterar a lógica existente dos pedidos de assinatura.

Comece a utilizar a Firma.dev gratuitamente, sem necessidade de cartão de crédito. Todos os pedidos de assinatura custam 0,049 € por envelope, sem consumos 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,049 € por envelope quando estiver pronto para começar.

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,049 € por envelope quando estiver pronto para começar.

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,049 € por envelope quando estiver pronto para começar.