Secure Exchanges SDK Documentation
Search Results for

    Show / Hide Table of Contents

    Signatures électroniques - Vue d'ensemble

    Le SDK permet de faire signer électroniquement des documents PDF par vos destinataires.

    Types de zones disponibles

    Type Méthode Description
    Signature CreateFieldSignZone Zone de signature manuscrite
    Initiales CreateFieldInitialZone Zone pour les initiales
    Boîte de texte CreateFieldTextZone Champ de texte simple
    Zone de texte CreateFieldTextAreaZone Champ de texte étendu (multiligne)
    Date CreateFieldDateZone Sélecteur de date
    Date signature CreateFieldDateSignZone Date remplie automatiquement au moment où la signature est apposée
    Nombre CreateFieldNumberZone Champ restreint aux caractères numériques
    Case à cocher CreateFieldCheckBoxZone Case à cocher
    Bouton radio CreateFieldRadioZone Option faisant partie d'un groupe. Un seul choix possible par groupe
    Liste déroulante CreateFieldDropdownZone Menu déroulant compact
    Liste d'options CreateFieldOptionListZone Liste de choix ouverte

    Workflow de signature

    1. Préparer le PDF
            |
            v
    2. Définir les zones de signature avec ZoneBuilder
            |
            v
    3. Associer les zones aux destinataires
            |
            v
    4. Envoyer avec MessageHelper.MultiRecipientMessage()
            |
            v
    5. Le destinataire signe via l'interface web
            |
            v
    6. Récupérer le document signé
    

    Exemple rapide

    using SecureExchangesSDK.Helpers;
    using SecureExchangesSDK.Models.Args;
    using SecureExchangesSDK.Models.Entity;
    using SecureExchangesSDK.Models.JSON;
    using SecureExchangesSDK.Models.Transport;
    using SecureExchangesSDK.SecureExchanges;
    
    // 1. Fichier a signer
    string pdfPath = @"C:\contrat.pdf";
    string sha512 = CryptoHelper.GetSHA512OfFile(pdfPath);
    
    // Liste indiquant quels fichiers nécessitent une signature
    List<SignFilesRequired> signFiles = new List<SignFilesRequired>
    {
        new SignFilesRequired {
            SHA512 = sha512
        }
    };
    
    // 2. Creer les zones de signature avec les methodes helpers
    // ZoneBuilder utilise pdfPath pour lire les dimensions du PDF
    ZoneBuilder zoneBuilder = new ZoneBuilder(pdfPath, false);
    var zones = new SignZoneDetails[]
    {
        zoneBuilder.CreateFieldSignZone(
            1,              // numero de page
            "signature1",   // nom du champ
            100, 650,       // position x, y
            200, 50),       // largeur, hauteur
    
        zoneBuilder.CreateFieldDateSignZone(
            1,              // numero de page
            "date1",        // nom du champ
            100, 600,       // position x, y
            100, 25,        // largeur, hauteur
            12)             // taille de police
    };
    
    // 3. Associer aux destinataires
    var recipient = new RecipientInfo { Email = "client@example.com" };
    var recipientIndex = new Dictionary<RecipientInfo, List<FileZoneDefinition>>
    {
        {
            recipient,
            new List<FileZoneDefinition>
            {
                new FileZoneDefinition
                {
                    UniqueName = sha512,
                    ZonesDef = new SignZoneDefinition { Zones = zones }
                }
            }
        }
    };
    
    // 4. Configurer l'envoi
    var recipients = new List<RecipientInfo> { recipient };
    Uri endpoint = new Uri("https://www.secure-exchanges.com/_api/0217/0217.asmx");
    
    string message = "Veuillez signer ce contrat";
    string subject = "Contrat a signer";
    string password = null; // Mot de passe optionnel pour ouvrir le message
    SendMethodEnum sendMethod = SendMethodEnum.onlyEmail;
    string culture = "fr-CA"; // Langue de l'interface de signature
    int maximumOpenTime = 5; // Nombre d'ouvertures max
    int minutesExpiration = 10080; // 1 semaine (en minutes)
    bool getBackHtml = false; // Retourne le HTML du courriel pour l'envoyer via votre propre serveur SMTP
    bool showSubject = true; // DEPRECATED
    bool getNotify = true; // Active la notification d'ouverture
    
    var args = new MutliRecipientArgs(
        endpoint,
        serial,
        apiUser,
        apiPassword,
        recipients,
        message,
        subject,
        password,
        null,
        sendMethod,
        getBackHtml,
        showSubject,
        getNotify,
        culture,
        maximumOpenTime,
        minutesExpiration
    ){
        FilesPath = new List<string> { pdfPath },
        FileToSign = signFiles,
        SignRecipientsZoneDef = SignHelper.ConvertRecipientIndexToList(recipientIndex),
        OwnerDontNeedToSign = true,
    };
    
    // 5. Envoyer
    var response = MessageHelper.MultiRecipientMessage(args);
    

    Voir aussi

    • Zones de signature
    • Certification PDF
    In this article
    Back to top Secure Exchanges Inc. - Documentation