Secure Exchanges SDK Documentation
Search Results for

    Show / Hide Table of Contents

    Class MessageHelper

    This class is use to send and retreived message from Secure Exchanges

    Inheritance
    object
    MessageHelper
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: SecureExchangesSDK.Helpers
    Assembly: SecureExchangesSDK.dll
    Syntax
    public static class MessageHelper

    Methods

    DeleteMessageByTrackingId(DeleteMessageByTrackingIdArgs)

    Delete message by tracking id, tracking id came from log

    Declaration
    public static bool DeleteMessageByTrackingId(DeleteMessageByTrackingIdArgs args)
    Parameters
    Type Name Description
    DeleteMessageByTrackingIdArgs args
    Returns
    Type Description
    bool

    EncryptMessage(EncryptMessageArgs)

    Encrypt a single message. Must use MultiRecipientMessage to send the same message to one or more recipient

    Declaration
    [Obsolete("Please use the MultiRecipientMessage")]
    public static SendMessageAnswer EncryptMessage(EncryptMessageArgs args)
    Parameters
    Type Name Description
    EncryptMessageArgs args
    Returns
    Type Description
    SendMessageAnswer

    EncryptMessage(Guid, Guid, Guid, string, string, string, string, string, List<FileArgs>, SendMethodEnum, bool, bool, bool, string)

    Méthode pour envoyé un message. Tous les paramètre seront encrypter par un Handshake et un échange de clef avec le serveur

    Declaration
    [Obsolete("Please use the MultiRecipientMessage")]
    public static SendMessageAnswer EncryptMessage(Guid serial, Guid apiUser, Guid apiPassword, string message, string subject, string email, string phone, string password, List<FileArgs> filesList, SendMethodEnum SendMode, bool getBackHtml, bool showSubject, bool getNotify, string cultureID)
    Parameters
    Type Name Description
    Guid serial

    Représente le no de série

    Guid apiUser

    Représente le "USER" API

    Guid apiPassword

    Représente le "PASSWORD" API

    string message

    Le message en clair qui doit être envoyé

    string subject

    Le sujet en clair qui doit être envoyé

    string email

    Le email en clair qui doit être envoyé

    string phone

    Le téléphone avec qui communiqué un code SMS ou envoyé un message

    string password

    Le mot de passe en clair pour ouvrir le message

    List<FileArgs> filesList

    Liste des fichiers devant être envoyé - null aucun fichier

    SendMethodEnum SendMode

    La méthode d'envoi

    bool getBackHtml

    Voulons nous récupéré le HTML du message envoyé

    bool showSubject

    Voulons nous afficher le sujet

    bool getNotify

    Est-ce que l'expéditeur veux être notifier de l'ouverture du message

    string cultureID

    La culture du message

    Returns
    Type Description
    SendMessageAnswer

    ExtenMessageLive(ExtenMessageLiveArgs)

    Extends the live time of a message that is currently being viewed. This allows the recipient to continue viewing the message beyond its original expiration.

    Declaration
    public static bool ExtenMessageLive(ExtenMessageLiveArgs args)
    Parameters
    Type Name Description
    ExtenMessageLiveArgs args

    The arguments containing the message ID and extend token.

    Returns
    Type Description
    bool

    true if the message live time was successfully extended; otherwise, false.

    Examples
    var success = MessageHelper.ExtenMessageLive(new ExtenMessageLiveArgs
    {
        EndPointUri = new Uri("https://www.secure-exchanges.com/_api/0217/0217.asmx"),
        MessageID = messageId,
        ExtendMessageToken = extendToken
    });

    GetEnvelopes(GetEnvelopesArgs)

    Return multiple envelopes. One per recipient

    Declaration
    public static GetEnvelopesResponse GetEnvelopes(GetEnvelopesArgs args)
    Parameters
    Type Name Description
    GetEnvelopesArgs args

    In the args.Recipient if the phone number is used, then you activate automaticly the Two Factor Authentication

    Returns
    Type Description
    GetEnvelopesResponse

    Return a list of envelopes, one per recipient. When use the phone in the recipient, the 2FA is activated

    GetEnveloppe(GetEnveloppeArgs)

    Create a link to send to a recipient. This link will allow the recipient to send your back some information. If the reply API is activated on your licence, when the user will reply, you will be notify by our system. Your callbackparameter will be encrypted AES 256, and only your service endpoint will able to retreived it. This callbackparameters are usefull to let know your service, wich client, folder or anything usefull for your system to know about the callback request If you pass "false" to ReplyToAPI, the answer will came back by email to the licence email address

    Declaration
    public static GetEnveloppeResponse GetEnveloppe(GetEnveloppeArgs args)
    Parameters
    Type Name Description
    GetEnveloppeArgs args

    GetEnveloppeArgs

    Returns
    Type Description
    GetEnveloppeResponse

    GetEnveloppeResponse

    Examples
    GetEnveloppeResponse response = MessageHelper.GetEnveloppe(
    new GetEnveloppeArgs(new Uri("https://www.secure-exchanges.com/_api/0217/0217.asmx"),
          [your serial],
          [your apiuser],
          [your apipsw], "Subject", "Recipient email addresse", "fr-CA")
     {
       ReplyToAPI = true,
       CallBackParameters = "[Place your object here. XML, JSON]"
     });

    GetMessage(GetMessageArgs)

    This method is used to decrypt a message from Secure Exchanges

    Declaration
    public static GetMessageResponse GetMessage(GetMessageArgs args)
    Parameters
    Type Name Description
    GetMessageArgs args

    GetMessageArgs

    Returns
    Type Description
    GetMessageResponse

    GetMessageResponse

    Examples
     SecureExchangesMessage msg = MessageHelper.GetSecureExchangesMessageFromLink(link);
     var password = "[The password use to protect the mesasge]";
     var digit = "[The SMS digit code received]";
    GetMessageResponse response =  MessageHelper.GetMessage(new GetMessageArgs(
    new Uri("https://www.secure-exchanges.com/_api/0217/0217.asmx"),
           [your serial],
           [your apiuser],
           [your apipsw],
           msg.MessageID, 
           msg.Cpart, 
           msg.Sems, 
           msg.NIv,
           msg.P2, 
           password, 
           digit));

    GetSecureExchangesMessageFromLink(string)

    This method is create to parse a link from Secure Exchanges

    Declaration
    public static SecureExchangesMessage GetSecureExchangesMessageFromLink(string link)
    Parameters
    Type Name Description
    string link

    Secure Exchanges read message link

    Returns
    Type Description
    SecureExchangesMessage

    Secure Exchanges Message

    Examples
    // Use to extract parameters from Secure Exchanges Link
    var link = "https://www.secure-exchanges.com/mon-message-secure-exchanges.aspx?msgid=bXrEeahH6pTi9JoSZ92Bo3kZ1gQd6EueXK0db0qdMKCi6tMEmOiAL87fElNqiuaJmEg%2fR%2b5Hka2TmUQfEjtmpu2TQrpTSafHWJ%2bVbUEmw59YyofHzOwMatlrJgmCm3KHcTv1abfyZqBE9xJOrXPiNUclA2uEDdBaoEU%2fC1uT42g%3d&sems=de0e1511-bf38-41d9-b4c1-21748d2fdf0a&cpart=o5vUPaRoXo4ETlyIzKgFcCUCEiS1lZMOAkNC9lUig4dE6joJ1bsKSqIpWRg6I2EeQAyvVTS6kVbJk%2FEE7Is07rfsQI%2FbS6TPEYZtR6rpaEDoD%2ByWzcSRQX7kA810sYf1SaOnf3xNMZHuuu33TQSPt1%2FOkCH8raH8NdhVxDflHRE%3D&psw=0&digit=False&nIV=3d3a051c-ea8e-a24a-619b-077ebd6a6529&p2=095847b7-95e1-4e7b-a647-fe432aa687a2";
    SecureExchangesMessage msg = MessageHelper.GetSecureExchangesMessageFromLink(link);    ///

    GetSerialInfo(GetSerialInfoArgs)

    Declaration
    [Obsolete("Please use the method in the LicenceHelper")]
    public static GetSerialInfoResponse GetSerialInfo(GetSerialInfoArgs args)
    Parameters
    Type Name Description
    GetSerialInfoArgs args
    Returns
    Type Description
    GetSerialInfoResponse

    InitializeSMS(ISEMSInitialization)

    This method only initialize SEMS Keys to send the SMS when a message contains a digit

    Declaration
    public static GetKeysAnswer InitializeSMS(ISEMSInitialization args)
    Parameters
    Type Name Description
    ISEMSInitialization args
    Returns
    Type Description
    GetKeysAnswer

    MultiRecipientMessage(MutliRecipientArgs)

    Use to send the same message to multiple recipident. Each recipient will received a unique link. They will received a unique SMS code if use it, and will share the same password.

    Declaration
    public static MultiRecipientAnswer MultiRecipientMessage(MutliRecipientArgs args)
    Parameters
    Type Name Description
    MutliRecipientArgs args
    Returns
    Type Description
    MultiRecipientAnswer

    Return an answer to manage the message send

    Examples
    Create a files list path : physical path
       List<string> files = new List<string>();
         if (!string.IsNullOrEmpty(originalFilePath))
         {
           files.Add(originalFilePath);
         }
     // Use fileArgs if you have file in memory or binary witout the path
     List<FileArgs> filesArgs = null;
    
     string HTMLBody = $"{body}";
     string EmailSubject = $"{methodName} - {subject}";
    
     // Create a list of recipient. Phone number could be filled to received SMS
     // WARNING : the SendMethodEnum must be set to msgEmailCodeSms to received an email with a sms code to open it
     List<RecipientInfo> recipients = new List<RecipientInfo>();
     recipients.Add(new RecipientInfo() { Email = recipient1});
         recipients.Add(new RecipientInfo() { Email = recipient2, Phone = null });
    
         //Create the message args
         var args = new MutliRecipientArgs(
            new Uri("https://www.secure-exchanges.com/_api/0217/0217.asmx"),
           [your serial],
           [your apiuser],
           [your apipsw],
            recipients,
            HTMLBody,
            EmailSubject,
            psw,
            filesArgs,
            SecureExchangesSDK.SecureExchanges.SendMethodEnum.onlyEmail,
            getBackHtml,
            true,
            true, "fr-CA", 1, 5)
         { FilesPath = files };
     // Call the multicecipient method 
     MultiRecipientAnswer answer = MessageHelper.MultiRecipientMessage(args);
         // if the status is set to 200 the call was made successfully. See in answer.Data if the status is not 200
         if (answer.Status == 200)
         {
           foreach (var a in answer.RecipientsAnswer)
           {
             // Here use a.Answer.HtmlMsg to send your email with your SMTP server
    
    
    
           }
         }

    MultiRecipientMessage(MutliRecipientArgs, FileHelper)

    Use to send the same message to multiple recipident. Each recipient will received a unique link. They will received a unique SMS code if use it, and will share the same password.

    Declaration
    public static MultiRecipientAnswer MultiRecipientMessage(MutliRecipientArgs args, FileHelper fileHelper)
    Parameters
    Type Name Description
    MutliRecipientArgs args
    FileHelper fileHelper
    Returns
    Type Description
    MultiRecipientAnswer

    Return an answer to manage the message send

    Examples
    Create a files list path : physical path
       List<string> files = new List<string>();
         if (!string.IsNullOrEmpty(originalFilePath))
         {
           files.Add(originalFilePath);
         }
     // Use fileArgs if you have file in memory or binary witout the path
     List<FileArgs> filesArgs = null;
    
     string HTMLBody = $"{body}";
     string EmailSubject = $"{methodName} - {subject}";
    
     // Create a list of recipient. Phone number could be filled to received SMS
     // WARNING : the SendMethodEnum must be set to msgEmailCodeSms to received an email with a sms code to open it
     List<RecipientInfo> recipients = new List<RecipientInfo>();
     recipients.Add(new RecipientInfo() { Email = recipient1});
         recipients.Add(new RecipientInfo() { Email = recipient2, Phone = null });
    
         //Create the message args
         var args = new MutliRecipientArgs(
            new Uri("https://www.secure-exchanges.com/_api/0217/0217.asmx"),
           [your serial],
           [your apiuser],
           [your apipsw],
            recipients,
            HTMLBody,
            EmailSubject,
            psw,
            filesArgs,
            SecureExchangesSDK.SecureExchanges.SendMethodEnum.onlyEmail,
            getBackHtml,
            true,
            true, "fr-CA", 1, 5)
         { FilesPath = files };
     // Call the multicecipient method 
     MultiRecipientAnswer answer = MessageHelper.MultiRecipientMessage(args);
         // if the status is set to 200 the call was made successfully. See in answer.Data if the status is not 200
         if (answer.Status == 200)
         {
           foreach (var a in answer.RecipientsAnswer)
           {
             // Here use a.Answer.HtmlMsg to send your email with your SMTP server
    
    
    
           }
         }

    SendTrace(SendTraceArgs)

    To send support trace to SEcure Exchanges Team

    Declaration
    public static bool SendTrace(SendTraceArgs args)
    Parameters
    Type Name Description
    SendTraceArgs args
    Returns
    Type Description
    bool

    TransformSECryptedMail(SEMail, string, SendMessageAnswer, bool, HandShake, byte[], byte[])

    Transform a SEMail encrypted to a SEMail unencrypted

    Declaration
    public static SEMail TransformSECryptedMail(SEMail mail, string urlParameters, SendMessageAnswer answer, bool isPassword, HandShake handShake, byte[] aesKey, byte[] aesIv)
    Parameters
    Type Name Description
    SEMail mail

    SEMail encrypted

    string urlParameters

    The password of the message

    SendMessageAnswer answer
    bool isPassword
    HandShake handShake
    byte[] aesKey
    byte[] aesIv
    Returns
    Type Description
    SEMail
    In this article
    Back to top Secure Exchanges Inc. - Documentation