Example #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Participant" /> class.
 /// </summary>
 /// <param name="Id">A globally unique identifier for this conversation..</param>
 /// <param name="StartTime">The timestamp when this participant joined the conversation in the provider clock. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="EndTime">The timestamp when this participant disconnected from the conversation in the provider clock. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="ConnectedTime">The timestamp when this participant was connected to the conversation in the provider clock. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="Name">A human readable name identifying the participant..</param>
 /// <param name="UserUri">If this participant represents a user, then this will be an URI that can be used to fetch the user..</param>
 /// <param name="UserId">If this participant represents a user, then this will be the globally unique identifier for the user..</param>
 /// <param name="ExternalContactId">If this participant represents an external contact, then this will be the globally unique identifier for the external contact..</param>
 /// <param name="ExternalOrganizationId">If this participant represents an external org, then this will be the globally unique identifier for the external org..</param>
 /// <param name="QueueId">If present, the queue id that the communication channel came in on..</param>
 /// <param name="GroupId">If present, group of users the participant represents..</param>
 /// <param name="QueueName">If present, the queue name that the communication channel came in on..</param>
 /// <param name="Purpose">A well known string that specifies the purpose of this participant..</param>
 /// <param name="ParticipantType">A well known string that specifies the type of this participant..</param>
 /// <param name="ConsultParticipantId">If this participant is part of a consult transfer, then this will be the participant id of the participant being transferred..</param>
 /// <param name="Address">The address for the this participant. For a phone call this will be the ANI..</param>
 /// <param name="Ani">The address for the this participant. For a phone call this will be the ANI..</param>
 /// <param name="AniName">The ani-based name for this participant..</param>
 /// <param name="Dnis">The address for the this participant. For a phone call this will be the ANI..</param>
 /// <param name="Locale">An ISO 639 language code specifying the locale for this participant.</param>
 /// <param name="WrapupRequired">True iff this participant is required to enter wrapup for this conversation..</param>
 /// <param name="WrapupPrompt">This field controls how the UI prompts the agent for a wrapup..</param>
 /// <param name="WrapupTimeoutMs">Specifies how long a timed ACW session will last..</param>
 /// <param name="WrapupSkipped">The UI sets this field when the agent chooses to skip entering a wrapup for this participant..</param>
 /// <param name="Wrapup">Call wrap up or disposition data..</param>
 /// <param name="ConversationRoutingData">Information on how a communication should be routed to an agent..</param>
 /// <param name="AlertingTimeoutMs">Specifies how long the agent has to answer an interaction before being marked as not responding..</param>
 /// <param name="MonitoredParticipantId">If this participant is a monitor, then this will be the id of the participant that is being monitored..</param>
 /// <param name="Attributes">Additional participant attributes.</param>
 /// <param name="Calls">Calls.</param>
 /// <param name="Callbacks">Callbacks.</param>
 /// <param name="Chats">Chats.</param>
 /// <param name="Cobrowsesessions">Cobrowsesessions.</param>
 /// <param name="Emails">Emails.</param>
 /// <param name="Messages">Messages.</param>
 /// <param name="Screenshares">Screenshares.</param>
 /// <param name="SocialExpressions">SocialExpressions.</param>
 /// <param name="Videos">Videos.</param>
 /// <param name="Evaluations">Evaluations.</param>
 /// <param name="ScreenRecordingState">The current screen recording state for this participant..</param>
 /// <param name="FlaggedReason">The reason specifying why participant flagged the conversation..</param>
 /// <param name="StartAcwTime">The timestamp when this participant started after-call work. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="EndAcwTime">The timestamp when this participant ended after-call work. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 public Participant(string Id = null, DateTime?StartTime = null, DateTime?EndTime = null, DateTime?ConnectedTime = null, string Name = null, string UserUri = null, string UserId = null, string ExternalContactId = null, string ExternalOrganizationId = null, string QueueId = null, string GroupId = null, string QueueName = null, string Purpose = null, string ParticipantType = null, string ConsultParticipantId = null, string Address = null, string Ani = null, string AniName = null, string Dnis = null, string Locale = null, bool?WrapupRequired = null, WrapupPromptEnum?WrapupPrompt = null, int?WrapupTimeoutMs = null, bool?WrapupSkipped = null, Wrapup Wrapup = null, ConversationRoutingData ConversationRoutingData = null, int?AlertingTimeoutMs = null, string MonitoredParticipantId = null, Dictionary <string, string> Attributes = null, List <Call> Calls = null, List <Callback> Callbacks = null, List <ConversationChat> Chats = null, List <Cobrowsesession> Cobrowsesessions = null, List <Email> Emails = null, List <Message> Messages = null, List <Screenshare> Screenshares = null, List <SocialExpression> SocialExpressions = null, List <Video> Videos = null, List <Evaluation> Evaluations = null, ScreenRecordingStateEnum?ScreenRecordingState = null, FlaggedReasonEnum?FlaggedReason = null, DateTime?StartAcwTime = null, DateTime?EndAcwTime = null)
 {
     this.Id                      = Id;
     this.StartTime               = StartTime;
     this.EndTime                 = EndTime;
     this.ConnectedTime           = ConnectedTime;
     this.Name                    = Name;
     this.UserUri                 = UserUri;
     this.UserId                  = UserId;
     this.ExternalContactId       = ExternalContactId;
     this.ExternalOrganizationId  = ExternalOrganizationId;
     this.QueueId                 = QueueId;
     this.GroupId                 = GroupId;
     this.QueueName               = QueueName;
     this.Purpose                 = Purpose;
     this.ParticipantType         = ParticipantType;
     this.ConsultParticipantId    = ConsultParticipantId;
     this.Address                 = Address;
     this.Ani                     = Ani;
     this.AniName                 = AniName;
     this.Dnis                    = Dnis;
     this.Locale                  = Locale;
     this.WrapupRequired          = WrapupRequired;
     this.WrapupPrompt            = WrapupPrompt;
     this.WrapupTimeoutMs         = WrapupTimeoutMs;
     this.WrapupSkipped           = WrapupSkipped;
     this.Wrapup                  = Wrapup;
     this.ConversationRoutingData = ConversationRoutingData;
     this.AlertingTimeoutMs       = AlertingTimeoutMs;
     this.MonitoredParticipantId  = MonitoredParticipantId;
     this.Attributes              = Attributes;
     this.Calls                   = Calls;
     this.Callbacks               = Callbacks;
     this.Chats                   = Chats;
     this.Cobrowsesessions        = Cobrowsesessions;
     this.Emails                  = Emails;
     this.Messages                = Messages;
     this.Screenshares            = Screenshares;
     this.SocialExpressions       = SocialExpressions;
     this.Videos                  = Videos;
     this.Evaluations             = Evaluations;
     this.ScreenRecordingState    = ScreenRecordingState;
     this.FlaggedReason           = FlaggedReason;
     this.StartAcwTime            = StartAcwTime;
     this.EndAcwTime              = EndAcwTime;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ChatMediaParticipant" /> class.
 /// </summary>
 /// <param name="Id">The unique participant ID..</param>
 /// <param name="Name">The display friendly name of the participant..</param>
 /// <param name="Address">The participant address..</param>
 /// <param name="StartTime">The time when this participant first joined the conversation. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="ConnectedTime">The time when this participant went connected for this media (eg: video connected time). Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="EndTime">The time when this participant went disconnected for this media (eg: video disconnected time). Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="StartHoldTime">The time when this participant&#39;s hold started. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="Purpose">The participant&#39;s purpose.  Values can be: &#39;agent&#39;, &#39;user&#39;, &#39;customer&#39;, &#39;external&#39;, &#39;acd&#39;, &#39;ivr.</param>
 /// <param name="State">The participant&#39;s state.  Values can be: &#39;alerting&#39;, &#39;connected&#39;, &#39;disconnected&#39;, &#39;dialing&#39;, &#39;contacting.</param>
 /// <param name="Direction">The participant&#39;s direction.  Values can be: &#39;inbound&#39; or &#39;outbound&#39;.</param>
 /// <param name="DisconnectType">The reason the participant was disconnected from the conversation..</param>
 /// <param name="Held">Value is true when the participant is on hold..</param>
 /// <param name="WrapupRequired">Value is true when the participant requires wrap-up..</param>
 /// <param name="WrapupPrompt">The wrap-up prompt indicating the type of wrap-up to be performed..</param>
 /// <param name="User">The PureCloud user for this participant..</param>
 /// <param name="Queue">The PureCloud queue for this participant..</param>
 /// <param name="Attributes">A list of ad-hoc attributes for the participant..</param>
 /// <param name="ErrorInfo">If the conversation ends in error, contains additional error details..</param>
 /// <param name="Script">The Engage script that should be used by this participant..</param>
 /// <param name="WrapupTimeoutMs">The amount of time the participant has to complete wrap-up..</param>
 /// <param name="WrapupSkipped">Value is true when the participant has skipped wrap-up..</param>
 /// <param name="AlertingTimeoutMs">Specifies how long the agent has to answer an interaction before being marked as not responding..</param>
 /// <param name="Provider">The source provider for the communication..</param>
 /// <param name="ExternalContact">If this participant represents an external contact, then this will be the reference for the external contact..</param>
 /// <param name="ExternalOrganization">If this participant represents an external org, then this will be the reference for the external org..</param>
 /// <param name="Wrapup">Wrapup for this participant, if it has been applied..</param>
 /// <param name="Peer">The peer communication corresponding to a matching leg for this communication..</param>
 /// <param name="FlaggedReason">The reason specifying why participant flagged the conversation..</param>
 /// <param name="JourneyContext">Journey System data/context that is applicable to this communication.  When used for historical purposes, the context should be immutable.  When null, there is no applicable Journey System context..</param>
 /// <param name="ConversationRoutingData">Information on how a communication should be routed to an agent..</param>
 /// <param name="RoomId">The ID of the chat room..</param>
 /// <param name="AvatarImageUrl">If available, the URI to the avatar image of this communication..</param>
 public ChatMediaParticipant(string Id = null, string Name = null, string Address = null, DateTime?StartTime = null, DateTime?ConnectedTime = null, DateTime?EndTime = null, DateTime?StartHoldTime = null, string Purpose = null, StateEnum?State = null, DirectionEnum?Direction = null, DisconnectTypeEnum?DisconnectType = null, bool?Held = null, bool?WrapupRequired = null, string WrapupPrompt = null, DomainEntityRef User = null, DomainEntityRef Queue = null, Dictionary <string, string> Attributes = null, ErrorBody ErrorInfo = null, DomainEntityRef Script = null, int?WrapupTimeoutMs = null, bool?WrapupSkipped = null, int?AlertingTimeoutMs = null, string Provider = null, DomainEntityRef ExternalContact = null, DomainEntityRef ExternalOrganization = null, Wrapup Wrapup = null, string Peer = null, FlaggedReasonEnum?FlaggedReason = null, JourneyContext JourneyContext = null, ConversationRoutingData ConversationRoutingData = null, string RoomId = null, string AvatarImageUrl = null)
 {
     this.Id                      = Id;
     this.Name                    = Name;
     this.Address                 = Address;
     this.StartTime               = StartTime;
     this.ConnectedTime           = ConnectedTime;
     this.EndTime                 = EndTime;
     this.StartHoldTime           = StartHoldTime;
     this.Purpose                 = Purpose;
     this.State                   = State;
     this.Direction               = Direction;
     this.DisconnectType          = DisconnectType;
     this.Held                    = Held;
     this.WrapupRequired          = WrapupRequired;
     this.WrapupPrompt            = WrapupPrompt;
     this.User                    = User;
     this.Queue                   = Queue;
     this.Attributes              = Attributes;
     this.ErrorInfo               = ErrorInfo;
     this.Script                  = Script;
     this.WrapupTimeoutMs         = WrapupTimeoutMs;
     this.WrapupSkipped           = WrapupSkipped;
     this.AlertingTimeoutMs       = AlertingTimeoutMs;
     this.Provider                = Provider;
     this.ExternalContact         = ExternalContact;
     this.ExternalOrganization    = ExternalOrganization;
     this.Wrapup                  = Wrapup;
     this.Peer                    = Peer;
     this.FlaggedReason           = FlaggedReason;
     this.JourneyContext          = JourneyContext;
     this.ConversationRoutingData = ConversationRoutingData;
     this.RoomId                  = RoomId;
     this.AvatarImageUrl          = AvatarImageUrl;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="EmailMediaParticipant" /> class.
 /// </summary>
 /// <param name="Id">The unique participant ID..</param>
 /// <param name="Name">The display friendly name of the participant..</param>
 /// <param name="Address">The participant address..</param>
 /// <param name="StartTime">The time when this participant first joined the conversation. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="ConnectedTime">The time when this participant went connected for this media (eg: video connected time). Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="EndTime">The time when this participant went disconnected for this media (eg: video disconnected time). Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="StartHoldTime">The time when this participant&#39;s hold started. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="Purpose">The participant&#39;s purpose.  Values can be: &#39;agent&#39;, &#39;user&#39;, &#39;customer&#39;, &#39;external&#39;, &#39;acd&#39;, &#39;ivr.</param>
 /// <param name="State">The participant&#39;s state.  Values can be: &#39;alerting&#39;, &#39;connected&#39;, &#39;disconnected&#39;, &#39;dialing&#39;, &#39;contacting.</param>
 /// <param name="Direction">The participant&#39;s direction.  Values can be: &#39;inbound&#39; or &#39;outbound&#39;.</param>
 /// <param name="DisconnectType">The reason the participant was disconnected from the conversation..</param>
 /// <param name="Held">Value is true when the participant is on hold..</param>
 /// <param name="WrapupRequired">Value is true when the participant requires wrap-up..</param>
 /// <param name="WrapupPrompt">The wrap-up prompt indicating the type of wrap-up to be performed..</param>
 /// <param name="User">The PureCloud user for this participant..</param>
 /// <param name="Queue">The PureCloud queue for this participant..</param>
 /// <param name="Attributes">A list of ad-hoc attributes for the participant..</param>
 /// <param name="ErrorInfo">If the conversation ends in error, contains additional error details..</param>
 /// <param name="Script">The Engage script that should be used by this participant..</param>
 /// <param name="WrapupTimeoutMs">The amount of time the participant has to complete wrap-up..</param>
 /// <param name="WrapupSkipped">Value is true when the participant has skipped wrap-up..</param>
 /// <param name="AlertingTimeoutMs">Specifies how long the agent has to answer an interaction before being marked as not responding..</param>
 /// <param name="Provider">The source provider for the communication..</param>
 /// <param name="ExternalContact">If this participant represents an external contact, then this will be the reference for the external contact..</param>
 /// <param name="ExternalOrganization">If this participant represents an external org, then this will be the reference for the external org..</param>
 /// <param name="Wrapup">Wrapup for this participant, if it has been applied..</param>
 /// <param name="Peer">The peer communication corresponding to a matching leg for this communication..</param>
 /// <param name="FlaggedReason">The reason specifying why participant flagged the conversation..</param>
 /// <param name="JourneyContext">Journey System data/context that is applicable to this communication.  When used for historical purposes, the context should be immutable.  When null, there is no applicable Journey System context..</param>
 /// <param name="ConversationRoutingData">Information on how a communication should be routed to an agent..</param>
 /// <param name="StartAcwTime">The timestamp when this participant started after-call work. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="EndAcwTime">The timestamp when this participant ended after-call work. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss.SSSZ.</param>
 /// <param name="Subject">The subject of the email..</param>
 /// <param name="MessagesSent">The number of messages that have been sent in this email conversation..</param>
 /// <param name="AutoGenerated">Indicates that the email was auto-generated like an Out of Office reply..</param>
 /// <param name="DraftAttachments">A list of uploaded attachments on the email draft..</param>
 /// <param name="Spam">Indicates if the inbound email was marked as spam..</param>
 /// <param name="MessageId">A globally unique identifier for the stored content of this communication..</param>
 public EmailMediaParticipant(string Id = null, string Name = null, string Address = null, DateTime?StartTime = null, DateTime?ConnectedTime = null, DateTime?EndTime = null, DateTime?StartHoldTime = null, string Purpose = null, StateEnum?State = null, DirectionEnum?Direction = null, DisconnectTypeEnum?DisconnectType = null, bool?Held = null, bool?WrapupRequired = null, string WrapupPrompt = null, DomainEntityRef User = null, DomainEntityRef Queue = null, Dictionary <string, string> Attributes = null, ErrorBody ErrorInfo = null, DomainEntityRef Script = null, int?WrapupTimeoutMs = null, bool?WrapupSkipped = null, int?AlertingTimeoutMs = null, string Provider = null, DomainEntityRef ExternalContact = null, DomainEntityRef ExternalOrganization = null, Wrapup Wrapup = null, string Peer = null, FlaggedReasonEnum?FlaggedReason = null, JourneyContext JourneyContext = null, ConversationRoutingData ConversationRoutingData = null, DateTime?StartAcwTime = null, DateTime?EndAcwTime = null, string Subject = null, int?MessagesSent = null, bool?AutoGenerated = null, List <Attachment> DraftAttachments = null, bool?Spam = null, string MessageId = null)
 {
     this.Id                      = Id;
     this.Name                    = Name;
     this.Address                 = Address;
     this.StartTime               = StartTime;
     this.ConnectedTime           = ConnectedTime;
     this.EndTime                 = EndTime;
     this.StartHoldTime           = StartHoldTime;
     this.Purpose                 = Purpose;
     this.State                   = State;
     this.Direction               = Direction;
     this.DisconnectType          = DisconnectType;
     this.Held                    = Held;
     this.WrapupRequired          = WrapupRequired;
     this.WrapupPrompt            = WrapupPrompt;
     this.User                    = User;
     this.Queue                   = Queue;
     this.Attributes              = Attributes;
     this.ErrorInfo               = ErrorInfo;
     this.Script                  = Script;
     this.WrapupTimeoutMs         = WrapupTimeoutMs;
     this.WrapupSkipped           = WrapupSkipped;
     this.AlertingTimeoutMs       = AlertingTimeoutMs;
     this.Provider                = Provider;
     this.ExternalContact         = ExternalContact;
     this.ExternalOrganization    = ExternalOrganization;
     this.Wrapup                  = Wrapup;
     this.Peer                    = Peer;
     this.FlaggedReason           = FlaggedReason;
     this.JourneyContext          = JourneyContext;
     this.ConversationRoutingData = ConversationRoutingData;
     this.StartAcwTime            = StartAcwTime;
     this.EndAcwTime              = EndAcwTime;
     this.Subject                 = Subject;
     this.MessagesSent            = MessagesSent;
     this.AutoGenerated           = AutoGenerated;
     this.DraftAttachments        = DraftAttachments;
     this.Spam                    = Spam;
     this.MessageId               = MessageId;
 }