Guias e Tutoriais

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

Alt text: "Announcement graphic stating 'Firma.dev Now Speaks Greek' with two icons below: a colorful abstract design and a Greek flag, on a dark background."

Quando você incorpora assinaturas eletrônicas em seu produto, seus clientes não devem saber qual plataforma está alimentando isso. A experiência de assinatura deve parecer sua, incluindo todos os e-mails automáticos que são enviados durante o processo. A Firma.dev agora permite que você personalize cada e-mail de notificação que a plataforma envia em seu nome, com total controle sobre as linhas de assunto, corpos de HTML e substituições por espaço de trabalho.

Seus Clientes Vêem Sua Marca, Não a Nossa

Cada fluxo de trabalho de assinatura aciona uma série de e-mails automáticos: o convite inicial, a notificação do próximo assinante em um fluxo sequencial, avisos de expiração, mensagens de cancelamento e notificações de recusa. Antes dos modelos de e-mail personalizados, todos esses eram enviados com o texto padrão e formatação da Firma.dev.

Agora você controla todos os cinco:

Tipo de E-mail

Quando É Enviado

signing_invite

Quando uma solicitação de assinatura é enviada pela primeira vez a um destinatário

next_signer

Quando é a vez do próximo assinante em uma ordem de assinatura

signing_expired

Quando uma solicitação de assinatura expira

signing_cancelled

Quando um remetente cancela uma solicitação 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. Você pode corresponder exatamente ao tom, layout, cores e texto da sua 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 você mais usará:

  • {{signing_link}} — o link único do assinante para acessar o documento

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

  • {{document_name}} — o nome da solicitação de assinatura

Um exemplo prático de um corpo 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 ao desenvolvedor: se o corpo do seu modelo não incluir {{signing_link}}, a API retorna um aviso ao salvar. A gravação ainda é bem-sucedida, mas o aviso está lá para detectar o erro antes que um assinante receba um e-mail sem forma de acessar seu documento.

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

O sistema de modelos usa uma hierarquia de três níveis: o modelo do espaço de trabalho tem precedência, depois o modelo da empresa, e então o padrão embutido da Firma.dev. Isso lhe dá dois padrões naturais de integração.

Definindo um Padrão a Nível de Companhia

Defina seu modelo de marca uma vez no nível da empresa e ele se aplicará a cada espaço de trabalho que não tenha sua própria substituição. O padrão de endpoint do log de alterações 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>"
}

Sobrescrevendo por Espaço de Trabalho

Para parceiros usando o modelo de espaço de trabalho do cliente da Firma.dev, cada espaço de trabalho pode ter seus próprios modelos de e-mail. Este exemplo de curl é do guia de remoção de marca:

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 atendendo a clientes na Alemanha pode usar modelos em alemão com a marca específica do cliente, enquanto outro espaço de trabalho usa seus padrões a nível de empresa.

Excluir um modelo de espaço de trabalho faz com que esse espaço de trabalho retorne ao padrão da empresa. Excluir o modelo da empresa faz com que retorne ao padrão embutido da Firma.dev. A cadeia de backup sempre tem algo onde aterrar.

Referência Completa da API

Endpoint

Descrição

GET /company/email-templates

Listar todos os modelos de 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 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 padrões incorporados 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 incorporado para o seu idioma-alvo, personalize-o e salve-o de volta. Não há necessidade de escrever o texto do e-mail do zero.

Começando

Os modelos de e-mail personalizados estão disponíveis a partir da API v1.8.0 em diante sem mudanças disruptivas. Se você já estiver integrado, pode começar a personalizar e-mails hoje mesmo sem tocar em nenhum dos lógicos de solicitação de assinatura existentes.

Comece com a Firma.dev gratuitamente, sem necessidade de cartão de crédito. Todas as solicitações de assinatura são 0.029 por envelope, sem mínimos mensais.

  1. Cabeçalho

Background Image

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.

Background Image

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.

Background Image

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.