Desarrollador de firmas OneSpan: Firma en persona

Duo Liang, 2 de Junio de 2021

Con OneSpan Sign, los propietarios de las transacciones pueden enviar documentos para su firma y dejar que los destinatarios firmen electrónicamente de forma remota a través de la web o en un escenario presencial. Supongamos que un agente de seguros de vida visita a una pareja en su casa, el agente puede preparar una transacción de seguros utilizando un dispositivo móvil y hacer que tanto el agente como la pareja firmen electrónicamente los documentos pertinentes durante su única reunión. Puede implementar fácilmente este tipo de caso de uso aprovechando la función de firma en persona sin necesidad de desarrollo o esfuerzo adicional.

En este blog, le guiaremos a través de los pasos para crear una transacción de firma en persona, crear un enlace de firma en persona, llevar a cabo la sesión de firma, y potencialmente incrustar el enlace de firma en un iFrame para proporcionar una mejor experiencia de marca blanca para su aplicación integrada. Sin más dilación, ¡comencemos!

6-2-1

Paso 1: Crear una transacción de firma en persona

La configuración de la firma en persona es similar al proceso habitual de envío de una transacción

Para los usuarios ad hoc:

Al preparar una transacción, desplácese hasta la sección "Configuración" y active la opción de "firma en persona".

6-2-2

Para los usuarios integrados:

La configuración del paquete determina si la transacción debe ser firmada en persona

 "settings" > "ceremony" > "inPerson" : true/false

Un ejemplo de transacción JSON podría ser como el siguiente:

{ "name": "In-Person Signing Transaction", "language": "en", "description": "In-Person Signing Transaction", "status": "DRAFT", "settings": { "ceremony": { "inPerson": true } }

Alternativamente, se puede determinar con el código del SDK que aparece a continuación:

SDK de Java:

DocumentPackage pkg = PackageBuilder.newPackageNamed("In-Person Signing Transaction") .withSettings(DocumentPackageSettingsBuilder.newDocumentPackageSettings() .withInPerson()) .build();

.NET SDK:

DocumentPackage pkg = PackageBuilder.NewPackageNamed("In-Person Signing Transaction") .WithSettings(DocumentPackageSettingsBuilder.NewDocumentPackageSettings() .WithInPerson()) .Build();

Paso 2: Crear un enlace de firma en persona

Los usuarios ad hoc pueden iniciar una ceremonia de firma en persona a través de su portal de envío de OneSpan Sign.

6-2-3

Además, los usuarios integrados pueden acceder a la ceremonia de firma en persona directamente a través de un enlace de firma con cualquiera de los métodos que se indican a continuación:

Método 1

Con el primer método, autentificaremos el enlace de firma con un token de autentificación del remitente:

SDK de Java:

String senderAuthToken = eslClient.getAuthenticationTokensService().createSenderAuthenticationToken(packageId);

.NET SDK:

string senderAuthToken = eslClient.AuthenticationTokenService.CreateSenderAuthenticationToken(new PackageId(packageId)); 

Método API:

Petición HTTP

POST /api/authenticationTokens/sender

Encabezados HTTP

Accept: application/json Content-Type: application/json Authorization: Basic api_key 

Ejemplo de carga útil de la solicitud

{"packageId: "5vjLRY5MWrDJ6MzRAEyCKOy5IH0="} 

Con el token de autenticación del remitente a mano, construya el enlace con la siguiente plantilla:

{instance_url}/auth?authenticationToken={sender_auth_token}&target={instance_url}/transaction/{package_id}/sign

El enlace de firma final podría ser como el ejemplo siguiente:

https://sandbox.esignlive.com/auth?authenticationToken=MTcxMzE1MWYtZjM3Ni00ZTEyLWFmNTctZTUyY2Q5ZTMxN2Qx&target=https://sandbox.esignlive.com/transaction/BEJGut_BQrji0JIyLJJE-4-VCmI=/sign

Nota:

  • La URL de la instancia no incluye la parte "/api", por ejemplo: "https://sandbox.esignlive.com".
  • La URL redirigida no contiene "/a/" en la ruta. Esto podría requerir un cambio de código si está migrando de la Ceremonia de Firma clásica a la Nueva Experiencia del Firmante.

Método 2

En lugar del token de autenticación del remitente, también funciona cuando se recupera el token de autenticación del remitente.

SDK de Java:

String multiUseToken = eslClient.getAuthenticationTokensService().createSignerAuthenticationToken(packageId, signerId); String singleUseToken = eslClient.getAuthenticationTokensService().createSignerAuthenticationTokenForSingleUse(packageId, signerId, signerSessionFields);

.NET SDK:

string multiUseToken = eslClient.AuthenticationTokenService.CreateSignerAuthenticationToken(new PackageId(packageId), signerId); string singleUseToken = eslClient.AuthenticationTokensService.CreateSignerAuthenticationTokenForSingleUse(packageId, signerId, signerSessionFields);

Método API:

Petición HTTP

POST /api/authenticationTokens/signer/multiUse

O

POST /api/authenticationTokens/signer/singleUse

Encabezados HTTP

Accept: application/json Content-Type: application/json Authorization: Basic api_key 

Ejemplo de carga útil de la solicitud

{ "packageId": "s-wy6PFASBlAKfnLJjcbzoaMyTg=", "signerId": "sender_email" }

Utilizando el token de autenticación del firmante, puedes obtener una sesión de firma construyendo la siguiente URL:

https://sandbox.esignlive.com/access?sessionToken={signerAuthToken}

Con cualquiera de los dos enlaces, los desarrolladores pueden abrirlo en una nueva pestaña de la ventana o incrustar el enlace en un iFrame e integrarlo perfectamente en su propia aplicación.

Apreciamos sus comentarios

Ahí está. Le mostramos un enfoque de dos pasos creando una transacción de firma en persona y obteniendo el enlace de firma. Si tiene alguna pregunta sobre este blog o cualquier otra cosa relacionada con la integración de OneSpan Sign en su aplicación, visite los foros de la comunidad de desarrolladores. Su opinión nos importa