OneSpan Sign Developer: Conditional Fields - Partie 3
Dans les deux blogs précédents de cette série, nous avons décrit les bases de Conditional Fields dans la partie 1, puis nous avons clarifié la syntaxe des conditions démontrées comment tirer parti de la fonctionnalité par LE biais de REST API dans la partie 2.
Ensuite, cette série de blogs en cours montrera comment créer des champs conditionnels en utilisant le SDK et expliquer comment construire un paquet avec des conditions et récupérer les logiques référencées par la suite. Commençons !
Créer des champs conditionnels via SDK
OneSpan Sign offre une solution soignée et propre pour spécifier les conditions pendant la création du paquet afin de minimiser les numéros d’API sortants. L’échantillon de code Java ci-dessous montre comment il est implémenté:
Condition FieldCondition - FieldConditionBuilder.newFieldCondition() .withId ("ConditionId") .withCondition ("document['DocumentId'].field['fieldId2'].value 'X'") .withAction ("document['DocumentId'].field['fieldId1'].disabled 'faux") .construire(); DocumentPackage pkg - PackageBuilder.newPackageNamed ("Test Conditional Fields") .décritAs ("Description") .withSigner(SignerBuilder.newSignerWithEmail("signer1@[email protected]") .avecFirstName ("Patty") .avecLastName ("Galant")) .withDocument (DocumentBuilder.newDocumentWithName("Document") .withId ("DocumentId") .fromFile ("path_to_your_document") .withSignature (SignatureBuilder.signatureFor("signer1 @mailinator .com") .withId (nouveau SignatureId ("signatureId")) .onPage(0) .atPosition(400, 100) .withField (FieldBuilder.textField() .withId (nouveau FieldId ("fieldId1")) .onPage(0) .atPosition(0, 0)) .withField (FieldBuilder.checkBox() .withId (nouveau FieldId ("fieldId2")) .onPage(0) .atPosition(0, 0))) .avecCondition(condition) .construire(); PackageId pkgId et eslClient.createPackageOneStep (superDuperPackage);
Trouver plus d’exemples pour Java et .NET.
Récupérer les logiques référencées
Une fois qu’un paquet est créé avec des logiques conditionnelles, OneSpan Sign offre aux intégrateurs la possibilité de récupérer rapidement la liste des conditions définies pour un document ou un champ spécifique. Cela permet aux développeurs de gérer facilement les conditions spécifiées.
Pour les intégrateurs API
Demande HTTP
GET /api/packages/packageIdMD/referencedConditions?documentId’documentId’fieldId 'fieldId'
En-têtes HTTP
Accepter : application/json Autorisation: api_key de base
Les deux paramètres "documentId" et "fieldId" sont facultatifs, qui peuvent être utilisés pour filtrer les entités retournées.
Note:
- Spécifier l’ID de champ sans pièce d’identité de document retournera une erreur.
- La présence des paramètres n’affectera pas le schéma de réponse, comme indiqué ci-dessous.
Charge utile de réponse
{ "packageId": "-2l-waYVRfeK3gD0ZsJCiOhr6TI", "documents": [ { "documentId": "6e6295d1925dd910e4c71a43842ee0434b3e88e0f7b0f2d6", "champs": [ { "fieldId": "GXqapEOZlQIL", "conditions": "referencedInCondition": [ { "id": "ddcf978d-37e8-4d63-9016-c771d32ef96a", "condition": "document['6e6295d1925d910e4c71a43842ee0434b3e88e0f7b0f2d6'].field['GXqapEOZlQIL'].valeur 'X'", "action": "document['6e6295d1925d910e4c71a43842ee0434b3e88e0f7b0f2d6'].field['cbvt5zkgLNw3'].requis 'vrai" } ], "referencedInAction": [] } }, { "fieldId": "cbvt5zkgLNw3", "conditions": "referencedInCondition": [], "referencedInAction": [ { "id": "ddcf978d-37e8-4d63-9016-c771d32ef96a", "condition": "document['6e6295d1925d910e4c71a43842ee0434b3e88e0f7b0f2d6'].field['GXqapEOZlQIL'].valeur 'X'", "action": "document['6e6295d1925d910e4c71a43842ee0434b3e88e0f7b0f2d6'].field['cbvt5zkgLNw3'].requis 'vrai" } ] } } ] } ] }
Toutes les conditions dans lesquelles le champ actuel est impliqué soit dans les expressions «condition» ou «action» seront énumérées dans le tableau des « documents » - tableau « champs » - tableau « conditions » - « référencedInCondition » ou « referencedInAction ». Par conséquent, on s’attend à ce qu’une logique conditionnelle apparaît dans tous les nœuds de terrain pertinents.
Pour les intégrateurs SDK
De même, nos SDK exposent les fonctions correspondantes pour récupérer les conditions référencées par paquet, document ou champ. Dans la classe "PackageService", trois fonctions ont été introduites. Vérifions les signatures de la méthode :
Note:
- Assurez-vous que votre version SDK est 11.28 ou plus tard.
- L’objet "ReferencedConditions" est modélisé en fonction du schéma JSON de la réponse de l’API.
Cela devrait vous donner un aperçu du développement de cette fonctionnalité avec le SDK. OneSpan prévoit de continuer à développer la fonctionnalité Conditional Fields afin d’apporter encore plus de valeur dans les versions futures. Revenez sur le blog OneSpan pour les dernières informations sur les améliorations ou les changements de comportement.
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!