Para descargar la muestra de código completa, consulte nuestro sitio Code Share.

Una transacción es la experiencia de un usuario de OneSpan Sign al revisar, aceptar, firmar y, potencialmente, descargar documentos.

Este tema le guiará a través del proceso para crear y enviar una transacción con el SDK de Java de OneSpan Sign.

Requisitos previos

Para completar estos procedimientos, necesitará lo siguiente:

  • Eclipse IDE for Java EE Developers: Puede descargarlo aquí.
  • SDK de Java de OneSpan Sign: Puede descargarlo en el portal de la Comunidad. También puede importarlos desde nuestro repositorio Maven utilizando los siguientes comandos:
    <dependency>
                <groupId>com.silanis.esl</groupId>
                <artifactId>sdk</artifactId>
                <version>11.21</version>
    </dependency>

Cómo crear y configurar un proyecto de Java

Para crear y configurar un proyecto de Java

  1. Abra Eclipse ejecutando eclipse.exe desde la carpeta raíz Eclipse. Una vez que haya comenzado, abra la perspectiva de Java. Puede hacerlo yendo a Windows > Open Perspective > Other > Java (Ventanas > Abrir perspectiva > Otra > Java).
  2. Captura

  3. Una vez que tenga la perspectiva de Java abierta, debería ver la vista del Explorador de paquetes a la izquierda de la pantalla. Haga clic con el botón derecho dentro de esta ventana y vaya a New > Java Project (Nuevo > Proyecto de Java). Aparece la siguiente ventana:

    Captura

  4. Asigne a su proyecto el nombre que desee. Por ejemplo: CreateAndSendPackage A continuación, haga clic en Next (Siguiente).
  5. En la pestaña Libraries (Bibliotecas), haga clic en Add External JAR (Añadir JAR externo). Vaya a la ubicación en la que guardó su SDK y seleccione sdk jar-with-dependencies jar.
  6. Seleccione Open (Abrir). Verá que el jar del SDK se ha agregado a su ruta de compilación.

    Captura

  7. Haga clic en Finalizar. Su nuevo proyecto se ha agregado a su vista del Package Explorer.

    Captura

  8. Expanda el paquete haciendo clic en la flecha de la izquierda, haga clic con el botón derecho en la carpeta src y vaya a New > Package (Nuevo > Paquete). Introduzca un nombre de paquete (por ejemplo, com.esignlive.example). Haga clic en Finalizar.

    Captura

  9. Crear un nuevo archivo de Java:
    1. Haga clic con el botón derecho en su nuevo paquete en el Explorador de paquetes y vaya a New > File (Nuevo > Archivo).
    2. Escriba un nombre para el archivo (por ejemplo, SimpleCreateAndSendPackage.java).
    3. Haga clic en Finalizar.
    4. Agregue un archivo PDF de ejemplo que desea que se firme en su proyecto. Puede usar una simple copia y pegado de su sistema de archivos a su proyecto en el Explorador de paquetes.

    Su proyecto debería tener ahora este aspecto:

  10. Captura

El código

En esta sección, el código se desglosará sección por sección. Puede descargar el código de ejemplo completo de Code Share de la comunidad de desarrolladores, aquí.

Cómo conectarse

Las siguientes líneas de código definen la información de conexión de OneSpan Sign.

public static final String API_KEY = "your_api_key";
public static final String API_URL = "https://sandbox.esignlive.com/api";    // Use https://apps.esignlive.com/api For Production

//Alternatively
public static final String CLIENT_APP_ID = "your_client_id";
public static final String CLIENT_APP_SECRET = "your_client_secret";
public static final String BASE_API_URL = "https://sandbox.esignlive.com";    // Use https://apps.esignlive.com For Production
public static final String API_URL = BASE_API_URL + "/api";    
			

Aplicaciones del cliente

Antes de que los integradores puedan realizar solicitudes a través de las API REST o funciones SDK, OneSpan Sign requiere que los usuarios registren Aplicaciones del cliente o proporcionen una Clave de API segura para autenticar las llamadas a la API.

Para registrar una aplicación de cliente

Puede autenticar las llamadas a la API REST desde el sistema de un usuario proporcionándole un token de API seguro pero de corta duración (por ejemplo, 30 minutos) que puede utilizarse para la autenticación. Esta función se llama Aplicaciones del cliente. Para activarla, debe comunicarse con nuestro Equipo de asistencia. Una vez activada esta función, los integradores externos podrán conectarse a la API de OneSpan Sign utilizando estos tokens de API.

Esta función no es compatible con conectores de OneSpan Sign.

Para crear una aplicación de cliente

  1. En la sección Aplicaciones del cliente de la página Acceso a la API, haga clic en Agregar. Aparece la barra lateral Crear aplicación del cliente.
  2. Escriba un Nombre para la aplicación del cliente.
  3. Haga clic en Crear.
  4. Copie los códigos de Identificación del cliente y Clave secreta que aparecen.
  5. Guarde los códigos de Identificación del cliente y Clave secreta en un lugar seguro.
  6. Haga clic en Listo.

La Clave secreta dejará de aparecer una vez que haga clic en Listo. Para sus registros, copie esta Clave secreta en un lugar seguro. La Identificación del cliente y la Clave secreta se utilizan para recuperar el token de API temporal.

Claves de API

Aunque se pueden utilizar claves de API con OneSpan Sign, recomendamos usar Aplicaciones del cliente en su lugar. Las aplicaciones del cliente son más versátiles y ayudan a reducir el número de vulnerabilidades de seguridad potenciales.

Las aplicaciones del cliente ofrecen las siguientes ventajas con respecto a las claves de API:

  • Con las aplicaciones del cliente se puede crear, rotar o revocar el acceso según sea necesario. Las claves de API son fijas y, por tanto, si desea realizar cualquier cambio de acceso, deberá comunicarse con nuestro Equipo de asistencia.

  • Se pueden utilizar varias aplicaciones del cliente si tiene configuradas varias integraciones. Esta posibilidad ayuda a limitar el alcance de cualquier ataque fraudulento a su sistema. En cambio, solo se proporciona una clave de API para todas las integraciones.

  • Las aplicaciones del cliente utilizan tokens temporales para permitir el acceso a la API, los cuales solo están disponibles durante un breve período de tiempo. Las claves de API no caducan y, por tanto, cualquier vulneración requerirá que se comunique con nuestro Equipo de asistencia.

Es posible que la clave de API no sea visible, dependiendo de su entorno y los privilegios de su cuenta.

Para ver su clave de API

  • En la sección Clave de API de la página Acceso a la API, haga clic en el ícono Ver.

De forma predeterminada, su clave de API está oculta.

A continuación, aparece la API_URL. Si está utilizando una cuenta de Sandbox, la URL correcta ya está definida. Si utiliza una cuenta de producción, busque la URL correspondiente en esta guía.

Cómo crear un paquete

La siguiente línea de código crea un Cliente de OneSpan Sign utilizando las credenciales de Aplicaciones del cliente o Clave de API de la cuenta de OneSpan Sign y la URL de API apropiada que definió anteriormente.

EslClient eslClient = new EslClient(API_KEY, API_URL);

//Alternatively
EslClient eslClient = new EslClient(ApiTokenConfig.newBuilder()
		.clientAppId(CLIENT_APP_ID)
		.clientAppSecret(CLIENT_APP_SECRET)
		.baseUrl(BASE_API_URL)
		.tokenType(TokenType.OWNER)
		.build(), 
		BASE_API_URL + "/api", false, null, new Dictionary<string,string>());
			

El siguiente bloque de código es donde realmente se crea el paquete de documentos. Dentro de este bloque, debe proporcionar un nombre al paquete.

DocumentPackage documentPackage = newPackageNamed("Test Package Java SDK")

A continuación, agregará dos firmantes al paquete. Uno es usted y el otro es la persona a la que le enviará el paquete. En este bloque, reemplace las direcciones de correo electrónico y los nombres (y, opcionalmente, la empresa y los títulos) con sus datos para la prueba. Configure el Custom Id del SDK para identificar mejor a su firmante.

.withSigner(newSignerWithEmail("[email protected]")
		.withCustomId("Signer")                           //optional
		.withFirstName("SignerFirstName")
		.withLastName("SignerLastName") 
		.withCompany("ABC Company")                       //optional
		.withTitle("Applicant"))                          //optional
.withSigner(newSignerWithEmail("[email protected]")
		.withFirstName("YourFirstName")
		.withLastName("YourLastName"))

Ahora, agregue el documento que desea que se firme y coloque los bloques de firma para sus firmantes. De nuevo, recuerde sustituir los valores de muestra de este bloque por la información de su prueba. Opcionalmente, la configuración Document and Signature Ids le ayudará a ubicar mejor sus firmas.

.withDocument(newDocumentWithName("sampleAgreement")
	.withId("document1")                              //optional
	.fromFile("your_file_path")
	.withSignature(signatureFor("[email protected]")
		.withId(new SignatureId("signature1"))    //optional
		.onPage(0)
		.atPosition(175, 165))
	.withSignature(signatureFor("[email protected]")
		.onPage(0)
		.atPosition(550, 165)))

Finalmente, usted compila su paquete usando el siguiente código:

.build();

Ahora que el paquete de documentos está listo, acceda a su Cliente de OneSpan Sign, cree su paquete y envíelo a los firmantes. Para ello, use este código:

// Issue the request to the OneSpan Sign server to create the DocumentPackage
PackageId packageId = eslClient.createPackageOneStep(documentPackage);
 
// Send the package to be signed by the participants
eslClient.sendPackage(packageId);

Resultados

Con su clase de Java completada, puede seguir adelante y ejecutar su aplicación simple. Existen varias maneras de hacerlo desde Eclipse:

  • En la barra de herramientas, seleccione el botón Run (Ejecutar).
  • En la barra de menús, seleccione Run > Run (Ejecutar > Ejecutar).
  • En el Explorador de paquetes, haga clic con el botón derecho en la clase de Java y seleccione Run As > Java Application (Ejecutar como > Aplicación de Java).

Si revisa la Bandeja de entrada de su cuenta de Sandbox de OneSpan Sign, verá que el paquete se ha creado y está a la espera de firmas.

Para descargar la muestra de código completa, consulte nuestro sitio Code Share.

Este tema le guiará a través del proceso de creación de un paquete con el SDK de .NET de OneSpan Sign. En este tema, aprenderá cómo:

  • Descargue el SDK de .NET y Microsoft Visual Studio

  • Crear y configurar un proyecto de C#
  • Crear y enviar un paquete de documentos

Requisitos previos

Para continuar, debe contar con lo siguiente:

  • OneSpan Sign's .NET SDK: Para descargar la versión más reciente del SDK de .NET de OneSpan Sign, consulte Introducción a los SDK.
  • Microsoft Visual Studio: Este tema utiliza Microsoft Visual Studio. Puede usar otro software, pero todas las descripciones de esta guía se refieren a Visual Studio. Para descargar Microsoft Visual Studio, visite la Visual Studio Community. Asegúrese de seleccionar Desarrollo de escritorio de .NET durante la instalación.

Cómo crear un proyecto de C# en Visual Studio

Antes de crear y enviar un paquete, deberá crear un proyecto de Microsoft Visual Studio.

Para crear y configurar su proyecto de C#

  1. Lanzar Microsoft Visual Studio.
  2. Haga clic en Crear un nuevo proyecto.
  3. Seleccione Proyecto en blanco y asígnele el nombre que desee. Una vez completado, verá su proyecto en el Explorador de soluciones.
  4. Haga clic en Herramientas > Administrador de paquetes NuGet > Consola del Administrador de paquetes.
  5. Introduzca el siguiente comando, donde <version_number> es el número de versión del OneSpan Sign's .NET SDK que descargó anteriormente.
  6. Install-Package OneSpanSign.Sdk -Version <version_number>

Ahora verá este archivo en su proyecto en el Explorador de soluciones.

El código

En esta sección, el código se desglosará sección por sección. Puede descargar el código de ejemplo completo de Code Share de la comunidad de desarrolladores, aquí.

Cómo conectarse

Las primeras líneas de código definen las bibliotecas que se utilizarán.

using OneSpanSign.Sdk;
using OneSpanSign.Sdk.Builder;				
using System;
using System.IO;

Las siguientes líneas de código definen la información de conexión de OneSpan Sign.

private static String API_URL = "https://sandbox.esignlive.com/api";    // Use https://apps.esignlive.com/api For Production
private static String API_KEY = "YOUR_API_KEY";

//Alternatively
private static String CLIENT_APP_ID = "your_client_id";
private static String CLIENT_APP_SECRET = "your_client_secret";
private static String BASE_API_URL = "https://sandbox.esignlive.com";    // Use https://apps.esignlive.com For Production
private static String API_URL = BASE_API_URL + "/api"; 
			

Aplicaciones del cliente

Antes de que los integradores puedan realizar solicitudes a través de las API REST o funciones SDK, OneSpan Sign requiere que los usuarios registren Aplicaciones del cliente o proporcionen una Clave de API segura para autenticar las llamadas a la API.

Para registrar una aplicación de cliente

Puede autenticar las llamadas a la API REST desde el sistema de un usuario proporcionándole un token de API seguro pero de corta duración (por ejemplo, 30 minutos) que puede utilizarse para la autenticación. Esta función se llama Aplicaciones del cliente. Para activarla, debe comunicarse con nuestro Equipo de asistencia. Una vez activada esta función, los integradores externos podrán conectarse a la API de OneSpan Sign utilizando estos tokens de API.

Esta función no es compatible con conectores de OneSpan Sign.

Para crear una aplicación de cliente

  1. En la sección Aplicaciones del cliente de la página Acceso a la API, haga clic en Agregar. Aparece la barra lateral Crear aplicación del cliente.
  2. Escriba un Nombre para la aplicación del cliente.
  3. Haga clic en Crear.
  4. Copie los códigos de Identificación del cliente y Clave secreta que aparecen.
  5. Guarde los códigos de Identificación del cliente y Clave secreta en un lugar seguro.
  6. Haga clic en Listo.

La Clave secreta dejará de aparecer una vez que haga clic en Listo. Para sus registros, copie esta Clave secreta en un lugar seguro. La Identificación del cliente y la Clave secreta se utilizan para recuperar el token de API temporal.

Claves de API

Aunque se pueden utilizar claves de API con OneSpan Sign, recomendamos usar Aplicaciones del cliente en su lugar. Las aplicaciones del cliente son más versátiles y ayudan a reducir el número de vulnerabilidades de seguridad potenciales.

Las aplicaciones del cliente ofrecen las siguientes ventajas con respecto a las claves de API:

  • Con las aplicaciones del cliente se puede crear, rotar o revocar el acceso según sea necesario. Las claves de API son fijas y, por tanto, si desea realizar cualquier cambio de acceso, deberá comunicarse con nuestro Equipo de asistencia.

  • Se pueden utilizar varias aplicaciones del cliente si tiene configuradas varias integraciones. Esta posibilidad ayuda a limitar el alcance de cualquier ataque fraudulento a su sistema. En cambio, solo se proporciona una clave de API para todas las integraciones.

  • Las aplicaciones del cliente utilizan tokens temporales para permitir el acceso a la API, los cuales solo están disponibles durante un breve período de tiempo. Las claves de API no caducan y, por tanto, cualquier vulneración requerirá que se comunique con nuestro Equipo de asistencia.

Es posible que la clave de API no sea visible, dependiendo de su entorno y los privilegios de su cuenta.

Para ver su clave de API

  • En la sección Clave de API de la página Acceso a la API, haga clic en el ícono Ver.

De forma predeterminada, su clave de API está oculta.

A continuación, aparece la API_URL. Si está utilizando una cuenta de Sandbox , la URL correcta ya está definida. Si utiliza una cuenta de Production , debe usar la URL de salida marcada como comentario.

OssClient ossClient = new OssClient(API_KEY, API_URL);
			
//Alternatively
OssClient ossClient = new OssClient(new ApiTokenConfig {
	ClientAppId = CLIENT_APP_ID,
	ClientAppSecret = CLIENT_APP_SECRET,
	BaseUrl = BASE_API_URL,
	TokenType = ApiTokenType.OWNER
},   
BASE_API_URL + "/api", false, null, new Dictionary<string, string>());
			

En la siguiente línea, cree una FileStream y lea el archivo que desee cargar con su paquete. Asegúrese de reemplazar el texto de marcador de posición PATH_TO_YOUR_PDF con la ubicación de su archivo PDF.

FileStream fs = File.OpenRead("PATH_TO_YOUR_PDF");

El siguiente bloque de código es donde realmente se crea el paquete de documentos. Dentro de este bloque, debe proporcionar un nombre al paquete.

DocumentPackage superDuperPackage = PackageBuilder
	.NewPackageNamed("Test Package .NET")
	.WithSettings(DocumentPackageSettingsBuilder.NewDocumentPackageSettings())

A continuación, se agregan los firmantes al paquete.

.WithSigner(SignerBuilder.NewSignerWithEmail("[email protected]")
			.WithFirstName("Signer First Name")
			.WithLastName("Signer Last Name")
			.WithCustomId("Signer"))
.WithSigner(SignerBuilder.NewSignerWithEmail("[email protected]")
			.WithFirstName("Your First Name")
			.WithLastName("Your Last Name"))

A continuación, se agrega el documento, incluidos los cuadros de firma para los firmantes.

.WithDocument(DocumentBuilder.NewDocumentNamed("sampleAgreement")
			.FromStream(fs, DocumentType.PDF)
			.WithSignature(SignatureBuilder
				.SignatureFor("[email protected]")
				.OnPage(0)
				.AtPosition(175, 165))
			.WithSignature(SignatureBuilder
				.SignatureFor("[email protected]")
				.OnPage(0)
				.AtPosition(550, 165))
			)

Con el paquete completamente definido, ahora puede compilar el paquete y enviarlo.

.Build();
 
PackageId packageId = ossClient.CreatePackageOneStep(superDuperPackage);
ossClient.SendPackage(packageId);

Resultados

Ejecute este código seleccionando Iniciar en la barra de herramientas. Después de hacerlo, debería poder iniciar sesión en la cuenta de OneSpan Sign y ver el paquete que acaba de crear.

Para descargar la muestra de código completa, consulte nuestro sitio Code Share.

Este tema le guiará a través del proceso para crear y enviar una transacción con la API de REST de Java de OneSpan Sign.

En este ejemplo, se utiliza una carga útil mínima que agrega al paquete dos firmantes, un documento y una firma por cada firmante.

Para obtener una descripción completa de cada campo y otros atributos opcionales, consulte Tabla de carga útil de solicitud. También puede consultar la API interactivapara obtener más información.

Solicitud HTTP

POST /api/packages

Encabezados HTTP

Authorization: Basic api_key / Bearer access_token
Accept: application/json
Content-Type: multipart/form-data

Carga útil de solicitud

------WebKitFormBoundary1bNO60n7FqP5WO4t
Content-Disposition: form-data; name="file"; filename="testDocumentExtraction.pdf"
Content-Type: application/pdf
%PDF-1.5
%µµµµ
1 0 obj
<>>>
endobj.... 
------WebKitFormBoundary1bNO60n7FqP5WO4t
Content-Disposition: form-data; name="payload"	
{
	"roles":[
		{
			"id":"Role1",
			"signers":[
				{
					"email":"[email protected]",
					"firstName":"1.firstname",
					"lastName":"1.lastname",
					"company":"OneSpan Sign"
				}
			]
		},
		{
			"id":"Role2",
			"signers":[
				{
					"email":"[email protected]",
					"firstName":"2.firstname",
					"lastName":"2.lastname",
					"company":"OneSpan Sign"
			}
		]
	}
],
				
"documents":[
	{
		"approvals":[
			{
				"role":"Role1",
				"fields":[
					{
						"page":0,
						"top":100,
						"subtype":"FULLNAME",
						"height":50,
						"left":100,
						"width":200,
						"type":"SIGNATURE"
					}
				]
			},
		{
				"role":"Role2",
				"fields":[
					{
						"page":0,
						"top":300,
						"subtype":"FULLNAME",
						"height":50,
						"left":100,
						"width":200,
						"type":"SIGNATURE"
					}
				]
			}
	
		],
		"name":"Test Document"
	}
],
"name":"Example Package",
"type":"PACKAGE",
"language":"en",
"emailMessage":"",
"description":"New Package",
"autocomplete":true,
"status":"SENT"

}
------WebKitFormBoundary1bNO60n7FqP5WO4t--
			

Carga útil de respuesta

{
"id": "9sKhW-h-qS9m6Ho3zRv3n2a-rkI="
}

Requisitos previos

Para completar estos procedimientos, necesitará lo siguiente:

  • Eclipse IDE for Java EE Developers: Puede descargarlo aquí.

Cómo crear y configurar un proyecto de Java

Para comenzar, debe crear y configurar un proyecto de Java.

Para crear y configurar un proyecto de Java

  1. Abra Eclipse ejecutando eclipse.exe desde la carpeta raíz Eclipse. Una vez que haya comenzado, abra la perspectiva de Java. Puede hacerlo yendo a Windows > Open Perspective > Other > Java (Ventanas > Abrir perspectiva > Otra > Java).
  2. Captura

  3. Una vez que tenga la perspectiva de Java abierta, debería ver la vista del Explorador de paquetes a la izquierda de la pantalla. Haga clic con el botón derecho dentro de esta ventana y vaya a New > Java Project (Nuevo > Proyecto de Java). Aparece la siguiente ventana:

    Captura

  4. Asigne a su proyecto el nombre que desee. Por ejemplo: CreateAndSendPackage
  5. Haga clic en Finalizar. Su nuevo proyecto se ha agregado a su vista del Package Explorer.

    Captura

  6. Expanda el paquete haciendo clic en la flecha de la izquierda, haga clic con el botón derecho en la carpeta src y vaya a New > Package (Nuevo > Paquete). Introduzca un nombre de paquete (por ejemplo, com.esignlive.example). Haga clic en Finalizar.

    Captura

  7. Crear un nuevo archivo de Java:
    1. Haga clic con el botón derecho en su nuevo paquete en el Explorador de paquetes y vaya a New > File (Nuevo > Archivo).
    2. Escriba un nombre para el archivo (por ejemplo, SimpleCreateAndSendPackage.java).
    3. Haga clic en Finalizar.
    4. Agregue un archivo PDF de ejemplo que desea que se firme en su proyecto. Puede usar una simple copia y pegado de su sistema de archivos a su proyecto en el Explorador de paquetes.

    Su proyecto debería tener ahora este aspecto:

  8. Captura

El código

En esta sección, el código se desglosará sección por sección. Puede descargar el código de ejemplo completo de Code Share de la comunidad de desarrolladores, aquí.

Cómo conectarse

Las siguientes líneas de código definen la información de conexión de OneSpan Sign.

string apiKey = "YOUR_API_KEY";
string url = "https://sandbox.esignlive.com/api/packages";

Aplicaciones del cliente

Antes de que los integradores puedan realizar solicitudes a través de las API REST o funciones SDK, OneSpan Sign requiere que los usuarios registren Aplicaciones del cliente o proporcionen una Clave de API segura para autenticar las llamadas a la API.

Para registrar una aplicación de cliente

Puede autenticar las llamadas a la API REST desde el sistema de un usuario proporcionándole un token de API seguro pero de corta duración (por ejemplo, 30 minutos) que puede utilizarse para la autenticación. Esta función se llama Aplicaciones del cliente. Para activarla, debe comunicarse con nuestro Equipo de asistencia. Una vez activada esta función, los integradores externos podrán conectarse a la API de OneSpan Sign utilizando estos tokens de API.

Esta función no es compatible con conectores de OneSpan Sign.

Para crear una aplicación de cliente

  1. En la sección Aplicaciones del cliente de la página Acceso a la API, haga clic en Agregar. Aparece la barra lateral Crear aplicación del cliente.
  2. Escriba un Nombre para la aplicación del cliente.
  3. Haga clic en Crear.
  4. Copie los códigos de Identificación del cliente y Clave secreta que aparecen.
  5. Guarde los códigos de Identificación del cliente y Clave secreta en un lugar seguro.
  6. Haga clic en Listo.

La Clave secreta dejará de aparecer una vez que haga clic en Listo. Para sus registros, copie esta Clave secreta en un lugar seguro. La Identificación del cliente y la Clave secreta se utilizan para recuperar el token de API temporal.

Claves de API

Aunque se pueden utilizar claves de API con OneSpan Sign, recomendamos usar Aplicaciones del cliente en su lugar. Las aplicaciones del cliente son más versátiles y ayudan a reducir el número de vulnerabilidades de seguridad potenciales.

Las aplicaciones del cliente ofrecen las siguientes ventajas con respecto a las claves de API:

  • Con las aplicaciones del cliente se puede crear, rotar o revocar el acceso según sea necesario. Las claves de API son fijas y, por tanto, si desea realizar cualquier cambio de acceso, deberá comunicarse con nuestro Equipo de asistencia.

  • Se pueden utilizar varias aplicaciones del cliente si tiene configuradas varias integraciones. Esta posibilidad ayuda a limitar el alcance de cualquier ataque fraudulento a su sistema. En cambio, solo se proporciona una clave de API para todas las integraciones.

  • Las aplicaciones del cliente utilizan tokens temporales para permitir el acceso a la API, los cuales solo están disponibles durante un breve período de tiempo. Las claves de API no caducan y, por tanto, cualquier vulneración requerirá que se comunique con nuestro Equipo de asistencia.

Es posible que la clave de API no sea visible, dependiendo de su entorno y los privilegios de su cuenta.

Para ver su clave de API

  • En la sección Clave de API de la página Acceso a la API, haga clic en el ícono Ver.

De forma predeterminada, su clave de API está oculta.

Cómo crear un paquete

A continuación, verá varias variables que se establecen que se utilizan en la creación de la llamada POST , como el valor del límite del formulario y el archivo que planea cargar.

String charset = "UTF-8";
File uploadFile1 = new File("C:/Eclipse/workspace_442/CreateAndSendPackage/sampleAgreement.pdf");
String boundary = Long.toHexString(System.currentTimeMillis()); // Generate a random value for the form boundary
String CRLF = "\r\n"; // Line separator used in multipart/form-data

La siguiente línea es la cadena JSON que define su paquete. Por lo general, probablemente construirá su cadena JSON dinámicamente en lugar de tener una cadena estática gigante como esta. Sin embargo, este ejemplo se puede utilizar para proporcionar una buena representación de la estructura de JSON que necesitará para crear su paquete correctamente. Tenga en cuenta que muchas propiedades se dejan vacías en la cadena, ya que no son necesarias para la creación de paquetes. Su función es ofrecerle una lista de opciones que están disponibles y cómo se entregan en el JSON.

La primera parte de la cadena JSON del paquete es el objeto roles. Dentro de él, puede establecer elementos como el ID, empresa, nombre, apellidos, correo electrónico y nombre para personalizar sus roles de firmante. Otros ajustes destacados serían el mensaje de correo electrónico, el título y la entrega.

string jsonString = "{";
		jsonString += "\"roles\":[{\"id\":\"Role1\",\"signers\":[{\"email\":\"[email protected]\",\"firstName\":\"1.firstname\",\"lastName\":\"1.lastname\",\"company\":\"OneSpan Sign\"}]},{\"id\":\"Role2\",\"signers\":[{\"email\":\"[email protected]\",\"firstName\":\"2.firstname\",\"lastName\":\"2.lastname\",\"company\":\"OneSpan Sign\"}]}],";

La siguiente sección de la cadena JSON del paquete es el objeto documents. Dentro de él, establecerá elementos como el nombre y las aprobaciones (bloques de firmas). En las aprobaciones, los elementos principales que se configurarían serían los ajustes type, subtype, role, page y location. Con ellos, se definen las firmas requeridas en cada documento.

Finalmente, los últimos ajustes de la cadena JSON del paquete que querrá tomar en cuenta son serán name, type, status, emailMessage y autoComplete. A continuación, definirá la conexión en la que enviará su solicitud. La primera línea abre la conexión a la URL de la solicitud. Observe que el resto de la URL de la solicitud en particular que se está realizando se agrega a la URL base, aquí. El resto configura las propiedades de la solicitud y crea el OutputStream y el PrintWriter para comunicar la carga útil de la solicitud con OneSpan Sign.

HttpsURLConnection connection = null;
URL url = new URL(requestURL);
connection = (HttpsURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");				
connection.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);
connection.setRequestProperty("Authorization", "Basic " + apiKey);
connection.setRequestProperty("Accept", "application/json; esl-api-version=11.0");
OutputStream output = connection.getOutputStream();
PrintWriter writer = new PrintWriter(new OutputStreamWriter(output, charset), true);

Dentro del bloque try, se crea el formulario real multiparte. En el código siguiente, puede ver cómo se agregan el límite, los descriptores de las partes del formulario y el contenido de cada parte del formulario.

// Add pdf file.
writer.append("--" + boundary).append(CRLF);
writer.append("Content-Disposition: form-data; name=\"file\"; filename=\"" + uploadFile1.getName() + "\"").append(CRLF);
writer.append("Content-Type: " + URLConnection.guessContentTypeFromName(uploadFile1.getName())).append(CRLF);
writer.append(CRLF).flush();
Files.copy(uploadFile1.toPath(), output);
output.flush();
writer.append(CRLF).flush();
                 
// add json payload
writer.append("--" + boundary).append(CRLF);
writer.append("Content-Disposition: form-data; name=\"payload\"").append(CRLF);
writer.append("Content-Type: application/json; charset=" + charset).append(CRLF);
writer.append(CRLF).append(jsonContent).append(CRLF).flush();
 
// End of multipart/form-data.
writer.append("--" + boundary + "--").append(CRLF).flush();

Finalmente, usted hará la llamada POST , entregando su formulario a OneSpan Sign, que crea su paquete de documentos. El código de respuesta y el contenido de la respuesta se imprimen en la consola.

int responseCode = ((HttpURLConnection) connection).getResponseCode();
System.out.println(responseCode);
if (responseCode == 200) {
	// get and write out response
	BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
	String inputLine;
	StringBuffer response = new StringBuffer();
	while ((inputLine = in.readLine()) != null) {
	response.append(inputLine);
	}
	in.close();
	/ print result
	System.out.println(response.toString());
} else {
	// get and write out response
	BufferedReader in = new BufferedReader(new InputStreamReader(connection.getErrorStream()));
	String inputLine;
	StringBuffer response = new StringBuffer();
	while ((inputLine = in.readLine()) != null) {
	response.append(inputLine);
	}
	in.close();
	// print result
	System.out.println(response.toString());
}

Resultados

Si todos los elementos de su llamada REST son correctos, debería obtener un ID de paquete devuelto como su respuesta:

Captura

Si inicia sesión en su cuenta de OneSpan Sign, puede ver que el paquete se creó como se define en su solicitud.

Tabla de carga útil de solicitud

Propiedad Tipo Editable Obligatorio Predeterminado Valores de ejemplo Referencia
roles Administración de firmantes
id string No n/a Signer1
name string No n/a Signer1
emailMessage array No n/a Consulte la referencia Mensaje de correo electrónico
reassign boolean No 0 true/false Cambiar el firmante
attachmentRequirements array No n/a Consulte la referencia Requisitos de los archivos adjuntos
index string No 0 0/1/2/3 Flujo de trabajo de firmantes
type string No FIRMANTE FIRMANTE / REMITENTE
signers
id string No n/a Signer1
email string n/a [email protected]
firstName string n/a Patty
lastName string n/a Galant
company string No n/a Acme Inc.
title string No null Directora General
group array No n/a Consulte la referencia Grupos
language string No n/a en/fr/es/… Configurar el idioma del paquete
signature
textual string No No null
handdrawn string No n/a AQAAAMkGIVM7tmRJzS2cANoDcyT0ASABAwA=  
delivery array No n/a Consulte la referencia Entregar documentos firmados por correo electrónico
knowledgeBasedAuthentication array No n/a Consulte la referencia Autenticación de firmante
auth array No n/a Consulte la referencia Autenticación de firmante
documents Administración de documentos
description string No n/a Descripción de documento de prueba1
id string No n/a document1
data array No n/a Consulte la referencia Atributos de documentos
approvals Firmas
role string n/a Signer1
id string No n/a approval1
optional boolean No 0 true/false Firma opcional
enforceCaptureSignature boolean No 0 true/false Forzar la captura de la firma
fields array No n/a Consulte la referencia Campos (consulte también Delimitadores de texto)
name string No n/a document 1
extract boolean No 0 true/false Extracción de documentos/ Etiqueta de texto/ Extracción de posiciones
extractionTypes array No n/a ["TEXT_TAGS","ACROFIELDS"] Extracción de documentos/ Etiqueta de texto
fields array No n/a Consulte la referencia Inyección de campos
name string No n/a document1
settings array No n/a Consulte la referencia Personalización de Experiencia para firmantes
sender Crear un paquete en nombre de otro usuario
lastName string No n/a Puente
firstName string No n/a Bob
email string No n/a [email protected] (que es un remitente de su cuenta principal)
status string No BORRADOR BORRADOR / ENVIADO / COMPLETADO / ARCHIVADO / RECHAZADO / ELEGIR NO HACERLO / CADUCÓ
name string No n/a Paquete creado a partir del formulario a través de la API REST
type string No PAQUETE PAQUETE / FORMULARIO / FORMATO
description string No n/a Paquete creado con la API REST de OneSpan Sign
language string No en en / fr / es … Configurar el idioma del paquete
visibility string No CUENTA CUENTA / REMITENTE
autoComplete boolean No 1 true / false
data array No n/a Consulte la referencia Atributo de paquete
due string No null 08-26-17
notarized boolean No 0 true/false (consulte la referencia; para su uso solo con notarización) Notario electrónico
notaryRoleId string No n/a Signer1 (consulte la referencia; para su uso solo con notarización) Notario electrónico
emailMessage string No n/a Este mensaje debe ser entregado a todos los firmantes

Para descargar la muestra de código completa, consulte nuestro sitio Code Share.

Este tema le guiará a través del proceso para crear y enviar una transacción con REST de .NET.

En este ejemplo, se utiliza una carga útil mínima que agrega al paquete dos firmantes, un documento y una firma por cada firmante.

Para obtener una descripción completa de cada campo y otros atributos opcionales, consulte Tabla de carga útil de solicitud. También puede consultar la API interactivapara obtener más información.

Solicitud HTTP

POST /api/packages

Encabezados HTTP

Authorization: Basic api_key / Bearer access_token
Accept: application/json
Content-Type: multipart/form-data

Carga útil de solicitud

------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="file"; filename="testDocumentExtraction.pdf" Content-Type: application/pdf %PDF-1.5 %µµµµ 1 0 obj <>>> endobj.... ------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="payload" { "roles":[ { "id":"Role1", "signers":[ { "email":"[email protected]", "firstName":"1.firstname", "lastName":"1.lastname", "company":"OneSpan Sign" } ] }, { "id":"Role2", "signers":[ { "email":"[email protected]", "firstName":"2.firstname", "lastName":"2.lastname", "company":"OneSpan Sign" } ] } ], "documents":[ { "approvals":[ { "role":"Role1", "fields":[ { "page":0, "top":100, "subtype":"FULLNAME", "height":50, "left":100, "width":200, "type":"SIGNATURE" } ] }, { "role":"Role2", "fields":[ { "page":0, "top":300, "subtype":"FULLNAME", "height":50, "left":100, "width":200, "type":"SIGNATURE" } ] } ], "name":"Test Document" } ], "name":"Example Package", "type":"PACKAGE", "language":"en", "emailMessage":"", "description":"New Package", "autocomplete":true, "status":"SENT" } ------WebKitFormBoundary1bNO60n7FqP5WO4t--

Carga útil de respuesta

{
	"id": "9sKhW-h-qS9m6Ho3zRv3n2a-rkI="
}

Cómo crear y configurar un proyecto de .NET

Este tema le guiará a través del proceso para comprobar el estado de una transacción y descargar cualquier documento con el SDK de .NET de OneSpan Sign. En este tema, aprenderá cómo:

  • Descargar Microsoft Visual Studio

  • Crear y configurar un proyecto de C#
  • Crear y enviar un paquete de documentos

Requisitos previos

Para completar estos procedimientos, necesitará lo siguiente:

  • Microsoft Visual Studio: Este tema utiliza Microsoft Visual Studio. Puede usar otro software, pero todas las descripciones de esta guía se refieren a Visual Studio. Para descargar Microsoft Visual Studio, visite la Visual Studio Community. Asegúrese de seleccionar Desarrollo de escritorio de .NET durante la instalación.

Cómo crear un proyecto de C# en Visual Studio

Antes de crear y enviar un paquete, deberá crear un proyecto de Microsoft Visual Studio.

Para crear y configurar su proyecto de C# en Visual Studio

  1. Lanzar Microsoft Visual Studio.
  2. Haga clic en Crear un nuevo proyecto.
  3. Seleccione Proyecto en blanco y asígnele el nombre que desee. Una vez completado, verá su proyecto en el Explorador de soluciones.

Ahora verá este archivo en su proyecto en el Explorador de soluciones.

El código

Esta guía desglosará el código sección por sección. Puede descargar el código de ejemplo completo desde el sitio de Code Share.

Cómo conectarse

Las siguientes líneas de código definen la información de conexión de OneSpan Sign.

string apiKey = "YOUR_API_KEY";
string url = "https://sandbox.esignlive.com/api";

Aplicaciones del cliente

Antes de que los integradores puedan realizar solicitudes a través de las API REST o funciones SDK, OneSpan Sign requiere que los usuarios registren Aplicaciones del cliente o proporcionen una Clave de API segura para autenticar las llamadas a la API.

Para registrar una aplicación de cliente

Puede autenticar las llamadas a la API REST desde el sistema de un usuario proporcionándole un token de API seguro pero de corta duración (por ejemplo, 30 minutos) que puede utilizarse para la autenticación. Esta función se llama Aplicaciones del cliente. Para activarla, debe comunicarse con nuestro Equipo de asistencia. Una vez activada esta función, los integradores externos podrán conectarse a la API de OneSpan Sign utilizando estos tokens de API.

Esta función no es compatible con conectores de OneSpan Sign.

Para crear una aplicación de cliente

  1. En la sección Aplicaciones del cliente de la página Acceso a la API, haga clic en Agregar. Aparece la barra lateral Crear aplicación del cliente.
  2. Escriba un Nombre para la aplicación del cliente.
  3. Haga clic en Crear.
  4. Copie los códigos de Identificación del cliente y Clave secreta que aparecen.
  5. Guarde los códigos de Identificación del cliente y Clave secreta en un lugar seguro.
  6. Haga clic en Listo.

La Clave secreta dejará de aparecer una vez que haga clic en Listo. Para sus registros, copie esta Clave secreta en un lugar seguro. La Identificación del cliente y la Clave secreta se utilizan para recuperar el token de API temporal.

Claves de API

Aunque se pueden utilizar claves de API con OneSpan Sign, recomendamos usar Aplicaciones del cliente en su lugar. Las aplicaciones del cliente son más versátiles y ayudan a reducir el número de vulnerabilidades de seguridad potenciales.

Las aplicaciones del cliente ofrecen las siguientes ventajas con respecto a las claves de API:

  • Con las aplicaciones del cliente se puede crear, rotar o revocar el acceso según sea necesario. Las claves de API son fijas y, por tanto, si desea realizar cualquier cambio de acceso, deberá comunicarse con nuestro Equipo de asistencia.

  • Se pueden utilizar varias aplicaciones del cliente si tiene configuradas varias integraciones. Esta posibilidad ayuda a limitar el alcance de cualquier ataque fraudulento a su sistema. En cambio, solo se proporciona una clave de API para todas las integraciones.

  • Las aplicaciones del cliente utilizan tokens temporales para permitir el acceso a la API, los cuales solo están disponibles durante un breve período de tiempo. Las claves de API no caducan y, por tanto, cualquier vulneración requerirá que se comunique con nuestro Equipo de asistencia.

Es posible que la clave de API no sea visible, dependiendo de su entorno y los privilegios de su cuenta.

Para ver su clave de API

  • En la sección Clave de API de la página Acceso a la API, haga clic en el ícono Ver.

De forma predeterminada, su clave de API está oculta.

A continuación, aparece la API_URL. Si está utilizando una cuenta de Sandbox , la URL correcta ya está definida. Si utiliza una cuenta de Production , debe usar la URL de salida marcada como comentario.

Cómo crear un paquete

La siguiente línea es la cadena JSON que define su paquete. Por lo general, probablemente construirá su cadena JSON dinámicamente en lugar de tener una cadena estática gigante como esta. Le permite ofrecer una buena representación de la estructura de JSON con el fin de crear su paquete correctamente. En la cadena, se dejan vacías muchas propiedades que no son necesarias para la creación, por lo que puede ver algunas de las otras opciones que están disponibles y cómo se entregan en el JSON.

La primera parte de la cadena JSON del paquete es el objeto roles. Dentro de él, puede establecer elementos como el ID, empresa, nombre, apellidos, correo electrónico y nombre para personalizar sus roles de firmante. Otros ajustes destacados serían el mensaje de correo electrónico, el título y la entrega.

{
	"roles":[
		{
			"id":"Role1",
			"signers":[
				{
					"email":"[email protected]",
					"firstName":"1.firstname",
					"lastName":"1.lastname",
				"company":"OneSpan Sign"
				}
			]
		},

La siguiente sección de la cadena JSON del paquete es el objeto documents. Dentro de él, establecerá elementos como el nombre y las aprobaciones (bloques de firmas).

 "documents":[
	{
		"approvals":[
			{
				"role":"Role1",
				"fields":[
					{
						"page":0,
						"top":100,
						"subtype":"FULLNAME",
						"height":50,
						"left":100,
						"width":200,
						"type":"SIGNATURE"
				}
			]
		},

En las aprobaciones, los elementos principales que se configurarían serían tipo, subtipo, rol, página y ajustes de ubicación. Con ellos, se definen las firmas requeridas en cada documento.

            jsonString += "\"documents\":[{\"approvals\":[{\"role\":\"Role1\",\"fields\":[{\"page\":0,\"top\":100,\"subtype\":\"FULLNAME\",\"height\":50,\"left\":100,\"width\":200,\"type\":\"SIGNATURE\"}]},{\"role\":\"Role2\",\"fields\":[{\"page\":0,\"top\":300,\"subtype\":\"FULLNAME\",\"height\":50,\"left\":100,\"width\":200,\"type\":\"SIGNATURE\"}]}],\"name\":\"Test Document\"}],";
			

Finalmente, los últimos ajustes de la cadena JSON del paquete que querrá tomar en cuenta son name, type, status, emailMessage y autoComplete. En este ejemplo, el estado se establece como ENVIADO. Con ello, se envía el paquete y se notifica a los firmantes. Si quiere guardar este paquete como un borrador, use el valor BORRADOR en su lugar.

 jsonString += "\"name\":\"Example Package\",\"type\":\"PACKAGE\",\"language\":\"en\",\"emailMessage\":\"\",\"description\":\"New Package\",\"autocomplete\":true,\"status\":\"SENT\"";
jsonString += "}";

La siguiente línea del código tomará su cadena JSON y hará el objeto StringContent que entregará como carga útil en su comando de la API REST.

StringContent jsonContent = new StringContent(jsonString, Encoding.UTF8, "application/json");

El siguiente par de líneas leerán su archivo PDF y usarán el contenido para crear su objeto de archivo ByteArrayContent para su llamada REST. Asegúrese de cambiar el marcador de posición a la ruta de su archivo.

byte[] fileByteArray = File.ReadAllBytes("PATH_TO_YOUR_PDF.pdf");
			ByteArrayContent content = new ByteArrayContent(fileByteArray);

Las siguientes líneas definen el encabezado de la disposición de contenido del objeto de contenido del archivo PDF.

content.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data");
content.Headers.ContentDisposition.Name = "\"file\"";
content.Headers.ContentDisposition.FileName = "\"NAME_OF_YOUR_FILE.pdf\"";
content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");

El siguiente bloque de código es donde se crea el formulario multiparte y se agregan los objetos de contenido creados anteriormente para pasar con la llamada REST. Asegúrese de definir el nombre del archivo.

MultipartFormDataContent form = new MultipartFormDataContent();
form.Add(content, "\"file\"", "\"NAME_OF_YOUR_FILE.pdf\"");
form.Add(jsonContent, "\"payload\"");

A continuación, creará el HttpClient que usará para realizar su solicitud POST y establecer la autorización de encabezado apropiada y aceptar valores.

HttpClient myClient = new HttpClient();
myClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", apiKey);
myClient.DefaultRequestHeaders.Add("Accept", "application/json");

Por último, hará la llamada POST, entregando su formulario a OneSpan Sign y creando así su paquete de documentos. La línea de depuración mostrará el resultado en la consola de salida de depuración.

var response = myClient.PostAsync(new Uri(url) + "/packages/", form).Result;
Debug.WriteLine(response.Content.ReadAsStringAsync().Result);

Resultados

Si todos los elementos de su llamada REST son correctos, debería obtener un ID de paquete devuelto como su respuesta, como en este caso:

Captura

Si inicia sesión en su cuenta de OneSpan Sign, puede ver que el paquete se creó como se define en su solicitud.

Tabla de carga útil de solicitud

Propiedad Tipo Editable Obligatorio Predeterminado Valores de ejemplo Referencia
roles Administración de firmantes
id string No n/a Signer1
name string No n/a Signer1
emailMessage array No n/a Consulte la referencia Mensaje de correo electrónico
reassign boolean No 0 true/false Cambiar el firmante
attachmentRequirements array No n/a Consulte la referencia Requisitos de los archivos adjuntos
index string No 0 0/1/2/3 Flujo de trabajo de firmantes
type string No FIRMANTE FIRMANTE / REMITENTE
signers
id string No n/a Signer1
email string n/a [email protected]
firstName string n/a Patty
lastName string n/a Galant
company string No n/a Acme Inc.
title string No null Directora General
group array No n/a Consulte la referencia Grupos
language string No n/a en/fr/es/… Configurar el idioma del paquete
signature
textual string No No null
handdrawn string No n/a AQAAAMkGIVM7tmRJzS2cANoDcyT0ASABAwA=  
delivery array No n/a Consulte la referencia Entregar documentos firmados por correo electrónico
knowledgeBasedAuthentication array No n/a Consulte la referencia Autenticación de firmante
auth array No n/a Consulte la referencia Autenticación de firmante
documents Administración de documentos
description string No n/a Descripción de documento de prueba1
id string No n/a document1
data array No n/a Consulte la referencia Atributos de documentos
approvals Firmas
role string n/a Signer1
id string No n/a approval1
optional boolean No 0 true/false Firma opcional
enforceCaptureSignature boolean No 0 true/false Forzar la captura de la firma
fields array No n/a Consulte la referencia Campos (consulte también Delimitadores de texto)
name string No n/a document 1
extract boolean No 0 true/false Extracción de documentos/ Etiqueta de texto/ Extracción de posiciones
extractionTypes array No n/a ["TEXT_TAGS","ACROFIELDS"] Extracción de documentos/ Etiqueta de texto
fields array No n/a Consulte la referencia Inyección de campos
name string No n/a document1
settings array No n/a Consulte la referencia Personalización de Experiencia para firmantes
sender Crear un paquete en nombre de otro usuario
lastName string No n/a Puente
firstName string No n/a Bob
email string No n/a [email protected] (que es un remitente de su cuenta principal)
status string No BORRADOR BORRADOR / ENVIADO / COMPLETADO / ARCHIVADO / RECHAZADO / ELEGIR NO HACERLO / CADUCÓ
name string No n/a Paquete creado a partir del formulario a través de la API REST
type string No PAQUETE PAQUETE / FORMULARIO / FORMATO
description string No n/a Paquete creado con la API REST de OneSpan Sign
language string No en en / fr / es … Configurar el idioma del paquete
visibility string No CUENTA CUENTA / REMITENTE
autoComplete boolean No 1 true / false
data array No n/a Consulte la referencia Atributo de paquete
due string No null 08-26-17
notarized boolean No 0 true/false (consulte la referencia; para su uso solo con notarización) Notario electrónico
notaryRoleId string No n/a Signer1 (consulte la referencia; para su uso solo con notarización) Notario electrónico
emailMessage string No n/a Este mensaje debe ser entregado a todos los firmantes

Para descargar la muestra de código completa, consulte nuestro sitio Code Share.

Esta guía le guiará a través del proceso para crear y enviar un paquete de documentos (transacción en la nueva interfaz de usuario) con el SDK de APEX de OneSpan Sign, que incluye la descarga del SDK de APEX y la creación de una clase de APEX.

Requisitos previos

Para completar estos procedimientos, necesitará lo siguiente:

  • APEX SDK: Para poder utilizar el SDK de APEX, deberá descargarlo. Puede hacerlo haciendo clic aquí.
  • Una cuenta de desarrollador de Salesforce: Para esta guía, necesitará una cuenta de desarrollador de Salesforce. Puede registrarse de forma gratuita haciendo clic aquí.

Crear y enviar un paquete

Ahora que tiene todos los elementos esenciales para completar la guía, puede proceder a crear y enviar un paquete.

Instalar y configurar el SDK

El SDK se puede instalar mediante el botón Implementar en Salesforce.

Como alternativa, se puede instalar como un paquete no administrado en uno de los siguientes entornos:

Cambiar la configuración de la conexión

Después de instalar en su Sandbox u organización Developer , deberá configurar los ajustes de conexión creando una entrada en Configuración personalizada. Asegúrese de que tiene una entrada con el nombre de API Configuración de conexión OneSpan Sign en la organización y que tiene los siguientes campos:

  • Endpoint__c
  • API_Key__c

Captura

Una vez que tenga la Configuración personalizada en su lugar, deberá asegurarse de tener un registro con un nombre como Main. Si no tiene este registro en la Configuración personalizada, puede agregarlo.

Para agregar una configuración personalizada

  1. Navegue a la página Detalles de la configuración personalizada
  2. Haga clic en Administrar.
  3. Haga clic en Nuevo e ingrese lo siguiente:
    • Nombre: Main
    • Clave de API: Su clave de API
    • Punto de conexión: Ingrese el punto de conexión de la instancia con /api agregado al final. Por ejemplo, https://sandbox.esignlive.com/api
  4. Haga clic en Guardar.

Captura

Agregar un punto de conexión de sitio remoto

Para que las llamadas se realicen desde Salesforce, deberá agregar el punto de conexión del sitio remoto. Se trata del mismo punto de conexión utilizado al crear una configuración personalizada, solo que sin /api agregado al final. Deberá agregarse a la Configuración de sitio remoto de la organización de Salesforce desde la que tiene la intención de usar el SDK. Una vez que agregue el Sitio remoto, asegúrese de que esté marcado como Activo, como se muestra a continuación.

Captura

El código

En esta sección, el código que aparece a continuación se desglosará sección por sección.

public class OssCreatePackage{
 
	public void createPackage() {
	//Create OSS client
	OneSpanSDK sdk = new OneSpanSDK();
         
	//Create package
	OneSpanAPIObjects.Package_x pkg = new OneSpanAPIObjects.Package_x();
	pkg.name = 'Example Package Using APEX SDK1 - ' + Datetime.now().format();
         
	String packageId = sdk.createPackage(pkg);
	System.debug('PackageId: ' + packageId);
        
	//Add Signer
	String roleResponse = sdk.addRole('John', 'Smith', '[email protected]', packageId);
         
	//Add Document
	StaticResource sr = [SELECT Id, Body FROM StaticResource WHERE Name = 'testdoc1' LIMIT 1];
	Map<String,Blob> doc = new Map<String,Blob>();
	doc.put('Sample Document', sr.Body);
         
	OneSpanAPIObjects.Document document = new OneSpanAPIObjects.Document();
	document.name = 'Sample Contract';
	document.id = 'document1';
         
	sdk.createDocuments(packageId, document, doc);
	//Add Signature
	Map<String,Object> role = (Map<String,Object>)JSON.deserializeUntyped(roleResponse);
	String roleId = (String)(role.get('id'));
         
	OneSpanAPIObjects.Field field = new OneSpanAPIObjects.Field();
	field.left = 208;
	field.width = 200;
	field.height = 50;
	field.top = 518;
	field.page = 0;
	field.subtype = 'CAPTURE';
	field.type = 'SIGNATURE';
        
	List<OneSpanAPIObjects.Field> fields = new List<OneSpanAPIObjects.Field>();
	fields.add(field);
         
	OneSpanAPIObjects.Approval approval = new OneSpanAPIObjects.Approval();
	approval.fields = fields;
	approval.role = roleId;
         
	String signatureResponse = sdk.addSignature(packageId, 'document1', approval);
         
	//Send package
	pkg.status = OneSpanAPIObjects.PackageStatus.SENT;
         
	sdk.updatePackage(pkg, packageId);     
	}
}
			

La primera línea crea su cliente de OneSpan Sign utilizando la Clave de API de OneSpan Sign y la URL de API apropiada que definió en Instalar y configurar el SDK.

OneSpanSDK sdk = new OneSpanSDK();

El siguiente bloque de código es donde se crea el paquete de documentos. Dentro de este bloque, debe proporcionar un nombre al paquete.

        OneSpanAPIObjects.Package_x pkg = new OneSpanAPIObjects.Package_x();
	pkg.name = 'Example Package Using APEX SDK1 - ' + Datetime.now().format();
         
	String packageId = sdk.createPackage(pkg);
	System.debug('PackageId: ' + packageId);
			

A continuación, se agrega un firmante al paquete. Esta es la persona a la que enviará el paquete para que lo firme. En este bloque, reemplazará la dirección de correo electrónico y el nombre con la información de su prueba.

String roleResponse = sdk.addRole('John', 'Smith', '[email protected]', packageId);

Ahora, agregue el documento que desea firmar y coloque también el bloque de firma para su firmante. De nuevo, recuerde sustituir los valores de muestra de este bloque por la información de su prueba.

//Add Document
	StaticResource sr = [SELECT Id, Body FROM StaticResource WHERE Name = 'testdoc1' LIMIT 1];
	Map<String,Blob> doc = new Map<String,Blob>();
	doc.put('Sample Document', sr.Body);
         
	OneSpanAPIObjects.Document document = new OneSpanAPIObjects.Document();
	document.name = 'Sample Contract';
	document.id = 'document1';
        
	sdk.createDocuments(packageId, document, doc);
	//Add Signature
	Map<String,Object> role = (Map<String,Object>)JSON.deserializeUntyped(roleResponse);
	String roleId = (String)(role.get('id'));
         
	OneSpanAPIObjects.Field field = new OneSpanAPIObjects.Field();
	field.left = 208;
	field.width = 200;
	field.height = 50;
	field.top = 518;
	field.page = 0;
	field.subtype = 'CAPTURE';
	field.type = 'SIGNATURE';
         
	List<OneSpanAPIObjects.Field> fields = new List<OneSpanAPIObjects.Field>();
	fields.add(field);
         
	OneSpanAPIObjects.Approval approval = new OneSpanAPIObjects.Approval();
	approval.fields = fields;
	approval.role = roleId;
         
	String signatureResponse = sdk.addSignature(packageId, 'document1', approval);
			

En este ejemplo, agregamos un PDF a los Recursos estáticos de su cuenta de desarrollador de Salesforce y lo leemos como un tipo BLOB.

Captura

Ahora que su paquete está listo, utilice su cliente de OneSpan Sign para enviarlo al firmante.

        //Send package
	pkg.status = OneSpanAPIObjects.PackageStatus.SENT;
         
	sdk.updatePackage(pkg, packageId);     
			

Resultados

Con su clase de APEX completada, puede seguir adelante y ejecutarla. Abra su Consola de desarrollador y presione Ctrl + E para iniciar la ventana de ejecución anónima. Escriba:

new OssCreatePackage.createPackage();

A continuación, pulse Ejecutar.

Puede ver el ID del paquete impreso en la consola de depuración:

Captura

Si revisa la Bandeja de entrada de su cuenta de Sandbox de OneSpan Sign, verá que el paquete se ha creado y está a la espera de firmas.