-
Notifications
You must be signed in to change notification settings - Fork 13
/
emailmediaparticipant.go
174 lines (94 loc) · 6.14 KB
/
emailmediaparticipant.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
package platformclientv2
import (
"time"
"encoding/json"
"strconv"
"strings"
)
// Emailmediaparticipant
type Emailmediaparticipant struct {
// Id - The unique participant ID.
Id *string `json:"id,omitempty"`
// Name - The display friendly name of the participant.
Name *string `json:"name,omitempty"`
// Address - The participant address.
Address *string `json:"address,omitempty"`
// 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[.mmm]Z
StartTime *time.Time `json:"startTime,omitempty"`
// 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[.mmm]Z
ConnectedTime *time.Time `json:"connectedTime,omitempty"`
// 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[.mmm]Z
EndTime *time.Time `json:"endTime,omitempty"`
// StartHoldTime - The time when this participant's hold started. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z
StartHoldTime *time.Time `json:"startHoldTime,omitempty"`
// Purpose - The participant's purpose. Values can be: 'agent', 'user', 'customer', 'external', 'acd', 'ivr
Purpose *string `json:"purpose,omitempty"`
// State - The participant's state. Values can be: 'alerting', 'connected', 'disconnected', 'dialing', 'contacting
State *string `json:"state,omitempty"`
// Direction - The participant's direction. Values can be: 'inbound' or 'outbound'
Direction *string `json:"direction,omitempty"`
// DisconnectType - The reason the participant was disconnected from the conversation.
DisconnectType *string `json:"disconnectType,omitempty"`
// Held - Value is true when the participant is on hold.
Held *bool `json:"held,omitempty"`
// WrapupRequired - Value is true when the participant requires wrap-up.
WrapupRequired *bool `json:"wrapupRequired,omitempty"`
// WrapupPrompt - The wrap-up prompt indicating the type of wrap-up to be performed.
WrapupPrompt *string `json:"wrapupPrompt,omitempty"`
// User - The PureCloud user for this participant.
User *Domainentityref `json:"user,omitempty"`
// Queue - The PureCloud queue for this participant.
Queue *Domainentityref `json:"queue,omitempty"`
// Team - The PureCloud team for this participant.
Team *Domainentityref `json:"team,omitempty"`
// Attributes - A list of ad-hoc attributes for the participant.
Attributes *map[string]string `json:"attributes,omitempty"`
// ErrorInfo - If the conversation ends in error, contains additional error details.
ErrorInfo *Errorinfo `json:"errorInfo,omitempty"`
// Script - The Engage script that should be used by this participant.
Script *Domainentityref `json:"script,omitempty"`
// WrapupTimeoutMs - The amount of time the participant has to complete wrap-up.
WrapupTimeoutMs *int `json:"wrapupTimeoutMs,omitempty"`
// WrapupSkipped - Value is true when the participant has skipped wrap-up.
WrapupSkipped *bool `json:"wrapupSkipped,omitempty"`
// AlertingTimeoutMs - Specifies how long the agent has to answer an interaction before being marked as not responding.
AlertingTimeoutMs *int `json:"alertingTimeoutMs,omitempty"`
// Provider - The source provider for the communication.
Provider *string `json:"provider,omitempty"`
// ExternalContact - If this participant represents an external contact, then this will be the reference for the external contact.
ExternalContact *Domainentityref `json:"externalContact,omitempty"`
// ExternalOrganization - If this participant represents an external org, then this will be the reference for the external org.
ExternalOrganization *Domainentityref `json:"externalOrganization,omitempty"`
// Wrapup - Wrapup for this participant, if it has been applied.
Wrapup *Wrapup `json:"wrapup,omitempty"`
// Peer - The peer communication corresponding to a matching leg for this communication.
Peer *string `json:"peer,omitempty"`
// FlaggedReason - The reason specifying why participant flagged the conversation.
FlaggedReason *string `json:"flaggedReason,omitempty"`
// 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.
JourneyContext *Journeycontext `json:"journeyContext,omitempty"`
// ConversationRoutingData - Information on how a communication should be routed to an agent.
ConversationRoutingData *Conversationroutingdata `json:"conversationRoutingData,omitempty"`
// 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[.mmm]Z
StartAcwTime *time.Time `json:"startAcwTime,omitempty"`
// 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[.mmm]Z
EndAcwTime *time.Time `json:"endAcwTime,omitempty"`
// Subject - The subject of the email.
Subject *string `json:"subject,omitempty"`
// MessagesSent - The number of messages that have been sent in this email conversation.
MessagesSent *int `json:"messagesSent,omitempty"`
// AutoGenerated - Indicates that the email was auto-generated like an Out of Office reply.
AutoGenerated *bool `json:"autoGenerated,omitempty"`
// DraftAttachments - A list of uploaded attachments on the email draft.
DraftAttachments *[]Attachment `json:"draftAttachments,omitempty"`
// Spam - Indicates if the inbound email was marked as spam.
Spam *bool `json:"spam,omitempty"`
// MessageId - A globally unique identifier for the stored content of this communication.
MessageId *string `json:"messageId,omitempty"`
}
// String returns a JSON representation of the model
func (o *Emailmediaparticipant) String() string {
j, _ := json.Marshal(o)
str, _ := strconv.Unquote(strings.Replace(strconv.Quote(string(j)), `\\u`, `\u`, -1))
return str
}