Guías

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

Escrito por

Maqueta de notificación por correo electrónico con remitente personalizable y tarjeta de título con imagen de marca en morado.

Cuando integras la firma electrónica en tu producto, tus clientes no deberían saber qué plataforma la gestiona. La experiencia de firma debe sentirse como propia, incluido 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 los asuntos, los cuerpos HTML y las anulaciones por espacio de trabajo.

Tus clientes ven tu marca, no la nuestra

Cada flujo de trabajo de firma activa 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 se enviaban con el texto y el 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 caduca una solicitud de firma

signing_cancelled

Cuando un remitente cancela una solicitud de firma

signing_declined

Cuando un firmante rechaza firmar

Tanto la línea de asunto (texto sin formato, máx. 500 caracteres) como el cuerpo (HTML, máx. 50.000 caracteres) son totalmente personalizables para cada tipo. Puedes adaptar con precisión el tono, el diseño, los colores y los textos de tu marca.

Marcadores de posición dinámicos

Las plantillas admiten una sintaxis de {{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 de un cuerpo de 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 caduca es {{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 caduca es {{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 caduca es {{expiration_hours}} horas.</p>
<p>— El equipo de {{company_name}}<

Una 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 está ahí para detectar el error antes de que un firmante reciba un correo sin forma de acceder a su documento.

Plantillas a nivel de empresa y a nivel de espacio de trabajo

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

Configuración de una plantilla predeterminada para toda la empresa

Configura tu plantilla personalizada 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 del 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 espacios de trabajo de clientes de Firma.dev, cada espacio de trabajo puede tener sus propias plantillas de correo electrónico. Este ejemplo de curl es de 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 es {{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 es {{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 es {{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 alemán con la imagen corporativa específica de ese cliente, mientras que otro espacio de trabajo utiliza los valores predeterminados para toda la empresa.

Eliminar una plantilla de espacio de trabajo revierte ese espacio de trabajo a la configuración predeterminada a nivel de empresa. Eliminar la plantilla de empresa revierte a la configuración predeterminada integrada de Firma.dev. La cadena de respaldo siempre tiene un nivel 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 las opciones predeterminadas integradas para un idioma

GET /email-templates/placeholders

Obtener todos los marcadores de posición disponibles

El endpoint GET /email-templates/defaults/{language} es especialmente útil como punto de partida: obtén la plantilla integrada para tu idioma de destino, personalízala y guárdala de nuevo. No es necesario escribir 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 sin cambios que causen incompatibilidades. Si ya estás integrado, puedes empezar a personalizar los correos hoy mismo sin modificar ninguna lógica existente de solicitud de firma.

Empieza a utilizar Firma.dev gratis, sin necesidad de tarjeta de crédito. Todas las solicitudes de firma cuestan 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.