Création d'un modèle
  • 27 Feb 2025
  • 12 Minutes à lire
  • Sombre
    Lumière
  • PDF

Création d'un modèle

  • Sombre
    Lumière
  • PDF

Résumé de l’article

SDK Java.NET SDKAPI RESTAPEX SDK

SDK Java

Pour télécharger l'exemple complet de code, consultez notre site Partage de code.

Les modèles et les mises en page répondent au même objectif d'automatisation du processus de signature électronique en réduisant le temps nécessaire à l'envoi de documents comprenant plusieurs blocs de signature et champs de données. Les modèles sont idéaux pour une utilisation au niveau de la transaction; vous pouvez prédéfinir vos signataires, vos documents, les emplacements de signature et les flux de travail de signature électronique afin de rationaliser le processus de signature électronique. Une mise en page, quant à elle, est un type de modèle qui vous permet de créer des emplacements prédéfinis pour vos blocs de signature et vos champs de données dans un document. Il agit comme un « marqueur » de l'emplacement des blocs de signature et des champs de données dans le document. Les mises en page sont utiles pour les utilisateurs qui envoient fréquemment des formulaires qui peuvent être légèrement différents selon le destinataire, mais dont les blocs de signature et les champs de données restent au même endroit dans tout le document. De plus, vous pouvez utiliser plusieurs mises en page par document, et les appliquer à des pages individuelles dans votre transaction.

Trouver vos modèles dans l'interface utilisateur

Tout d'abord, localisez vos modèles dans l'interface utilisateur Web OneSpan Sign. Pour ce faire, connectez-vous à votre compte OneSpan Sign, puis cliquez sur Modèles. Après avoir exécuté votre code, tous vos modèles apparaîtront ici.

Création d'un nouveau modèle

L'exemple de code ci-dessous montre comment créer un nouveau modèle, avec un document et deux signataires.

La première étape consiste à créer votre client OneSpan Sign. Veillez à remplacer les API_KEY et API_URL par vos valeurs.

Ensuite, construisez votre paquet de documents. Une fois que votre paquet est construit, faites appel à votre TemplateService pour créer votre modèle. Le code suivant va créer un modèle :

EslClient eslClient = new EslClient(API_KEY, API_URL);

DocumentPackage documentPackage = newPackageNamed("My template from scratch Java SDK")
    .withVisibility(Visibility.ACCOUNT)
    //.withVisibility(Visibility.SENDER)
    .withSigner(newSignerPlaceholder(new Placeholder("PlaceholderId1")))
    .withSigner(newSignerPlaceholder(new Placeholder("PlaceholderId2")))
    .withDocument(newDocumentWithName("My Document")
        .fromFile("YOUR_FILE_PATH")
        .withSignature(signatureFor(new Placeholder("PlaceholderId1"))
            .onPage(0)
            .atPosition(100, 140))
        .withSignature(signatureFor(new Placeholder("PlaceholderId2"))
            .onPage(0)
            .atPosition(100, 205)))
    .build();

PackageId templateId = eslClient.getTemplateService().createTemplate(documentPackage);

Si vous définissez la propriété Visibility à SENDER (Visibility.SENDER) , votre modèle ne sera accessible qu'à l'expéditeur du paquet. Si vous souhaitez partager votre modèle avec vos autres expéditeurs, vous devrez changer la visibilité à Visibility.ACCOUNT.

Création d'un nouveau modèle à partir d'une transaction

Vous pouvez également créer un modèle en utilisant une transaction existante comme base pour votre modèle. Pour cela, vous aurez besoin de l'packageId de votre transaction. Ensuite, vous faites appel à votre TemplateService pour créer votre modèle.

PackageId packageId = new PackageId("d9355f04-9bb2-4219-b9fa-734f2650a939");

PackageId templateFromPackage = eslClient.getTemplateService()
    .createTemplateFromPackage(packageId, "New Template From Package");

Résultats

Après avoir exécuté votre code, vous verrez votre modèle nouvellement créé dans votre compte OneSpan Sign.

.NET SDK

Pour télécharger l'exemple complet de code, consultez notre site Partage de code.

Les modèles et les mises en page répondent au même objectif d'automatisation du processus de signature électronique en réduisant le temps nécessaire à l'envoi de documents comprenant plusieurs blocs de signature et champs de données. Les modèles sont idéaux pour une utilisation au niveau de la transaction; vous pouvez prédéfinir vos signataires, vos documents, les emplacements de signature et les flux de travail de signature électronique afin de rationaliser le processus de signature électronique. Une mise en page, quant à elle, est un type de modèle qui vous permet de créer des emplacements prédéfinis pour vos blocs de signature et vos champs de données dans un document. Il agit comme un « marqueur » de l'emplacement des blocs de signature et des champs de données dans le document. Les mises en page sont utiles pour les utilisateurs qui envoient fréquemment des formulaires qui peuvent être légèrement différents selon le destinataire, mais dont les blocs de signature et les champs de données restent au même endroit dans tout le document. De plus, vous pouvez utiliser plusieurs mises en page par document, et les appliquer à des pages individuelles dans votre transaction.

Trouver vos modèles dans l'interface utilisateur

Tout d'abord, localisez vos modèles dans l'interface utilisateur Web OneSpan Sign. Pour ce faire, connectez-vous à votre compte OneSpan Sign, puis cliquez sur Modèles. Après avoir exécuté votre code, tous vos modèles apparaîtront ici.

Création d'un nouveau modèle

L'exemple de code ci-dessous montre comment créer un nouveau modèle, avec un document et deux signataires.

La première étape consiste à créer votre client OneSpan Sign. Veillez à remplacer les API_KEY et API_URL par vos valeurs.

Ensuite, construisez votre paquet de documents. Une fois que votre paquet est construit, faites appel à votre TemplateService pour créer votre modèle. Le code suivant va créer un modèle :

EslClient eslClient = new EslClient(API_KEY, API_URL);

DocumentPackage documentPackage = PackageBuilder
    .NewPackageNamed("My template from scratch .NET SDK")
    .withVisibility(Visibility.ACCOUNT)
    //.withVisibility(Visibility.SENDER)
    .WithSigner(SignerBuilder.NewSignerPlaceholder(new Placeholder("PlaceholderId1")))
    .WithSigner(SignerBuilder.NewSignerPlaceholder(new Placeholder("PlaceholderId2")))
    .WithDocument(DocumentBuilder.NewDocumentNamed("My Document")
        .FromStream(fs, DocumentType.PDF)
        .WithSignature(SignatureBuilder
            .SignatureFor(new Placeholder("PlaceholderId1"))
            .OnPage(0)
            .AtPosition(100, 140))
        .WithSignature(SignatureBuilder
            .SignatureFor(new Placeholder("PlaceholderId2"))
            .OnPage(0)
            .AtPosition(100, 205)))
    .Build();

PackageId templateId = eslClient.CreateTemplate(documentPackage);

Si vous définissez la propriété Visibility à SENDER (Visibility.SENDER) , votre modèle ne sera accessible qu'à l'expéditeur du paquet. Si vous souhaitez partager votre modèle avec vos autres expéditeurs, vous devrez changer la visibilité à Visibility.ACCOUNT.

Création d'un nouveau modèle à partir d'une transaction

Vous pouvez également créer un modèle en utilisant une transaction existante comme base pour votre modèle. Pour cela, vous aurez besoin de l'packageId de votre transaction. Ensuite, vous faites appel à votre TemplateService pour créer votre modèle.

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

Résultats

Après avoir exécuté votre code, vous verrez votre modèle nouvellement créé dans votre compte OneSpan Sign.

API REST

Pour télécharger l'exemple complet de code, consultez notre site Partage de code.

Les modèles et les mises en page répondent au même objectif d'automatisation du processus de signature électronique en réduisant le temps nécessaire à l'envoi de documents comprenant plusieurs blocs de signature et champs de données. Les modèles sont idéaux pour une utilisation au niveau de la transaction; vous pouvez prédéfinir vos signataires, vos documents, les emplacements de signature et les flux de travail de signature électronique afin de rationaliser le processus de signature électronique. Une mise en page, quant à elle, est un type de modèle qui vous permet de créer des emplacements prédéfinis pour vos blocs de signature et vos champs de données dans un document. Il agit comme un « marqueur » de l'emplacement des blocs de signature et des champs de données dans le document. Les mises en page sont utiles pour les utilisateurs qui envoient fréquemment des formulaires qui peuvent être légèrement différents selon le destinataire, mais dont les blocs de signature et les champs de données restent au même endroit dans tout le document. De plus, vous pouvez utiliser plusieurs mises en page par document, et les appliquer à des pages individuelles dans votre transaction.

Trouver vos modèles dans l'interface utilisateur

Tout d'abord, localisez vos modèles dans l'interface utilisateur Web OneSpan Sign. Pour ce faire, connectez-vous à votre compte OneSpan Sign, puis cliquez sur Modèles. Après avoir exécuté votre code, tous vos modèles apparaîtront ici.

Création d'un nouveau modèle

L'exemple de code ci-dessous montre comment créer un nouveau modèle, avec un document et deux signataires.

L'exemple de code JSON ci-dessous peut être inclus dans votre formulaire en plusieurs parties POST pour créer un nouveau modèle. Pour obtenir plus d'informations sur les formulaires en plusieurs parties, voir Création et envoi d'une transaction.

Ces données utiles de requête JSON contiennent de nombreuses propriétés vides qui ne sont pas nécessaires pour créer un nouveau modèle. Elles sont incluses ici pour vous donner une liste d'options disponibles et pour montrer comment elles sont analysées dans le JSON.

Requête HTTP

POST /api/packages

En-têtes HTTP

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

Données utiles de la demande

------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"

{
  "name": "My template from scratch REST",
  "visibility": "ACCOUNT",
  "description": "",
  "roles": [
    {
      "name": "PlaceholderId1",
      "index": 0,
      "id": "PlaceholderId1"
    },
    {
      "name": "PlaceholderId2",
      "index": 0,
      "id": "PlaceholderId2"
    }
  ],
  "type": "TEMPLATE",
  "due": null,
  "autocomplete": true,
  "emailMessage": "",
  "documents": [
    {
      "approvals": [
        {
          "role": "PlaceholderId1",
          "fields": [
            {
              "page": 0,
              "subtype": "FULLNAME",
              "width": 200,
              "binding": null,
              "extract": false,
              "left": 175,
              "top": 165,
              "validation": null,
              "height": 50,
              "data": null,
              "type": "SIGNATURE",
              "value": ""
            }
          ]
        },
        {
          "role": "PlaceholderId2",
          "fields": [
            {
              "page": 0,
              "subtype": "FULLNAME",
              "width": 200,
              "binding": null,
              "extract": false,
              "extractAnchor": null,
              "left": 550,
              "top": 165,
              "validation": null,
              "height": 50,
              "data": null,
              "type": "SIGNATURE",
              "value": ""
            }
          ]
        }
      ],
      "name": "YOUR_FILE_NAME"
    }
  ]
}
------WebKitFormBoundary1bNO60n7FqP5WO4t--

Pour une description complète de chaque champ, voir le tableau des données utiles de la demande ci-dessous.

Données utiles de la réponse

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

Si vous définissez la propriété Visibility à SENDER (Visibility.SENDER) , votre modèle ne sera accessible qu'à l'expéditeur du paquet. Si vous souhaitez partager votre modèle avec vos autres expéditeurs, vous devrez changer la visibilité à Visibility.ACCOUNT.

Création d'un nouveau modèle à partir d'une transaction

Vous pouvez également créer un modèle en utilisant une transaction existante comme base pour votre modèle. Pour cela, vous aurez besoin de l'packageId de votre transaction.

Requête HTTP

POST /api/packages/{packageId}/clone

En-têtes HTTP

Accept: application/json   
Content-Type: application/json   
Authorization: Basic api_key 

Données utiles de la demande

{
  "name": "your_cloned_template",
  "description": "",
  "emailMessage": "",
  "autocomplete": true,
  "settings": {
    "ceremony": {
      "inPerson": false
    }
  },
  "type": "TEMPLATE",
  "sender": {
    "lastName": "Sender_Last_Name",
    "firstName": "Sender_First_Name",
    "email": "first.signer@example.com"
  },
  "visibility": "ACCOUNT",
  "due": null,
  "language": "en"
}

Résultats

Après avoir exécuté votre code, vous verrez votre modèle nouvellement créé dans votre compte OneSpan Sign.

Tableau des données utiles de la demande

Propriété

Type

Modifiable

Requis

Par défaut

Exemples de valeurs

statut

chaîne de caractères

Oui

Non

ÉBAUCHE

ÉBAUCHE / ENVOYÉ / COMPLÉTÉ / ARCHIVÉ / DÉCLINÉ / REFUSÉ / EXPIRÉ

ComplétionAuto

booléen

Oui

Non

vrai

vrai / faux

type

chaîne de caractères

Oui

Non

PACKAGE

PAQUET / MODÈLE / MISE EN PAGE

nom

chaîne de caractères

Oui

Oui

s.o.

Exemple d'attributs de document

supprimé

booléen

Oui

Non

faux

vrai / faux

visibilité

chaîne de caractères

Oui

Non

COMPTE

COMPTE / EXPÉDITEUR

MessageCourriel

chaîne de caractères

Oui

Non

s.o.

Veuillez signer dans les plus brefs délais.

description

chaîne de caractères

Oui

Non

s.o.

Ce modèle a été créé de toutes pièces

documents

nom

chaîne de caractères

Oui

Non

s.o.

exemple de document

approbations

champs

sous-type

chaîne de caractères

Oui

Non

s.o.

NOM COMPLET / INITIALES / CAPTURE / CAPTURE_MOBILE / ÉTIQUETTE / CHAMP DE TEXTE / ZONE DE TEXTE / CASE / DATE / RADIO / LISTE

type

chaîne de caractères

Oui

Non

s.o.

SIGNATURE / ENTRÉE

liaison

chaîne de caractères

Oui

Non

nul

{approval.signed} / {signer.title} / {signer.name} / {signer.company}

extrait

booléen

Oui

Non

faux

vrai / faux

hauteur

entier

Oui

Non

50

50 / 100 / 150 ...

gauche

entier

Oui

Non

0

50 / 100 / 150 ...

page

entier

Oui

Non

0

0 / 1 / 2 ...

haut

entier

Oui

Non

0

50 / 100 / 150 ...

largeur

entier

Oui

Non

200

50 / 100 / 150 ...

rôle

chaîne de caractères

Oui

Non

s.o.

Client1

rôles

id

chaîne de caractères

Oui

Non

s.o.

Client1

nom

chaîne de caractères

Oui

Non

s.o.

Client1

type

chaîne de caractères

Oui

Non

SIGNER

SIGNATAIRE / EXPÉDITEUR

signataires

courriel

chaîne de caractères

Oui

Oui

s.o.

courriel.préparateur@exemple.com

Prénom

chaîne de caractères

Oui

Oui

s.o.

John

Nom de famille

chaîne de caractères

Oui

Oui

s.o.

Smith

téléphone

chaîne de caractères

Oui

Non

s.o.

514-555-8888

id

chaîne de caractères

Oui

Non

s.o.

Client1

entreprise

chaîne de caractères

Oui

Non

s.o.

Acme Inc.

titre

chaîne de caractères

Oui

Non

s.o.

Directeur général

APEX SDK

Pour télécharger l'exemple complet de code, consultez notre site Partage de code.

Les modèles et les mises en page répondent au même objectif d'automatisation du processus de signature électronique en réduisant le temps nécessaire à l'envoi de documents comprenant plusieurs blocs de signature et champs de données. Les modèles sont idéaux pour une utilisation au niveau de la transaction; vous pouvez prédéfinir vos signataires, vos documents, les emplacements de signature et les flux de travail de signature électronique afin de rationaliser le processus de signature électronique. Une mise en page, quant à elle, est un type de modèle qui vous permet de créer des emplacements prédéfinis pour vos blocs de signature et vos champs de données dans un document. Il agit comme un « marqueur » de l'emplacement des blocs de signature et des champs de données dans le document. Les mises en page sont utiles pour les utilisateurs qui envoient fréquemment des formulaires qui peuvent être légèrement différents selon le destinataire, mais dont les blocs de signature et les champs de données restent au même endroit dans tout le document. De plus, vous pouvez utiliser plusieurs mises en page par document, et les appliquer à des pages individuelles dans votre transaction.

Trouver vos modèles dans l'interface utilisateur

Tout d'abord, localisez vos modèles dans l'interface utilisateur Web OneSpan Sign. Pour ce faire, connectez-vous à votre compte OneSpan Sign, puis cliquez sur Modèles. Après avoir exécuté votre code, tous vos modèles apparaîtront ici.

Création d'un nouveau modèle

L'exemple de code ci-dessous montre comment créer un nouveau modèle, avec un document et deux signataires.

ESignLiveSDK sdk = new ESignLiveSDK();
ESignLiveAPIObjects.Package_x pkg = new ESignLiveAPIObjects.Package_x();
pkg.name = 'Create Template From Scratch - ' + Datetime.now().format();

// Set as template
pkg.type = ESignLiveAPIObjects.PackageType.TEMPLATE;

// Create Template
String packageId = sdk.createPackage(pkg);
System.debug('PackageId: ' + packageId);

// Add Signer
String placeholder1Id = 'placeholder1';
ESignLiveAPIObjects.Role placeholder1 = new ESignLiveAPIObjects.Role();
placeholder1.id = placeholder1Id;
placeholder1.name = placeholderId;
sdk.helper.createRole(packageId, placeholder1); // create role to template

// 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);

ESignLiveAPIObjects.Document document = new ESignLiveAPIObjects.Document();
document.name = 'Sample Contract';
document.id = 'document1';
sdk.createDocuments(packageId, document, doc); // upload document to template

// Add Signature
ESignLiveAPIObjects.Field field = new ESignLiveAPIObjects.Field();
field.left = 208;
field.width = 200;
field.height = 50;
field.top = 518;
field.page = 0;
field.subtype = 'CAPTURE';
field.type = 'SIGNATURE';

ESignLiveAPIObjects.Approval approval = new ESignLiveAPIObjects.Approval();
approval.fields = new List<ESignLiveAPIObjects.Field>{field};
approval.role = placeholder1Id;

String signatureResponse = sdk.addSignature(packageId, 'document1', approval); // add approval and fields to template

Création d'un nouveau modèle à partir d'une transaction

Vous pouvez également créer un modèle en utilisant une transaction existante comme base pour votre modèle. Pour cela, vous aurez besoin de l'packageId de votre transaction. Ensuite, vous faites appel à votre sdk.helper pour créer votre modèle.

ESignLiveAPIObjects.Package_x template = new ESignLiveAPIObjects.Package_x();
template.name = 'Create Template From Package - ' + Datetime.now().format();
template.type = ESignLiveAPIObjects.PackageType.TEMPLATE;

template = sdk.helper.createPackageFromTemplate(template, packageId);
System.debug('template id: ' + template.id);

Créez package from template et create template from package partagent la même fonction.

Résultats

Après avoir exécuté votre code, vous verrez votre modèle nouvellement créé dans votre compte OneSpan Sign.


Cet article vous a-t-il été utile ?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.
ESC

Ozzy, facilitant la découverte de connaissances grâce à l’intelligence conversationnelle