/// <summary>
        /// Initializes a new instance of the <see cref="WebhookResponse" /> class.
        /// </summary>
        /// <param name="pkiWebhookID">The Webhook ID. This value is visible in the admin interface. (required).</param>
        /// <param name="eWebhookModule">The Module generating the Event. (required).</param>
        /// <param name="eWebhookEzsignevent">This Ezsign Event. This property will be set only if the Module is \&quot;Ezsign\&quot;..</param>
        /// <param name="pksCustomerCode">The customer code assigned to your account (required).</param>
        /// <param name="sWebhookUrl">The url being called (required).</param>
        /// <param name="sWebhookEmailfailed">The email that will receive the webhook in case all attempts fail. (required).</param>
        /// <param name="eWebhookManagementevent">This Management Event. This property will be set only if the Module is \&quot;Management\&quot;..</param>
        public WebhookResponse(int pkiWebhookID = default(int), EWebhookModuleEnum eWebhookModule = default(EWebhookModuleEnum), EWebhookEzsigneventEnum?eWebhookEzsignevent = default(EWebhookEzsigneventEnum?), string pksCustomerCode = default(string), string sWebhookUrl = default(string), string sWebhookEmailfailed = default(string), EWebhookManagementeventEnum?eWebhookManagementevent = default(EWebhookManagementeventEnum?))
        {
            // to ensure "pkiWebhookID" is required (not null)
            if (pkiWebhookID == null)
            {
                throw new InvalidDataException("pkiWebhookID is a required property for WebhookResponse and cannot be null");
            }
            else
            {
                this.PkiWebhookID = pkiWebhookID;
            }

            // to ensure "eWebhookModule" is required (not null)
            if (eWebhookModule == null)
            {
                throw new InvalidDataException("eWebhookModule is a required property for WebhookResponse and cannot be null");
            }
            else
            {
                this.EWebhookModule = eWebhookModule;
            }

            // to ensure "pksCustomerCode" is required (not null)
            if (pksCustomerCode == null)
            {
                throw new InvalidDataException("pksCustomerCode is a required property for WebhookResponse and cannot be null");
            }
            else
            {
                this.PksCustomerCode = pksCustomerCode;
            }

            // to ensure "sWebhookUrl" is required (not null)
            if (sWebhookUrl == null)
            {
                throw new InvalidDataException("sWebhookUrl is a required property for WebhookResponse and cannot be null");
            }
            else
            {
                this.SWebhookUrl = sWebhookUrl;
            }

            // to ensure "sWebhookEmailfailed" is required (not null)
            if (sWebhookEmailfailed == null)
            {
                throw new InvalidDataException("sWebhookEmailfailed is a required property for WebhookResponse and cannot be null");
            }
            else
            {
                this.SWebhookEmailfailed = sWebhookEmailfailed;
            }

            this.EWebhookEzsignevent     = eWebhookEzsignevent;
            this.EWebhookManagementevent = eWebhookManagementevent;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="WebhookResponse" /> class.
 /// </summary>
 /// <param name="pkiWebhookID">The Webhook ID. This value is visible in the admin interface. (required).</param>
 /// <param name="eWebhookModule">The Module generating the Event. (required).</param>
 /// <param name="eWebhookEzsignevent">This Ezsign Event. This property will be set only if the Module is \&quot;Ezsign\&quot;..</param>
 /// <param name="pksCustomerCode">The customer code assigned to your account (required).</param>
 /// <param name="sWebhookUrl">The url being called (required).</param>
 /// <param name="sWebhookEmailfailed">The email that will receive the webhook in case all attempts fail. (required).</param>
 /// <param name="eWebhookManagementevent">This Management Event. This property will be set only if the Module is \&quot;Management\&quot;..</param>
 public WebhookResponse(int pkiWebhookID = default(int), EWebhookModuleEnum eWebhookModule = default(EWebhookModuleEnum), EWebhookEzsigneventEnum?eWebhookEzsignevent = default(EWebhookEzsigneventEnum?), string pksCustomerCode = default(string), string sWebhookUrl = default(string), string sWebhookEmailfailed = default(string), EWebhookManagementeventEnum?eWebhookManagementevent = default(EWebhookManagementeventEnum?))
 {
     this.PkiWebhookID   = pkiWebhookID;
     this.EWebhookModule = eWebhookModule;
     // to ensure "pksCustomerCode" is required (not null)
     this.PksCustomerCode = pksCustomerCode ?? throw new ArgumentNullException("pksCustomerCode is a required property for WebhookResponse and cannot be null");
     // to ensure "sWebhookUrl" is required (not null)
     this.SWebhookUrl = sWebhookUrl ?? throw new ArgumentNullException("sWebhookUrl is a required property for WebhookResponse and cannot be null");
     // to ensure "sWebhookEmailfailed" is required (not null)
     this.SWebhookEmailfailed     = sWebhookEmailfailed ?? throw new ArgumentNullException("sWebhookEmailfailed is a required property for WebhookResponse and cannot be null");
     this.EWebhookEzsignevent     = eWebhookEzsignevent;
     this.EWebhookManagementevent = eWebhookManagementevent;
 }