OneSpan Sign How To: Création d'un modèle

Haris Haidary, novembre 16, 2022

Les modèles permettent à un expéditeur de créer rapidement un nouveau paquet de documents en utilisant un précédent comme plan directeur. C'est un excellent outil si vous prévoyez d'envoyer les mêmes documents pour la signature sur une base régulière. Dans ce blog, je vais vous montrer comment créer un modèle à partir de zéro et à partir d'un paquet existant en utilisant le OneSpan Sign Java SDK, .NET SDK, et REST API.

Modèles dans l'interface uI

Pour commencer, vous devez localiser la section des modèles dans votre interface interface. Après vous être déconnecter de votre compte OneSpan Sign, cliquez sur TEMPLATES dans votre barre d'outils. Après l'exécution de votre code, vous devriez trouver vos modèles enregistrés ici.

uitemplate (uitemplate)

Le code

Comme je l'ai mentionné précédemment, je vais vous montrer comment le faire avec le OneSpan Sign Java SDK, .NET SDK, et REST API. Vous pouvez aller de l'avant et passer à la section qui s'applique à vous. Je vais couvrir exactement les mêmes informations dans chaque section. Dans mon exemple, je vais montrer comment créer un modèle avec un document et deux signataires. Code d'exemple complet pour ce blog peut être trouvé dans le Developer Community Code Share (Java, .NET, REST). [promotion id'"14439"] JAVA SDK (en) Tout d'abord, je vais commencer par le Java SDK. Le code de l'échantillon ci-dessous crée un modèle à partir de zéro, avec un document et deux signataires. La première étape consiste à créer votre client OneSpan Sign. Assurez-vous de remplacer le API_KEY et API_URL les détenteurs de place par vos valeurs. Ensuite, vous construisez votre paquet de documents avec les propriétés applicables. Une fois votre package construit, vous faites appel à votre TemplateService pour créer votre modèle.

paquet com.esignlive.exemple;

import com.silanis.esl.sdk.DocumentPackage;
import com.silanis.esl.sdk.EslClient;
import com.silanis.esl.sdk.PackageId;
 
import static com.silanis.esl.sdk.builder.DocumentBuilder.newDocumentWithName;
import static com.silanis.esl.sdk.builder.PackageBuilder.newPackageNamed;
import static com.silanis.esl.sdk.builder.SignatureBuilder.signatureFor;
import static com.silanis.esl.sdk.builder.SignerBuilder.newSignerWithEmail;

Modèles de classe publique (en)
	
    finale publique statique String API_KEY 'your_api_key'" ;
    finale publique statique string API_URL 'https://sandbox.e-signlive.com/api'en https://sandbox.e-signlive.com/api'acquit"; 
    USE https://apps.e-signlive.com/api POUR PRODUCTION
 
    public statique vide principal( String[] args )
    	
    	EslClient eslClient - nouveau EslClient ( API_KEY, API_URL);
    	
    	DocumentPackage documentPackage - newPackageNamed ("Mon modèle à partir de zéro Java SDK") 
    					.withSigner (newSignerPlaceholder(nouveau Placeholder("PlaceholderId1"))) 
    					.withSigner (newSignerPlaceholder(nouveau Placeholder("PlaceholderId2"))
    					.withDocument(newDocumentWithName("Mon Document") 
    							.deFile ("YOUR_FILE_PATH") 
    							.withSignature(signatureFor(nouveau Placeholder("PlaceholderId1")) 
    									.onPage(0) 
    									.atPosition(100, 140))
    							.withSignature(signatureFor(nouveau Placeholder("PlaceholderId2"))
    									.onPage(0) 
    									.atPosition(100, 205))))
    					.construire();
    	
    	PackageId templateId - eslClient.getTemplateService().createTemplate (documentPackage);
    }

}

Vous pouvez également créer un modèle à partir d'un paquet existant. Pour cela, vous aurez besoin de l'emballage Id de votre paquet.

PackageId packageId - nouveau PackageId("d9355f04-9bb2-4219-b9fa-734f2650a939");
PackageId templateFromPackage - eslClient.getTemplateService().createTemplateFromPackage(packageId, "New Template From Package" );

SDK .NET Ensuite, je vais passer en plus de la SDK .NET. Le code de l'échantillon ci-dessous crée un modèle à partir de zéro, avec un document et deux signataires. La première étape consiste à créer votre client OneSpan Sign. Assurez-vous de remplacer le API_KEY et API_URL les détenteurs de place par vos valeurs. Ensuite, vous construisez votre paquet de documents avec les propriétés applicables. Une fois votre package construit, vous faites appel à votre TemplateService pour créer votre modèle.

en utilisant le système;
l’utilisation de System.IO;
en utilisant Silanis.ESL.SDK;
en utilisant Silanis.ESL.SDK.Builder;

namespace createTemplateFrom
{
    classe createTemplateDe
    {
        apiUrl de chaîne statique privée -"https://sandbox.e-signlive.com/api";
        USE https://apps.e-signlive.com/api POUR PRODUCTION
        apiKey de chaîne statique privée - "your_api_key";

        public statique vide Main(corde[] args)
        {
            EslClient eslClient - nouveau EslClient (apiKey, apiUrl);

            FileStream fs - File.OpenRead ("YOUR_FILE_PATH");

           DocumentPackage documentPackage - PackageBuilder
                    . NewPackageNamed ("Mon modèle à partir de zéro .NET SDK")
                    . WithSigner(SignerBuilder.NewSignerPlaceholder(nouveau Placeholder("PlaceholderId1")))
                    . WithSigner(SignerBuilder.NewSignerPlaceholder(nouveau Placeholder("PlaceholderId2")))
                    . WithDocument (DocumentBuilder.NewDocumentNamed(«Mon document»)
                                  . FromStream(fs, DocumentType.PDF)
                                  . WithSignature (SignatureBuilder
                                       . SignatureFor (nouveau Placeholder("PlaceholderId1"))
                                         . OnPage(0)
                                         . AtPosition(100, 140))
                                  . WithSignature (SignatureBuilder
                                       . SignatureFor (nouveau Placeholder("PlaceholderId2"))
                                         . OnPage(0)
                                         . AtPosition(100, 205))))
                    . Build ();

            PackageId templateId - eslClient.CreateTemplate(documentPackage);
        }
    }
}

Vous pouvez également créer un modèle à partir d'un paquet existant. Pour ce faire, vous aurez besoin de l'emballage Id de votre paquet.

PackageId packageId - nouveau PackageId("d9355f04-9bb2-4219-b9fa-734f2650a939");
PackageId templateFromPackage - eslClient.CreateTemplateFromPackage(packageId, "New Template From Package");

API REST Enfin, je vais vous montrer comment à cela avec l'API REST. Vous trouverez ci-dessous une classe CMD qui fait une demande POST pour créer un nouveau modèle à partir de zéro. La charge utile de demande JSON contient de nombreuses propriétés vides qui ne sont pas nécessaires pour créer un nouveau modèle. Je les ai inclus pour vous donner une liste des options qui sont disponibles et comment ils sont parés dans le JSON.

en utilisant le système;
en utilisant System.Diagnostics;
l’utilisation de System.IO;
l’utilisation de System.Net;
en utilisant System.Net.Http;
en utilisant System.Net.Http.Headers;
en utilisant System.Text;

namespace createTemplateREST
{
    classe publique createTemplateREST
    {
        public statique vide Main(corde[] args)
        {

            apiKey chaîne - "your_api_key";
            url de chaîne et «https://sandbox.e-signlive.com/api»;

            string jsonString - ""nom"": "Mon modèle à partir de zéro REST", "description":"""rôles":[ "nom":"PlaceholderId1", "indice":0, "id":"PlaceholderId1", "locked":faux, "reassign":faux, "nom": "PlaceholderId2", "" index":0, "id":"PlaceholderId2", "locked":faux, "reassign":faux " ], "type":"TEMPLATE", "due"":null, "autocomplete":true, "emailMessage":"" ", "documents":[ - "approbations":["role":"PlaceholderId1" null, "accepté":null, "data":null, "Fields":[["page":0, "subtype":"FULLNAME", "largeur":200, "contraignant":null, "extract":false, "extractAnchor":null, "left":175, "top":165, "validation":null, "height":50 :null, "type":"SIGNATURE", "valeur":""" """" "nom":""""""" "" "rôle":"PlaceholderId2", "signé":null, "accepté":null, "data":null, "fields":[ " "page":0, "subtype":"FULLNAME", "largeur":""." extrait":faux, "extractAnchor":null, "left":550, "top":165, "validation":null, "height"::50, "data"::null, "type":"SIGNATURE", "valeur":YOUR_FILE_NAME""" " " " " " " " " " " " ô "
            
            StringContent jsonContent - nouveau StringContent(jsonString, Encoding.UTF8, "application/json"); 

            octte[] fileByteArray - File.ReadAllBytes("YOUR_FILE_PATH");
            Contenu ByteArrayContent '  nouveau ByteArrayContent(fileByteArray);

            Contenu. Headers.ContentDisposition - nouveau ContentDispositionHeaderValue ("form-data");
            Contenu. Headers.ContentDisposition.Name « « fichier »;
            Contenu. Headers.ContentDisposition.FileName - ""myDocument.pdf" ";
            Contenu. Headers.ContentType - nouveau MediaTypeHeaderValue ("application/pdf");

            Formulaire MultipartFormDataContent '  nouveau MultipartFormDataContent();
            Forme. Ajouter (contenu, « fichier », « myDocument.pdf ») ;
            Forme. Ajouter (jsonContent, ""charge utile");

            HttpClient myClient '  nouveau httpClient();
            myClient.DefaultRequestHeaders.Authorization - new AuthenticationHeaderValue ("Basic", apiKey);
            myClient.DefaultRequestHeaders.Add("Accept", "application/json");

            var réponse - myClient.PostAsync (nouveau Uri(url) - "/packages/", formulaire). Résultat;
            Debug.WriteLine (réponse. Content.ReadAsStringAsync(). Résultat);
        }
    }
}

De même, vous pouvez créer un nouveau modèle à partir d'un package existant. Vous aurez besoin de l'emballageId du paquet que vous cherchez à cloner.

string jsonString - ""nom"":"your_cloned_template", ""description" """""" ""emailMessage" ": ""autocomplete" ":vrai, "réglages":"cérémonie":"inPerson":":faux", "type":"TEMPLATE" », « sender » : « lastName » : « Sender_Last_Name », « premier nom » : « Sender_First_Name », « « email »@example: « première.signer . com » ;
StringContent jsonContent - nouveau StringContent(jsonString, Encoding.UTF8, "application/json");

HttpClient myClient '  nouveau httpClient();
myClient.DefaultRequestHeaders.Authorization - new AuthenticationHeaderValue ("Basic", apiKey);
myClient.DefaultRequestHeaders.Add("Accept", "application/json");

var réponse - myClient.PostAsync (nouveau Uri (url - "d9355f04-9bb2-4219-b9fa-734f2650a939/clone"), jsonContent). Résultat;
Debug.WriteLine (réponse. Content.ReadAsStringAsync(). Résultat);

Exécution de votre code

Allez-y et exécutez votre code. Vous devriez être en mesure de voir votre modèle nouvellement créé dans votre compte OneSpan Sign.

modèle de résultats

Et voilà. Vous avez créé avec succès un modèle à partir de zéro et à partir d'un paquet précédemment créé.

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 de la communauté des développeurs: https://developer.onespan.com. C'est moi qui l'ai fait. Merci de lire! Si vous avez trouvé ce message utile, s'il vous plaît le partager sur Facebook, Twitter, ou LinkedIn.

Haris Haidary Junior

Évangéliste produit technique

LinkedIn - France Twitter (en)