Guías

Etiqueta Blanca Cada Correo Electrónico: Cómo Funcionan las Plantillas de Correo Electrónico Personalizadas de Firma.dev

Texto alternativo: "Interfaz de tema oscuro que muestra un panel de notificaciones personalizable. El texto dice 'Personaliza todo', con 'todo' rodeado en morado, lo que transmite personalización."

Cuando integras la firma electrónica en tu producto, tus clientes no deberían saber qué plataforma la está impulsando. La experiencia de firma debería sentirse como propia, incluyendo cada correo electrónico automatizado que se envía durante el proceso. Firma.dev ahora te permite personalizar cada correo de notificación que la plataforma envía en tu nombre, con control total sobre las líneas de asunto, los cuerpos HTML y las anulaciones por espacio de trabajo.

Tus clientes ven tu marca, no la nuestra

Cada flujo de trabajo de firma desencadena una serie de correos electrónicos automatizados: la invitación inicial, la notificación al siguiente firmante en un flujo secuencial, los avisos de vencimiento, los mensajes de cancelación y las notificaciones de rechazo. Antes de las plantillas de correo electrónico personalizadas, todos ellos se enviaban con el texto y formato predeterminados de Firma.dev.

Ahora tú controlas los cinco:

Tipo de correo electrónico

Cuándo se envía

signing_invite

Cuando se envía por primera vez una solicitud de firma a un destinatario

next_signer

Cuando es el turno del siguiente firmante en un orden de firma

signing_expired

Cuando expira una solicitud de firma

signing_cancelled

Cuando un remitente cancela una solicitud de firma

signing_declined

Cuando un firmante se niega a firmar

Tanto la línea de asunto (texto sin formato, máximo 500 caracteres) como el cuerpo (HTML, máximo 50.000 caracteres) son completamente personalizables para cada tipo. Puedes emular exactamente el tono, diseño, colores y textos de tu marca.

Marcadores de posición dinámicos

Las plantillas admiten una sintaxis {{placeholder}} para insertar valores dinámicos en el momento del envío. La lista completa de marcadores de posición disponibles se puede consultar a través de GET /email-templates/placeholders, e incluye los que más utilizarás:

  • {{signing_link}} — el enlace único del firmante para acceder al documento

  • {{signer_name}} — el nombre del destinatario

  • {{document_name}} — el nombre de la solicitud de firma

Un ejemplo práctico del cuerpo de un signing_invite:

<p>Hola {{signer_name}},</p>
<p>
  {{sender_name}} te ha enviado un documento para revisar y firmar.
  Por favor, utiliza el siguiente enlace para acceder a él.
</p>
<p>
  <a href="{{signing_link}}" style="background:#1a1a1a;color:#fff;padding:12px 24px;border-radius:4px;text-decoration:none;">
    Revisar y firmar
  </a>
</p>
<p>Este enlace expira en {{expiration_hours}} horas.</p>
<p>El equipo de {{company_name}}<

<p>Hola {{signer_name}},</p>
<p>
  {{sender_name}} te ha enviado un documento para revisar y firmar.
  Por favor, utiliza el siguiente enlace para acceder a él.
</p>
<p>
  <a href="{{signing_link}}" style="background:#1a1a1a;color:#fff;padding:12px 24px;border-radius:4px;text-decoration:none;">
    Revisar y firmar
  </a>
</p>
<p>Este enlace expira en {{expiration_hours}} horas.</p>
<p>El equipo de {{company_name}}<

<p>Hola {{signer_name}},</p>
<p>
  {{sender_name}} te ha enviado un documento para revisar y firmar.
  Por favor, utiliza el siguiente enlace para acceder a él.
</p>
<p>
  <a href="{{signing_link}}" style="background:#1a1a1a;color:#fff;padding:12px 24px;border-radius:4px;text-decoration:none;">
    Revisar y firmar
  </a>
</p>
<p>Este enlace expira en {{expiration_hours}} horas.</p>
<p>El equipo de {{company_name}}<

Nota para desarrolladores: si el cuerpo de tu plantilla no incluye {{signing_link}}, la API devuelve una advertencia al guardar. El guardado se realiza correctamente, pero la advertencia sirve para detectar el error antes de que un firmante reciba un correo electrónico sin forma de acceder a su documento.

Plantillas a nivel de empresa y de espacio de trabajo

El sistema de plantillas utiliza una jerarquía de tres niveles: la plantilla de espacio de trabajo tiene prioridad, luego la plantilla de empresa y, finalmente, la plantilla predeterminada integrada de Firma.dev. Esto proporciona dos patrones naturales de integración.

Configuración de una plantilla predeterminada para toda la empresa

Configura tu plantilla de marca una vez a nivel de empresa y se aplicará a todos los espacios de trabajo que no tengan su propia anulación. El patrón de endpoint del registro de cambios de la API:

PUT /company/email-templates/{email_type}
{
  "subject": "Por favor, firma: {{document_name}}",
  "body": "<p>Hola {{signer_name}},</p><p>Por favor, revisa y firma utilizando este enlace: {{signing_link}}</p>"
}
PUT /company/email-templates/{email_type}
{
  "subject": "Por favor, firma: {{document_name}}",
  "body": "<p>Hola {{signer_name}},</p><p>Por favor, revisa y firma utilizando este enlace: {{signing_link}}</p>"
}
PUT /company/email-templates/{email_type}
{
  "subject": "Por favor, firma: {{document_name}}",
  "body": "<p>Hola {{signer_name}},</p><p>Por favor, revisa y firma utilizando este enlace: {{signing_link}}</p>"
}

Anulación por espacio de trabajo

Para los socios que utilizan el modelo de espacio de trabajo de cliente de Firma.dev, cada espacio de trabajo puede tener sus propias plantillas de correo electrónico. Este ejemplo de curl corresponde a la guía de marca blanca:

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": "Acción requerida: Por favor, firma {{document_name}}",
    "body": "<p>Hola {{signer_name}},</p><p>{{sender_name}} ha solicitado tu firma en {{document_name}}.</p><p><a href=\"{{signing_link}}\">Firmar ahora</a></p><p>— El equipo de {{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": "Acción requerida: Por favor, firma {{document_name}}",
    "body": "<p>Hola {{signer_name}},</p><p>{{sender_name}} ha solicitado tu firma en {{document_name}}.</p><p><a href=\"{{signing_link}}\">Firmar ahora</a></p><p>— El equipo de {{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": "Acción requerida: Por favor, firma {{document_name}}",
    "body": "<p>Hola {{signer_name}},</p><p>{{sender_name}} ha solicitado tu firma en {{document_name}}.</p><p><a href=\"{{signing_link}}\">Firmar ahora</a></p><p>— El equipo de {{workspace_name}}</p>"
  }'

Un espacio de trabajo que atienda a clientes en Alemania podría utilizar plantillas en idioma alemán con la marca específica de ese cliente, mientras que otro espacio de trabajo utilizaría los valores predeterminados de toda la empresa.

Eliminar una plantilla de espacio de trabajo revierte dicho espacio al valor predeterminado a nivel de empresa. Eliminar la plantilla de empresa revierte al valor predeterminado integrado de Firma.dev. La cadena de alternativas siempre tiene un elemento de reserva al que recurrir.

Referencia completa de la API

Endpoint

Descripción

GET /company/email-templates

Listar todas las plantillas a nivel de empresa

PUT /company/email-templates/{email_type}

Crear o actualizar una plantilla de empresa

DELETE /company/email-templates/{email_type}

Eliminar una plantilla de empresa

GET /workspace/{id}/email-templates

Listar todas las plantillas de espacio de trabajo

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

Obtener una plantilla de espacio de trabajo específica

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

Crear o actualizar una plantilla de espacio de trabajo

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

Eliminar una plantilla de espacio de trabajo

GET /email-templates/defaults/{language}

Obtener valores predeterminados integrados para un idioma

GET /email-templates/placeholders

Obtener todos los marcadores de posición disponibles

El endpoint GET /email-templates/defaults/{language} es particularmente útil como punto de partida: extrae la plantilla integrada para tu idioma de destino, personalízala y vuelve a guardarla. No es necesario redactar el texto del correo electrónico desde cero.

Primeros pasos

Las plantillas de correo electrónico personalizadas están disponibles a partir de la versión v1.8.0 de la API en adelante, sin cambios que afecten a la compatibilidad. Si ya estás integrado, puedes empezar a personalizar los correos electrónicos hoy mismo sin tocar nada de la lógica de solicitud de firma existente.

Comienza a utilizar Firma.dev gratis, sin necesidad de tarjeta de crédito. Todas las solicitudes de firma tienen un coste de 0,049 por sobre, sin mínimos mensuales.

  1. Encabezado

Imagen de fondo

¿Listo para añadir firmas electrónicas a tu aplicación?

Comienza gratis. No se requiere tarjeta de crédito. Paga solo 0,049 € por sobre cuando estés listo para empezar.

Imagen de fondo

¿Listo para añadir firmas electrónicas a tu aplicación?

Comienza gratis. No se requiere tarjeta de crédito. Paga solo 0,049 € por sobre cuando estés listo para empezar.

Imagen de fondo

¿Listo para añadir firmas electrónicas a tu aplicación?

Comienza gratis. No se requiere tarjeta de crédito. Paga solo 0,049 € por sobre cuando estés listo para empezar.