Beispiel #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Campaign" /> class.
 /// </summary>
 /// <param name="Name">The name of the Campaign. (required).</param>
 /// <param name="Version">Required for updates, must match the version number of the most recent update.</param>
 /// <param name="ContactList">The ContactList for this Campaign to dial. (required).</param>
 /// <param name="Queue">The Queue for this Campaign to route calls to. Required for all dialing modes except agentless..</param>
 /// <param name="DialingMode">The strategy this Campaign will use for dialing. (required).</param>
 /// <param name="Script">The Script to be displayed to agents that are handling outbound calls. Required for all dialing modes except agentless..</param>
 /// <param name="EdgeGroup">The EdgeGroup that will place the calls. Required for all dialing modes except preview..</param>
 /// <param name="Site">The identifier of the site to be used for dialing; can be set in place of an edge group..</param>
 /// <param name="CampaignStatus">The current status of the Campaign. A Campaign may be turned 'on' or 'off'. Required for updates..</param>
 /// <param name="PhoneColumns">The ContactPhoneNumberColumns on the ContactList that this Campaign should dial. (required).</param>
 /// <param name="AbandonRate">The targeted abandon rate percentage. Required for progressive, power, and predictive campaigns..</param>
 /// <param name="DncLists">DncLists for this Campaign to check before placing a call..</param>
 /// <param name="CallableTimeSet">The callable time set for this campaign to check before placing a call..</param>
 /// <param name="CallAnalysisResponseSet">The call analysis response set to handle call analysis results from the edge. Required for all dialing modes except preview..</param>
 /// <param name="CallerName">The caller id name to be displayed on the outbound call. (required).</param>
 /// <param name="CallerAddress">The caller id phone number to be displayed on the outbound call. (required).</param>
 /// <param name="OutboundLineCount">The number of outbound lines to be concurrently dialed. Only applicable to non-preview campaigns; only required for agentless..</param>
 /// <param name="RuleSets">Rule sets to be applied while this campaign is dialing..</param>
 /// <param name="SkipPreviewDisabled">Whether or not agents can skip previews without placing a call. Only applicable for preview campaigns..</param>
 /// <param name="PreviewTimeOutSeconds">The number of seconds before a call will be automatically placed on a preview. A value of 0 indicates no automatic placement of calls. Only applicable to preview campaigns..</param>
 /// <param name="AlwaysRunning">Indicates (when true) that the campaign will remain on after contacts are depleted, allowing additional contacts to be appended/added to the contact list and processed by the still-running campaign. The campaign can still be turned off manually..</param>
 /// <param name="ContactSort">The order in which to sort contacts for dialing, based on a column..</param>
 /// <param name="ContactSorts">The order in which to sort contacts for dialing, based on up to four columns..</param>
 /// <param name="NoAnswerTimeout">How long to wait before dispositioning a call as 'no-answer'. Default 30 seconds. Only applicable to non-preview campaigns..</param>
 /// <param name="CallAnalysisLanguage">The language the edge will use to analyze the call..</param>
 /// <param name="Priority">The priority of this campaign relative to other campaigns that are running on the same queue. 5 is the highest priority, 1 the lowest..</param>
 /// <param name="ContactListFilters">Filter to apply to the contact list before dialing. Currently a campaign can only have one filter applied..</param>
 /// <param name="Division">The division this campaign belongs to..</param>
 public Campaign(string Name = null, int?Version = null, DomainEntityRef ContactList = null, DomainEntityRef Queue = null, DialingModeEnum?DialingMode = null, DomainEntityRef Script = null, DomainEntityRef EdgeGroup = null, DomainEntityRef Site = null, CampaignStatusEnum?CampaignStatus = null, List <PhoneColumn> PhoneColumns = null, double?AbandonRate = null, List <DomainEntityRef> DncLists = null, DomainEntityRef CallableTimeSet = null, DomainEntityRef CallAnalysisResponseSet = null, string CallerName = null, string CallerAddress = null, int?OutboundLineCount = null, List <DomainEntityRef> RuleSets = null, bool?SkipPreviewDisabled = null, long?PreviewTimeOutSeconds = null, bool?AlwaysRunning = null, ContactSort ContactSort = null, List <ContactSort> ContactSorts = null, int?NoAnswerTimeout = null, string CallAnalysisLanguage = null, int?Priority = null, List <DomainEntityRef> ContactListFilters = null, DomainEntityRef Division = null)
 {
     this.Name                    = Name;
     this.Version                 = Version;
     this.ContactList             = ContactList;
     this.Queue                   = Queue;
     this.DialingMode             = DialingMode;
     this.Script                  = Script;
     this.EdgeGroup               = EdgeGroup;
     this.Site                    = Site;
     this.CampaignStatus          = CampaignStatus;
     this.PhoneColumns            = PhoneColumns;
     this.AbandonRate             = AbandonRate;
     this.DncLists                = DncLists;
     this.CallableTimeSet         = CallableTimeSet;
     this.CallAnalysisResponseSet = CallAnalysisResponseSet;
     this.CallerName              = CallerName;
     this.CallerAddress           = CallerAddress;
     this.OutboundLineCount       = OutboundLineCount;
     this.RuleSets                = RuleSets;
     this.SkipPreviewDisabled     = SkipPreviewDisabled;
     this.PreviewTimeOutSeconds   = PreviewTimeOutSeconds;
     this.AlwaysRunning           = AlwaysRunning;
     this.ContactSort             = ContactSort;
     this.ContactSorts            = ContactSorts;
     this.NoAnswerTimeout         = NoAnswerTimeout;
     this.CallAnalysisLanguage    = CallAnalysisLanguage;
     this.Priority                = Priority;
     this.ContactListFilters      = ContactListFilters;
     this.Division                = Division;
 }
Beispiel #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CampaignNotification" /> class.
 /// </summary>
 /// <param name="Id">Id.</param>
 /// <param name="Name">Name.</param>
 /// <param name="DateCreated">DateCreated.</param>
 /// <param name="DateModified">DateModified.</param>
 /// <param name="Version">Version.</param>
 /// <param name="ContactList">ContactList.</param>
 /// <param name="Queue">Queue.</param>
 /// <param name="DialingMode">DialingMode.</param>
 /// <param name="Script">Script.</param>
 /// <param name="EdgeGroup">EdgeGroup.</param>
 /// <param name="CampaignStatus">CampaignStatus.</param>
 /// <param name="PhoneColumns">PhoneColumns.</param>
 /// <param name="AbandonRate">AbandonRate.</param>
 /// <param name="DncLists">DncLists.</param>
 /// <param name="CallableTimeSet">CallableTimeSet.</param>
 /// <param name="CallAnalysisResponseSet">CallAnalysisResponseSet.</param>
 /// <param name="CallerName">CallerName.</param>
 /// <param name="CallerAddress">CallerAddress.</param>
 /// <param name="OutboundLineCount">OutboundLineCount.</param>
 /// <param name="Errors">Errors.</param>
 /// <param name="RuleSets">RuleSets.</param>
 /// <param name="SkipPreviewDisabled">SkipPreviewDisabled.</param>
 /// <param name="PreviewTimeOutSeconds">PreviewTimeOutSeconds.</param>
 /// <param name="SingleNumberPreview">SingleNumberPreview.</param>
 /// <param name="ContactSort">ContactSort.</param>
 /// <param name="NoAnswerTimeout">NoAnswerTimeout.</param>
 /// <param name="CallAnalysisLanguage">CallAnalysisLanguage.</param>
 /// <param name="Priority">Priority.</param>
 /// <param name="AdditionalProperties">AdditionalProperties.</param>
 public CampaignNotification(string Id = null, string Name = null, DateTime?DateCreated = null, DateTime?DateModified = null, int?Version = null, DocumentDataV2NotificationCreatedBy ContactList = null, CampaignNotificationUriReference Queue = null, DialingModeEnum?DialingMode = null, CampaignNotificationUriReference Script = null, CampaignNotificationUriReference EdgeGroup = null, CampaignStatusEnum?CampaignStatus = null, List <CampaignNotificationPhoneColumns> PhoneColumns = null, double?AbandonRate = null, List <CampaignNotificationUriReference> DncLists = null, CampaignNotificationUriReference CallableTimeSet = null, CampaignNotificationUriReference CallAnalysisResponseSet = null, string CallerName = null, string CallerAddress = null, int?OutboundLineCount = null, List <CampaignNotificationErrors> Errors = null, List <CampaignNotificationUriReference> RuleSets = null, bool?SkipPreviewDisabled = null, int?PreviewTimeOutSeconds = null, bool?SingleNumberPreview = null, CampaignNotificationContactSort ContactSort = null, int?NoAnswerTimeout = null, string CallAnalysisLanguage = null, int?Priority = null, Object AdditionalProperties = null)
 {
     this.Id                      = Id;
     this.Name                    = Name;
     this.DateCreated             = DateCreated;
     this.DateModified            = DateModified;
     this.Version                 = Version;
     this.ContactList             = ContactList;
     this.Queue                   = Queue;
     this.DialingMode             = DialingMode;
     this.Script                  = Script;
     this.EdgeGroup               = EdgeGroup;
     this.CampaignStatus          = CampaignStatus;
     this.PhoneColumns            = PhoneColumns;
     this.AbandonRate             = AbandonRate;
     this.DncLists                = DncLists;
     this.CallableTimeSet         = CallableTimeSet;
     this.CallAnalysisResponseSet = CallAnalysisResponseSet;
     this.CallerName              = CallerName;
     this.CallerAddress           = CallerAddress;
     this.OutboundLineCount       = OutboundLineCount;
     this.Errors                  = Errors;
     this.RuleSets                = RuleSets;
     this.SkipPreviewDisabled     = SkipPreviewDisabled;
     this.PreviewTimeOutSeconds   = PreviewTimeOutSeconds;
     this.SingleNumberPreview     = SingleNumberPreview;
     this.ContactSort             = ContactSort;
     this.NoAnswerTimeout         = NoAnswerTimeout;
     this.CallAnalysisLanguage    = CallAnalysisLanguage;
     this.Priority                = Priority;
     this.AdditionalProperties    = AdditionalProperties;
 }
Beispiel #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MessagingCampaign" /> class.
 /// </summary>
 /// <param name="Name">Name.</param>
 /// <param name="Version">Required for updates, must match the version number of the most recent update.</param>
 /// <param name="Division">The division this entity belongs to..</param>
 /// <param name="CampaignStatus">The current status of the messaging campaign. A messaging campaign may be turned 'on' or 'off'..</param>
 /// <param name="CallableTimeSet">The callable time set for this messaging campaign..</param>
 /// <param name="ContactList">The contact list that this messaging campaign will send messages for. (required).</param>
 /// <param name="DncLists">The dnc lists to check before sending a message for this messaging campaign..</param>
 /// <param name="AlwaysRunning">Whether this messaging campaign is always running.</param>
 /// <param name="ContactSorts">The order in which to sort contacts for dialing, based on up to four columns..</param>
 /// <param name="MessagesPerMinute">How many messages this messaging campaign will send per minute. (required).</param>
 /// <param name="ContactListFilters">The contact list filter to check before sending a message for this messaging campaign..</param>
 /// <param name="Errors">A list of current error conditions associated with this messaging campaign..</param>
 /// <param name="SmsConfig">Configuration for this messaging campaign to send SMS messages..</param>
 public MessagingCampaign(string Name = null, int?Version = null, DomainEntityRef Division = null, CampaignStatusEnum?CampaignStatus = null, DomainEntityRef CallableTimeSet = null, DomainEntityRef ContactList = null, List <DomainEntityRef> DncLists = null, bool?AlwaysRunning = null, List <ContactSort> ContactSorts = null, int?MessagesPerMinute = null, List <DomainEntityRef> ContactListFilters = null, List <RestErrorDetail> Errors = null, SmsConfig SmsConfig = null)
 {
     this.Name               = Name;
     this.Version            = Version;
     this.Division           = Division;
     this.CampaignStatus     = CampaignStatus;
     this.CallableTimeSet    = CallableTimeSet;
     this.ContactList        = ContactList;
     this.DncLists           = DncLists;
     this.AlwaysRunning      = AlwaysRunning;
     this.ContactSorts       = ContactSorts;
     this.MessagesPerMinute  = MessagesPerMinute;
     this.ContactListFilters = ContactListFilters;
     this.Errors             = Errors;
     this.SmsConfig          = SmsConfig;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="OutboundMessagingMessagingCampaignConfigChangeMessagingCampaign" /> class.
 /// </summary>
 /// <param name="CampaignStatus">CampaignStatus.</param>
 /// <param name="CallableTimeSet">CallableTimeSet.</param>
 /// <param name="ContactList">A UriReference for a resource.</param>
 /// <param name="DncLists">The dnc lists to check before sending a message for this messaging campaign..</param>
 /// <param name="ContactListFilters">The contact list filters to check before sending a message for this messaging campaign..</param>
 /// <param name="AlwaysRunning">Whether this messaging campaign is always running..</param>
 /// <param name="ContactSorts">The order in which to sort contacts for dialing, based on up to four columns..</param>
 /// <param name="MessagesPerMinute">How many messages this messaging campaign will send per minute..</param>
 /// <param name="RuleSets">RuleSets.</param>
 /// <param name="SmsConfig">SmsConfig.</param>
 /// <param name="EmailConfig">EmailConfig.</param>
 /// <param name="Errors">A list of current error conditions associated with this messaging campaign.</param>
 /// <param name="Id">The globally unique identifier for the object..</param>
 /// <param name="Name">The UI-visible name of the object.</param>
 /// <param name="DateCreated">Creation time of the entity.</param>
 /// <param name="DateModified">Last modified time of the entity.</param>
 /// <param name="Version">Required for updates, must match the version number of the most recent update.</param>
 /// <param name="Division">A UriReference for a resource.</param>
 public OutboundMessagingMessagingCampaignConfigChangeMessagingCampaign(CampaignStatusEnum?CampaignStatus = null, OutboundMessagingMessagingCampaignConfigChangeUriReference CallableTimeSet = null, OutboundMessagingMessagingCampaignConfigChangeUriReference ContactList = null, List <OutboundMessagingMessagingCampaignConfigChangeUriReference> DncLists = null, List <OutboundMessagingMessagingCampaignConfigChangeUriReference> ContactListFilters = null, bool?AlwaysRunning = null, List <OutboundMessagingMessagingCampaignConfigChangeContactSort> ContactSorts = null, int?MessagesPerMinute = null, List <OutboundMessagingMessagingCampaignConfigChangeUriReference> RuleSets = null, OutboundMessagingMessagingCampaignConfigChangeSmsConfig SmsConfig = null, OutboundMessagingMessagingCampaignConfigChangeEmailConfig EmailConfig = null, List <OutboundMessagingMessagingCampaignConfigChangeErrorDetail> Errors = null, string Id = null, string Name = null, DateTime?DateCreated = null, DateTime?DateModified = null, int?Version = null, OutboundMessagingMessagingCampaignConfigChangeUriReference Division = null)
 {
     this.CampaignStatus     = CampaignStatus;
     this.CallableTimeSet    = CallableTimeSet;
     this.ContactList        = ContactList;
     this.DncLists           = DncLists;
     this.ContactListFilters = ContactListFilters;
     this.AlwaysRunning      = AlwaysRunning;
     this.ContactSorts       = ContactSorts;
     this.MessagesPerMinute  = MessagesPerMinute;
     this.RuleSets           = RuleSets;
     this.SmsConfig          = SmsConfig;
     this.EmailConfig        = EmailConfig;
     this.Errors             = Errors;
     this.Id           = Id;
     this.Name         = Name;
     this.DateCreated  = DateCreated;
     this.DateModified = DateModified;
     this.Version      = Version;
     this.Division     = Division;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DialerCampaignConfigChangeCampaign" /> class.
 /// </summary>
 /// <param name="ContactList">ContactList.</param>
 /// <param name="Queue">A UriReference for a resource.</param>
 /// <param name="DialingMode">dialing mode of the campaign.</param>
 /// <param name="Script">A UriReference for a resource.</param>
 /// <param name="EdgeGroup">A UriReference for a resource.</param>
 /// <param name="Site">A UriReference for a resource.</param>
 /// <param name="CampaignStatus">CampaignStatus.</param>
 /// <param name="PhoneColumns">the contact list phone columns to be called for the campaign.</param>
 /// <param name="AbandonRate">the targeted abandon rate percentage.</param>
 /// <param name="DncLists">identifiers of the do not call lists.</param>
 /// <param name="CallableTimeSet">A UriReference for a resource.</param>
 /// <param name="CallAnalysisResponseSet">A UriReference for a resource.</param>
 /// <param name="CallerName">caller id name to be displayed on the outbound call.</param>
 /// <param name="CallerAddress">caller id phone number to be displayed on the outbound call.</param>
 /// <param name="OutboundLineCount">for agentless campaigns, the number of outbound lines to be concurrently dialed.</param>
 /// <param name="Errors">a list of current error conditions associated with the campaign.</param>
 /// <param name="RuleSets">identifiers of the rule sets.</param>
 /// <param name="SkipPreviewDisabled">for preview campaigns, indicator of whether the agent can skip a preview without placing a call.</param>
 /// <param name="PreviewTimeOutSeconds">for preview campaigns, number of seconds before a call will be automatically placed. A value of 0 indicates no automatic placement of calls.</param>
 /// <param name="SingleNumberPreview">for preview campaigns with multiple phone columns, indicator if one (true) or multiple (false) phone numbers will be available to call for each preview.</param>
 /// <param name="ContactSort">ContactSort.</param>
 /// <param name="ContactSorts">List of contact sort objects..</param>
 /// <param name="NoAnswerTimeout">for non-preview campaigns, how long to wait before dispositioning as 'no-answer', default 30 seconds.</param>
 /// <param name="CallAnalysisLanguage">The language the edge will use to analyze the call.</param>
 /// <param name="Priority">The priority of this campaign relative to other campaigns.</param>
 /// <param name="ContactListFilters">List of contact filters.</param>
 /// <param name="Division">A UriReference for a resource.</param>
 /// <param name="AgentOwnedColumn">For Preview Campaigns. Name of the contact column in the contact list containing the userIds of agents to assign specific contact records to..</param>
 /// <param name="Id">The globally unique identifier for the object..</param>
 /// <param name="Name">The UI-visible name of the object.</param>
 /// <param name="DateCreated">Creation time of the entity.</param>
 /// <param name="DateModified">Last modified time of the entity.</param>
 /// <param name="Version">Required for updates, must match the version number of the most recent update.</param>
 public DialerCampaignConfigChangeCampaign(DialerCampaignConfigChangeUriReference ContactList = null, DialerCampaignConfigChangeUriReference Queue = null, DialingModeEnum?DialingMode = null, DialerCampaignConfigChangeUriReference Script = null, DialerCampaignConfigChangeUriReference EdgeGroup = null, DialerCampaignConfigChangeUriReference Site = null, CampaignStatusEnum?CampaignStatus = null, List <DialerCampaignConfigChangePhoneColumn> PhoneColumns = null, double?AbandonRate = null, List <DialerCampaignConfigChangeUriReference> DncLists = null, DialerCampaignConfigChangeUriReference CallableTimeSet = null, DialerCampaignConfigChangeUriReference CallAnalysisResponseSet = null, string CallerName = null, string CallerAddress = null, int?OutboundLineCount = null, List <DialerCampaignConfigChangeRestErrorDetail> Errors = null, List <DialerCampaignConfigChangeUriReference> RuleSets = null, bool?SkipPreviewDisabled = null, int?PreviewTimeOutSeconds = null, bool?SingleNumberPreview = null, DialerCampaignConfigChangeContactSort ContactSort = null, List <DialerCampaignConfigChangeContactSort> ContactSorts = null, int?NoAnswerTimeout = null, string CallAnalysisLanguage = null, int?Priority = null, List <DialerCampaignConfigChangeUriReference> ContactListFilters = null, DialerCampaignConfigChangeUriReference Division = null, string AgentOwnedColumn = null, string Id = null, string Name = null, DateTime?DateCreated = null, DateTime?DateModified = null, int?Version = null)
 {
     this.ContactList             = ContactList;
     this.Queue                   = Queue;
     this.DialingMode             = DialingMode;
     this.Script                  = Script;
     this.EdgeGroup               = EdgeGroup;
     this.Site                    = Site;
     this.CampaignStatus          = CampaignStatus;
     this.PhoneColumns            = PhoneColumns;
     this.AbandonRate             = AbandonRate;
     this.DncLists                = DncLists;
     this.CallableTimeSet         = CallableTimeSet;
     this.CallAnalysisResponseSet = CallAnalysisResponseSet;
     this.CallerName              = CallerName;
     this.CallerAddress           = CallerAddress;
     this.OutboundLineCount       = OutboundLineCount;
     this.Errors                  = Errors;
     this.RuleSets                = RuleSets;
     this.SkipPreviewDisabled     = SkipPreviewDisabled;
     this.PreviewTimeOutSeconds   = PreviewTimeOutSeconds;
     this.SingleNumberPreview     = SingleNumberPreview;
     this.ContactSort             = ContactSort;
     this.ContactSorts            = ContactSorts;
     this.NoAnswerTimeout         = NoAnswerTimeout;
     this.CallAnalysisLanguage    = CallAnalysisLanguage;
     this.Priority                = Priority;
     this.ContactListFilters      = ContactListFilters;
     this.Division                = Division;
     this.AgentOwnedColumn        = AgentOwnedColumn;
     this.Id           = Id;
     this.Name         = Name;
     this.DateCreated  = DateCreated;
     this.DateModified = DateModified;
     this.Version      = Version;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="Campaign" /> class.
        /// </summary>



        /// <param name="Name">The name of the Campaign. (required).</param>



        /// <param name="Version">Required for updates, must match the version number of the most recent update.</param>



        /// <param name="ContactList">The ContactList for this Campaign to dial. (required).</param>



        /// <param name="Queue">The Queue for this Campaign to route calls to. Required for all dialing modes except agentless..</param>



        /// <param name="DialingMode">The strategy this Campaign will use for dialing. (required).</param>



        /// <param name="Script">The Script to be displayed to agents that are handling outbound calls. Required for all dialing modes except agentless..</param>



        /// <param name="EdgeGroup">The EdgeGroup that will place the calls. Required for all dialing modes except preview..</param>



        /// <param name="Site">The identifier of the site to be used for dialing; can be set in place of an edge group..</param>



        /// <param name="CampaignStatus">The current status of the Campaign. A Campaign may be turned &#39;on&#39; or &#39;off&#39;. Required for updates..</param>



        /// <param name="PhoneColumns">The ContactPhoneNumberColumns on the ContactList that this Campaign should dial. (required).</param>



        /// <param name="AbandonRate">The targeted abandon rate percentage. Required for progressive, power, and predictive campaigns..</param>



        /// <param name="DncLists">DncLists for this Campaign to check before placing a call..</param>



        /// <param name="CallableTimeSet">The callable time set for this campaign to check before placing a call..</param>



        /// <param name="CallAnalysisResponseSet">The call analysis response set to handle call analysis results from the edge. Required for all dialing modes except preview..</param>



        /// <param name="Errors">A list of current error conditions associated with the campaign..</param>



        /// <param name="CallerName">The caller id name to be displayed on the outbound call. (required).</param>



        /// <param name="CallerAddress">The caller id phone number to be displayed on the outbound call. (required).</param>



        /// <param name="OutboundLineCount">The number of outbound lines to be concurrently dialed. Only applicable to non-preview campaigns; only required for agentless..</param>



        /// <param name="RuleSets">Rule sets to be applied while this campaign is dialing..</param>



        /// <param name="SkipPreviewDisabled">Whether or not agents can skip previews without placing a call. Only applicable for preview campaigns..</param>



        /// <param name="PreviewTimeOutSeconds">The number of seconds before a call will be automatically placed on a preview. A value of 0 indicates no automatic placement of calls. Only applicable to preview campaigns..</param>



        /// <param name="AlwaysRunning">Indicates (when true) that the campaign will remain on after contacts are depleted, allowing additional contacts to be appended/added to the contact list and processed by the still-running campaign. The campaign can still be turned off manually..</param>



        /// <param name="ContactSort">The order in which to sort contacts for dialing, based on a column..</param>



        /// <param name="ContactSorts">The order in which to sort contacts for dialing, based on up to four columns..</param>



        /// <param name="NoAnswerTimeout">How long to wait before dispositioning a call as &#39;no-answer&#39;. Default 30 seconds. Only applicable to non-preview campaigns..</param>



        /// <param name="CallAnalysisLanguage">The language the edge will use to analyze the call..</param>



        /// <param name="Priority">The priority of this campaign relative to other campaigns that are running on the same queue. 5 is the highest priority, 1 the lowest..</param>



        /// <param name="ContactListFilters">Filter to apply to the contact list before dialing. Currently a campaign can only have one filter applied..</param>



        public Campaign(string Name = null, int?Version = null, UriReference ContactList = null, UriReference Queue = null, DialingModeEnum?DialingMode = null, UriReference Script = null, UriReference EdgeGroup = null, UriReference Site = null, CampaignStatusEnum?CampaignStatus = null, List <PhoneColumn> PhoneColumns = null, double?AbandonRate = null, List <UriReference> DncLists = null, UriReference CallableTimeSet = null, UriReference CallAnalysisResponseSet = null, List <RestErrorDetail> Errors = null, string CallerName = null, string CallerAddress = null, int?OutboundLineCount = null, List <UriReference> RuleSets = null, bool?SkipPreviewDisabled = null, long?PreviewTimeOutSeconds = null, bool?AlwaysRunning = null, ContactSort ContactSort = null, List <ContactSort> ContactSorts = null, int?NoAnswerTimeout = null, string CallAnalysisLanguage = null, int?Priority = null, List <UriReference> ContactListFilters = null)
        {
            // to ensure "Name" is required (not null)
            if (Name == null)
            {
                throw new InvalidDataException("Name is a required property for Campaign and cannot be null");
            }
            else
            {
                this.Name = Name;
            }



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



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



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



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



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



            this.Version = Version;



            this.Queue = Queue;



            this.Script = Script;



            this.EdgeGroup = EdgeGroup;



            this.Site = Site;



            this.CampaignStatus = CampaignStatus;



            this.AbandonRate = AbandonRate;



            this.DncLists = DncLists;



            this.CallableTimeSet = CallableTimeSet;



            this.CallAnalysisResponseSet = CallAnalysisResponseSet;



            this.Errors = Errors;



            this.OutboundLineCount = OutboundLineCount;



            this.RuleSets = RuleSets;



            this.SkipPreviewDisabled = SkipPreviewDisabled;



            this.PreviewTimeOutSeconds = PreviewTimeOutSeconds;



            this.AlwaysRunning = AlwaysRunning;



            this.ContactSort = ContactSort;



            this.ContactSorts = ContactSorts;



            this.NoAnswerTimeout = NoAnswerTimeout;



            this.CallAnalysisLanguage = CallAnalysisLanguage;



            this.Priority = Priority;



            this.ContactListFilters = ContactListFilters;
        }