Intégrer OneSpan Sign dans Salesforce avec l’APEX SDK

Michael Williams, septembre 30, 2016

Nous savons tous que Salesforce est l’un des systèmes CRM basés sur le cloud les plus flexibles et les plus puissants sur le marché, et beaucoup d’entre vous savent probablement que OneSpan Sign dispose d’une application de classe mondiale disponible sur l’AppExchange pour la signature de documents de toutes sortes. Mais, saviez-vous que OneSpan Sign offre également un APEX SDK? Lancé plus tôt cette année, et un produit que nous allons présenter à Dreamforce la semaine prochaine est APEX SDK de OneSpan Sign - une boîte à outils complète qui permet aux développeurs Salesforce d’introduire rapidement et facilement des capacités de signature électronique dans les applications Salesforce et Force.com. Ainsi, si vos besoins passent simplement par la capacité d'envoyer des documents pour signature de Salesforce à l'intégration dans les applications personnalisées et les flux de travail, nous avons toujours vous couvert. Télécharger l'APEX SDK [promotion id'"17409"]

Exemple SIMPLE APEX SDK

Comme tous les SDK de OneSpan Sign, l’APEX SDK est simple et facile à démarrer. J’ai pensé que je marcherais à travers un exemple simple de créer une transaction OneSpan Sign avec des documents pour montrer à quel point il est vraiment facile. Pour cet exemple, je vais afficher la création d'un paquet avec plusieurs paramètres différents, comme un message électronique, date d'expiration, et la définition de la propriété complète automatique d'un paquet. Donc, première chose, nous allons déclarer notre fonction:

vide public statique createPackageWithDocumentsExemple (String packageName, Boolean autocomplete, String packageDescription, DateTime packageDue, String emailMessage)
{

Ensuite, nous devons créer notre objet OneSpan Sign SDK.

ESignLiveSDK sdk - nouveau ESignLiveSDK();

Ensuite, vous configurez l'exemple de paquet et de document de données

ESignLiveAPIObjects.Package_x pkg - nouveau ESignLiveAPIObjects.Package_x();
Carte blobMap - nouvelle carte();,Blob> ,Blob>

Blob b1 et File1_Blob_Contents;
Blob b2 et File2_Blob_Contents;

blobMap.put ('testDocumentOne', b1);
blobMap.put('testDocumentTwo', b2);

Ici, je configure les propriétés du paquet en fonction des valeurs transmises à la fonction.

pkg.name - packageName;
pkg.autocomplete et autocomplete;
pkg.description - packageDescription;

Cette section du code crée une nouvelle ancre de texte pour définir où un bloc de signature ira, par rapport au texte "testDocumentOne" dans le document.

ESignLiveAPIObjects.ExtractAnchor ea - nouveau ESignLiveAPIObjects.ExtractAnchor();
ea.text ' 'testDocumentOne';
ea.index 0;
ea.largeur 150;
ea.hauteur 40;
ea.anchorPoint - ESignLiveAPIObjects.AnchorPoint.TOPRIGHT;
ea.characterIndex 12;
ea.leftOffset - -20;
ea.topOffset - -60;

Ici, le champ de bloc de signature est effectivement créé et l'ancre d'extrait que nous avons créée ci-dessus est utilisée pour placer le bloc de signature.

ESignLiveAPIObjects.Field f1 - nouveau ESignLiveAPIObjects.Field();
f1.type 'SIGNATURE';
f1.page 0;
f1.extract - faux; 
f1.gauche 0;
f1.sous-type 'FULLNAME';
f1.top - 0;
f1.extractAnchor et ea;

Ce bloc suivant montre la création d'une autre ancre créée pour le placement d'un champ de date - avisez la liaison approval.signed dans le champ.

ESignLiveAPIObjects.ExtractAnchor ea1 - nouveau eSignLiveAPIObjects.extractAnchor();
ea1.text - 'testDocumentOne';
ea1.index 0;
ea1.largeur 150;
ea1.height 40;
ea1.anchorPoint - ESignLiveAPIObjects.AnchorPoint.BOTTOMRIGHT;
ea1.characterIndex 12;
ea1.leftOffset - -40;
ea1.topOffset - 0;

ESignLiveAPIObjects.Field f2 - nouveau ESignLiveAPIObjects.Field();
f2.type 'INPUT';
f2.page 0;
f2.extract - faux; 
f2.gauche 0;
f2.soustype 'LABEL';
	f2.binding ''approbation.signé';
f2.top 0;
f2.extractAnchor et ea1;

Ensuite, dans l'exemple, l'autorisation est mise en place. C'est là que vous ajoutez l'authentification de la broche SMS ou de questions-réponses, si vous avez besoin d'une transaction plus sécurisée.

Liste des défis et nouvelle liste();
        
ESignLiveAPIObjects.Delivery livraison - nouveau ESignLiveAPIObjects.Delivery();
delivery.email - vrai;
delivery.provider - vrai;

ESignLiveAPIObjects.Auth auth - nouveau ESignLiveAPIObjects.Auth();
auth.challenges - défis;
auth.scheme - ESignLiveAPIObjects.AuthScheme.NONE;

Le code ci-dessous crée un signataire et utilise les objets d'autorisation et de livraison créés ci-dessus, puis ajoute le signataire à une liste à utiliser ci-dessous dans la création de rôle du paquet.

ESignLiveAPIObjects.Signer signataire - nouveau ESignLiveAPIObjects.Signer();
sign.auth et auth;
signer.livraison et livraison;
signer.firstName ' 'firstName';
signer.lastName ' 'lastName';
signer.email '[email protected]';
signer.name 'firstNamelastName';

Liste des signataires et nouvelle liste();
signataires.add (signataire);

Comme indiqué ci-dessus, l'objet de rôle est maintenant créé et la liste des signataires créées ci-dessus est utilisée pour définir les signataires dans le rôle. Vous pouvez également définir des choses comme un nom de rôle et une iD.

ESignLiveAPIObjects.Role role ' new ESignLiveAPIObjects.Role();
role.signers et signataires;
role.reassign - vrai;
role.name 'firstNamelastName';
role.id 'firstNamelastName';
role.type 'SIGNER';

Ici, l'objet d'approbation est créé, en utilisant le rôle que nous venons de créer et les champs créés ci-dessus (signature et date).

ESignLiveAPIObjects.Approval 1 - nouveau ESignLiveAPIObjects.Approval();
approval1.role - 'firstNamelastName';
approval1.fields - nouvelle liste 'f1,f2';

Qu'est-ce qu'un paquet de documents serait sans documents, non? Donc, la prochaine chose à faire est de créer un objet de document pour chacun des blobs que nous prévoyons de télécharger sur le paquet. Vous verrez que l'objet d'approbation créé dans le dernier morceau est utilisé ici pour définir les approbations et les champs pour le document.

ESignLiveAPIObjects.Document doc1 - nouveau ESignLiveAPIObjects.Document();
doc1.name 'testDocumentOne';
doc1.approbations ' nouvelle Liste 'approbation1';

ESignLiveAPIObjects.Document doc2 - nouveau ESignLiveAPIObjects.Document();
doc2.name 'testDocumentTwo';

Si vous avez déjà utilisé eSignLive, vous savez que la création d'un paquet se résume à deux éléments, en fin de compte: les documents et les rôles/signataires. Ce prochain morceau de code montre comment les ajouter à l'objet du paquet avant de créer le paquet.

pkg.documents ' nouvelle Liste 'doc1,doc2';
pkg.roles ' nouvelle Liste 'rôle';

Maintenant que votre paquet est tout mis en place, vous n'avez qu'à appeler la fonction createPackage et passer l'objet de paquet et blobMap qui ont été créés ci-dessus.

Réponse des cordes - sdk.createPackage (pkg,blobMap);

Enfin, imprimer la confirmation que le paquet a été créé, à la console et fermer la fonction.

System.debug('' PackageId: ' ' ' ' réponse);
}

C’est tout. Si vous avez suivi jusqu'à présent, vous auriez dû créer avec succès un paquet de documents avec des binaires de documents, en utilisant l'APEX SDK. Si vous avez des questions sur le SDK APEX, jetez un oeil à la documentation ou poser une question dans la communauté des développeurs.

Vous vous dirigez vers Dreamforce?

Assurez-vous de passer par le stand 401 ou 2112 pour parler à Doug Exner, l'un de nos ingénieurs d'application qui fera la démonstration de notre puissante intégration e-signature avec Salesforce. Ne manquez pas notre séance, "Making the Case for E-Signatures in Salesforce and Force.com" Jeudi 6 octobre, 11h00 - 11h20 au Partner Theater 1 à Moscone South Merci pour la lecture! Si vous avez des questions, n'hésitez pas à poster dans la section commentaires.

 Joignez-vous à la oneSpan Sign Developer Community - Michael Williams Twitter (fr) Facebook - France LinkedIn (en)