OneSpan Sign pour Salesforce vous permet de créer des transactions OneSpan Sign de manière programmatique. Il existe deux principales façons d'y parvenir :
La section suivante fournit des informations pertinentes pour les deux procédures ci-dessus :
L'URL qui apparaît dans les exemples de code ci-dessous doit commencer par la chaîne /apex/esl__package?de caractères . C'est l'URL requise pour accéder à la page Visualforce d'une transaction OneSpan Sign.
Créer une transaction à partir d'un bouton personnalisé
Si vous créez un bouton personnalisé et l'ajoutez à un objet Salesforce, le bouton ajouté permet aux utilisateurs de Salesforce d'envoyer des documents à signer à partir des enregistrements de cet objet.
Vous pouvez créer une transaction à partir d'un bouton personnalisé de la manière suivante :
Créer une transaction à partir d'un modèle
Pour créer un package de manière programmatique à partir d'un modèle :
Écrivez puis exécutez du code qui créera un package à partir d'un modèle.
Vous devez spécifier les paramètres du modèle suivants :
ParentIdNameTemplateId
À la fin de cette procédure, vous devriez voir toutes les informations du modèle reflétées dans le package créé.
Exemple
Lorsque le code snippet suivant est exécuté, il crée un paquet OneSpan Sign à partir d'un modèle pour un compte particulier :
/apex/esl__package?ParentId={!Account.Id}&Name={!Account.Name}%20Agreement&TemplateID=a0G360000018BdREAUCréer une transaction à partir d'un identifiant Salesforce ou d'une adresse e-mail
Lors de la création d'une transaction à partir d'un identifiant Salesforce, vous devez spécifier les paramètres suivants :
NameSignerN— Cela peut être soit un identifiant Salesforce (voir Exemple 1), soit une adresse e-mail pour le N-ième destinataire (voir Exemple 2). SiSignerNest une adresse e-mail, les paramètres suivants sont également requis :SignerNFirstNameSignerNLastName
DocumentsOneSpan Sign prend en charge les types de documents suivants :
Le format de document portable d'Adobe (*.pdf) — Les PDF sur lesquels OneSpan Sign peut agir ont généralement au moins ces permissions activées : (1) Modification du document ; (2) Signature ; (3) Remplissage des champs de formulaire.
Microsoft Word (*.Doc ou *. docx)
Open Office (*.odt)
Texte (*.txt)
Format de texte enrichi (*.RTF)
De plus, le pilote d'impression OneSpan Sign prend en charge tout document pouvant être imprimé depuis une application Windows (par exemple, Microsoft Word, Microsoft Excel, Microsoft PowerPoint).
Contraintes de taille de fichier
La taille maximale d'un seul document est de 16 Mo. Les documents plus petits offrent de meilleures performances — nous recommandons moins de 5 Mo par document.
La taille totale maximale de tous les documents d'une transaction est de 39 Mo.
Si votre organisation utilise des connecteurs Salesforce ou Microsoft SharePoint, la taille maximale du fichier est de 5 Mo par document.
Si votre organisation utilise des connecteurs Salesforce, le nombre maximal de documents pouvant être ajoutés à une transaction est de dix (10).
Si vous activez la livraison d'e-mail tout en configurant un destinataire, les pièces jointes supérieures à 5 Mo ne sont pas prises en charge.
Contraintes de noms de fichiers
Les noms de fichiers des documents ne doivent pas contenir les caractères suivants séparés par des virgules : *, /, \, :, <, >, |, ?, ".
Le nom d'un document ne peut pas contenir la chaîne signée.
Contraintes générales des fichiers
Nous vous recommandons de ne pas utiliser de documents PDF qui utilisent XML Forms Architecture. Pour plus d'informations, voir Soutien XFA.
Ne téléchargez pas les documents protégés par mot de passe ou corrompus. Celles-ci génèrent une erreur.
OneSpan recommande vivement de scanner un PDF pour détecter des erreurs de syntaxe (par exemple, en utilisant l'outil Preflight d'Adobe) et de résoudre les erreurs avant d'ajouter le document à une transaction.
Les PDF avec le drapeau NeedAppearances réglé sur true ne sont pas actuellement pris en charge.
À la fin de cette procédure, vous devriez voir les informations fournies reflétées dans le package créé.
Exemple 1
Lorsque le extrait de code suivant est exécuté, il crée un package OneSpan Sign à partir de l' ID d'un contact :
/Apex/esl__package ? ParentId={ !Account.Id}&Name={ !Account.Name} %20Agreement&Signer1=00336000003gBYX&Documents=00P360000000wwrd
Exemple 2
Lorsque le code snippet suivant est exécuté, il crée un package OneSpan Sign à partir d'une adresse e-mail. En particulier, ce extrait crée un destinataire de type External Email avec l'adresse john.doe@test.comemail .
/Apex/esl__package ? ParentId={ !Account.Id}&Name={ !Account.Name}%20Agreement&Signer1=john.doe@test.com&Signer1FirstName=john&Signer1LastName=doe&Documents=00P36000000wwrd
Créer une transaction à partir d'une convention
Pour créer une transaction depuis une Convention à l'aide d'un code personnalisé :
Créez une convention appropriée. Pour plus d'informations, consultez Automation via OneSpan Sign Conventions.
Créez un bouton personnalisé qui exécutera le code nécessaire lorsque le bouton est cliqué (voir l'exemple ci-dessous).
Cliquez sur le bouton Personnalisé . Cela devrait permettre de créer une transaction avec les informations spécifiées dans la Convention.
Lorsque le code snippet suivant est exécuté, il crée une transaction OneSpan Sign à partir d'une convention, où :
Voici
ConventionIdl'ID de la Convention à utiliser.Signer1Labelest l'identifiant de l'étiquette destinataire à appliquer à Signer1
/Apex/esl__package ? ParentId={ !Account.Id}&Name={ !Account.Name} %20Agreement&Documents=00P36000000wwrd&ConventionId=a0836000000nfRo&Signer1=003360000003gBYX&Signer1Label=a0K360000001j8VW
Création d'une transaction à partir d'une action personnalisée
Si vous créez une action personnalisée et l'ajoutez à un objet Salesforce, l'action supplémentaire permet aux utilisateurs de Lightning Experience d'envoyer facilement des documents à signer via OneSpan Sign.
L'URL utilisée dans la procédure pour une Action personnalisée est la même que celle d'un bouton personnalisé, sauf que l'URL d'une Action personnalisée doit être stockée dans un champ personnalisé créé sur l'objet.
Pour créer une transaction via une action personnalisée, suivez les étapes ci-dessous :
Étape 1 : Créez un champ qui stockera l'URL d'automatisation.
Étape 2 : Créez une page Visualforce pour déclencher l'automatisation.
Étape 3 : Créez l'action dans le composant, et associez la page Visualforce à celle-ci.
Étape 1 : Créez un champ qui stockera l'URL d'automatisation.
À cette étape, vous devez créer un champ dans l'objet (Compte, Contact, Opportunité, etc.) qui stockera l'URL d'Automatisation. Cette URL suit les mêmes règles que pour le bouton personnalisé, et elle reçoit les mêmes paramètres.
Nous recommandons d'utiliser des champs de formules, afin de pouvoir utiliser les « champs de fusion ».
<apex :page standardController="Account">
<ESL :PackageAutomationFieldName="Account_Automation_URL__c » />
</apex :page >
Étape 2 : Créez une page Visualforce pour déclencher l'automatisation.
Sur la page Visualforce, l'utilisateur administrateur doit utiliser un composant fourni par le connecteur pour : (1) lire l'URL d'automatisation stockée dans le champ créé ci-dessus ; (2) déclencher l'automatisation.
Pour créer la page Visualforce :
Cliquez sur Configurer.
Dans le panneau de gauche, cliquez sur Développer > pages Visualforce. Une liste des pages Visualforce apparaît.
Cliquez sur Nouveau.
Tapez une étiquette, un nom et une description appropriés pour la nouvelle page.
Sélectionnez la case Disponible pour les applications mobiles Salesforce et les pages Éclairage .
Dans l'onglet Balisage Visualforce , tapez le code suivant :

Après que l'utilisateur administrateur a créé la page Visualforce, il doit spécifier : (1) le nom de l'objet qui utilisera cette page (par exemple, Compte, Contact, Opportunité, un objet personnalisé, etc.) ; (2) le nom du champ où l'URL est stockée.
Étape 3 : Créez l'action dans le composant, et associez la page Visualforce à celle-ci.
Cliquez sur Configurer.
Si vous souhaitez utiliser un objet standard, dans le panneau de gauche cliquez sur Personnaliser, et sélectionnez l'objet.
Si vous souhaitez utiliser un objet personnalisé :
Dans le panneau de gauche, cliquez sur Créer > objets. Une nouvelle page affiche une liste d'objets personnalisés.
Trouvez l'objet personnalisé concerné et cliquez sur son nom.
Dans la section Boutons, Liens et Actions , cliquez sur Nouvelle action. Une nouvelle page d'Action s'ouvre.
Dans Type d'action, sélectionnez Visualforce personnalisé.
Sous la page Visualforce, sélectionnez la page Visualforce que vous avez créée plus tôt.
Tapez une étiquette et un nom appropriés pour la nouvelle action personnalisée.
Cliquez sur Enregistrer.
Une fois l'action créée, l'utilisateur administrateur doit l'ajouter à la mise en page pour la rendre accessible aux autres utilisateurs. Il doit également être ajouté aux actions Salesforce1 pour être disponible sur les appareils mobiles.
Pour ajouter la nouvelle Action personnalisée à la mise en page de votre objet personnalisé :
Cliquez sur Configurer.
Dans le panneau de gauche, cliquez sur Créer > objets. Une nouvelle page affiche une liste d'objets personnalisés.
Trouvez votre objet personnalisé et cliquez sur son nom.
Dans la section Mises en page , cliquez sur Modifier. La page de mise en page apparaît.
Cliquez sur l'option Mobile et Lightning en haut à gauche.
Si vous ne voyez aucune action dans la section Actions Mobile et Lightning Experience , cliquez sur l'icône de clé à molette qui apparaît lorsque vous déplacez votre souris sur cette section.
Glissez la nouvelle Action personnalisée dans la section Actions Mobile et Lightning Experience .
Cliquez sur Enregistrer.
À la fin de cette procédure, vous devriez voir toutes les informations d'entrée reflétées dans la transaction créée.
Paramètres pour les extraits de code URL
Le tableau suivant décrit les paramètres pouvant être utilisés dans des extraits de code URL pour toutes les procédures ci-dessus.
Un échantillon statique a une valeur fixe. La valeur d'un échantillon dynamique est spécifiée par un champ fusionné.
Nom du paramètre | Description | Échantillon statique | Échantillon dynamique |
|---|---|---|---|
TemplateId | L'ID modèle de la transaction. Si ce n'est pas fourni, créez-le à la improviste. Tout champ spécifié dans l'URL supprimera la valeur du modèle. Le modèle doit être actif. |
|
|
Nom | Le nom de la transaction, encodé par URL. |
|
|
Description | La description de la transaction, encodée par URL. |
|
|
Date d'expiration | La date d'expiration de la transaction (YYYMMDD) |
|
|
MessageEmailMessage | Les valeurs saisies dans EmailMessage seront transmises aux modèles par défaut existants « $PACKAGE_MESSAGE » ; comme les modèles « email.activate » et « email.notify ». Pour plus d'informations, voir OneSpan Sign Developers : Modèles d'email. |
|
|
Langue | Le langage du paquet de transaction. Les options disponibles sont basées sur les choix de langue effectués sur la page de personnalisation. |
|
|
EnPersonSigning | Un signalement qui précise si la signature en personne est vraie ou fausse |
|
|
Documents | Liste des identifiants séparés par virgules. Ces identifiants peuvent être pour des pièces jointes Salesforce, des documents Salesforce ou des fichiers Salesforce. Créez une pièce jointe, un document ou un fichier de transaction avec son binaire, et avec un nom associé correspondant à l'ordre de l'élément dans la liste. Note : Les fichiers Salesforce sont devenus pris en charge uniquement dans OneSpan Sign Embedded Integration pour Salesforce 4.10. Le système prend en charge un maximum de 5 Mo par document (des documents plus petits offrent de meilleures performances — nous recommandons moins de 5 Mo par document). Le système prend en charge un maximum de 10 documents par transaction ou modèle de transaction. Cependant, il n'y a pas de limite à la taille totale des documents dans une transaction. |
|
|
Envoyer | Un drapeau indiquant si la transaction doit être envoyée après sa création. Nécessite une Convention par défaut ou le paramètre conventionID , ainsi qu'une étiquette destinataire pour au moins un des destinataires. |
|
|
ConventionId | L'identifiant de la Convention qui sera utilisé pour préparer et envoyer la transaction. ConventionId est obligatoire si aucune Convention par défaut n'a été définie dans les Paramètres personnalisés. |
|
|
retUrl | L'URL vers laquelle les utilisateurs seront dirigés une fois la transaction envoyée. Il doit avoir Send=1 ou Send=true, et il doit être encodé par URL. |
|
|
DescriptionObjectName | Spécifie la description d'une transaction, en utilisant le nom d'un objet personnalisé. Il doit s'agir d'un nom d'objet comme Compte ou Transaction__c. Ce paramètre nécessite DescriptionObjectField et DescriptionObjectId. |
|
|
DescriptionChampObjectDescriptif | Spécifie la description d'une transaction, en utilisant un champ provenant d'un objet personnalisé. Doit être un champ dans l'objet défini dans DescriptionObjectName, comme Nom ou Description__c. Ce paramètre nécessite DescriptionObjectName et DescriptionObjectId. |
|
|
DescriptionObjectId | Spécifie la description d'une transaction, en utilisant l'ID d'un objet personnalisé. Doit être l'ID d'un objet du type défini dans DescriptionObjectName. Ce paramètre nécessite DescriptionObjectName et DescriptionObjectField. |
|
|
MessageMessageObjectName | Spécifie le message email d'une transaction, en utilisant le nom d'un objet personnalisé. Ça doit être un nom d'objet comme Compte ou Transaction__c. Ce paramètre nécessite EmailMessageObjectField et EmailMessageObjectId. |
|
|
MessageObjectChamp EmailMessage | Spécifie le message email d'une transaction, en utilisant un champ provenant d'un objet personnalisé. Doit être un champ dans l'objet défini dans EmailMessageObjectName, comme Nom ou Description__c. Ce paramètre nécessite EmailMessageObjectName et EmailMessageObjectId. |
|
|
MessageObjectId EmailMessage | Spécifie le message email d'une transaction, en utilisant l'ID d'un objet personnalisé. Doit être l'ID d'un objet du type défini dans EmailMessageObjectName. Ce paramètre nécessite EmailMessageObjectName et EmailMessageObjectField. |
|
|
SignerX | X est un nombre de 1 à l'infini. La valeur peut être un identifiant de prospect, un identifiant de contact, un identifiant utilisateur ou une adresse e-mail. Si une adresse e-mail est fournie, les paramètres SignerXFirstName et SignerXLastName sont requis. |
|
|
SignerXFirst | Spécifie le prénom du destinataire à l'index X. Il n'est disponible que pour les destinataires externes par email. |
|
|
SignerXLastName | Spécifie le nom de famille du destinataire à l'index X. Il n'est disponible que pour les destinataires externes par email. |
|
|
SignerXPhone | Précise le numéro de téléphone du destinataire à l'index X. Il n'est disponible que pour les destinataires externes par email. |
|
|
SignerXLabel | Spécifie l'étiquette destinataire associée au destinataire à l'index X. Doit être l'identifiant de l'objet étiquette destinataire dans la Convention correspondante (la Convention par défaut ou celle spécifiée dans ConventionId). |
|
|
SignerXAllowDelegation | Un drapeau qui détermine si vous autoriserez le destinataire original que vous avez identifié à déléguer quelqu'un d'autre pour signer la transaction en son nom. Les valeurs valides sont : 1 ou 0, vrai ou faux. Si la valeur est 1 ou vraie, le destinataire devra saisir l'adresse e-mail et le nom complet du délégué, ainsi qu'un message e-mail optionnel à envoyer au délégué. Vous serez informé de ce changement de destinataire, et vous serez mis en copie dans le message e-mail (si envoyé est envoyé). |
|
|
SignerXAuthMethod | Drapeau qui vous permet de créer une transaction automatiquement, en utilisant l'une des méthodes d'authentification suivantes :
Si la méthode de questions-réponses est sélectionnée comme méthode d'authentification, alors les paramètres supplémentaires suivants doivent être configurés :
|
|
|
AutoPrepare | Drapeau qui détermine si la fonctionnalité AutoPrepare sera activée pour une transaction si une Convention est spécifiée. Les valeurs valides sont : 1 ou 0, vrai ou faux. |
|
|
Insertion | Drapeau qui détermine si les données de Salesforce seront automatiquement remplies dans un document OneSpan Sign lors de la préparation de la transaction du document. Les valeurs valides sont : 1 ou 0, vrai ou faux. |
|
|
WriteBack | Drapeau qui détermine si un champ Salesforce sera mis à jour avec les données d'un document OneSpan Sign lorsque la transaction de ce document sera terminée. Les valeurs valides sont : 1 ou 0, vrai ou faux. |
|
|
Ordrede de signature d'application | Drapeau qui détermine si la condition d' application de l'ordre de signature est vraie ou fausse. |
|
|
ParentId | ID de l'objet parent. À stocker dans le champ de texte ParentId . Il remplit automatiquement le type parent et le champ de recherche associé si possible. |
|
|
enableRappels | Drapeau (vrai / faux) qui détermine si la fonction de rappel automatique est activée pour la transaction. |
|
|
envoyerRappelJours | Nombre de jours avant l'envoi du premier rappel. |
|
|
répéterJoursRappels | Intervalle de jours entre les rappels successifs. |
|
|
totalRappels | Nombre maximal de rappels à envoyer. |
|
|
ChatterEnable | Un drapeau (vrai / faux) qui détermine si Chatter sera actif sur la transaction. |
|
|