/// <summary> /// Initializes a new instance of the <see cref="QueueRequest" /> class. /// </summary> /// <param name="Name">The queue name (required).</param> /// <param name="Division">The division to which this entity belongs..</param> /// <param name="Description">The queue description..</param> /// <param name="DateCreated">The date the queue was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z.</param> /// <param name="DateModified">The date of the last modification to the queue. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z.</param> /// <param name="ModifiedBy">The ID of the user that last modified the queue..</param> /// <param name="CreatedBy">The ID of the user that created the queue..</param> /// <param name="MediaSettings">The media settings for the queue. Valid key values: CALL, CALLBACK, CHAT, EMAIL, MESSAGE, SOCIAL_EXPRESSION, VIDEO_COMM.</param> /// <param name="RoutingRules">The routing rules for the queue, used for Preferred Agent Routing..</param> /// <param name="Bullseye">The bullseye settings for the queue..</param> /// <param name="AcwSettings">The ACW settings for the queue..</param> /// <param name="SkillEvaluationMethod">The skill evaluation method to use when routing conversations..</param> /// <param name="MemberGroups">The groups of agents associated with the queue, if any. Queue membership will update to match group membership changes..</param> /// <param name="QueueFlow">The in-queue flow to use for call conversations waiting in queue..</param> /// <param name="EmailInQueueFlow">The in-queue flow to use for email conversations waiting in queue..</param> /// <param name="MessageInQueueFlow">The in-queue flow to use for message conversations waiting in queue..</param> /// <param name="WhisperPrompt">The prompt used for whisper on the queue, if configured..</param> /// <param name="OnHoldPrompt">The audio to be played when calls on this queue are on hold. If not configured, the default on-hold music will play..</param> /// <param name="AutoAnswerOnly">Specifies whether the configured whisper should play for all ACD calls, or only for those which are auto-answered..</param> /// <param name="EnableTranscription">Indicates whether voice transcription is enabled for this queue..</param> /// <param name="EnableManualAssignment">Indicates whether manual assignment is enabled for this queue..</param> /// <param name="AgentOwnedRouting">The Agent Owned Routing settings for the queue.</param> /// <param name="CallingPartyName">The name to use for caller identification for outbound calls from this queue..</param> /// <param name="CallingPartyNumber">The phone number to use for caller identification for outbound calls from this queue..</param> /// <param name="DefaultScripts">The default script Ids for the communication types..</param> /// <param name="OutboundMessagingAddresses">The messaging addresses for the queue..</param> /// <param name="OutboundEmailAddress">OutboundEmailAddress.</param> /// <param name="PeerId">The ID of an associated external queue..</param> public QueueRequest(string Name = null, WritableDivision Division = null, string Description = null, DateTime?DateCreated = null, DateTime?DateModified = null, string ModifiedBy = null, string CreatedBy = null, Dictionary <string, MediaSetting> MediaSettings = null, List <RoutingRule> RoutingRules = null, Bullseye Bullseye = null, AcwSettings AcwSettings = null, SkillEvaluationMethodEnum?SkillEvaluationMethod = null, List <MemberGroup> MemberGroups = null, DomainEntityRef QueueFlow = null, DomainEntityRef EmailInQueueFlow = null, DomainEntityRef MessageInQueueFlow = null, DomainEntityRef WhisperPrompt = null, DomainEntityRef OnHoldPrompt = null, bool?AutoAnswerOnly = null, bool?EnableTranscription = null, bool?EnableManualAssignment = null, AgentOwnedRouting AgentOwnedRouting = null, string CallingPartyName = null, string CallingPartyNumber = null, Dictionary <string, Script> DefaultScripts = null, QueueMessagingAddresses OutboundMessagingAddresses = null, QueueEmailAddress OutboundEmailAddress = null, string PeerId = null) { this.Name = Name; this.Division = Division; this.Description = Description; this.DateCreated = DateCreated; this.DateModified = DateModified; this.ModifiedBy = ModifiedBy; this.CreatedBy = CreatedBy; this.MediaSettings = MediaSettings; this.RoutingRules = RoutingRules; this.Bullseye = Bullseye; this.AcwSettings = AcwSettings; this.SkillEvaluationMethod = SkillEvaluationMethod; this.MemberGroups = MemberGroups; this.QueueFlow = QueueFlow; this.EmailInQueueFlow = EmailInQueueFlow; this.MessageInQueueFlow = MessageInQueueFlow; this.WhisperPrompt = WhisperPrompt; this.OnHoldPrompt = OnHoldPrompt; this.AutoAnswerOnly = AutoAnswerOnly; this.EnableTranscription = EnableTranscription; this.EnableManualAssignment = EnableManualAssignment; this.AgentOwnedRouting = AgentOwnedRouting; this.CallingPartyName = CallingPartyName; this.CallingPartyNumber = CallingPartyNumber; this.DefaultScripts = DefaultScripts; this.OutboundMessagingAddresses = OutboundMessagingAddresses; this.OutboundEmailAddress = OutboundEmailAddress; this.PeerId = PeerId; }
/// <summary> /// Initializes a new instance of the <see cref="Queue" /> class. /// </summary> /// <param name="Name">Name.</param> /// <param name="Division">The division to which this entity belongs..</param> /// <param name="Description">The queue description..</param> /// <param name="DateCreated">The date the queue was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param> /// <param name="DateModified">The date of the last modification to the queue. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param> /// <param name="ModifiedBy">The ID of the user that last modified the queue..</param> /// <param name="CreatedBy">The ID of the user that created the queue..</param> /// <param name="MediaSettings">The media settings for the queue. Valid key values: CALL, CALLBACK, CHAT, EMAIL, MESSAGE, SOCIAL_EXPRESSION, VIDEO_COMM.</param> /// <param name="Bullseye">The bulls-eye settings for the queue..</param> /// <param name="AcwSettings">The ACW settings for the queue..</param> /// <param name="SkillEvaluationMethod">The skill evaluation method to use when routing conversations..</param> /// <param name="QueueFlow">The in-queue flow to use for conversations waiting in queue..</param> /// <param name="WhisperPrompt">The prompt used for whisper on the queue, if configured..</param> /// <param name="AutoAnswerOnly">Specifies whether the configured whisper should play for all ACD calls, or only for those which are auto-answered..</param> /// <param name="CallingPartyName">The name to use for caller identification for outbound calls from this queue..</param> /// <param name="CallingPartyNumber">The phone number to use for caller identification for outbound calls from this queue..</param> /// <param name="DefaultScripts">The default script Ids for the communication types..</param> /// <param name="OutboundMessagingAddresses">The messaging addresses for the queue..</param> /// <param name="OutboundEmailAddress">OutboundEmailAddress.</param> public Queue(string Name = null, Division Division = null, string Description = null, DateTime?DateCreated = null, DateTime?DateModified = null, string ModifiedBy = null, string CreatedBy = null, Dictionary <string, MediaSetting> MediaSettings = null, Bullseye Bullseye = null, AcwSettings AcwSettings = null, SkillEvaluationMethodEnum?SkillEvaluationMethod = null, DomainEntityRef QueueFlow = null, DomainEntityRef WhisperPrompt = null, bool?AutoAnswerOnly = null, string CallingPartyName = null, string CallingPartyNumber = null, Dictionary <string, Script> DefaultScripts = null, QueueMessagingAddresses OutboundMessagingAddresses = null, QueueEmailAddress OutboundEmailAddress = null) { this.Name = Name; this.Division = Division; this.Description = Description; this.DateCreated = DateCreated; this.DateModified = DateModified; this.ModifiedBy = ModifiedBy; this.CreatedBy = CreatedBy; this.MediaSettings = MediaSettings; this.Bullseye = Bullseye; this.AcwSettings = AcwSettings; this.SkillEvaluationMethod = SkillEvaluationMethod; this.QueueFlow = QueueFlow; this.WhisperPrompt = WhisperPrompt; this.AutoAnswerOnly = AutoAnswerOnly; this.CallingPartyName = CallingPartyName; this.CallingPartyNumber = CallingPartyNumber; this.DefaultScripts = DefaultScripts; this.OutboundMessagingAddresses = OutboundMessagingAddresses; this.OutboundEmailAddress = OutboundEmailAddress; }
/// <summary> /// Initializes a new instance of the <see cref="CreateQueueRequest" /> class. /// </summary> /// <param name="Name">Name.</param> /// <param name="Division">The division to which this entity belongs..</param> /// <param name="Description">The queue description..</param> /// <param name="Version">The current version of the queue..</param> /// <param name="DateCreated">The date the queue was created. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param> /// <param name="DateModified">The date of the last modification to the queue. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param> /// <param name="ModifiedBy">The ID of the user that last modified the queue..</param> /// <param name="CreatedBy">The ID of the user that created the queue..</param> /// <param name="State">Indicates if the queue is active, inactive, or deleted..</param> /// <param name="ModifiedByApp">The application that last modified the queue..</param> /// <param name="CreatedByApp">The application that created the queue..</param> /// <param name="MediaSettings">The media settings for the queue. Valid Key Values: CALL, CALLBACK, CHAT, EMAIL, SOCIAL_EXPRESSION (required).</param> /// <param name="Bullseye">The bulls-eye settings for the queue..</param> /// <param name="AcwSettings">The ACW settings for the queue. (required).</param> /// <param name="SkillEvaluationMethod">The skill evaluation method to use when routing conversations. (required).</param> /// <param name="QueueFlow">The in-queue flow to use for conversations waiting in queue..</param> /// <param name="WhisperPrompt">The prompt used for whisper on the queue, if configured..</param> /// <param name="AutoAnswerOnly">Specifies whether the configured whisper should play for all ACD calls, or only for those which are auto-answered..</param> /// <param name="CallingPartyName">The name to use for caller identification for outbound calls from this queue..</param> /// <param name="CallingPartyNumber">The phone number to use for caller identification for outbound calls from this queue..</param> /// <param name="DefaultScripts">The default script Ids for the communication types..</param> /// <param name="OutboundEmailAddress">OutboundEmailAddress.</param> /// <param name="SourceQueueId">The id of an existing queue to copy the settings from when creating a new queue..</param> /// <param name="MemberCount">MemberCount.</param> public CreateQueueRequest(string Name = null, Division Division = null, string Description = null, int?Version = null, DateTime?DateCreated = null, DateTime?DateModified = null, string ModifiedBy = null, string CreatedBy = null, StateEnum?State = null, string ModifiedByApp = null, string CreatedByApp = null, Dictionary <string, MediaSetting> MediaSettings = null, Bullseye Bullseye = null, AcwSettings AcwSettings = null, SkillEvaluationMethodEnum?SkillEvaluationMethod = null, UriReference QueueFlow = null, UriReference WhisperPrompt = null, bool?AutoAnswerOnly = null, string CallingPartyName = null, string CallingPartyNumber = null, Dictionary <string, Script> DefaultScripts = null, QueueEmailAddress OutboundEmailAddress = null, string SourceQueueId = null, int?MemberCount = null) { // to ensure "MediaSettings" is required (not null) if (MediaSettings == null) { throw new InvalidDataException("MediaSettings is a required property for CreateQueueRequest and cannot be null"); } else { this.MediaSettings = MediaSettings; } // to ensure "AcwSettings" is required (not null) if (AcwSettings == null) { throw new InvalidDataException("AcwSettings is a required property for CreateQueueRequest and cannot be null"); } else { this.AcwSettings = AcwSettings; } // to ensure "SkillEvaluationMethod" is required (not null) if (SkillEvaluationMethod == null) { throw new InvalidDataException("SkillEvaluationMethod is a required property for CreateQueueRequest and cannot be null"); } else { this.SkillEvaluationMethod = SkillEvaluationMethod; } this.Name = Name; this.Division = Division; this.Description = Description; this.Version = Version; this.DateCreated = DateCreated; this.DateModified = DateModified; this.ModifiedBy = ModifiedBy; this.CreatedBy = CreatedBy; this.State = State; this.ModifiedByApp = ModifiedByApp; this.CreatedByApp = CreatedByApp; this.Bullseye = Bullseye; this.QueueFlow = QueueFlow; this.WhisperPrompt = WhisperPrompt; this.AutoAnswerOnly = AutoAnswerOnly; this.CallingPartyName = CallingPartyName; this.CallingPartyNumber = CallingPartyNumber; this.DefaultScripts = DefaultScripts; this.OutboundEmailAddress = OutboundEmailAddress; this.SourceQueueId = SourceQueueId; this.MemberCount = MemberCount; }
/// <summary> /// Initializes a new instance of the <see cref="InboundRoute" /> class. /// </summary> /// <param name="Name">Name.</param> /// <param name="Pattern">The search pattern that the mailbox name should match. (required).</param> /// <param name="Queue">The queue to route the emails to..</param> /// <param name="Priority">The priority to use for routing..</param> /// <param name="Skills">The skills to use for routing..</param> /// <param name="Language">The language to use for routing..</param> /// <param name="FromName">The sender name to use for outgoing replies. (required).</param> /// <param name="FromEmail">The sender email to use for outgoing replies. (required).</param> /// <param name="Flow">The flow to use for processing the email..</param> /// <param name="ReplyEmailAddress">The route to use for email replies..</param> public InboundRoute(string Name = null, string Pattern = null, UriReference Queue = null, int?Priority = null, List <UriReference> Skills = null, UriReference Language = null, string FromName = null, string FromEmail = null, UriReference Flow = null, QueueEmailAddress ReplyEmailAddress = null) { // to ensure "Pattern" is required (not null) if (Pattern == null) { throw new InvalidDataException("Pattern is a required property for InboundRoute and cannot be null"); } else { this.Pattern = Pattern; } // to ensure "FromName" is required (not null) if (FromName == null) { throw new InvalidDataException("FromName is a required property for InboundRoute and cannot be null"); } else { this.FromName = FromName; } // to ensure "FromEmail" is required (not null) if (FromEmail == null) { throw new InvalidDataException("FromEmail is a required property for InboundRoute and cannot be null"); } else { this.FromEmail = FromEmail; } this.Name = Name; this.Queue = Queue; this.Priority = Priority; this.Skills = Skills; this.Language = Language; this.Flow = Flow; this.ReplyEmailAddress = ReplyEmailAddress; }
/// <summary> /// Initializes a new instance of the <see cref="InboundRoute" /> class. /// </summary> /// <param name="Name">Name.</param> /// <param name="Pattern">The search pattern that the mailbox name should match. (required).</param> /// <param name="Queue">The queue to route the emails to..</param> /// <param name="Priority">The priority to use for routing..</param> /// <param name="Skills">The skills to use for routing..</param> /// <param name="Language">The language to use for routing..</param> /// <param name="FromName">The sender name to use for outgoing replies. (required).</param> /// <param name="FromEmail">The sender email to use for outgoing replies..</param> /// <param name="Flow">The flow to use for processing the email..</param> /// <param name="ReplyEmailAddress">The route to use for email replies..</param> /// <param name="AutoBcc">The recipients that should be automatically blind copied on outbound emails associated with this InboundRoute..</param> /// <param name="SpamFlow">The flow to use for processing inbound emails that have been marked as spam..</param> public InboundRoute(string Name = null, string Pattern = null, DomainEntityRef Queue = null, int?Priority = null, List <DomainEntityRef> Skills = null, DomainEntityRef Language = null, string FromName = null, string FromEmail = null, DomainEntityRef Flow = null, QueueEmailAddress ReplyEmailAddress = null, List <EmailAddress> AutoBcc = null, DomainEntityRef SpamFlow = null) { this.Name = Name; this.Pattern = Pattern; this.Queue = Queue; this.Priority = Priority; this.Skills = Skills; this.Language = Language; this.FromName = FromName; this.FromEmail = FromEmail; this.Flow = Flow; this.ReplyEmailAddress = ReplyEmailAddress; this.AutoBcc = AutoBcc; this.SpamFlow = SpamFlow; }