Firmantes y autoridades

Cómo elige cada persona su método de verificación, y cómo corregir un firmante a tiempo.

La autoridad de un sticker define cómo se comprueba la identidad del firmante, y eso es lo que queda registrado como evidencia de la firma. Un certificado del SAT y una liga enviada por correo no comprueban lo mismo: el primero acredita a la persona ante una autoridad certificadora, el segundo acredita el control de una cuenta de correo.

Es la decisión de más peso de cada sticker, porque determina dos cosas a la vez:

  • Qué respalda la firma. El nivel de comprobación que puedes demostrar después, si alguien cuestiona quién firmó.
  • Qué tan fácil es firmar. Un certificado exige que la persona lo tenga a la mano; una liga se abre desde el teléfono.

Elígela según lo que el documento necesite sostener, no solo por comodidad — y si el trámite tiene requisitos legales concretos, confírmalos antes de decidir.

Cuál elegir

AutoridadQué queda comprobado
SATLa identidad de la persona ante el SAT, con su certificado y su llave privada
OAUTH_TOKENEl control de una cuenta de Google o de Outlook, verificada por el proveedor
WHATSAPP_PINEl control de un número, con un PIN de un solo uso al momento de firmar
EMAIL_LINKEl control de una cuenta de correo, por una liga única enviada a esa dirección
WHATSAPP_LINKEl control de un número, por una liga única enviada por WhatsApp
SMS_LINKEl control de un número, por una liga única enviada por SMS
EMAILEl control de una cuenta de correo, por respuesta a un mensaje
SMSEl número del firmante, con la invitación enviada por SMS

Están ordenadas de mayor a menor nivel de comprobación. Una liga acredita que quien firmó tenía acceso a esa cuenta o a ese número; un certificado del SAT acredita a la persona ante la autoridad que lo emitió.

Quién manda la invitación

Con las autoridades por liga (EMAIL_LINK, WHATSAPP_LINK, SMS_LINK), Firmame envía la invitación automáticamente y solo el firmante tiene la URL que autoriza firmar a su nombre.

Con SAT, EMAIL y SMS, si no configuras un flujo, repartir la URL de firma es responsabilidad tuya.

También se aceptan los nombres largos en español —Vinculada a Correo Electronico por Liga y similares—, que es lo que verás en integraciones viejas. En código nuevo usa el código corto.

El campo data

Es el valor que identifica a la persona, y su forma depende de la autoridad:

{ authority: 'EMAIL_LINK', data: '[email protected]' }   // un correo
{ authority: 'WHATSAPP_PIN', data: '5216621234567' }        // un teléfono
{ authority: 'SAT', data: 'VECJ880326XXX' }                 // un RFC

email es un campo aparte de data. Es obligatorio si quieres que Firmame lleve el flujo, porque es a donde llega la invitación; con las autoridades por SMS y WhatsApp, omítelo — identifican por teléfono y mandar los dos se rechaza.

Cómo se ve la firma en el papel

imageType controla el dibujo que queda estampado:

ValorQué dibuja
descTexto: «Firma realizada con certificado emitido por … para: …»
nameEl nombre del certificado, en cursiva
hashUn hash del documento seguido del nombre
strokeEl trazo que la persona dibuja al firmar

Se pueden combinar dos con +, por ejemplo stroke+desc para el trazo con el texto descriptivo debajo.

Verificación de identidad

Como capa extra de seguridad para confirmar la identidad de quien firma, agrega requireIdentityVerification: true al sticker. El proceso completo —identificación oficial, prueba de vida, créditos que consume y el webhook con el resultado— está en Verificación de identidad.

Corregir un firmante

Mientras esa persona no haya firmado, puedes cambiarle el correo, el dato de verificación, la autoridad o el tipo de imagen. Necesitas dos ids, los dos de la respuesta al crear el documento:

await services.updateSigner(documentTicket, stickerId, {
  authority: 'EMAIL_LINK',
  email: '[email protected]',
  data: '[email protected]',
  imageType: 'desc',
});

Resuelve el caso de un correo mal escrito sin rehacer el documento. Una vez que la persona firmó, su recuadro queda fijo; si aun así necesitas cambiarlo, cancela el flujo y genera el documento de nuevo.

Ver POST /api/{firmamexId}/signer/{publicSignerId}/update.

Otras opciones del sticker

CampoPara qué
requireLocationPide la ubicación del firmante antes de firmar
sendEmailInvitationManda el correo de invitación de este firmante
customDataCadena tuya que se te regresa en los webhooks de esa persona, útil para amarrar la firma con un registro de tu base de datos

En esta página