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 firmas electrónicas en tu producto, tus clientes no deberían saber qué plataforma lo impulsa. La experiencia de firma debería parecer tuya, 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 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 firma activa una serie de correos automatizados: la invitación inicial, la notificación al siguiente firmante en un flujo secuencial, los avisos de caducidad, los mensajes de cancelación y las notificaciones de rechazo. Antes de las plantillas de correo personalizadas, todos se enviaban con el texto y el formato predeterminados de Firma.dev.

Ahora controlas los cinco:

Tipo de correo

Cuándo se envía

signing_invite

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

next_signer

Cuando le toca firmar al 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 plano, máximo 500 caracteres) como el cuerpo (HTML, máximo 50.000 caracteres) son totalmente personalizables para cada tipo. Puedes ajustar exactamente el tono, la disposición, los colores y el texto de tu marca.

Marcadores de posición dinámicos

Las plantillas admiten la sintaxis {{placeholder}} para inyectar valores en tiempo real al enviarse. La lista completa de marcadores de posición disponibles puede consultarse mediante GET /email-templates/placeholders e incluye los que usarás con más frecuencia:

  • {{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 signing_invite:

<p>Hola {{signer_name}},</p>
<p>
  {{sender_name}} te ha enviado un documento para que lo revises y firmes.
  Usa el enlace de abajo 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 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 que lo revises y firmes.
  Usa el enlace de abajo 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 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 que lo revises y firmes.
  Usa el enlace de abajo 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 en {{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 sigue realizándose 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 de espacio de trabajo

El sistema de plantillas usa una jerarquía de tres niveles: la plantilla del espacio de trabajo tiene prioridad, luego la plantilla de la empresa y después el valor predeterminado integrado de Firma.dev. Esto te ofrece dos patrones de integración naturales.

Establecer un valor predeterminado para toda la empresa

Configura una sola vez tu plantilla con tu marca 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 en el 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 usando 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 usando 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 usando este enlace: {{signing_link}}</p>"
}

Anular por espacio de trabajo

Para los partners que usan el modelo de espacio de trabajo de cliente de Firma.dev, cada espacio de trabajo puede tener sus propias plantillas de correo. Este ejemplo con curl procede 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 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 atiende a clientes en Alemania podría usar plantillas en alemán con la marca específica de ese cliente, mientras que otro espacio de trabajo usa los valores predeterminados de toda tu empresa.

Eliminar una plantilla de espacio de trabajo devuelve ese espacio de trabajo al valor predeterminado a nivel de empresa. Eliminar la plantilla de la empresa devuelve al valor predeterminado integrado de Firma.dev. La cadena de respaldo siempre tiene algo a lo 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 del espacio de trabajo

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

Obtener una plantilla específica del espacio de trabajo

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

Crear o actualizar una plantilla del espacio de trabajo

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

Eliminar una plantilla del espacio de trabajo

GET /email-templates/defaults/{language}

Obtener los valores predeterminados integrados para un idioma

GET /email-templates/placeholders

Obtener todos los marcadores de posición disponibles

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

Primeros pasos

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

Empieza gratis con Firma.dev, no se requiere tarjeta de crédito. Todas las solicitudes de firma cuestan 0,029 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,029 € por sobre cuando estés listo para ponerlo en marcha.

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,029 € por sobre cuando estés listo para ponerlo en marcha.

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,029 € por sobre cuando estés listo para ponerlo en marcha.