OneSpan Sign Developer: Signature en vrac pour capture Signature

Duo Liang, novembre 21, 2018

L'une des caractéristiques les plus importantes introduites par OneSpan Sign 11.20 version est que "Bulk Signing" et "Sign All" prennent désormais en charge capture de type Signature et type signature mixte. C'est-à-dire, en tant qu'intégrateur, lorsque vous souhaitez signer all pour votre expéditeur ou votre signataire lorsque les signatures ont un type mixte, vous pouvez approuver vos transactions et autoriser les signatures capturées.

 

Dans ce blog, nous allons d'abord explorer ce que vous pouvez vous attendre avec cette nouvelle fonctionnalité, puis en apprendre davantage sur la façon de les mettre en œuvre programmatiquement dans les deux méthodes SDK et REST

Signez des documents vs Signe en vrac pour Signer

 

La fonction " Documents de signature " vous permet de signer toutes les signatures pour vous-même en un seul appel, au lieu de naviguer successivement dans les documents, et de signer chaque signature de façon séquentielle. En tant qu'extension, la fonction " Signe en vrac pour un signataire " vous permet de signer au nom d'un signataire avec un seul appel sans signer par la signature.

 

 

Pour plus d’informations, consultez nos guides Sign Documents et Bulk Sign for a Signer. 

 

 

Quoi de neuf ?

 

En plus du comportement existant, lorsque votre transaction inclut plusieurs types de signatures en particulier Capture/Mobile Signature, vous pouvez vous attendre à ce qui suit lors de l'appel de la fonction de signature en vrac / API:

 

 

  • Autoriser la signature de signature en vrac avec Click-to-sign, Initials, Capture et Mobile Capture. Les versions avant 11.20 ne permettent pas la signature pour le type Capture.

     

  • Appliquer les champs requis. À savoir, toutes les signatures facultatives seront signées.

     

  • Ignorer la signature Enforce Capture. Toutes les signatures de capture dans la demande de fonction/API s'affichent avec la même valeur dessinée à la main même si la signature nécessite la signature Enforce Capture.

     

  • Si le signataire a déjà un compte OSS, vous pouvez utiliser la configuration de capture du signataire dans le compte.

     


En méthode REST

 

 

Demande HTTP
POST /api/packages/packageId/documents/signed_documents

En-têtes HTTP
Accepter : application/json
Content-type: application/JSON
Cookie: ESIGNLIVE_SESSION_ID-sessionToken //bulk sign for signer
Ou Autorisation : documents de base api_key //sign

Demande de charge utile
{
  "documents": [
    {
      "id": "consentement par défaut"
    }
    ,
    {
      "id": "3b71ec27e29076dd74458807cba42fe9107e86e161c39b51"
    }
  ],
  "handdrawn": "AQAAAAIcDeoYTaHiVvjKkwDJLWb6AFAAAwADADaAAAAAAAAA-gBQABoAAAAAAAQAQAQaAAAACRQAAdiEkAeQBmChTITI4BQF1Aon1CBRAhErESGVFVQ6FC
}

Plus remarquablement, une nouvelle propriété « tirée à la main » est ajoutée à l'objet json existant. Cette propriété représente la signature capturée réelle, qui a été convertie en valeur de chaîne.

 

 

Cette propriété est facultative. Si vous n'utilisez pas la signature de capture, vous n'avez pas besoin d'avoir cette propriété, ce qui signifie que la nouvelle fonctionnalité introduite n'affectera pas votre code de travail existant si votre flux de travail contient déjà cette API.

 

 

Vous serez également en mesure d'utiliser notre widget de signature de capture à l'extérieur et de passer la signature comme une propriété pour les expéditeurs internes et les signataires tiers.

 

 

À Java et .Net SDK

 

 

Vous pouvez trouver l’utilisation de base de cette nouvelle fonctionnalité pour Java SDK et .Net SDK à partir de notre page Github.

 

 

Et dans cette section, nous allons prolonger l'exemple un peu en parlant de deux scénarios que vous pouvez rencontrer lors de l'élaboration avec elle. Pour remarquer que tous les codes seront présentés dans Java, et les utilisateurs .Net juste besoin de changer le code un peu pour le rendre compilé avec la syntaxe C.

 

 

Voici les fonctions nouvellement ajoutées dans SDK:

 

 

Dans la classe EslClient :
public vide signDocument(PackageId packageId, String documentName, CapturedSignature capturedSignature) // Signez un document à l'aide de la clé api actuelle
signDocuments de vide publicDocuments (PackageId packageId, CapturedSignature capturedSignature) // Signez des documents à l'aide de la clé api actuelle
public void signDocuments(PackageId packageId, String signId, CapturedSignature capturedSignature) // Sign documents using sign id
Dans la classe CapturedSignature :
public CapturedSignature (String handdrawn) //constructeur

1. Comment autoriser la valeur manuscrite d'un compte OSS existant

 

Si votre signataire a déjà un compte OSS et a la signature stockée au niveau du compte, vous pouvez l'utiliser de deux façons suivantes :

 

 

eslClient.signDocuments (nouveau PackageId("package_id"), "signer id/email");
eslClient.signDocuments (nouveau PackageId("package_id"), "signer id/email", nouveau CapturedSignature("));

Et la fonction signDocuments() utilisera automatiquement la configuration de la valeur dessinée à la main en compte pour signer en vrac pour toutes les signatures de capture/capture mobile.

 

 

Notez que si votre signataire n'a pas de compte OSS et que vous appelez la fonction de cette façon, vous recevrez l'erreur ci-dessous :

"messageKey":"error.validation.missingAutograph","parameters": "approvalName":"Dhwe7ODvTgIR" ,"code":400,"name":"Validation Error","message":"L'approbation ne peut pas être confirmée parce qu'aucun autographe n'a été fourni."

Et si votre signataire a un compte OSS mais n'a pas de signature pré-set jointe au compte, vous recevrez l'erreur ci-dessous :

"messageKey":"error.validation.signatureData","code":400,"name":"Validation Error","message":"Signature data is not populated."

2. Puis-je utiliser la signature d'configuration de mon expéditeur lorsque j'envoie au nom de l'expéditeur ?

 

Oui, tant que le signataire a un compte OSS avec le même e-mail. Que votre expéditeur interne ou votre signataire externe soit votre expéditeur interne, vous pouvez utiliser la même fonction mentionnée ci-dessus à la question 1.

 

 

Notez que si vous essayez d'envoyer au nom de l'expéditeur et de construire votre colis, inclure:

 

 

.withSenderInfo(SenderInfoBuilder.newSenderInfo("[email protected]"))

Et si vous n'avez pas manuellement réglé votre expéditeur en tant que signataire avec fonction .withSigner(), vous utiliserez eslClient.createPackage()au lieu d'eslClient.createPackageOneStep() pour créer votre paquet.

 

 

La fonction « Support Capture Signature type in Bulk Signing » est importante pour les expéditeurs et les intégrateurs lorsque votre paquet inclut le type de capture et que vous devez signer en vrac pour votre expéditeur/propriétaire ou simplement un signataire externe et vous permet d'utiliser les signatures de configuration existantes de ces comptes.

 

 

Si vous avez des questions concernant ce blog ou toute autre chose concernant l'intégration de OneSpan Sign dans votre application, visitez les Forums communautairesdes développeurs . Vos commentaires sont importants pour nous!