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 incorporas assinaturas eletrónicas no teu produto, os teus clientes não devem saber qual plataforma está a apoiar. A experiência de assinatura deve parecer tua, incluindo cada email automatizado que é enviado durante o processo. A Firma.dev agora permite-te personalizar cada email de notificação que a plataforma envia em teu nome, com total controlo sobre as linhas de assunto, corpos HTML e substituições por espaço de trabalho.

Os teus clientes veem a tua marca, não a nossa

Cada fluxo de trabalho de assinatura aciona uma série de emails automatizados: o convite inicial, a notificação do próximo assinante num fluxo sequencial, avisos de expiração, mensagens de cancelamento e notificações de recusa. Antes dos modelos de email personalizados, todos estes eram enviados com a cópia e formatação padrão da Firma.dev.

Agora controlas todos os cinco:

Tipo de Email

Quando é Enviado

signing_invite

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

next_signer

Quando é a vez do próximo assinante 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 assinante recusa assinar

Tanto a linha de assunto (texto simples, máximo de 500 caracteres) quanto o corpo (HTML, máximo de 50.000 caracteres) são totalmente personalizáveis para cada tipo. Podes corresponder exatamente ao tom, layout, cores e texto da tua marca.

Marcadores Dinâmicos

Os modelos suportam uma sintaxe {{placeholder}} para injetar valores ao vivo no momento do envio. A lista completa de marcadores disponíveis pode ser descoberta via GET /email-templates/placeholders, e inclui os que usarás mais:

  • {{signing_link}} — o link único do assinante 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 um signing_invite:

<p>Hi {{signer_name}},</p>
<p>
  {{sender_name}} has sent you a document to review and sign.
  Please use the link below to access it.
</p>
<p>
  <a href="{{signing_link}}" style="background:#1a1a1a;color:#fff;padding:12px 24px;border-radius:4px;text-decoration:none;">
    Review and Sign
  </a>
</p>
<p>This link expires in {{expiration_hours}} hours.</p>
<p>The {{company_name}} Team</p>
<p>Hi {{signer_name}},</p>
<p>
  {{sender_name}} has sent you a document to review and sign.
  Please use the link below to access it.
</p>
<p>
  <a href="{{signing_link}}" style="background:#1a1a1a;color:#fff;padding:12px 24px;border-radius:4px;text-decoration:none;">
    Review and Sign
  </a>
</p>
<p>This link expires in {{expiration_hours}} hours.</p>
<p>The {{company_name}} Team</p>
<p>Hi {{signer_name}},</p>
<p>
  {{sender_name}} has sent you a document to review and sign.
  Please use the link below to access it.
</p>
<p>
  <a href="{{signing_link}}" style="background:#1a1a1a;color:#fff;padding:12px 24px;border-radius:4px;text-decoration:none;">
    Review and Sign
  </a>
</p>
<p>This link expires in {{expiration_hours}} hours.</p>
<p>The {{company_name}} Team</p>

Uma nota para desenvolvedores: se o corpo do teu modelo não incluir {{signing_link}}, a API retorna um aviso ao guardar. O salvamento ainda é bem-sucedido, mas o aviso está lá para detetar o erro antes que um assinante receba um email sem forma de aceder ao documento.

Modelos a Nível de Empresa e a Nível de Espaço de Trabalho

O sistema de modelos usa uma hierarquia de três camadas: o modelo de espaço de trabalho tem precedência, depois o modelo de empresa e, por fim, o padrão integrado da Firma.dev. Isto dá-te dois padrões naturais de integração.

Definindo um Padrão a Nível de Empresa

Define o teu modelo de marca uma vez a nível da empresa e ele aplica-se a cada espaço de trabalho que não tiver seu próprio override. O padrão de endpoint do changelog da API:

PUT /company/email-templates/{email_type}
{
  "subject": "Please sign: {{document_name}}",
  "body": "<p>Hi {{signer_name}},</p><p>Please review and sign using this link: {{signing_link}}</p>"
}
PUT /company/email-templates/{email_type}
{
  "subject": "Please sign: {{document_name}}",
  "body": "<p>Hi {{signer_name}},</p><p>Please review and sign using this link: {{signing_link}}</p>"
}
PUT /company/email-templates/{email_type}
{
  "subject": "Please sign: {{document_name}}",
  "body": "<p>Hi {{signer_name}},</p><p>Please review and sign using this link: {{signing_link}}</p>"
}

Substituindo por Espaço de Trabalho

Para parceiros que usam o modelo de espaço de trabalho do cliente da Firma.dev, cada espaço de trabalho pode ter seus próprios modelos de email. Este exemplo de curl é do guia de 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": "Action required: Please sign {{document_name}}",
    "body": "<p>Hi {{signer_name}},</p><p>{{sender_name}} has requested your signature on {{document_name}}.</p><p><a href=\"{{signing_link}}\">Sign now</a></p><p>— The {{workspace_name}} Team</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": "Action required: Please sign {{document_name}}",
    "body": "<p>Hi {{signer_name}},</p><p>{{sender_name}} has requested your signature on {{document_name}}.</p><p><a href=\"{{signing_link}}\">Sign now</a></p><p>— The {{workspace_name}} Team</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": "Action required: Please sign {{document_name}}",
    "body": "<p>Hi {{signer_name}},</p><p>{{sender_name}} has requested your signature on {{document_name}}.</p><p><a href=\"{{signing_link}}\">Sign now</a></p><p>— The {{workspace_name}} Team</p>"
  }'

Um espaço de trabalho que serve clientes na Alemanha pode usar modelos em alemão com a marca específica desse cliente, enquanto outro espaço de trabalho usa os teus padrões a nível de empresa.

Eliminar um modelo de espaço de trabalho faz com que esse espaço regresse ao padrão a nível de empresa. Eliminar o modelo de empresa faz o espaço regressar ao padrão integrado da Firma.dev. A cadeia de fallback sempre tem algo para recorrer.

Referência CompletA À API

Endpoint

Descrição

GET /company/email-templates

Listar todos os modelos a nível de 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 específico de espaço de trabalho

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 padrões integrados 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: puxe o modelo integrado para o idioma de destino, personalize-o e salve-o novamente. Não há necessidade de escrever a cópia do email do zero.

Começando

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

Comece a usar a Firma.dev gratuitamente, nenhum cartão de crédito é necessário. Todos os pedidos de assinatura são 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.