Documentation
¶
Index ¶
- Constants
- Variables
- func Fetch[T Fetchable, PT interface{ ... }](context context.Context, client *Client, parameters ...any) (*T, string, error)
- func FetchAll[T Fetchable, PT interface{ ... }](context context.Context, client *Client, parameters ...interface{}) ([]*T, string, error)
- func FetchBy[T Fetchable, PT interface{ ... }](context context.Context, client *Client, match func(T) bool, ...) (*T, string, error)
- func FetchWithStringID[T FetchableByStringID, PT interface{ ... }](context context.Context, client *Client, parameters ...any) (*T, string, error)
- func New[T core.Identifiable, PT interface{ ... }](context context.Context, client *Client, parameters ...any) *T
- type ACWSettings
- type APIError
- func (e APIError) As(target interface{}) bool
- func (e APIError) Clone() *APIError
- func (e APIError) Error() string
- func (e APIError) Is(target error) bool
- func (e APIError) SetCorrelationID(correlationID string) APIError
- func (e *APIError) UnmarshalJSON(payload []byte) (err error)
- func (e APIError) With(what string, values ...interface{}) error
- func (e APIError) WithParams(what string, values map[string]string) error
- func (e APIError) WithStack() error
- type APIErrorDetails
- type AccessToken
- func NewAccessToken(token string, expiresOn time.Time) *AccessToken
- func NewAccessTokenWithDuration(token string, expiresIn time.Duration) *AccessToken
- func NewAccessTokenWithDurationAndType(tokenType, token string, expiresIn time.Duration) *AccessToken
- func NewAccessTokenWithType(tokenType, token string, expiresOn time.Time) *AccessToken
- func (token AccessToken) ExpiresIn() time.Duration
- func (token AccessToken) IsExpired() bool
- func (token AccessToken) IsValid() bool
- func (token *AccessToken) LoadFromCookie(r *http.Request, cookieName string) *AccessToken
- func (token AccessToken) MarshalJSON() ([]byte, error)
- func (token AccessToken) Redact() any
- func (token *AccessToken) Reset()
- func (token AccessToken) SaveToCookie(w http.ResponseWriter, cookieName string)
- func (token AccessToken) String() string
- func (token *AccessToken) UnmarshalJSON(payload []byte) (err error)
- type Address
- type Addressable
- type AddressableByStringID
- type AddressableEntityRef
- type AgentlessMessage
- type AgentlessMessageResult
- type AnswerOption
- type Attachment
- type Authorizable
- type Authorization
- type AuthorizationCodeGrant
- type AuthorizationDivision
- type AuthorizationGrant
- type AuthorizationGrantPolicy
- type AuthorizationGrantRole
- type AuthorizationScope
- type AuthorizationSubject
- func (subject AuthorizationSubject) CheckScopes(scopes ...string) (permitted []string, denied []string)
- func (subject AuthorizationSubject) GetID() uuid.UUID
- func (subject AuthorizationSubject) GetURI(ids ...uuid.UUID) URI
- func (subject *AuthorizationSubject) Initialize(parameters ...interface{})
- func (subject AuthorizationSubject) String() string
- type Biography
- type BooleanCollectionSlotEntity
- func (entity BooleanCollectionSlotEntity) GetName() string
- func (entity BooleanCollectionSlotEntity) GetType() string
- func (entity BooleanCollectionSlotEntity) MarshalJSON() ([]byte, error)
- func (entity BooleanCollectionSlotEntity) ParseValue(value string) (SlotEntity, error)
- func (entity BooleanCollectionSlotEntity) String() string
- func (entity *BooleanCollectionSlotEntity) UnmarshalJSON(data []byte) (err error)
- func (entity *BooleanCollectionSlotEntity) Validate() error
- type BooleanSlotEntity
- func (entity BooleanSlotEntity) GetName() string
- func (entity BooleanSlotEntity) GetType() string
- func (entity BooleanSlotEntity) MarshalJSON() ([]byte, error)
- func (entity BooleanSlotEntity) ParseValue(value string) (SlotEntity, error)
- func (entity BooleanSlotEntity) String() string
- func (entity *BooleanSlotEntity) UnmarshalJSON(data []byte) (err error)
- func (entity *BooleanSlotEntity) Validate() error
- type BotConnectorErrorInfo
- type BotConnectorIncomingMessageRequest
- func (request BotConnectorIncomingMessageRequest) GetType() string
- func (request BotConnectorIncomingMessageRequest) MarshalJSON() ([]byte, error)
- func (request BotConnectorIncomingMessageRequest) Redact() any
- func (request *BotConnectorIncomingMessageRequest) UnmarshalJSON(data []byte) error
- func (request *BotConnectorIncomingMessageRequest) Validate() error
- type BotConnectorIncomingMessageResponse
- func (response BotConnectorIncomingMessageResponse) MarshalJSON() ([]byte, error)
- func (response BotConnectorIncomingMessageResponse) Redact() any
- func (response *BotConnectorIncomingMessageResponse) UnmarshalJSON(data []byte) error
- func (response *BotConnectorIncomingMessageResponse) Validate() error
- type BotConnectorOutgoingMessageRequest
- type BotConnectorOutgoingMessageResponse
- type ButtonResponse
- type Calibration
- type Card
- type CardAction
- type ChatMember
- type Client
- func (client *Client) AuthorizeHandler() func(http.Handler) http.Handler
- func (client *Client) CheckScopes(context context.Context, scopes ...string) (permitted []string, denied []string, correlationID string, err error)
- func (client *Client) CheckScopesWithID(context context.Context, id core.Identifiable, scopes ...string) (permitted []string, denied []string, correlationID string, err error)
- func (client *Client) CreateNotificationChannel(context context.Context) (channel *NotificationChannel, correlationID string, err error)
- func (client *Client) CreateOpenMessagingIntegration(context context.Context, name string, webhookURL *url.URL, token string, ...) (integration *OpenMessagingIntegration, correlationID string, err error)
- func (client *Client) Delete(context context.Context, path URI, results interface{}) (correlationID string, err error)
- func (client *Client) DeleteCookie(w http.ResponseWriter)
- func (client *Client) FetchEntities(context context.Context, uri URI) (values [][]byte, correlationID string, err error)
- func (client *Client) Get(context context.Context, path URI, results interface{}) (correlationID string, err error)
- func (client *Client) GetAvailableNotificationTopics(context context.Context, properties ...string) (definitions []NotificationTopicDefinition, correlationID string, err error)
- func (client Client) GetLogger(context context.Context) *logger.Logger
- func (client *Client) GetMyOrganization(context context.Context) (organization *Organization, correlationID string, err error)
- func (client *Client) GetMyUser(context context.Context, properties ...string) (*User, error)
- func (client *Client) HttpHandler() func(http.Handler) http.Handler
- func (client *Client) IsAuthorized() bool
- func (client *Client) LoggedInHandler() func(http.Handler) http.Handler
- func (client *Client) Login(context context.Context) (correlationID string, err error)
- func (client *Client) LoginWithAuthorizationGrant(context context.Context, grant Authorizable) (correlationID string, err error)
- func (client *Client) Logout(context context.Context)
- func (client *Client) LogoutHandler() func(http.Handler) http.Handler
- func (client *Client) Patch(context context.Context, path URI, payload, results interface{}) (correlationID string, err error)
- func (client *Client) Post(context context.Context, path URI, payload, results interface{}) (correlationID string, err error)
- func (client *Client) Put(context context.Context, path URI, payload, results interface{}) (correlationID string, err error)
- func (client *Client) SearchExternalContact(context context.Context, value string) (contact *ExternalContact, correlationID string, err error)
- func (client *Client) SendRequest(context context.Context, uri URI, options *request.Options, ...) (correlationID string, err error)
- func (client *Client) SetAuthorizationGrant(grant Authorizable) *Client
- func (client *Client) SetLogger(log *logger.Logger) *Client
- func (client *Client) SetRegion(region string) *Client
- func (client *Client) ToContext(parent context.Context) context.Context
- type ClientCredentialsGrant
- type ClientOptions
- type CobrowseEvent
- type CobrowseSession
- type Contact
- type Conversation
- func (conversation Conversation) AssociateExternalContact(context context.Context, contact *ExternalContact, communicationID uuid.UUID, ...) (correlationID string, err error)
- func (conversation Conversation) Disconnect(context context.Context, identifiable Identifiable) (correlationID string, err error)
- func (conversation Conversation) FetchRecordings(context context.Context) (recordings []Recording, correlationID string, err error)
- func (conversation Conversation) GetID() uuid.UUID
- func (conversation Conversation) GetParticipantByPurpose(purpose string) (participant *Participant, found bool)
- func (conversation Conversation) GetURI(ids ...uuid.UUID) URI
- func (conversation *Conversation) Initialize(parameters ...interface{})
- func (conversation Conversation) String() string
- func (conversation Conversation) UpdateState(context context.Context, identifiable Identifiable, state string) (correlationID string, err error)
- type ConversationACDEndTopic
- func (topic ConversationACDEndTopic) GetTargets() []Identifiable
- func (topic ConversationACDEndTopic) GetType() string
- func (topic ConversationACDEndTopic) String() string
- func (topic *ConversationACDEndTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationACDEndTopic) With(targets ...Identifiable) NotificationTopic
- type ConversationACDStartTopic
- func (topic ConversationACDStartTopic) GetTargets() []Identifiable
- func (topic ConversationACDStartTopic) GetType() string
- func (topic ConversationACDStartTopic) String() string
- func (topic *ConversationACDStartTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationACDStartTopic) With(targets ...Identifiable) NotificationTopic
- type ConversationACWTopic
- func (topic ConversationACWTopic) GetTargets() []Identifiable
- func (topic ConversationACWTopic) GetType() string
- func (topic ConversationACWTopic) String() string
- func (topic *ConversationACWTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationACWTopic) With(targets ...Identifiable) NotificationTopic
- type ConversationAttributesTopic
- func (topic ConversationAttributesTopic) GetTargets() []Identifiable
- func (topic ConversationAttributesTopic) GetType() string
- func (topic ConversationAttributesTopic) String() string
- func (topic *ConversationAttributesTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationAttributesTopic) With(targets ...Identifiable) NotificationTopic
- type ConversationCall
- type ConversationCallback
- type ConversationChat
- func (conversation ConversationChat) Disconnect(context context.Context, identifiable Identifiable) (correlationID string, err error)
- func (conversation ConversationChat) GetID() uuid.UUID
- func (conversation ConversationChat) GetURI(ids ...uuid.UUID) URI
- func (conversation *ConversationChat) Initialize(parameters ...interface{})
- func (conversation ConversationChat) Post(context context.Context, member Identifiable, text string) (correlationID string, err error)
- func (conversation ConversationChat) SetTyping(context context.Context, member Identifiable) (correlationID string, err error)
- func (conversation ConversationChat) String() string
- func (conversation ConversationChat) Transfer(context context.Context, identifiable Identifiable, queue Identifiable) (correlationID string, err error)
- func (conversation *ConversationChat) UnmarshalJSON(payload []byte) (err error)
- func (conversation ConversationChat) UpdateState(context context.Context, identifiable Identifiable, state string) (correlationID string, err error)
- func (conversation ConversationChat) Wrapup(context context.Context, identifiable Identifiable, wrapup *Wrapup) (correlationID string, err error)
- type ConversationChatMessageTopic
- func (topic ConversationChatMessageTopic) GetTargets() []Identifiable
- func (topic ConversationChatMessageTopic) GetType() string
- func (topic ConversationChatMessageTopic) String() string
- func (topic ConversationChatMessageTopic) TopicNameWith(identifiables ...Identifiable) string
- func (topic *ConversationChatMessageTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationChatMessageTopic) With(targets ...Identifiable) NotificationTopic
- type ConversationContactTopic
- func (topic ConversationContactTopic) GetTargets() []Identifiable
- func (topic ConversationContactTopic) GetType() string
- func (topic ConversationContactTopic) String() string
- func (topic *ConversationContactTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationContactTopic) With(targets ...Identifiable) NotificationTopic
- type ConversationCustomerEndTopic
- func (topic ConversationCustomerEndTopic) GetTargets() []Identifiable
- func (topic ConversationCustomerEndTopic) GetType() string
- func (topic ConversationCustomerEndTopic) String() string
- func (topic *ConversationCustomerEndTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationCustomerEndTopic) With(targets ...Identifiable) NotificationTopic
- type ConversationCustomerStartTopic
- func (topic ConversationCustomerStartTopic) GetTargets() []Identifiable
- func (topic ConversationCustomerStartTopic) GetType() string
- func (topic ConversationCustomerStartTopic) String() string
- func (topic *ConversationCustomerStartTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationCustomerStartTopic) With(targets ...Identifiable) NotificationTopic
- type ConversationEmail
- type ConversationFlowEndTopic
- func (topic ConversationFlowEndTopic) GetTargets() []Identifiable
- func (topic ConversationFlowEndTopic) GetType() string
- func (topic ConversationFlowEndTopic) String() string
- func (topic *ConversationFlowEndTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationFlowEndTopic) With(targets ...Identifiable) NotificationTopic
- type ConversationFlowStartTopic
- func (topic ConversationFlowStartTopic) GetTargets() []Identifiable
- func (topic ConversationFlowStartTopic) GetType() string
- func (topic ConversationFlowStartTopic) String() string
- func (topic *ConversationFlowStartTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationFlowStartTopic) With(targets ...Identifiable) NotificationTopic
- type ConversationMessage
- type ConversationOutboundTopic
- func (topic ConversationOutboundTopic) GetTargets() []Identifiable
- func (topic ConversationOutboundTopic) GetType() string
- func (topic ConversationOutboundTopic) String() string
- func (topic *ConversationOutboundTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationOutboundTopic) With(targets ...Identifiable) NotificationTopic
- type ConversationRoutingData
- type ConversationUserEndTopic
- func (topic ConversationUserEndTopic) GetTargets() []Identifiable
- func (topic ConversationUserEndTopic) GetType() string
- func (topic ConversationUserEndTopic) String() string
- func (topic *ConversationUserEndTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationUserEndTopic) With(targets ...Identifiable) NotificationTopic
- type ConversationUserStartTopic
- func (topic ConversationUserStartTopic) GetTargets() []Identifiable
- func (topic ConversationUserStartTopic) GetType() string
- func (topic ConversationUserStartTopic) String() string
- func (topic *ConversationUserStartTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationUserStartTopic) With(targets ...Identifiable) NotificationTopic
- type ConversationVideo
- type ConversationVoicemailEndTopic
- func (topic ConversationVoicemailEndTopic) GetTargets() []Identifiable
- func (topic ConversationVoicemailEndTopic) GetType() string
- func (topic ConversationVoicemailEndTopic) String() string
- func (topic *ConversationVoicemailEndTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationVoicemailEndTopic) With(targets ...Identifiable) NotificationTopic
- type ConversationVoicemailStartTopic
- func (topic ConversationVoicemailStartTopic) GetTargets() []Identifiable
- func (topic ConversationVoicemailStartTopic) GetType() string
- func (topic ConversationVoicemailStartTopic) String() string
- func (topic *ConversationVoicemailStartTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationVoicemailStartTopic) With(targets ...Identifiable) NotificationTopic
- type ConversationWrapupTopic
- func (topic ConversationWrapupTopic) GetTargets() []Identifiable
- func (topic ConversationWrapupTopic) GetType() string
- func (topic ConversationWrapupTopic) String() string
- func (topic *ConversationWrapupTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic ConversationWrapupTopic) With(targets ...Identifiable) NotificationTopic
- type CurrencyCollectionSlotEntity
- func (entity CurrencyCollectionSlotEntity) GetName() string
- func (entity CurrencyCollectionSlotEntity) GetType() string
- func (entity CurrencyCollectionSlotEntity) MarshalJSON() ([]byte, error)
- func (entity CurrencyCollectionSlotEntity) ParseValue(value string) (SlotEntity, error)
- func (entity CurrencyCollectionSlotEntity) String() string
- func (entity *CurrencyCollectionSlotEntity) UnmarshalJSON(data []byte) (err error)
- func (entity *CurrencyCollectionSlotEntity) Validate() error
- type CurrencySlotEntity
- func (entity CurrencySlotEntity) GetName() string
- func (entity CurrencySlotEntity) GetType() string
- func (entity CurrencySlotEntity) MarshalJSON() ([]byte, error)
- func (entity CurrencySlotEntity) ParseValue(value string) (SlotEntity, error)
- func (entity CurrencySlotEntity) String() string
- func (entity *CurrencySlotEntity) UnmarshalJSON(payload []byte) (err error)
- func (entity *CurrencySlotEntity) Validate() error
- type CurrencyValue
- type DataTable
- func (table DataTable) AddRow(context context.Context, key string, row DataTableRow) (correlationID string, err error)
- func (table DataTable) DeleteRow(context context.Context, key string) (correlationID string, err error)
- func (table DataTable) GetID() uuid.UUID
- func (table DataTable) GetRow(context context.Context, key string) (row DataTableRow, correlationID string, err error)
- func (table DataTable) GetRows(context context.Context) (rows []DataTableRow, correlationID string, err error)
- func (table DataTable) GetURI(ids ...uuid.UUID) URI
- func (table *DataTable) Initialize(parameters ...interface{})
- func (table DataTable) MarshalJSON() ([]byte, error)
- func (table DataTable) String() string
- func (table DataTable) UpdateRow(context context.Context, key string, row DataTableRow) (correlationID string, err error)
- type DataTableRow
- type DataTableSchema
- type DataTableSchemaProperty
- type DatetimeCollectionSlotEntity
- func (entity DatetimeCollectionSlotEntity) GetName() string
- func (entity DatetimeCollectionSlotEntity) GetType() string
- func (entity DatetimeCollectionSlotEntity) MarshalJSON() ([]byte, error)
- func (entity DatetimeCollectionSlotEntity) ParseValue(value string) (SlotEntity, error)
- func (entity DatetimeCollectionSlotEntity) String() string
- func (entity *DatetimeCollectionSlotEntity) UnmarshalJSON(data []byte) (err error)
- func (entity *DatetimeCollectionSlotEntity) Validate() error
- type DatetimeSlotEntity
- func (entity DatetimeSlotEntity) GetName() string
- func (entity DatetimeSlotEntity) GetType() string
- func (entity DatetimeSlotEntity) MarshalJSON() ([]byte, error)
- func (entity DatetimeSlotEntity) ParseValue(value string) (SlotEntity, error)
- func (entity DatetimeSlotEntity) String() string
- func (entity *DatetimeSlotEntity) UnmarshalJSON(data []byte) (err error)
- func (entity *DatetimeSlotEntity) Validate() error
- type DecimalCollectionSlotEntity
- func (entity DecimalCollectionSlotEntity) GetName() string
- func (entity DecimalCollectionSlotEntity) GetType() string
- func (entity DecimalCollectionSlotEntity) MarshalJSON() ([]byte, error)
- func (entity DecimalCollectionSlotEntity) ParseValue(value string) (SlotEntity, error)
- func (entity DecimalCollectionSlotEntity) String() string
- func (entity *DecimalCollectionSlotEntity) UnmarshalJSON(data []byte) (err error)
- func (entity *DecimalCollectionSlotEntity) Validate() error
- type DecimalSlotEntity
- func (entity DecimalSlotEntity) GetName() string
- func (entity DecimalSlotEntity) GetType() string
- func (entity DecimalSlotEntity) MarshalJSON() ([]byte, error)
- func (entity DecimalSlotEntity) ParseValue(value string) (SlotEntity, error)
- func (entity DecimalSlotEntity) String() string
- func (entity *DecimalSlotEntity) UnmarshalJSON(data []byte) (err error)
- func (entity *DecimalSlotEntity) Validate() error
- type DialerPreview
- type DisconnectReason
- type Disconnecter
- type Division
- type DomainEntityListingEvaluationForm
- type DomainEntityRef
- type DomainRole
- type DurationCollectionSlotEntity
- func (entity DurationCollectionSlotEntity) GetName() string
- func (entity DurationCollectionSlotEntity) GetType() string
- func (entity DurationCollectionSlotEntity) MarshalJSON() ([]byte, error)
- func (entity DurationCollectionSlotEntity) ParseValue(value string) (SlotEntity, error)
- func (entity DurationCollectionSlotEntity) String() string
- func (entity *DurationCollectionSlotEntity) UnmarshalJSON(data []byte) (err error)
- func (entity *DurationCollectionSlotEntity) Validate() error
- type DurationSlotEntity
- func (entity DurationSlotEntity) GetName() string
- func (entity DurationSlotEntity) GetType() string
- func (entity DurationSlotEntity) MarshalJSON() ([]byte, error)
- func (entity DurationSlotEntity) ParseValue(value string) (SlotEntity, error)
- func (entity DurationSlotEntity) String() string
- func (entity *DurationSlotEntity) UnmarshalJSON(data []byte) (err error)
- func (entity *DurationSlotEntity) Validate() error
- type EmailAddress
- type EmailAttachment
- type EmailInboundRoute
- type EmailSignature
- type EmployerInfo
- type Entities
- type EntityRef
- type ErrorBody
- type ErrorDetail
- type Evaluation
- type EvaluationForm
- type EvaluationQuestion
- type EvaluationQuestionGroup
- type EvaluationScoringSet
- type ExternalContact
- type FaxStatus
- type Fetchable
- type FetchableByStringID
- type Flow
- type GCMessageDetails
- type GeoLocation
- type Group
- type HelpLink
- type Identifiable
- type Image
- type Initializable
- type IntegerCollectionSlotEntity
- func (entity IntegerCollectionSlotEntity) GetName() string
- func (entity IntegerCollectionSlotEntity) GetType() string
- func (entity IntegerCollectionSlotEntity) MarshalJSON() ([]byte, error)
- func (entity IntegerCollectionSlotEntity) ParseValue(value string) (SlotEntity, error)
- func (entity IntegerCollectionSlotEntity) String() string
- func (entity *IntegerCollectionSlotEntity) UnmarshalJSON(payload []byte) error
- func (entity *IntegerCollectionSlotEntity) Validate() error
- type IntegerSlotEntity
- func (entity IntegerSlotEntity) GetName() string
- func (entity IntegerSlotEntity) GetType() string
- func (entity IntegerSlotEntity) MarshalJSON() ([]byte, error)
- func (entity IntegerSlotEntity) ParseValue(value string) (SlotEntity, error)
- func (entity IntegerSlotEntity) String() string
- func (entity *IntegerSlotEntity) UnmarshalJSON(data []byte) (err error)
- func (entity *IntegerSlotEntity) Validate() error
- type Integration
- func (integration Integration) GetID() uuid.UUID
- func (integration Integration) GetURI(ids ...uuid.UUID) URI
- func (integration *Integration) Initialize(parameters ...interface{})
- func (integration Integration) MarshalJSON() ([]byte, error)
- func (integration Integration) String() string
- func (integration *Integration) UnmarshalJSON(payload []byte) error
- type IntegrationConfiguration
- type IntegrationConfigurationInfo
- type IntegrationCredential
- type IntegrationCredentialInfo
- type IntegrationCredentialSpecification
- type IntegrationCredentialType
- type IntegrationState
- type IntegrationType
- func (integrationType IntegrationType) GetID() string
- func (integrationType IntegrationType) GetURI(ids ...string) URI
- func (integrationType *IntegrationType) Initialize(parameters ...interface{})
- func (integrationType IntegrationType) MarshalJSON() ([]byte, error)
- func (integrationType *IntegrationType) UnmarshalJSON(payload []byte) error
- type Jabber
- type JourneyContext
- type Location
- type LocationAddress
- type LocationDefinition
- type LocationEmergencyNumber
- type Media
- type MediaParticipantRequest
- type MediaSetting
- type MediaSettings
- type MediaSummary
- type MediaSummaryDetail
- type MessageContent
- type MessageDetails
- type MessageEvent
- type MessageInfo
- type MessageMedia
- type MessageMetadata
- type MessageSticker
- type MessagingTemplate
- type MetadataTopic
- type NormalizedAvailableTime
- type NormalizedMessage
- type NormalizedMessageAttachmentContent
- func (attachment NormalizedMessageAttachmentContent) GetType() string
- func (attachment NormalizedMessageAttachmentContent) MarshalJSON() ([]byte, error)
- func (attachment *NormalizedMessageAttachmentContent) UnmarshalJSON(payload []byte) (err error)
- func (attachment NormalizedMessageAttachmentContent) WithContent(content *request.Content) *NormalizedMessageAttachmentContent
- type NormalizedMessageButtonResponseContent
- type NormalizedMessageCardAction
- type NormalizedMessageCardContent
- type NormalizedMessageCardLinkAction
- func (action NormalizedMessageCardLinkAction) GetType() string
- func (action NormalizedMessageCardLinkAction) MarshalJSON() ([]byte, error)
- func (action NormalizedMessageCardLinkAction) String() string
- func (action *NormalizedMessageCardLinkAction) UnmarshalJSON(payload []byte) (err error)
- func (action *NormalizedMessageCardLinkAction) Validate() error
- type NormalizedMessageCardPostbackAction
- func (action NormalizedMessageCardPostbackAction) GetType() string
- func (action NormalizedMessageCardPostbackAction) MarshalJSON() ([]byte, error)
- func (action NormalizedMessageCardPostbackAction) String() string
- func (action *NormalizedMessageCardPostbackAction) UnmarshalJSON(payload []byte) (err error)
- func (action *NormalizedMessageCardPostbackAction) Validate() error
- type NormalizedMessageCarouselCard
- type NormalizedMessageCarouselContent
- type NormalizedMessageContent
- type NormalizedMessageDatePickerContent
- type NormalizedMessageLocationContent
- type NormalizedMessageNotificationContent
- type NormalizedMessageQuickReplyContent
- type NormalizedMessageQuickReplyV2Action
- type NormalizedMessageQuickReplyV2Content
- type NormalizedMessageStoryContent
- type NormalizedMessageTextContent
- type NotificationChannel
- func (channel *NotificationChannel) Close(context context.Context) (correlationID string, err error)
- func (channel NotificationChannel) GetID() uuid.UUID
- func (channel *NotificationChannel) GetTopicStates(context context.Context) (states []NotificationChannelTopicState, correlationID string, err error)
- func (channel *NotificationChannel) IsSubscribed(context context.Context, topic NotificationTopic) bool
- func (channel NotificationChannel) MarshalJSON() ([]byte, error)
- func (channel *NotificationChannel) SetTopics(context context.Context, topics ...NotificationTopic) (states []NotificationChannelTopicState, correlationID string, err error)
- func (channel NotificationChannel) String() string
- func (channel *NotificationChannel) Subscribe(context context.Context, topics ...NotificationTopic) (states []NotificationChannelTopicState, correlationID string, err error)
- func (channel *NotificationChannel) UnmarshalJSON(payload []byte) (err error)
- func (channel *NotificationChannel) Unsubscribe(context context.Context, topics ...NotificationTopic) (correlationID string, err error)
- type NotificationChannelTopicState
- type NotificationTemplate
- type NotificationTemplateBody
- type NotificationTemplateButton
- type NotificationTemplateFooter
- type NotificationTemplateHeader
- type NotificationTopic
- type NotificationTopicDefinition
- type OpenMessage
- type OpenMessageButtonResponse
- func (message OpenMessageButtonResponse) GetID() string
- func (message OpenMessageButtonResponse) GetType() string
- func (message OpenMessageButtonResponse) MarshalJSON() ([]byte, error)
- func (message OpenMessageButtonResponse) Redact() interface{}
- func (message *OpenMessageButtonResponse) UnmarshalJSON(data []byte) (err error)
- type OpenMessageChannel
- type OpenMessageData
- type OpenMessageEvent
- type OpenMessageEvents
- type OpenMessageFrom
- type OpenMessageNotificationBody
- type OpenMessageNotificationFooter
- type OpenMessageNotificationHeader
- type OpenMessageNotificationParameters
- type OpenMessageReceipt
- func (message OpenMessageReceipt) AsError() error
- func (message OpenMessageReceipt) GetID() string
- func (message OpenMessageReceipt) GetType() string
- func (message OpenMessageReceipt) IsFailed() bool
- func (message OpenMessageReceipt) MarshalJSON() ([]byte, error)
- func (message OpenMessageReceipt) Redact() interface{}
- func (message *OpenMessageReceipt) UnmarshalJSON(data []byte) (err error)
- type OpenMessageStructured
- func (message OpenMessageStructured) GetID() string
- func (message OpenMessageStructured) GetType() string
- func (message OpenMessageStructured) MarshalJSON() ([]byte, error)
- func (message OpenMessageStructured) Redact() interface{}
- func (message *OpenMessageStructured) UnmarshalJSON(data []byte) (err error)
- type OpenMessageText
- type OpenMessageTo
- type OpenMessageTypingEvent
- type OpenMessagingIntegration
- func (integration *OpenMessagingIntegration) Delete(context context.Context) (correlationID string, err error)
- func (integration OpenMessagingIntegration) GetID() uuid.UUID
- func (integration *OpenMessagingIntegration) GetMessageData(context context.Context, message OpenMessage) (messageData *OpenMessageData, correlationID string, err error)
- func (integration *OpenMessagingIntegration) GetRoutingMessageRecipient(context context.Context) (recipient *RoutingMessageRecipient, correlationID string, err error)
- func (integration OpenMessagingIntegration) GetURI(ids ...uuid.UUID) URI
- func (integration *OpenMessagingIntegration) Initialize(parameters ...interface{})
- func (integration OpenMessagingIntegration) IsCreated() bool
- func (integration OpenMessagingIntegration) IsError() bool
- func (integration OpenMessagingIntegration) MarshalJSON() ([]byte, error)
- func (integration *OpenMessagingIntegration) Refresh(ctx context.Context) (correlationID string, err error)
- func (integration *OpenMessagingIntegration) SendInboundButtonResponse(context context.Context, message OpenMessageButtonResponse) (id string, correlationID string, err error)
- func (integration *OpenMessagingIntegration) SendInboundEvents(context context.Context, events OpenMessageEvents) (id string, correlationID string, err error)
- func (integration *OpenMessagingIntegration) SendInboundReceipt(context context.Context, receipt OpenMessageReceipt) (id string, correlationID string, err error)
- func (integration *OpenMessagingIntegration) SendInboundTextMessage(context context.Context, message OpenMessageText) (id string, correlationID string, err error)
- func (integration *OpenMessagingIntegration) SendOutboundMessage(context context.Context, destination, text string) (result *AgentlessMessageResult, correlationID string, err error)
- func (integration OpenMessagingIntegration) String() string
- func (integration *OpenMessagingIntegration) UnmarshalJSON(payload []byte) (err error)
- func (integration *OpenMessagingIntegration) Update(context context.Context, name string, webhookURL *url.URL, token string) (correlationID string, err error)
- type OpenMessagingSupportedContent
- type Organization
- type OutOfOffice
- type Participant
- func (participant *Participant) Disconnect(context context.Context, target Disconnecter) (correlationID string, err error)
- func (participant Participant) GetID() uuid.UUID
- func (participant Participant) GetURI() URI
- func (participant Participant) IsMember(mediaType string, identifiable Identifiable) bool
- func (participant Participant) MarshalJSON() ([]byte, error)
- func (participant Participant) String() string
- func (participant *Participant) UnmarshalJSON(payload []byte) (err error)
- func (participant *Participant) UpdateState(context context.Context, target StateUpdater, state string) (correlationID string, err error)
- type PresenceDefinition
- type PresenceEvent
- type ProcessAutomationCriteria
- type ProcessAutomationTarget
- type ProcessAutomationTrigger
- func (trigger ProcessAutomationTrigger) Create(context context.Context, client *Client) (*ProcessAutomationTrigger, string, error)
- func (trigger ProcessAutomationTrigger) Delete(context context.Context) (correlationID string, err error)
- func (trigger ProcessAutomationTrigger) GetID() uuid.UUID
- func (trigger ProcessAutomationTrigger) GetURI(ids ...uuid.UUID) URI
- func (trigger *ProcessAutomationTrigger) Initialize(parameters ...interface{})
- func (trigger ProcessAutomationTrigger) MarshalJSON() ([]byte, error)
- func (trigger ProcessAutomationTrigger) String() string
- func (trigger *ProcessAutomationTrigger) UnmarshalJSON(payload []byte) (err error)
- type Query
- type Queue
- type QueueEmailAddress
- type QuickReply
- type Recording
- type RecordingAnnotation
- type RecordingChatMessage
- type RecordingEmailMessage
- type RecordingMediaURI
- type RecordingMessagingMessage
- type ResourcePermissionPolicy
- type ResponseManagementContent
- type ResponseManagementLibrary
- func (library ResponseManagementLibrary) GetID() uuid.UUID
- func (library *ResponseManagementLibrary) GetType() string
- func (library ResponseManagementLibrary) GetURI(ids ...uuid.UUID) URI
- func (library *ResponseManagementLibrary) Initialize(parameters ...interface{})
- func (library ResponseManagementLibrary) String() string
- type ResponseManagementQuery
- type ResponseManagementQueryFilter
- type ResponseManagementResponse
- func (response ResponseManagementResponse) ApplySubstitutions(context context.Context, contentType string, substitutions map[string]string) (string, error)
- func (response ResponseManagementResponse) ApplySubstitutionsWithVersion(context context.Context, version any, contentType string, ...) (string, error)
- func (response ResponseManagementResponse) FetchByFilters(context context.Context, client *Client, ...) (*ResponseManagementResponse, string, error)
- func (response ResponseManagementResponse) GetID() uuid.UUID
- func (response ResponseManagementResponse) GetType() string
- func (response ResponseManagementResponse) GetURI(ids ...uuid.UUID) URI
- func (response *ResponseManagementResponse) Initialize(parameters ...interface{})
- func (response ResponseManagementResponse) MarshalJSON() ([]byte, error)
- func (response ResponseManagementResponse) String() string
- func (response *ResponseManagementResponse) UnmarshalJSON(payload []byte) (err error)
- type ResponseManagementSubstitution
- type ResponseManagementVersion
- type RoutingMessageRecipient
- func (recipient *RoutingMessageRecipient) DeleteFlow(context context.Context) (correlationID string, err error)
- func (recipient RoutingMessageRecipient) GetID() uuid.UUID
- func (recipient RoutingMessageRecipient) GetURI(ids ...uuid.UUID) URI
- func (recipient *RoutingMessageRecipient) Initialize(parameters ...interface{})
- func (recipient RoutingMessageRecipient) MarshalJSON() ([]byte, error)
- func (recipient *RoutingMessageRecipient) UpdateFlow(context context.Context, flow *Flow) (correlationID string, err error)
- type RoutingStatus
- type RoutingTarget
- type ScreenShare
- type Segment
- type ServiceLevel
- type SlotEntity
- type SocialExpression
- type StateUpdater
- type StatusReason
- type Sticker
- type Story
- type StringCollectionSlotEntity
- func (entity StringCollectionSlotEntity) GetName() string
- func (entity StringCollectionSlotEntity) GetType() string
- func (entity StringCollectionSlotEntity) MarshalJSON() ([]byte, error)
- func (entity StringCollectionSlotEntity) ParseValue(value string) (SlotEntity, error)
- func (entity StringCollectionSlotEntity) String() string
- func (entity *StringCollectionSlotEntity) UnmarshalJSON(data []byte) (err error)
- func (entity *StringCollectionSlotEntity) Validate() error
- type StringSlotEntity
- func (entity StringSlotEntity) GetName() string
- func (entity StringSlotEntity) GetType() string
- func (entity StringSlotEntity) MarshalJSON() ([]byte, error)
- func (entity StringSlotEntity) ParseValue(value string) (SlotEntity, error)
- func (entity StringSlotEntity) String() string
- func (entity *StringSlotEntity) UnmarshalJSON(data []byte) (err error)
- func (entity *StringSlotEntity) Validate() error
- type TemplateParameter
- type TokenGrant
- type Transferrer
- type TypingEvent
- type URI
- type UpdatedAccessToken
- type User
- type UserActivityTopic
- func (topic UserActivityTopic) GetTargets() []Identifiable
- func (topic UserActivityTopic) GetType() string
- func (topic UserActivityTopic) String() string
- func (topic *UserActivityTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic UserActivityTopic) With(targets ...Identifiable) NotificationTopic
- type UserAuthorization
- type UserConversationChatTopic
- func (topic UserConversationChatTopic) GetTargets() []Identifiable
- func (topic UserConversationChatTopic) GetType() string
- func (topic UserConversationChatTopic) String() string
- func (topic *UserConversationChatTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic UserConversationChatTopic) With(targets ...Identifiable) NotificationTopic
- type UserConversationSummary
- type UserImage
- type UserPresence
- type UserPresenceTopic
- func (topic UserPresenceTopic) GetTargets() []Identifiable
- func (topic UserPresenceTopic) GetType() string
- func (topic UserPresenceTopic) String() string
- func (topic *UserPresenceTopic) UnmarshalJSON(payload []byte) (err error)
- func (topic UserPresenceTopic) With(targets ...Identifiable) NotificationTopic
- type UserRoutingLanguage
- type UserRoutingSkill
- type UserStation
- type UserStations
- type VideoEvent
- type VisibilityCondition
- type Voicemail
- type Wrapup
Constants ¶
const ( BotStateComplete = "Complete" // BotState when the message processing is complete BotStateFailed = "Failed" // BotState when the message processing has failed BotStateMoreData = "MoreData" // BotState when the message processing requires more data )
const ( NormalizedMessageTypeText = "Text" // NormalizedMessageTypeText represents a text input message NormalizedMessageTypeStructured = "Structured" // NormalizedMessageTypeStructured represents a structured input message )
const APP string = "GCloudCX Client"
APP is the name of the application
const ClientContextKey key = iota + 54329
ClientContextKey is the key to store Client in context.Context
const (
IntegrationTypeGenesysDigitalBotConnector = "genesys-digital-bot-connector"
)
Variables ¶
var ( // AuthenticationRequestTimeoutError means the request timed out AuthenticationRequestTimeoutError = APIError{Status: 504, Code: "authentication.request.timeout", Message: "Authentication request timeout."} // BadRequestError means the request was badly formed BadRequestError = APIError{Status: 400, Code: "bad.request", Message: "The request could not be understood by the server due to malformed syntax."} // InternalServerError means the server experiences an internal error InternalServerError = APIError{Status: 500, Code: "internal.server.error", Message: "The server encountered an unexpected condition which prevented it from fulfilling the request."} // InvalidDateError means the given date was invalid InvalidDateError = APIError{Status: 400, Code: "invalid.date", Message: "Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ"} // InvalidValueError means the value was invalid InvalidValueError = APIError{Status: 400, Code: "invalid.value", Message: "Value [%s] is not valid for field type [%s]. Allowable values are: %s"} // MissingAnyPermissionsError means the request was missing some permissions MissingAnyPermissionsError = APIError{Status: 403, Code: "missing.any.permissions", Message: "Unable to perform the requested action. You must have at least one of the following permissions assigned: %s"} // MissingPermissionsError means the request was missing some permissions MissingPermissionsError = APIError{Status: 403, Code: "missing.permissions", Message: "Unable to perform the requested action. You are missing the following permission(s): %s"} // NotAuthorizedError means the request was not authorized NotAuthorizedError = APIError{Status: 403, Code: "not.authorized", Message: "You are not authorized to perform the requested action."} // NotFoundError means the wanted resource was not found NotFoundError = APIError{Status: 404, Code: "not.found", Message: "The requested resource was not found."} // RequestTimeoutError means the request timed out RequestTimeoutError = APIError{Status: 504, Code: "request.timeout", Message: "The request timed out."} ServiceUnavailableError = APIError{Status: 503, Code: "service.unavailable", Message: "Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance)."} // TooManyRequestsError means the client sent too many requests and should wait before sending more TooManyRequestsError = APIError{Status: 429, Code: "too.many.requests", Message: "Rate limit exceeded the maximum [%s] requests within [%s] seconds"} // UnsupportedMediaTypeError means the media type is not supported UnsupportedMediaTypeError = APIError{Status: 415, Code: "unsupported.media.type", Message: "Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header."} // AuthenticationRequiredError means the request should authenticate first AuthenticationRequiredError = APIError{Status: 401, Code: "authentication.required", Message: "No authentication bearer token specified in authorization header."} // BadCredentialsError means the credentials are invalid BadCredentialsError = APIError{Status: 401, Code: "bad.credentials", Message: "Invalid login credentials (%s)."} // CredentialsExpiredError means the credentials are expired CredentialsExpiredError = APIError{Status: 401, Code: "credentials.expired", Message: "The supplied credentials are expired and cannot be used."} // ChatConversationStateError means the conversation does not permit the request ChatConversationStateError = APIError{Status: 400, Code: "chat.error.conversation.state", Message: "The conversation is in a state which does not permit this action."} // ChatMemberStateError means the chat member does not permit the request ChatMemberStateError = APIError{Status: 400, Code: "chat.error.member.state", Message: "The conversation member is in a state which does not permit this action."} // ChatDeploymentBadAuthError means the authentication failed ChatDeploymentBadAuthError = APIError{Status: 400, Code: "chat.deployment.bad.auth", Message: "The customer member authentication has failed."} // ChatDeploymentDisabledError means the deployment is disabled ChatDeploymentDisabledError = APIError{Status: 400, Code: "chat.deployment.disabled", Message: "The web chat deployment is currently disabled."} // ChatDeploymentRequireAuth means the deployment requires some authentication ChatDeploymentRequireAuth = APIError{Status: 400, Code: "chat.deployment.require.auth", Message: "The deployment requires the customer member to be authenticated."} // ChatInvalidQueueError means the queue is not valid ChatInvalidQueueError = APIError{Status: 400, Code: "chat.error.invalid.queue", Message: "The specified queue is not valid."} // ChatCreateConversationRequestRoutingTargetError means the routing target is not valid ChatCreateConversationRequestRoutingTargetError = APIError{Status: 400, Code: "chat.error.createconversationrequest.routingtarget", Message: "The routing target is not valid."} // MessageExpired means the message has expired MessageExpired = APIError{Status: 400, Code: "message.expired", Message: "%s"} // RateLimited means the request was rate limited RateLimited = APIError{Status: 429, Code: "rate.limited", Message: "%s"} // MessageNotAllowed means the message is not allowed MessageNotAllowed = APIError{Status: 400, Code: "message.not.allowed", Message: "%s"} // GeneralError means the request failed for a general reason GeneralError = APIError{Status: 400, Code: "general.error", Message: "%s"} // UnsupportedMessage means the message is not supported UnsupportedMessage = APIError{Status: 400, Code: "unsupported.message", Message: "%s"} // UnknownMessage means the message is unknown UnknownMessage = APIError{Status: 400, Code: "unknown.message", Message: "%s"} // InvalidMessageStructure means the message structure is invalid InvalidMessageStructure = APIError{Status: 400, Code: "invalid.message.structure", Message: "%s"} // InvalidDestination means the destination is invalid InvalidDestination = APIError{Status: 400, Code: "invalid.destination", Message: "%s"} // ServerError means the server failed ServerError = APIError{Status: 500, Code: "server.error", Message: "%s"} // MediaTypeNotAllowed means the media type is not allowed MediaTypeNotAllowed = APIError{Status: 415, Code: "media.type.not.allowed", Message: "%s"} // InvalidMediaContentLength means the media content length is invalid InvalidMediaContentLength = APIError{Status: 400, Code: "invalid.media.content.length", Message: "%s"} // RecipientOptedOut means the recipient opted out RecipientOptedOut = APIError{Status: 400, Code: "recipient.opted.out", Message: "%s"} // JSONUnmarshalError means the JSON could not be unmarshaled JSONUnmarshalError = APIError{Status: http.StatusNotAcceptable, Code: "json.unmarshal", Message: "Unmarshable Data for type %s"} )
var VERSION = "0.11.9" + commit
VERSION is the version of this application
Functions ¶
func Fetch ¶ added in v0.7.15
func Fetch[T Fetchable, PT interface { Initializable *T }](context context.Context, client *Client, parameters ...any) (*T, string, error)
Fetch fetches a resource from the Genesys Cloud API
The object must implement the Fetchable interface ¶
Resources can be fetched by their ID:
user, correlationID, err := Fetch[gcloudcx.User](context, client, uuid.UUID)
user, correlationID, err := Fetch[gcloudcx.User](context, client, gcloudcx.User{ID: uuid.UUID})
or by their URI:
user, correlationID, err := Fetch[gcloudcx.User](context, client, gcloudcx.User{}.GetURI(uuid.UUID))
func FetchAll ¶ added in v0.7.15
func FetchAll[T Fetchable, PT interface { Initializable *T }](context context.Context, client *Client, parameters ...interface{}) ([]*T, string, error)
FetchAll fetches all objects from the Genesys Cloud API
The objects must implement the Fetchable interface
users, correlationID, err := FetchAll[gcloudcx.User](context, client)
A gcloudcx.Query can be added to narrow the request:
users, correlationID, err := FetchAll[gcloudcx.User](context, client, gcloudcx.Query{Language: "en-US"})
func FetchBy ¶ added in v0.7.15
func FetchBy[T Fetchable, PT interface { Initializable *T }](context context.Context, client *Client, match func(T) bool, parameters ...interface{}) (*T, string, error)
FetchBy fetches a resource from the Genesys Cloud API by a match function
The resource must implement the Fetchable interface
match := func(user gcloudcx.User) bool {
return user.Name == "John Doe"
}
user, correlationID, err := FetchBy(context, client, match)
A gcloudcx.Query can be added to narrow the request:
user, correlationID, err := FetchBy(context, client, match, gcloudcx.Query{Language: "en-US"})
func FetchWithStringID ¶ added in v0.10.6
func FetchWithStringID[T FetchableByStringID, PT interface { Initializable *T }](context context.Context, client *Client, parameters ...any) (*T, string, error)
FetchWithStringID fetches a resource from the Genesys Cloud API
The object must implement the Fetchable interface ¶
Resources can be fetched by their ID:
integrationType, correlationID, err := Fetch[gcloudcx.IntegrationType](context, client, stringid)
or by their URI:
integrationType, correlationID, err := Fetch[gcloudcx.IntegrationType](context, client, gcloudcx.IntegrationType{}.GetURI(stringid))
func New ¶
func New[T core.Identifiable, PT interface { Initializable *T }](context context.Context, client *Client, parameters ...any) *T
New create a resource from the Genesys Cloud API
The object must implement the Initializable interface ¶
Resources can be fetched by their ID:
user, err := Fetch[gcloudcx.User](context, client, uuid.UUID)
user, err := Fetch[gcloudcx.User](context, client, gcloudcx.User{ID: uuid.UUID})
or by their URI:
user, err := Fetch[gcloudcx.User](context, client, gcloudcx.User{}.GetURI(uuid.UUID))
Types ¶
type ACWSettings ¶ added in v0.1.0
ACWSettings defines the After Call Work settings of a Queue
func (ACWSettings) MarshalJSON ¶ added in v0.1.0
func (settings ACWSettings) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
func (*ACWSettings) UnmarshalJSON ¶ added in v0.1.0
func (settings *ACWSettings) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
type APIError ¶ added in v0.0.2
type APIError struct {
Status int `json:"status,omitempty"`
Code string `json:"code,omitempty"`
Message string `json:"message,omitempty"`
MessageParams map[string]string `json:"messageParams,omitempty"`
MessageWithParams string `json:"messageWithParams,omitempty"`
EntityID string `json:"entityId,omitempty"`
EntityName string `json:"entityName,omitempty"`
ContextID string `json:"contextId,omitempty"`
CorrelationID string `json:"correlationId,omitempty"`
Details []APIErrorDetails `json:"details,omitempty"`
Errors []APIError `json:"errors,omitempty"`
Stack errors.StackTrace `json:"-"`
}
APIError represents an error from the Gcloud API
func (APIError) As ¶ added in v0.7.15
As attempts to convert the given error into the given target
As returns true if the conversion was successful and the target is now populated.
Example:
target := errors.ArgumentInvalid.Clone()
if errors.As(err, &target) {
// do something with target
}
func (APIError) Is ¶ added in v0.7.15
Is tells if this error matches the target.
implements errors.Is interface (package "errors").
To check if an error is an errors.Error, simply write:
if errors.Is(err, gcloudcx.APIError{}) {
// do something with err
}
func (APIError) SetCorrelationID ¶ added in v0.9.6
SetCorrelationID creates a new APIError from a given Error and records its correlation ID.
func (*APIError) UnmarshalJSON ¶ added in v0.0.2
UnmarshalJSON decodes a JSON payload into an APIError
func (APIError) With ¶ added in v0.7.16
With creates a new Error from a given sentinel telling "what" is wrong and eventually their value.
With also records the stack trace at the point it was called.
func (APIError) WithParams ¶ added in v0.9.6
WithParams creates a new Error from a given sentinel telling "what" is wrong and eventually their value.
type APIErrorDetails ¶ added in v0.0.2
type APIErrorDetails struct {
ErrorCode string `json:"errorCode,omitempty"`
FieldName string `json:"fieldName,omitempty"`
EntityID string `json:"entityId,omitempty"`
EntityName string `json:"entityName,omitempty"`
}
APIErrorDetails contains the details of an APIError
type AccessToken ¶ added in v0.1.0
type AccessToken struct {
ID uuid.UUID `json:"id" db:"key"`
Type string `json:"tokenType"`
Token string `json:"token"`
ExpiresOn time.Time `json:"expiresOn"` // UTC!
AuthorizedScopes []string `json:"authorizedScopes,omitempty"`
}
AccessToken is used to consume the GCloud API
It must be obtained via an AuthorizationGrant
func NewAccessToken ¶ added in v0.9.1
func NewAccessToken(token string, expiresOn time.Time) *AccessToken
NewAccessToken creates a new AccessToken
func NewAccessTokenWithDuration ¶ added in v0.9.1
func NewAccessTokenWithDuration(token string, expiresIn time.Duration) *AccessToken
NewAccessTokenWithDuration creates a new AccessToken that expires in a given duration
func NewAccessTokenWithDurationAndType ¶ added in v0.9.1
func NewAccessTokenWithDurationAndType(tokenType, token string, expiresIn time.Duration) *AccessToken
NewAccessTokenWithDurationAndType creates a new AccessToken with a type and that expires in a given duration
func NewAccessTokenWithType ¶ added in v0.9.1
func NewAccessTokenWithType(tokenType, token string, expiresOn time.Time) *AccessToken
NewAccessTokenWithType creates a new AccessToken with a type
func (AccessToken) ExpiresIn ¶ added in v0.1.0
func (token AccessToken) ExpiresIn() time.Duration
ExpiresIn tells when the token should expire
func (AccessToken) IsExpired ¶ added in v0.1.0
func (token AccessToken) IsExpired() bool
IsExpired tells if this AccessToken is expired or not
func (AccessToken) IsValid ¶ added in v0.1.0
func (token AccessToken) IsValid() bool
IsValid tells if this AccessToken is valid
func (*AccessToken) LoadFromCookie ¶ added in v0.1.0
func (token *AccessToken) LoadFromCookie(r *http.Request, cookieName string) *AccessToken
LoadFromCookie loads this token from a cookie in the given HTTP Request
func (AccessToken) MarshalJSON ¶ added in v0.9.1
func (token AccessToken) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (AccessToken) Redact ¶ added in v0.9.1
func (token AccessToken) Redact() any
Redact redacts sensitive information
implements logger.Redactable
func (*AccessToken) Reset ¶ added in v0.1.0
func (token *AccessToken) Reset()
Reset resets the Token so it is expired and empty
func (AccessToken) SaveToCookie ¶ added in v0.1.0
func (token AccessToken) SaveToCookie(w http.ResponseWriter, cookieName string)
SaveToCookie saves this token to a cookie in the given HTTP ResponseWriter
func (AccessToken) String ¶ added in v0.1.0
func (token AccessToken) String() string
String gets a string representation of this AccessToken
func (*AccessToken) UnmarshalJSON ¶ added in v0.9.1
func (token *AccessToken) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON decodes JSON
implements json.Unmarshaler
type Address ¶ added in v0.1.0
type Address struct {
Name string `json:"name"`
NameRaw string `json:"nameRaw"`
AddressDisplayable string `json:"addressDisplayable"`
AddressRaw string `json:"addressRaw"`
AddressNormalized string `json:"addressNormalized"`
}
Address describes an Address (telno, etc)
type Addressable ¶ added in v0.1.0
type Addressable interface {
// GetURI gets the URI
//
// if ids are provided, they are used to replace the {{uuid}} in the URI.
//
// if no ids are provided and the Addressable has a UUID, it is used to replace the {{uuid}} in the URI.
//
// else, the pattern for the URI is returned ("/api/v2/things/%s")
GetURI(ids ...uuid.UUID) URI
}
Addressable describes things that carry a URI (typically /api/v2/things/{{uuid}})
type AddressableByStringID ¶ added in v0.10.6
type AddressableByStringID interface {
// GetURI gets the URI
//
// if ids are provided, they are used to replace the {{string}} in the URI.
//
// if no ids are provided and the Addressable has a UUID, it is used to replace the {{string}} in the URI.
//
// else, the pattern for the URI is returned ("/api/v2/things/%s")
GetURI(ids ...string) URI
}
AddressableByStringID describes things that carry a URI (typically /api/v2/things/{{string}})
type AddressableEntityRef ¶ added in v0.1.0
type AddressableEntityRef struct {
ID uuid.UUID `json:"id"`
SelfURI URI `json:"selfUri,omitempty"`
}
AddressableEntityRef describes an Entity that can be addressed
func (AddressableEntityRef) GetID ¶ added in v0.1.0
func (ref AddressableEntityRef) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (AddressableEntityRef) GetURI ¶ added in v0.1.0
func (ref AddressableEntityRef) GetURI() URI
GetURI gets the URI of this
implements Addressable
type AgentlessMessage ¶ added in v0.4.0
type AgentlessMessage struct {
From string `json:"fromAddress"`
To string `json:"toAddress"`
MessengerType string `json:"toAddressMessengerType"`
Text string `json:"textBody"`
Template *MessagingTemplate `json:"messagingTemplate,omitempty"`
}
AgentlessMessage sends an agentless outbound text message to a Messenger address
type AgentlessMessageResult ¶ added in v0.4.0
type AgentlessMessageResult struct {
ID uuid.UUID `json:"id"`
ConversationID uuid.UUID `json:"conversationId"`
From string `json:"fromAddress"`
To string `json:"toAddress"`
MessengerType string `json:"messengerType"`
Text string `json:"textBody"`
Template *MessagingTemplate `json:"messagingTemplate,omitempty"`
JobUser *AddressableEntityRef `json:"user,omitempty"`
Timestamp time.Time `json:"timestamp"`
SelfURI URI `json:"selfUri"`
}
AgentlessMessageResult describes the results of the send action on an AgentlessMessage
func (AgentlessMessageResult) GetID ¶ added in v0.7.0
func (result AgentlessMessageResult) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (AgentlessMessageResult) GetURI ¶ added in v0.7.0
func (result AgentlessMessageResult) GetURI() URI
GetURI gets the URI of this
implements Addressable
type AnswerOption ¶ added in v0.1.0
type AnswerOption struct {
ID uuid.UUID `json:"id"`
Text string `json:"text"`
Value int `json:"value"`
}
AnswerOption describes an Answer Option
type Attachment ¶ added in v0.1.0
type Attachment struct {
AttachmentID string `json:"attachmentId"`
Name string `json:"name"`
ContentURI string `json:"contentUri"`
ContentType string `json:"contentType"`
ContentLength int64 `json:"contentLength"`
InlineImage bool `json:"inlineImage"`
}
Attachment describes an Email Attachment
type Authorizable ¶ added in v0.7.10
type Authorizable interface {
Authorize(context context.Context, client *Client) (string, error) // Authorize a client with Gcloud
AccessToken() *AccessToken // Get the Access Token obtained by the Authorizer
core.Identifiable // Implements core.Identifiable
}
Authorizer describes what a grants should do
type Authorization ¶
type Authorization struct {
ClientID string `json:"clientId"`
Secret string `json:"clientSecret"`
RedirectURI *url.URL `json:"redirectUri"`
TokenType string `json:"tokenType"`
Token string `json:"token"`
TokenExpires time.Time `json:"tokenExpires"`
}
Authorization contains the login options to connect the client to GCloud
type AuthorizationCodeGrant ¶ added in v0.1.0
type AuthorizationCodeGrant struct {
ClientID uuid.UUID
Secret string
Code string
RedirectURL *url.URL
Token AccessToken
CustomData interface{}
TokenUpdated chan UpdatedAccessToken
}
AuthorizationCodeGrant implements Gcloud's Client Authorization Code Grants
See: https://developer.mypurecloud.com/api/rest/authorization/use-authorization-code.html
func (*AuthorizationCodeGrant) AccessToken ¶ added in v0.1.0
func (grant *AuthorizationCodeGrant) AccessToken() *AccessToken
AccessToken gives the access Token carried by this Grant
Implements Authorizable
func (*AuthorizationCodeGrant) Authorize ¶ added in v0.1.0
func (grant *AuthorizationCodeGrant) Authorize(context context.Context, client *Client) (correlationID string, err error)
Authorize this Grant with Gcloud
Implements Authorizable
func (*AuthorizationCodeGrant) GetID ¶ added in v0.4.0
func (grant *AuthorizationCodeGrant) GetID() uuid.UUID
GetID gets the client Identifier
Implements core.Identifiable
type AuthorizationDivision ¶ added in v0.4.0
type AuthorizationDivision struct {
ID uuid.UUID `json:"-"`
SelfUri string `json:"selfUri"`
Name string `json:"name"`
Description string `json:"description"` // required
IsHome bool `json:"homeDivision"`
ObjectCounts map[string]int `json:"objectCounts"`
}
func (AuthorizationDivision) GetID ¶ added in v0.4.0
func (division AuthorizationDivision) GetID() uuid.UUID
GetID gets the identifier
implements core.Identifiable
func (AuthorizationDivision) MarshalJSON ¶ added in v0.7.10
func (division AuthorizationDivision) MarshalJSON() ([]byte, error)
func (AuthorizationDivision) String ¶ added in v0.7.11
func (division AuthorizationDivision) String() string
String returns a string representation of the AuthorizationDivision
implements fmt.Stringer
func (*AuthorizationDivision) UnmarshalJSON ¶ added in v0.7.10
func (division *AuthorizationDivision) UnmarshalJSON(payload []byte) (err error)
type AuthorizationGrant ¶ added in v0.1.0
type AuthorizationGrant struct {
SubjectID uuid.UUID `json:"subjectId"`
Division AuthorizationDivision `json:"division"`
Role AuthorizationGrantRole `json:"role"`
CreatedAt string `json:"grantMadeAt"` // TODO: this is an ISO8601 date
}
func (AuthorizationGrant) CheckScope ¶ added in v0.7.10
func (grant AuthorizationGrant) CheckScope(scope AuthorizationScope) (AuthorizationGrantPolicy, bool)
CheckScope checks if the grant allows or denies the given scope
If allowed, the policy that allows the scope is returned
func (AuthorizationGrant) String ¶ added in v0.7.11
func (grant AuthorizationGrant) String() string
type AuthorizationGrantPolicy ¶ added in v0.4.0
type AuthorizationGrantPolicy struct {
EntityName string `json:"entityName"`
Domain string `json:"domain"`
Condition string `json:"condition"`
Actions []string `json:"actions"`
}
func (AuthorizationGrantPolicy) CheckScope ¶ added in v0.7.10
func (policy AuthorizationGrantPolicy) CheckScope(scope AuthorizationScope) bool
CheckScope checks if the grant allows or denies the given scope
func (AuthorizationGrantPolicy) String ¶ added in v0.7.23
func (policy AuthorizationGrantPolicy) String() string
String returns a string representation of the AuthorizationDivision
implements fmt.Stringer
type AuthorizationGrantRole ¶ added in v0.4.0
type AuthorizationGrantRole struct {
ID uuid.UUID `json:"id"`
SelfUri string `json:"selfUri"`
Name string `json:"name"`
Description string `json:"description"`
IsDefault bool `json:"default"`
Policies []AuthorizationGrantPolicy `json:"policies"`
}
func (AuthorizationGrantRole) CheckScope ¶ added in v0.7.10
func (role AuthorizationGrantRole) CheckScope(scope AuthorizationScope) (AuthorizationGrantPolicy, bool)
CheckScope checks if the grant role allows or denies the given scope
If allowed, the policy that allows the scope is returned
func (AuthorizationGrantRole) GetID ¶ added in v0.4.0
func (role AuthorizationGrantRole) GetID() uuid.UUID
GetID gets the identifier
implements core.Identifiable
func (AuthorizationGrantRole) String ¶ added in v0.7.11
func (role AuthorizationGrantRole) String() string
String returns a string representation of the AuthorizationDivision
implements fmt.Stringer
type AuthorizationScope ¶ added in v0.7.10
AuthorizationScope represents a scope for a client
See https://developer.genesys.cloud/authorization/platform-auth/scopes#scope-descriptions
func (AuthorizationScope) String ¶ added in v0.7.10
func (scope AuthorizationScope) String() string
func (AuthorizationScope) With ¶ added in v0.7.10
func (scope AuthorizationScope) With(subscopes ...string) AuthorizationScope
type AuthorizationSubject ¶ added in v0.4.0
type AuthorizationSubject struct {
ID uuid.UUID `json:"id"`
SelfUri string `json:"selfUri"`
Name string `json:"name"`
Grants []AuthorizationGrant `json:"grants"`
Version int `json:"version"`
// contains filtered or unexported fields
}
AuthorizationSubject describes the roles and permissions of a Subject
func (AuthorizationSubject) CheckScopes ¶ added in v0.7.10
func (subject AuthorizationSubject) CheckScopes(scopes ...string) (permitted []string, denied []string)
CheckScopes checks if the subject allows or denies the given scopes
See https://developer.genesys.cloud/authorization/platform-auth/scopes#scope-descriptions
func (AuthorizationSubject) GetID ¶ added in v0.4.0
func (subject AuthorizationSubject) GetID() uuid.UUID
GetID gets the identifier
implements core.Identifiable
func (AuthorizationSubject) GetURI ¶ added in v0.7.15
func (subject AuthorizationSubject) GetURI(ids ...uuid.UUID) URI
GetURI gets the URI of this
implements Addressable
func (*AuthorizationSubject) Initialize ¶ added in v0.7.15
func (subject *AuthorizationSubject) Initialize(parameters ...interface{})
Initialize initializes the object
accepted parameters: *gcloudcx.Client, *logger.Logger
implements Initializable
func (AuthorizationSubject) String ¶ added in v0.7.10
func (subject AuthorizationSubject) String() string
String returns a string representation of the AuthorizationSubject
implements fmt.Stringer
type Biography ¶ added in v0.1.0
type Biography struct {
Biography string `json:"biography"`
Interests []string `json:"interests"`
Hobbies []string `json:"hobbies"`
Spouse string `json:"spouse"`
}
Biography describes a User's biography
type BooleanCollectionSlotEntity ¶ added in v0.10.7
BooleanCollectionSlotEntity represents a boolean collection slot entity
func (BooleanCollectionSlotEntity) GetName ¶ added in v0.10.7
func (entity BooleanCollectionSlotEntity) GetName() string
GetName returns the name of the slot entity
func (BooleanCollectionSlotEntity) GetType ¶ added in v0.10.7
func (entity BooleanCollectionSlotEntity) GetType() string
GetType returns the type of the slot entity
func (BooleanCollectionSlotEntity) MarshalJSON ¶ added in v0.10.7
func (entity BooleanCollectionSlotEntity) MarshalJSON() ([]byte, error)
MarshalJSON marshals the slot entity to JSON
func (BooleanCollectionSlotEntity) ParseValue ¶ added in v0.11.0
func (entity BooleanCollectionSlotEntity) ParseValue(value string) (SlotEntity, error)
ParseValue parses the value and returns a new SlotEntity instance
func (BooleanCollectionSlotEntity) String ¶ added in v0.10.7
func (entity BooleanCollectionSlotEntity) String() string
BooleanCollection returns the string representation of the slot entity's value
func (*BooleanCollectionSlotEntity) UnmarshalJSON ¶ added in v0.10.7
func (entity *BooleanCollectionSlotEntity) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals the slot entity from JSON
func (*BooleanCollectionSlotEntity) Validate ¶ added in v0.11.0
func (entity *BooleanCollectionSlotEntity) Validate() error
Validate checks if the slot entity is valid
type BooleanSlotEntity ¶ added in v0.10.7
BooleanSlotEntity represents a boolean slot entity
func (BooleanSlotEntity) GetName ¶ added in v0.10.7
func (entity BooleanSlotEntity) GetName() string
GetName returns the name of the slot entity
func (BooleanSlotEntity) GetType ¶ added in v0.10.7
func (entity BooleanSlotEntity) GetType() string
GetType returns the type of the slot entity
func (BooleanSlotEntity) MarshalJSON ¶ added in v0.10.7
func (entity BooleanSlotEntity) MarshalJSON() ([]byte, error)
MarshalJSON marshals the slot entity to JSON
func (BooleanSlotEntity) ParseValue ¶ added in v0.11.0
func (entity BooleanSlotEntity) ParseValue(value string) (SlotEntity, error)
ParseValue parses the value and returns a new SlotEntity instance
func (BooleanSlotEntity) String ¶ added in v0.10.7
func (entity BooleanSlotEntity) String() string
Boolean returns the string representation of the slot entity's value
func (*BooleanSlotEntity) UnmarshalJSON ¶ added in v0.10.7
func (entity *BooleanSlotEntity) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals the slot entity from JSON
func (*BooleanSlotEntity) Validate ¶ added in v0.11.0
func (entity *BooleanSlotEntity) Validate() error
Validate checks if the slot entity is valid
type BotConnectorErrorInfo ¶ added in v0.11.3
type BotConnectorErrorInfo struct {
ErrorCode string `json:"errorCode"` // The error code, e.g. "BotNotFound"
ErrorMessage string `json:"errorMessage"` // A human-readable error message
}
BotConnectorErrorInfo is used to provide error information in the Message Requests/Responses
func (*BotConnectorErrorInfo) Error ¶ added in v0.11.3
func (e *BotConnectorErrorInfo) Error() string
Error displays the error information in a human-readable format
implements the error interface
type BotConnectorIncomingMessageRequest ¶ added in v0.10.7
type BotConnectorIncomingMessageRequest struct {
BotID string `json:"botId"`
BotVersion string `json:"botVersion"`
BotSessionID uuid.UUID `json:"botSessionId"`
ConversationID uuid.UUID `json:"genesysConversationId"`
MessageID uuid.UUID `json:"messageId"`
Language string `json:"languageCode"`
BotSessionTimeout int64 `json:"botSessionTimeout"`
Message NormalizedMessage `json:"inputMessage"`
Parameters map[string]string `json:"parameters"`
CorrelationID string `json:"correlationId,omitempty"` // Optional correlation ID for tracking purposes
}
BotConnectorIncomingMessageRequest represents a message request received from a Genesys Cloud Digital Bot
func (BotConnectorIncomingMessageRequest) GetType ¶ added in v0.10.7
func (request BotConnectorIncomingMessageRequest) GetType() string
GetType returns the type of the message
implements core.TypeCarrier
func (BotConnectorIncomingMessageRequest) MarshalJSON ¶ added in v0.10.7
func (request BotConnectorIncomingMessageRequest) MarshalJSON() ([]byte, error)
MarshalJSON marshals to JSON
implements core.Marshaller
func (BotConnectorIncomingMessageRequest) Redact ¶ added in v0.11.8
func (request BotConnectorIncomingMessageRequest) Redact() any
Redact redacts sensitive data
implements logger.Redactable
func (*BotConnectorIncomingMessageRequest) UnmarshalJSON ¶ added in v0.10.7
func (request *BotConnectorIncomingMessageRequest) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals from JSON
implements core.Unmarshaller
func (*BotConnectorIncomingMessageRequest) Validate ¶ added in v0.10.7
func (request *BotConnectorIncomingMessageRequest) Validate() error
Validate validates the incoming message request
type BotConnectorIncomingMessageResponse ¶ added in v0.10.7
type BotConnectorIncomingMessageResponse struct {
BotState string `json:"botState"` // Complete, Failed, MoreData
Intent string `json:"intent,omitempty"` // The discovered intent, mandatory if BotState is "Complete"
Confidence float64 `json:"confidence,omitempty"` // Confidence score for the intent, optional
Entities []SlotEntity `json:"entities,omitempty"` // List of slot entities, optional
ReplyMessages []NormalizedMessage `json:"replyMessages,omitempty"` // List of reply messages to be sent back, optional
Parameters map[string]string `json:"parameters,omitempty"` // Message Parameters, optional
ErrorInfo *BotConnectorErrorInfo `json:"errorInfo,omitempty"` // Error information if BotState is "Failed", optional
}
func (BotConnectorIncomingMessageResponse) MarshalJSON ¶ added in v0.10.7
func (response BotConnectorIncomingMessageResponse) MarshalJSON() ([]byte, error)
MarshalJSON marshals to JSON
implements core.Marshaller
func (BotConnectorIncomingMessageResponse) Redact ¶ added in v0.11.8
func (response BotConnectorIncomingMessageResponse) Redact() any
Redact redacts sensitive data
implements logger.Redactable
func (*BotConnectorIncomingMessageResponse) UnmarshalJSON ¶ added in v0.10.7
func (response *BotConnectorIncomingMessageResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals from JSON
implements core.Unmarshaller
func (*BotConnectorIncomingMessageResponse) Validate ¶ added in v0.10.7
func (response *BotConnectorIncomingMessageResponse) Validate() error
Validate validates the response
type BotConnectorOutgoingMessageRequest ¶ added in v0.10.8
type BotConnectorOutgoingMessageRequest struct {
BotID string `json:"botId"`
BotVersion string `json:"botVersion"`
BotState string `json:"botState"` // Complete, Failed, MoreData
BotSessionID uuid.UUID `json:"botSessionId"`
MessageID uuid.UUID `json:"messageId"`
Language string `json:"languageCode"`
Intent string `json:"intent,omitempty"` // The discovered intent, mandatory if BotState is "Complete"
Confidence float64 `json:"confidence,omitempty"` // Confidence score for the intent, optional
Entities []SlotEntity `json:"entities,omitempty"` // List of slot entities, optional
ReplyMessages []NormalizedMessage `json:"replyMessages,omitempty"` // List of reply messages to be sent back, optional
Parameters map[string]string `json:"parameters,omitempty"` // Message Parameters, optional
ErrorInfo *BotConnectorErrorInfo `json:"errorInfo,omitempty"` // Error information if BotState is "Failed", optional
CorrelationID string `json:"correlationId,omitempty"` // Optional correlation ID for tracking purposes
}
func (BotConnectorOutgoingMessageRequest) MarshalJSON ¶ added in v0.10.8
func (request BotConnectorOutgoingMessageRequest) MarshalJSON() ([]byte, error)
MarshalJSON marshals to JSON
implements core.Marshaller
func (BotConnectorOutgoingMessageRequest) Redact ¶ added in v0.11.8
func (request BotConnectorOutgoingMessageRequest) Redact() any
Redact redacts sensitive data
implements logger.Redactable
func (*BotConnectorOutgoingMessageRequest) UnmarshalJSON ¶ added in v0.10.8
func (request *BotConnectorOutgoingMessageRequest) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals from JSON
implements core.Unmarshaller
func (*BotConnectorOutgoingMessageRequest) Validate ¶ added in v0.10.8
func (request *BotConnectorOutgoingMessageRequest) Validate() error
Validate validates the outgoing message request
type BotConnectorOutgoingMessageResponse ¶ added in v0.10.8
type BotConnectorOutgoingMessageResponse struct {
MessageID uuid.UUID `json:"messageId"` // The ID of the message being responded to.
}
func (BotConnectorOutgoingMessageResponse) MarshalJSON ¶ added in v0.10.8
func (response BotConnectorOutgoingMessageResponse) MarshalJSON() ([]byte, error)
MarshalJSON marshals the BotConnectorOutgoingMessageResponse to JSON
implements core.Marshaler
func (*BotConnectorOutgoingMessageResponse) UnmarshalJSON ¶ added in v0.10.8
func (response *BotConnectorOutgoingMessageResponse) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals JSON data into a BotConnectorOutgoingMessageResponse
implements core.Unmarshaler
func (*BotConnectorOutgoingMessageResponse) Validate ¶ added in v0.10.8
func (response *BotConnectorOutgoingMessageResponse) Validate() error
Validate validates the outgoing message response
type ButtonResponse ¶ added in v0.10.2
type Calibration ¶ added in v0.1.0
type Calibration struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
SelfURI URI `json:"selfUri"`
Calibrator *User `json:"calibrator"`
Agent *User `json:"agent"`
Conversation *Conversation `json:"conversation"`
EvaluationForm *EvaluationForm `json:"evaluationForm"`
ContextID string `json:"contextId"`
AverageScore int `json:"averageScore"`
HighScore int `json:"highScore"`
LowScore int `json:"lowScore"`
CreatedDate time.Time `json:"createdDate"`
Evaluations []*Evaluation `json:"evaluations"`
Evaluators []*User `json:"evaluators"`
ScoringIndex *Evaluation `json:"scoringIndex"`
ExpertEvaluator *User `json:"expertEvaluator"`
}
Calibration describe a Calibration
type Card ¶ added in v0.10.2
type Card struct {
Title string `json:"title"`
Description string `json:"description"`
URL *url.URL `json:"url"`
DefaultAction CardAction `json:"defaultAction"`
Actions []CardAction `json:"actions"`
}
func (*Card) UnmarshalJSON ¶ added in v0.10.2
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type CardAction ¶ added in v0.10.2
type CardAction struct {
Type string `json:"type"` // Link, Postback
Text string `json:"text"`
Payload string `json:"payload"`
URL *url.URL `json:"url,omitempty"`
IsSelected bool `json:"isSelected"`
}
func (*CardAction) UnmarshalJSON ¶ added in v0.10.2
func (action *CardAction) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type ChatMember ¶ added in v0.1.0
type ChatMember struct {
ID uuid.UUID `json:"id,omitempty"`
DisplayName string `json:"displayName,omitempty"`
AvatarURL *url.URL `json:"-"`
Role string `json:"role,omitempty"`
State string `json:"state,omitempty"`
JoinedAt time.Time `json:"joinDate,omitempty"`
LeftAt time.Time `json:"leaveDate,omitempty"`
Authenticated bool `json:"authenticatedGuest,omitempty"`
Custom map[string]string `json:"customFields,omitempty"`
}
ChatMember describes a Chat Member
func (ChatMember) GetID ¶ added in v0.1.0
func (member ChatMember) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (ChatMember) MarshalJSON ¶ added in v0.1.0
func (member ChatMember) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
func (ChatMember) String ¶ added in v0.1.0
func (member ChatMember) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ChatMember) UnmarshalJSON ¶ added in v0.1.0
func (member *ChatMember) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
type Client ¶
type Client struct {
Region string `json:"region"`
DeploymentID uuid.UUID `json:"deploymentId"`
Organization *Organization `json:"-"`
API *url.URL `json:"apiUrl,omitempty"`
LoginURL *url.URL `json:"loginUrl,omitempty"`
Proxy *url.URL `json:"proxyUrl,omitempty"`
Grant Authorizable `json:"-"`
RequestTimeout time.Duration `json:"requestTimout"`
Logger *logger.Logger `json:"-"`
}
Client is the primary object to use Gcloud
func ClientFromContext ¶ added in v0.1.0
ClientFromContext retrieves a Client from a context
func NewClient ¶ added in v0.1.0
func NewClient(options *ClientOptions) *Client
NewClient creates a new Gcloud Client
func (*Client) AuthorizeHandler ¶ added in v0.1.0
AuthorizeHandler validates an incoming Request and sends to Gcloud Authorize process if not
func (*Client) CheckScopes ¶ added in v0.7.10
func (client *Client) CheckScopes(context context.Context, scopes ...string) (permitted []string, denied []string, correlationID string, err error)
CheckScopes checks if the current client allows/denies the given scopes
See https://developer.genesys.cloud/authorization/platform-auth/scopes#scope-descriptions
func (*Client) CheckScopesWithID ¶ added in v0.7.10
func (client *Client) CheckScopesWithID(context context.Context, id core.Identifiable, scopes ...string) (permitted []string, denied []string, correlationID string, err error)
CheckScopesWithID checks if the given grant allows/denies the given scopes
See https://developer.genesys.cloud/authorization/platform-auth/scopes#scope-descriptions
func (*Client) CreateNotificationChannel ¶ added in v0.1.0
func (client *Client) CreateNotificationChannel(context context.Context) (channel *NotificationChannel, correlationID string, err error)
CreateNotificationChannel creates a new channel for notifications
If the environment variable PURECLOUD_LOG_HEARTBEAT is set to true, the Heartbeat topic will be logged
func (*Client) CreateOpenMessagingIntegration ¶ added in v0.7.0
func (client *Client) CreateOpenMessagingIntegration(context context.Context, name string, webhookURL *url.URL, token string, headers map[string]string) (integration *OpenMessagingIntegration, correlationID string, err error)
Create creates a new OpenMessaging Integration
func (*Client) Delete ¶
func (client *Client) Delete(context context.Context, path URI, results interface{}) (correlationID string, err error)
Delete sends a DELETE HTTP Request to GCloud and gets the results
The Genesys Cloud Correlation ID is returned if available
func (*Client) DeleteCookie ¶ added in v0.1.0
func (client *Client) DeleteCookie(w http.ResponseWriter)
DeleteCookie deletes the GCloud Client cookie from the response writer
func (*Client) FetchEntities ¶ added in v0.7.15
func (*Client) Get ¶
func (client *Client) Get(context context.Context, path URI, results interface{}) (correlationID string, err error)
Get sends a GET HTTP Request to GCloud and gets the results
The Genesys Cloud Correlation ID is returned if available
func (*Client) GetAvailableNotificationTopics ¶ added in v0.8.0
func (client *Client) GetAvailableNotificationTopics(context context.Context, properties ...string) (definitions []NotificationTopicDefinition, correlationID string, err error)
GetAvailableNotificationTopics retrieves available notification topics
properties is one of more properties that should be expanded see https://developer.mypurecloud.com/api/rest/v2/notifications/#get-api-v2-notifications-availabletopics
func (Client) GetLogger ¶ added in v0.6.0
GetLogger gets the logger from the given Context
If the Context is nil or does not contain a logger, it returns the default logger
func (*Client) GetMyOrganization ¶
func (client *Client) GetMyOrganization(context context.Context) (organization *Organization, correlationID string, err error)
GetMyOrganization retrives the current Organization
func (*Client) GetMyUser ¶ added in v0.1.0
GetMyUser retrieves the User that authenticated with the client
properties is one of more properties that should be expanded see https://developer.mypurecloud.com/api/rest/v2/users/#get-api-v2-users-me
func (*Client) HttpHandler ¶ added in v0.1.0
HttpHandler wraps the client into an http Handler
func (*Client) IsAuthorized ¶
IsAuthorized tells if the client has an Authorization Token It migt be expired and the app should login again as needed
func (*Client) LoggedInHandler ¶ added in v0.1.0
LoggedInHandler gets a valid Token from GCloud using an AuthorizationGrant
func (*Client) LoginWithAuthorizationGrant ¶ added in v0.1.0
func (client *Client) LoginWithAuthorizationGrant(context context.Context, grant Authorizable) (correlationID string, err error)
LoginWithAuthorizationGrant logs in a Client to Gcloud with given authorization Grant
func (*Client) LogoutHandler ¶ added in v0.1.0
LogoutHandler logs out the current user
func (*Client) Patch ¶ added in v0.1.0
func (client *Client) Patch(context context.Context, path URI, payload, results interface{}) (correlationID string, err error)
Patch sends a PATCH HTTP Request to GCloud and gets the results
The Genesys Cloud Correlation ID is returned if available
func (*Client) Post ¶
func (client *Client) Post(context context.Context, path URI, payload, results interface{}) (correlationID string, err error)
Post sends a POST HTTP Request to GCloud and gets the results
The Genesys Cloud Correlation ID is returned if available
func (*Client) Put ¶ added in v0.1.0
func (client *Client) Put(context context.Context, path URI, payload, results interface{}) (correlationID string, err error)
Put sends an UPDATE HTTP Request to GCloud and gets the results
The Genesys Cloud Correlation ID is returned if available
func (*Client) SearchExternalContact ¶ added in v0.9.7
func (client *Client) SearchExternalContact(context context.Context, value string) (contact *ExternalContact, correlationID string, err error)
SearchExternalContact search for an external contact by one of its attributes
func (*Client) SendRequest ¶ added in v0.1.0
func (client *Client) SendRequest(context context.Context, uri URI, options *request.Options, results interface{}) (correlationID string, err error)
SendRequest sends a REST request to GCloud
The Genesys Cloud Correlation ID is returned if available
func (*Client) SetAuthorizationGrant ¶ added in v0.1.0
func (client *Client) SetAuthorizationGrant(grant Authorizable) *Client
SetAuthorizationGrant sets the Authorization Grant
type ClientCredentialsGrant ¶ added in v0.1.0
type ClientCredentialsGrant struct {
ClientID uuid.UUID
Secret string
Token AccessToken
CustomData interface{}
TokenUpdated chan UpdatedAccessToken
}
ClientCredentialsGrant implements GCloud's Client Credentials Grants
When the Token is updated, the new token is sent to the TokenUpdated chan along with the CustomData
See: https://developer.mypurecloud.com/api/rest/authorization/use-client-credentials.html
func (*ClientCredentialsGrant) AccessToken ¶ added in v0.1.0
func (grant *ClientCredentialsGrant) AccessToken() *AccessToken
AccessToken gives the access Token carried by this Grant
Implements Authorizable
func (*ClientCredentialsGrant) Authorize ¶ added in v0.1.0
func (grant *ClientCredentialsGrant) Authorize(context context.Context, client *Client) (correlationID string, err error)
Authorize this Grant with GCloud CX
Implements Authorizable
func (*ClientCredentialsGrant) GetID ¶ added in v0.4.0
func (grant *ClientCredentialsGrant) GetID() uuid.UUID
GetID gets the client Identifier
Implements core.Identifiable
type ClientOptions ¶
type ClientOptions struct {
Context context.Context
Region string
OrganizationID uuid.UUID
DeploymentID uuid.UUID
Proxy *url.URL
Grant Authorizable
RequestTimeout time.Duration
Logger *logger.Logger
}
ClientOptions contains the options to create a new Client
type CobrowseEvent ¶ added in v0.10.2
type CobrowseSession ¶ added in v0.1.0
type CobrowseSession struct {
ID uuid.UUID `json:"id"`
State string `json:"state"` // alerting,dialing,contacting,offering,connected,disconnected,terminated,converting,uploading,transmitting,scheduled,none
Self Address `json:"self"`
Held bool `json:"held"`
ProviderEventTime time.Time `json:"providerEventTime"`
ConnectedTime time.Time `json:"connectedTime"`
DisconnectedTime time.Time `json:"disconnectedTime"`
StartAlertingTime time.Time `json:"startAlertingTime"`
DisconnectType string `json:"disconnectType"` // endpoint,client,system,transfer,timeout,transfer.conference,transfer.consult,transfer.forward,transfer.noanswer,transfer.notavailable,transport.failure,error,peer,other,spam,uncallable
Segments []Segment `json:"segments"`
Provider string `json:"provider"`
PeerID string `json:"peerId"`
CobrowseSessionID string `json:"cobrowseSessionId"`
CobrowseRole string `json:"cobrowseRole"`
Controlling []string `json:"controlling"`
ViewerURL *url.URL `json:"viewerUrl"`
}
CobrowseSession describes a Cobrowse Session (like belonging to Participant)
func (CobrowseSession) GetID ¶ added in v0.1.0
func (session CobrowseSession) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (CobrowseSession) String ¶ added in v0.1.0
func (session CobrowseSession) String() string
String gets a string version
implements the fmt.Stringer interface
type Contact ¶ added in v0.1.0
type Contact struct {
Type string `json:"type"` // PRIMARY, WORK, WORK2, WORK3, WORK4, HOME, MOBILE, MAIN
MediaType string `json:"mediaType"` // PHONE, EMAIL, SMS
Display string `json:"display,omitempty"`
Address string `json:"address,omitempty"` // If present, there is no Extension
Extension string `json:"extension,omitempty"` // If present, there is no Address
}
Contact describes something that can be contacted
type Conversation ¶ added in v0.1.0
type Conversation struct {
ID uuid.UUID `json:"id"`
SelfURI URI `json:"selfUri,omitempty"`
Name string `json:"name"`
ExternalTag string `json:"externalTag,omitempty"`
StartTime time.Time `json:"startTime"`
EndTime time.Time `json:"endTime"`
Address string `json:"address"`
Participants []Participant `json:"participants"`
ConversationIDs []uuid.UUID `json:"conversationIds"`
MaxParticipants int `json:"maxParticipants"`
RecordingState string `json:"recordingState"`
State string `json:"state"`
Divisions []struct {
Division DomainEntityRef `json:"division"`
Entities []DomainEntityRef `json:"entities"`
} `json:"divisions"`
// contains filtered or unexported fields
}
Conversation contains the details of a live conversation
See: https://developer.mypurecloud.com/api/rest/v2/conversations
func (Conversation) AssociateExternalContact ¶ added in v0.9.7
func (conversation Conversation) AssociateExternalContact(context context.Context, contact *ExternalContact, communicationID uuid.UUID, mediaType string) (correlationID string, err error)
AssociateExternalContact associates an ExternalContact to this Conversation
func (Conversation) Disconnect ¶ added in v0.7.12
func (conversation Conversation) Disconnect(context context.Context, identifiable Identifiable) (correlationID string, err error)
Disconnect disconnect an Identifiable from this
implements Disconnecter
func (Conversation) FetchRecordings ¶ added in v0.10.2
func (conversation Conversation) FetchRecordings(context context.Context) (recordings []Recording, correlationID string, err error)
FetchRecordings fetches the recordings of this conversation
func (Conversation) GetID ¶ added in v0.1.0
func (conversation Conversation) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (Conversation) GetParticipantByPurpose ¶ added in v0.9.7
func (conversation Conversation) GetParticipantByPurpose(purpose string) (participant *Participant, found bool)
GetParticipantByPurpose get the conversation's participant by its purpose
func (Conversation) GetURI ¶ added in v0.7.0
func (conversation Conversation) GetURI(ids ...uuid.UUID) URI
GetURI gets the URI of this
implements Addressable
func (*Conversation) Initialize ¶ added in v0.1.0
func (conversation *Conversation) Initialize(parameters ...interface{})
Initialize initializes the object
accepted parameters: *gcloudcx.Client, *logger.Logger
implements Initializable
func (Conversation) String ¶ added in v0.1.0
func (conversation Conversation) String() string
String gets a string version
implements the fmt.Stringer interface
func (Conversation) UpdateState ¶ added in v0.7.12
func (conversation Conversation) UpdateState(context context.Context, identifiable Identifiable, state string) (correlationID string, err error)
UpdateState update the state of an identifiable in this
implements StateUpdater
type ConversationACDEndTopic ¶ added in v0.8.0
type ConversationACDEndTopic struct {
ID uuid.UUID
Name string
Time time.Time
ConversationID uuid.UUID
SessionID uuid.UUID
QueueID uuid.UUID
DivisionID uuid.UUID
CorrelationID string
DisconnectType string
MediaType string
MessageType string
Provider string
Direction string
ANI string
DNIS string
AddressTo string
AddressFrom string
Subject string
ACDOutcome string
Participant *Participant
Targets []Identifiable
}
ConversationACDEndTopic describes a Topic about a Conversation ACD End
func (ConversationACDEndTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationACDEndTopic) GetTargets() []Identifiable
GetTargets returns the targets
func (ConversationACDEndTopic) GetType ¶ added in v0.8.0
func (topic ConversationACDEndTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationACDEndTopic) String ¶ added in v0.8.0
func (topic ConversationACDEndTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ConversationACDEndTopic) UnmarshalJSON ¶ added in v0.8.0
func (topic *ConversationACDEndTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationACDEndTopic) With ¶ added in v0.8.0
func (topic ConversationACDEndTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type ConversationACDStartTopic ¶ added in v0.8.0
type ConversationACDStartTopic struct {
ID uuid.UUID
Name string
ConversationID uuid.UUID
Participant *Participant
CorrelationID string
Targets []Identifiable
}
ConversationACDStartTopic describes a Topic about a Conversation ACD Start
func (ConversationACDStartTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationACDStartTopic) GetTargets() []Identifiable
GetTargets returns the targets
func (ConversationACDStartTopic) GetType ¶ added in v0.8.0
func (topic ConversationACDStartTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationACDStartTopic) String ¶ added in v0.8.0
func (topic ConversationACDStartTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ConversationACDStartTopic) UnmarshalJSON ¶ added in v0.8.0
func (topic *ConversationACDStartTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationACDStartTopic) With ¶ added in v0.8.0
func (topic ConversationACDStartTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type ConversationACWTopic ¶ added in v0.8.0
type ConversationACWTopic struct {
ID uuid.UUID
Name string
ConversationID uuid.UUID
CorrelationID string
Targets []Identifiable
}
ConversationACWTopic describes a Topic about a Conversation After Call Work
func (ConversationACWTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationACWTopic) GetTargets() []Identifiable
GetTargets returns the targets
func (ConversationACWTopic) GetType ¶ added in v0.8.0
func (topic ConversationACWTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationACWTopic) String ¶ added in v0.8.0
func (topic ConversationACWTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ConversationACWTopic) UnmarshalJSON ¶ added in v0.8.0
func (topic *ConversationACWTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationACWTopic) With ¶ added in v0.8.0
func (topic ConversationACWTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type ConversationAttributesTopic ¶ added in v0.8.0
type ConversationAttributesTopic struct {
ID uuid.UUID
Name string
ConversationID uuid.UUID
CorrelationID string
Targets []Identifiable
}
ConversationAttributesTopic describes a Topic about a Conversation Attribute Update
func (ConversationAttributesTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationAttributesTopic) GetTargets() []Identifiable
GetTargets returns the targets
func (ConversationAttributesTopic) GetType ¶ added in v0.8.0
func (topic ConversationAttributesTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationAttributesTopic) String ¶ added in v0.8.0
func (topic ConversationAttributesTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ConversationAttributesTopic) UnmarshalJSON ¶ added in v0.8.0
func (topic *ConversationAttributesTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationAttributesTopic) With ¶ added in v0.8.0
func (topic ConversationAttributesTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type ConversationCall ¶ added in v0.1.0
type ConversationCall struct {
ID uuid.UUID `json:"id"`
Self *Address `json:"self"`
Direction string `json:"direction"` // inbound,outbound
State string `json:"state"` // alerting,dialing,contacting,offering,connected,disconnected,terminated,converting,uploading,transmitting,scheduled,none
Muted bool `json:"muted"`
Held bool `json:"held"`
Confined bool `json:"confined"`
Recording bool `json:"recording"`
RecordingState string `json:"recodingState"` // none,active,paused
RecordingID string `json:"recordingId"`
Segments []Segment `json:"segments"`
DocumentID string `json:"documentId"`
Provider string `json:"provider"`
ScriptID string `json:"scriptId"`
PeerID string `json:"peerId"`
UUIData string `json:"uuiData"`
Other *Address `json:"other"`
ConnectedTime time.Time `json:"connectedTime"`
DisconnectedTime time.Time `json:"disconnectedTime"`
StartAlertingTime time.Time `json:"startAlertingTime"`
StartHoldTime time.Time `json:"startHoldTime"`
DisconnectType string `json:"disconnectType"` // endpoint,client,system,transfer,timeout,transfer.conference,transfer.consult,transfer.forward,transfer.noanswer,transfer.notavailable,transport.failure,error,peer,other,spam,uncallable
DisconnectReasons []*DisconnectReason `json:"disconnectReasons"`
FaxStatus FaxStatus `json:"faxStatus"`
ErrorInfo ErrorBody `json:"errorInfo"`
}
ConversationCall describes a Call (like belonging to Participant)
type ConversationCallback ¶ added in v0.1.0
type ConversationCallback struct {
ID uuid.UUID `json:"id"`
State string `json:"state"` // alerting,dialing,contacting,offering,connected,disconnected,terminated,converting,uploading,transmitting,scheduled,none
Direction string `json:"direction"` // inbound,outbound
Held bool `json:"held"`
ConnectedTime time.Time `json:"connectedTime"`
DisconnectedTime time.Time `json:"disconnectedTime"`
StartAlertingTime time.Time `json:"startAlertingTime"`
StartHoldTime time.Time `json:"startHoldTime"`
ScheduledTime time.Time `json:"callbackScheduledTime"`
DisconnectType string `json:"disconnectType"` // endpoint,client,system,transfer,timeout,transfer.conference,transfer.consult,transfer.forward,transfer.noanswer,transfer.notavailable,transport.failure,error,peer,other,spam,uncallable
Segments []Segment `json:"segments"`
Provider string `json:"provider"`
PeerID string `json:"peerId"`
DialerPreview *DialerPreview `json:"dialerPreview"`
Voicemail *Voicemail `json:"voicemail"`
CallbackNumbers []string `json:"callbackNumbers"`
CallbackUserName string `json:"callbackUserName"`
ScriptID string `json:"scriptId"`
AutomatedCallbackConfigID string `json:"automatedCallbackConfigId"`
}
ConversationCallback describes a Callback (like belonging to Participant)
type ConversationChat ¶ added in v0.1.0
type ConversationChat struct {
ID uuid.UUID `json:"id"`
SelfURI URI `json:"selfUri,omitempty"`
State string `json:"state"` // alerting,dialing,contacting,offering,connected,disconnected,terminated,converting,uploading,transmitting,scheduled,none
Direction string `json:"direction"` // inbound,outbound
DisconnectType string `json:"disconnectType"` // endpoint,client,system,transfer,timeout,transfer.conference,transfer.consult,transfer.forward,transfer.noanswer,transfer.notavailable,transport.failure,error,peer,other,spam,uncallable
Held bool `json:"held"`
ConnectedTime time.Time `json:"connectedTime"`
DisconnectedTime time.Time `json:"disconnectedTime"`
StartAlertingTime time.Time `json:"startAlertingTime"`
StartHoldTime time.Time `json:"startHoldTime"`
Participants []*Participant `json:"participants"`
Segments []Segment `json:"segments"`
Provider string `json:"provider"`
PeerID string `json:"peerId"`
RoomID string `json:"roomId"`
ScriptID string `json:"scriptId"`
RecordingID string `json:"recordingId"`
AvatarImageURL *url.URL `json:"-"`
JourneyContext *JourneyContext `json:"journeyContext"`
// contains filtered or unexported fields
}
ConversationChat describes a Agent-side Chat
func (ConversationChat) Disconnect ¶ added in v0.1.0
func (conversation ConversationChat) Disconnect(context context.Context, identifiable Identifiable) (correlationID string, err error)
Disconnect disconnect an Identifiable from this
implements Disconnecter
func (ConversationChat) GetID ¶ added in v0.1.0
func (conversation ConversationChat) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (ConversationChat) GetURI ¶ added in v0.7.0
func (conversation ConversationChat) GetURI(ids ...uuid.UUID) URI
GetURI gets the URI of this
implements Addressable
func (*ConversationChat) Initialize ¶ added in v0.1.0
func (conversation *ConversationChat) Initialize(parameters ...interface{})
Initialize initializes the object
accepted parameters: *gcloudcx.Client, *logger.Logger
implements Initializable
func (ConversationChat) Post ¶ added in v0.1.0
func (conversation ConversationChat) Post(context context.Context, member Identifiable, text string) (correlationID string, err error)
Post sends a text message to a chat member
func (ConversationChat) SetTyping ¶ added in v0.1.0
func (conversation ConversationChat) SetTyping(context context.Context, member Identifiable) (correlationID string, err error)
SetTyping send a typing indicator to the chat member
func (ConversationChat) String ¶ added in v0.1.0
func (conversation ConversationChat) String() string
String gets a string version
implements the fmt.Stringer interface
func (ConversationChat) Transfer ¶ added in v0.1.0
func (conversation ConversationChat) Transfer(context context.Context, identifiable Identifiable, queue Identifiable) (correlationID string, err error)
Transfer transfers a participant of this Conversation to the given Queue
implement Transferrer
func (*ConversationChat) UnmarshalJSON ¶ added in v0.1.0
func (conversation *ConversationChat) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationChat) UpdateState ¶ added in v0.1.0
func (conversation ConversationChat) UpdateState(context context.Context, identifiable Identifiable, state string) (correlationID string, err error)
UpdateState update the state of an identifiable in this
implements StateUpdater
func (ConversationChat) Wrapup ¶ added in v0.1.0
func (conversation ConversationChat) Wrapup(context context.Context, identifiable Identifiable, wrapup *Wrapup) (correlationID string, err error)
Wrapup wraps up a Participant of this Conversation
type ConversationChatMessageTopic ¶ added in v0.1.0
type ConversationChatMessageTopic struct {
ID uuid.UUID
Name string
ConversationID uuid.UUID
Sender *ChatMember
Type string // message, typing-indicator,
Body string
BodyType string // standard,
TimeStamp time.Time
CorrelationID string
Targets []Identifiable
}
ConversationChatMessageTopic describes a Topic about User's Presence
func (ConversationChatMessageTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationChatMessageTopic) GetTargets() []Identifiable
GetTargets returns the targets of this topic
func (ConversationChatMessageTopic) GetType ¶ added in v0.8.0
func (topic ConversationChatMessageTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationChatMessageTopic) String ¶ added in v0.1.0
func (topic ConversationChatMessageTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (ConversationChatMessageTopic) TopicNameWith ¶ added in v0.8.0
func (topic ConversationChatMessageTopic) TopicNameWith(identifiables ...Identifiable) string
TopicNameWith builds the topicName for the given identifiables
func (*ConversationChatMessageTopic) UnmarshalJSON ¶ added in v0.1.0
func (topic *ConversationChatMessageTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationChatMessageTopic) With ¶ added in v0.8.0
func (topic ConversationChatMessageTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type ConversationContactTopic ¶ added in v0.8.0
type ConversationContactTopic struct {
ID uuid.UUID
Name string
ConversationID uuid.UUID
CorrelationID string
Targets []Identifiable
}
ConversationContactTopic describes a Topic about a Conversation Contact Update
func (ConversationContactTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationContactTopic) GetTargets() []Identifiable
GetTargets returns the targets
func (ConversationContactTopic) GetType ¶ added in v0.8.0
func (topic ConversationContactTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationContactTopic) String ¶ added in v0.8.0
func (topic ConversationContactTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ConversationContactTopic) UnmarshalJSON ¶ added in v0.8.0
func (topic *ConversationContactTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationContactTopic) With ¶ added in v0.8.0
func (topic ConversationContactTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type ConversationCustomerEndTopic ¶ added in v0.8.0
type ConversationCustomerEndTopic struct {
ID uuid.UUID
Name string
ConversationID uuid.UUID
CorrelationID string
Targets []Identifiable
}
ConversationCustomerEndTopic describes a Topic about a Conversation Customer End
func (ConversationCustomerEndTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationCustomerEndTopic) GetTargets() []Identifiable
GetTargets returns the targets
func (ConversationCustomerEndTopic) GetType ¶ added in v0.8.0
func (topic ConversationCustomerEndTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationCustomerEndTopic) String ¶ added in v0.8.0
func (topic ConversationCustomerEndTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ConversationCustomerEndTopic) UnmarshalJSON ¶ added in v0.8.0
func (topic *ConversationCustomerEndTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationCustomerEndTopic) With ¶ added in v0.8.0
func (topic ConversationCustomerEndTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type ConversationCustomerStartTopic ¶ added in v0.8.0
type ConversationCustomerStartTopic struct {
ID uuid.UUID
Name string
ConversationID uuid.UUID
CorrelationID string
Targets []Identifiable
}
ConversationCustomerStartTopic describes a Topic about a Conversation Customer Start
func (ConversationCustomerStartTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationCustomerStartTopic) GetTargets() []Identifiable
GetTargets returns the targets
func (ConversationCustomerStartTopic) GetType ¶ added in v0.8.0
func (topic ConversationCustomerStartTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationCustomerStartTopic) String ¶ added in v0.8.0
func (topic ConversationCustomerStartTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ConversationCustomerStartTopic) UnmarshalJSON ¶ added in v0.8.0
func (topic *ConversationCustomerStartTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationCustomerStartTopic) With ¶ added in v0.8.0
func (topic ConversationCustomerStartTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type ConversationEmail ¶ added in v0.1.0
type ConversationEmail struct {
ID uuid.UUID `json:"id"`
State string `json:"state"` // alerting,dialing,contacting,offering,connected,disconnected,terminated,converting,uploading,transmitting,scheduled,none
Direction string `json:"direction"` // inbound,outbound
Held bool `json:"held"`
ConnectedTime time.Time `json:"connectedTime"`
DisconnectedTime time.Time `json:"disconnectedTime"`
StartAlertingTime time.Time `json:"startAlertingTime"`
StartHoldTime time.Time `json:"startHoldTime"`
Segments []Segment `json:"segments"`
Provider string `json:"provider"`
ScriptID string `json:"scriptId"`
PeerID string `json:"peerId"`
RecordingID string `json:"recordingId"`
AutoGenerated bool `json:"autoGenerated"`
Subject string `json:"subject"`
MessagesSent int `json:"messagesSent"`
MessageID string `json:"messageId"`
Spam bool `json:"spam"`
DraftAttachments []*Attachment `json:"draftAttachments"`
DisconnectType string `json:"disconnectType"` // endpoint,client,system,transfer,timeout,transfer.conference,transfer.consult,transfer.forward,transfer.noanswer,transfer.notavailable,transport.failure,error,peer,other,spam,uncallable
ErrorInfo ErrorBody `json:"errorInfo"`
}
ConversationEmail describes an Email (like belonging to Participant)
type ConversationFlowEndTopic ¶ added in v0.8.0
type ConversationFlowEndTopic struct {
ID uuid.UUID
Name string
ConversationID uuid.UUID
CorrelationID string
Targets []Identifiable
}
ConversationFlowEndTopic describes a Topic about a Conversation Flow End
func (ConversationFlowEndTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationFlowEndTopic) GetTargets() []Identifiable
GetTargets returns the targets
func (ConversationFlowEndTopic) GetType ¶ added in v0.8.0
func (topic ConversationFlowEndTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationFlowEndTopic) String ¶ added in v0.8.0
func (topic ConversationFlowEndTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ConversationFlowEndTopic) UnmarshalJSON ¶ added in v0.8.0
func (topic *ConversationFlowEndTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationFlowEndTopic) With ¶ added in v0.8.0
func (topic ConversationFlowEndTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type ConversationFlowStartTopic ¶ added in v0.8.0
type ConversationFlowStartTopic struct {
ID uuid.UUID
Name string
ConversationID uuid.UUID
CorrelationID string
Targets []Identifiable
}
ConversationFlowStartTopic describes a Topic about a Conversation Flow Start
func (ConversationFlowStartTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationFlowStartTopic) GetTargets() []Identifiable
GetTargets returns the targets
func (ConversationFlowStartTopic) GetType ¶ added in v0.8.0
func (topic ConversationFlowStartTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationFlowStartTopic) String ¶ added in v0.8.0
func (topic ConversationFlowStartTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ConversationFlowStartTopic) UnmarshalJSON ¶ added in v0.8.0
func (topic *ConversationFlowStartTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationFlowStartTopic) With ¶ added in v0.8.0
func (topic ConversationFlowStartTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type ConversationMessage ¶ added in v0.1.0
type ConversationMessage struct {
ID uuid.UUID `json:"id"`
Type string `json:"type"`
Direction string `json:"direction"` // inbound,outbound
State string `json:"state"` // alerting,dialing,contacting,offering,connected,disconnected,terminated,converting,uploading,transmitting,scheduled,none
Held bool `json:"held"`
RecordingID string `json:"recordingId,omitempty"`
Segments []Segment `json:"segments"`
Provider string `json:"provider"`
ScriptID string `json:"scriptId,omitempty"`
PeerID uuid.UUID `json:"peerId"`
RecipientCountry string `json:"recipientCountry,omitempty"`
ToAddress Address `json:"toAddress"`
FromAddress Address `json:"fromAddress"`
ConnectedTime time.Time `json:"connectedTime"`
DisconnectedTime time.Time `json:"disconnectedTime"`
StartAlertingTime time.Time `json:"startAlertingTime"`
StartHoldTime time.Time `json:"startHoldTime"`
Messages []MessageDetails `json:"messages"`
DisconnectType string `json:"disconnectType"` // endpoint,client,system,transfer,timeout,transfer.conference,transfer.consult,transfer.forward,transfer.noanswer,transfer.notavailable,transport.failure,error,peer,other,spam,uncallable
ErrorInfo ErrorBody `json:"errorInfo"`
}
ConversationMessage describes a Message (like belonging to Participant)
type ConversationOutboundTopic ¶ added in v0.8.0
type ConversationOutboundTopic struct {
ID uuid.UUID
Name string
ConversationID uuid.UUID
CorrelationID string
Targets []Identifiable
}
ConversationOutboundTopic describes a Topic about a Conversation Outbound Initialized
func (ConversationOutboundTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationOutboundTopic) GetTargets() []Identifiable
GetTargets returns the targets
func (ConversationOutboundTopic) GetType ¶ added in v0.8.0
func (topic ConversationOutboundTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationOutboundTopic) String ¶ added in v0.8.0
func (topic ConversationOutboundTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ConversationOutboundTopic) UnmarshalJSON ¶ added in v0.8.0
func (topic *ConversationOutboundTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationOutboundTopic) With ¶ added in v0.8.0
func (topic ConversationOutboundTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type ConversationRoutingData ¶ added in v0.1.0
type ConversationRoutingData struct {
Queue AddressableEntityRef `json:"queue"`
Language AddressableEntityRef `json:"language"`
Priority int `json:"priority"`
Skills []AddressableEntityRef `json:"skills"`
ScoredAgents []struct {
Agent AddressableEntityRef `json:"agent"`
Score int `json:"score"`
} `json:"scoredAgents"`
}
ConversationRoutingData defines routing details of a Conversation
type ConversationUserEndTopic ¶ added in v0.8.0
type ConversationUserEndTopic struct {
ID uuid.UUID
Name string
ConversationID uuid.UUID
CorrelationID string
Targets []Identifiable
}
ConversationUserEndTopic describes a Topic about a Conversation User End
func (ConversationUserEndTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationUserEndTopic) GetTargets() []Identifiable
GetTargets returns the targets
func (ConversationUserEndTopic) GetType ¶ added in v0.8.0
func (topic ConversationUserEndTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationUserEndTopic) String ¶ added in v0.8.0
func (topic ConversationUserEndTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ConversationUserEndTopic) UnmarshalJSON ¶ added in v0.8.0
func (topic *ConversationUserEndTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationUserEndTopic) With ¶ added in v0.8.0
func (topic ConversationUserEndTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type ConversationUserStartTopic ¶ added in v0.8.0
type ConversationUserStartTopic struct {
ID uuid.UUID
Name string
ConversationID uuid.UUID
CorrelationID string
Targets []Identifiable
}
ConversationUserStartTopic describes a Topic about a Conversation User Start
func (ConversationUserStartTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationUserStartTopic) GetTargets() []Identifiable
GetTargets returns the targets
func (ConversationUserStartTopic) GetType ¶ added in v0.8.0
func (topic ConversationUserStartTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationUserStartTopic) String ¶ added in v0.8.0
func (topic ConversationUserStartTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ConversationUserStartTopic) UnmarshalJSON ¶ added in v0.8.0
func (topic *ConversationUserStartTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationUserStartTopic) With ¶ added in v0.8.0
func (topic ConversationUserStartTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type ConversationVideo ¶ added in v0.1.0
type ConversationVideo struct {
ID uuid.UUID `json:"id"`
Self Address `json:"self"`
State string `json:"state"` // alerting,dialing,contacting,offering,connected,disconnected,terminated,converting,uploading,transmitting,scheduled,none
Segments []Segment `json:"segments"`
Provider string `json:"provider"`
PeerID string `json:"peerId"`
PeerCount int `json:"peerCount"`
Context string `json:"context"`
AudioMuted bool `json:"audioMuted"`
VideoMuted bool `json:"videoMuted"`
SharingScreen bool `json:"sharingScreen"`
MSIDs []string `json:"msids"`
ConnectedTime time.Time `json:"connectedTime"`
DisconnectedTime time.Time `json:"disconnectedTime"`
StartAlertingTime time.Time `json:"startAlertingTime"`
DisconnectType string `json:"disconnectType"` // endpoint,client,system,transfer,timeout,transfer.conference,transfer.consult,transfer.forward,transfer.noanswer,transfer.notavailable,transport.failure,error,peer,other,spam,uncallable
}
ConversationVideo describes a Video (like belonging to Participant)
type ConversationVoicemailEndTopic ¶ added in v0.8.0
type ConversationVoicemailEndTopic struct {
ID uuid.UUID
Name string
ConversationID uuid.UUID
CorrelationID string
Targets []Identifiable
}
ConversationVoicemailEndTopic describes a Topic about a Conversation Voicemail End
func (ConversationVoicemailEndTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationVoicemailEndTopic) GetTargets() []Identifiable
GetTargets returns the targets
func (ConversationVoicemailEndTopic) GetType ¶ added in v0.8.0
func (topic ConversationVoicemailEndTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationVoicemailEndTopic) String ¶ added in v0.8.0
func (topic ConversationVoicemailEndTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ConversationVoicemailEndTopic) UnmarshalJSON ¶ added in v0.8.0
func (topic *ConversationVoicemailEndTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationVoicemailEndTopic) With ¶ added in v0.8.0
func (topic ConversationVoicemailEndTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type ConversationVoicemailStartTopic ¶ added in v0.8.0
type ConversationVoicemailStartTopic struct {
ID uuid.UUID
Name string
ConversationID uuid.UUID
CorrelationID string
Targets []Identifiable
}
ConversationVoicemailStartTopic describes a Topic about a Conversation Voicemail Start
func (ConversationVoicemailStartTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationVoicemailStartTopic) GetTargets() []Identifiable
GetTargets returns the targets
func (ConversationVoicemailStartTopic) GetType ¶ added in v0.8.0
func (topic ConversationVoicemailStartTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationVoicemailStartTopic) String ¶ added in v0.8.0
func (topic ConversationVoicemailStartTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ConversationVoicemailStartTopic) UnmarshalJSON ¶ added in v0.8.0
func (topic *ConversationVoicemailStartTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationVoicemailStartTopic) With ¶ added in v0.8.0
func (topic ConversationVoicemailStartTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type ConversationWrapupTopic ¶ added in v0.8.0
type ConversationWrapupTopic struct {
ID uuid.UUID
Name string
ConversationID uuid.UUID
CorrelationID string
Targets []Identifiable
}
ConversationWrapupTopic describes a Topic about a Conversation Wrapup
func (ConversationWrapupTopic) GetTargets ¶ added in v0.8.0
func (topic ConversationWrapupTopic) GetTargets() []Identifiable
GetTargets returns the targets
func (ConversationWrapupTopic) GetType ¶ added in v0.8.0
func (topic ConversationWrapupTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (ConversationWrapupTopic) String ¶ added in v0.8.0
func (topic ConversationWrapupTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ConversationWrapupTopic) UnmarshalJSON ¶ added in v0.8.0
func (topic *ConversationWrapupTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (ConversationWrapupTopic) With ¶ added in v0.8.0
func (topic ConversationWrapupTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type CurrencyCollectionSlotEntity ¶ added in v0.10.7
type CurrencyCollectionSlotEntity struct {
Name string `json:"name"`
Values []CurrencyValue `json:"values"`
}
CurrencyCollectionSlotEntity represents a currency collection slot entity
func (CurrencyCollectionSlotEntity) GetName ¶ added in v0.10.7
func (entity CurrencyCollectionSlotEntity) GetName() string
GetName returns the name of the slot entity
func (CurrencyCollectionSlotEntity) GetType ¶ added in v0.10.7
func (entity CurrencyCollectionSlotEntity) GetType() string
GetType returns the type of the slot entity
func (CurrencyCollectionSlotEntity) MarshalJSON ¶ added in v0.10.7
func (entity CurrencyCollectionSlotEntity) MarshalJSON() ([]byte, error)
MarshalJSON marshals the slot entity to JSON
func (CurrencyCollectionSlotEntity) ParseValue ¶ added in v0.11.0
func (entity CurrencyCollectionSlotEntity) ParseValue(value string) (SlotEntity, error)
ParseValue parses the value and returns a new SlotEntity instance
func (CurrencyCollectionSlotEntity) String ¶ added in v0.10.7
func (entity CurrencyCollectionSlotEntity) String() string
CurrencyCollection returns the string representation of the slot entity's value
func (*CurrencyCollectionSlotEntity) UnmarshalJSON ¶ added in v0.10.7
func (entity *CurrencyCollectionSlotEntity) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals the slot entity from JSON
func (*CurrencyCollectionSlotEntity) Validate ¶ added in v0.11.0
func (entity *CurrencyCollectionSlotEntity) Validate() error
Validate checks if the slot entity is valid
type CurrencySlotEntity ¶ added in v0.10.7
type CurrencySlotEntity struct {
Name string `json:"name"`
Amount float64 `json:"-"`
Currency string `json:"-"`
}
CurrencySlotEntity represents a currency slot entity
func (CurrencySlotEntity) GetName ¶ added in v0.10.7
func (entity CurrencySlotEntity) GetName() string
GetName returns the name of the slot entity
func (CurrencySlotEntity) GetType ¶ added in v0.10.7
func (entity CurrencySlotEntity) GetType() string
GetType returns the type of the slot entity
func (CurrencySlotEntity) MarshalJSON ¶ added in v0.10.7
func (entity CurrencySlotEntity) MarshalJSON() ([]byte, error)
MarshalJSON marshals the slot entity to JSON
func (CurrencySlotEntity) ParseValue ¶ added in v0.11.0
func (entity CurrencySlotEntity) ParseValue(value string) (SlotEntity, error)
ParseValue parses the value and returns a new SlotEntity instance
func (CurrencySlotEntity) String ¶ added in v0.10.7
func (entity CurrencySlotEntity) String() string
Currency returns the string representation of the slot entity's value
func (*CurrencySlotEntity) UnmarshalJSON ¶ added in v0.10.7
func (entity *CurrencySlotEntity) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals the slot entity from JSON
func (*CurrencySlotEntity) Validate ¶ added in v0.11.0
func (entity *CurrencySlotEntity) Validate() error
Validate checks if the slot entity is valid
type CurrencyValue ¶ added in v0.10.7
CurrencyValue is a helper type to represent the currency value in JSON
func (*CurrencyValue) Parse ¶ added in v0.11.0
func (value *CurrencyValue) Parse(raw string) error
Parse parses a string representation of a currency value
func (CurrencyValue) String ¶ added in v0.10.7
func (value CurrencyValue) String() string
String returns the string representation of the currency value
type DataTable ¶ added in v0.8.0
type DataTable struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Division *Division `json:"division,omitempty"`
Schema *DataTableSchema `json:"schema,omitempty"`
// contains filtered or unexported fields
}
DataTable describes Data tables used by Architect
See: https://developer.genesys.cloud/routing/architect/flows
func (DataTable) AddRow ¶ added in v0.8.0
func (table DataTable) AddRow(context context.Context, key string, row DataTableRow) (correlationID string, err error)
AddRow adds a row to this table
func (DataTable) DeleteRow ¶ added in v0.8.0
func (table DataTable) DeleteRow(context context.Context, key string) (correlationID string, err error)
DeleteRow deletes a row from this table
func (DataTable) GetRow ¶ added in v0.8.0
func (table DataTable) GetRow(context context.Context, key string) (row DataTableRow, correlationID string, err error)
GetRow gets a row from this table
func (DataTable) GetRows ¶ added in v0.8.0
func (table DataTable) GetRows(context context.Context) (rows []DataTableRow, correlationID string, err error)
GetRows gets the rows of this table
func (*DataTable) Initialize ¶ added in v0.8.0
func (table *DataTable) Initialize(parameters ...interface{})
Initialize initializes the object
implements Initializable
func (DataTable) MarshalJSON ¶ added in v0.8.0
MarshalJSON marshals this into JSON
implements json.Marshaler
type DataTableRow ¶ added in v0.8.0
type DataTableRow map[string]interface{}
DataTableRow describes a row in a Data Table
type DataTableSchema ¶ added in v0.8.0
type DataTableSchema struct {
Schema string `json:"$schema"`
Type string `json:"type"`
Title string `json:"title"`
Description string `json:"description,omitempty"`
DataTableID uuid.UUID `json:"datatableId"`
Required []string `json:"required"`
Properties map[string]DataTableSchemaProperty `json:"properties"`
AdditionalProperties interface{} `json:"additionalProperties"`
}
type DataTableSchemaProperty ¶ added in v0.8.0
type DatetimeCollectionSlotEntity ¶ added in v0.10.7
type DatetimeCollectionSlotEntity struct {
Name string `json:"name"`
Values []time.Time `json:"values"`
}
DatetimeCollectionSlotEntity represents a datetime collection slot entity
func (DatetimeCollectionSlotEntity) GetName ¶ added in v0.10.7
func (entity DatetimeCollectionSlotEntity) GetName() string
GetName returns the name of the slot entity
func (DatetimeCollectionSlotEntity) GetType ¶ added in v0.10.7
func (entity DatetimeCollectionSlotEntity) GetType() string
GetType returns the type of the slot entity
func (DatetimeCollectionSlotEntity) MarshalJSON ¶ added in v0.10.7
func (entity DatetimeCollectionSlotEntity) MarshalJSON() ([]byte, error)
MarshalJSON marshals the slot entity to JSON
func (DatetimeCollectionSlotEntity) ParseValue ¶ added in v0.11.0
func (entity DatetimeCollectionSlotEntity) ParseValue(value string) (SlotEntity, error)
ParseValue parses the value and returns a new SlotEntity instance
func (DatetimeCollectionSlotEntity) String ¶ added in v0.10.7
func (entity DatetimeCollectionSlotEntity) String() string
DatetimeCollection returns the string representation of the slot entity's value
func (*DatetimeCollectionSlotEntity) UnmarshalJSON ¶ added in v0.10.7
func (entity *DatetimeCollectionSlotEntity) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals the slot entity from JSON
func (*DatetimeCollectionSlotEntity) Validate ¶ added in v0.11.0
func (entity *DatetimeCollectionSlotEntity) Validate() error
Validate checks if the slot entity is valid
type DatetimeSlotEntity ¶ added in v0.10.7
DatetimeSlotEntity represents a datetime slot entity
func (DatetimeSlotEntity) GetName ¶ added in v0.10.7
func (entity DatetimeSlotEntity) GetName() string
GetName returns the name of the slot entity
func (DatetimeSlotEntity) GetType ¶ added in v0.10.7
func (entity DatetimeSlotEntity) GetType() string
GetType returns the type of the slot entity
func (DatetimeSlotEntity) MarshalJSON ¶ added in v0.10.7
func (entity DatetimeSlotEntity) MarshalJSON() ([]byte, error)
MarshalJSON marshals the slot entity to JSON
func (DatetimeSlotEntity) ParseValue ¶ added in v0.11.0
func (entity DatetimeSlotEntity) ParseValue(value string) (SlotEntity, error)
ParseValue parses the value and returns a new SlotEntity instance
func (DatetimeSlotEntity) String ¶ added in v0.10.7
func (entity DatetimeSlotEntity) String() string
Datetime returns the string representation of the slot entity's value
func (*DatetimeSlotEntity) UnmarshalJSON ¶ added in v0.10.7
func (entity *DatetimeSlotEntity) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals the slot entity from JSON
func (*DatetimeSlotEntity) Validate ¶ added in v0.11.0
func (entity *DatetimeSlotEntity) Validate() error
Validate checks if the slot entity is valid
type DecimalCollectionSlotEntity ¶ added in v0.10.7
type DecimalCollectionSlotEntity struct {
Name string `json:"name"`
Values []float64 `json:"values"`
}
DecimalCollectionSlotEntity represents a decimal collection slot entity
func (DecimalCollectionSlotEntity) GetName ¶ added in v0.10.7
func (entity DecimalCollectionSlotEntity) GetName() string
GetName returns the name of the slot entity
func (DecimalCollectionSlotEntity) GetType ¶ added in v0.10.7
func (entity DecimalCollectionSlotEntity) GetType() string
GetType returns the type of the slot entity
func (DecimalCollectionSlotEntity) MarshalJSON ¶ added in v0.10.7
func (entity DecimalCollectionSlotEntity) MarshalJSON() ([]byte, error)
MarshalJSON marshals the slot entity to JSON
func (DecimalCollectionSlotEntity) ParseValue ¶ added in v0.11.0
func (entity DecimalCollectionSlotEntity) ParseValue(value string) (SlotEntity, error)
ParseValue parses the value and returns a new SlotEntity instance
func (DecimalCollectionSlotEntity) String ¶ added in v0.10.7
func (entity DecimalCollectionSlotEntity) String() string
DecimalCollection returns the string representation of the slot entity's value
func (*DecimalCollectionSlotEntity) UnmarshalJSON ¶ added in v0.10.7
func (entity *DecimalCollectionSlotEntity) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals the slot entity from JSON
func (*DecimalCollectionSlotEntity) Validate ¶ added in v0.11.0
func (entity *DecimalCollectionSlotEntity) Validate() error
Validate checks if the slot entity is valid
type DecimalSlotEntity ¶ added in v0.10.7
DecimalSlotEntity represents a decimal slot entity
func (DecimalSlotEntity) GetName ¶ added in v0.10.7
func (entity DecimalSlotEntity) GetName() string
GetName returns the name of the slot entity
func (DecimalSlotEntity) GetType ¶ added in v0.10.7
func (entity DecimalSlotEntity) GetType() string
GetType returns the type of the slot entity
func (DecimalSlotEntity) MarshalJSON ¶ added in v0.10.7
func (entity DecimalSlotEntity) MarshalJSON() ([]byte, error)
MarshalJSON marshals the slot entity to JSON
func (DecimalSlotEntity) ParseValue ¶ added in v0.11.0
func (entity DecimalSlotEntity) ParseValue(value string) (SlotEntity, error)
ParseValue parses the value and returns a new SlotEntity instance
func (DecimalSlotEntity) String ¶ added in v0.10.7
func (entity DecimalSlotEntity) String() string
Decimal returns the string representation of the slot entity's value
func (*DecimalSlotEntity) UnmarshalJSON ¶ added in v0.10.7
func (entity *DecimalSlotEntity) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals the slot entity from JSON
func (*DecimalSlotEntity) Validate ¶ added in v0.11.0
func (entity *DecimalSlotEntity) Validate() error
Validate checks if the slot entity is valid
type DialerPreview ¶ added in v0.1.0
type DialerPreview struct {
ID uuid.UUID `json:"id"`
ContactID uuid.UUID `json:"contactId"`
ContactListID uuid.UUID `json:"contactListId"`
CampaignID uuid.UUID `json:"campaignId"`
PhoneNumberColumns []struct {
Type string `json:"type"`
ColumnName string `json:"columnName"`
} `json:"phoneNumberColumns"`
}
DialerPreview describes a Diapler Preview
type DisconnectReason ¶ added in v0.1.0
type DisconnectReason struct {
Type string `json:"type"`
Code int `json:"code"`
Phrase string `json:"phrase"`
}
DisconnectReason describes the reason of a disconnect
type Disconnecter ¶ added in v0.1.0
type Disconnecter interface {
Disconnect(context context.Context, identifiable Identifiable) (correlationID string, err error)
}
Disconnecter describes objects that can disconnect an Identifiable from themselves
type Division ¶ added in v0.1.0
type Division struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
SelfURI URI `json:"selfUri"`
}
Division describes an Authorization Division
type DomainEntityListingEvaluationForm ¶ added in v0.1.0
type DomainEntityListingEvaluationForm struct {
Entities []*EvaluationForm `json:"entities"`
Total int `json:"total"`
PageSize int `json:"pageSize"`
PageNumber int `json:"pageNumber"`
PageCount int `json:"pageCount"`
FirstUri string `json:"firstUri"`
SelfUri string `json:"selfUri"`
PreviousUri string `json:"previousUri"`
NextUri string `json:"nextUri"`
LastUri string `json:"lastUri"`
}
DomainEntityListingEvaluationForm describes ...
type DomainEntityRef ¶ added in v0.1.0
type DomainEntityRef struct {
ID uuid.UUID `json:"id"`
Name string `json:"name,omitempty"`
SelfURI URI `json:"selfUri,omitempty"`
}
DomainEntityRef describes a DomainEntity Reference
func (DomainEntityRef) GetID ¶ added in v0.1.0
func (ref DomainEntityRef) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (DomainEntityRef) GetURI ¶ added in v0.1.0
func (ref DomainEntityRef) GetURI() URI
GetURI gets the URI of this
implements Addressable
type DomainRole ¶ added in v0.1.0
type DomainRole struct {
// TODO: Find out what should be here!
ID uuid.UUID `json:"id"`
SelfURI URI `json:"selfUri,omitempty"`
}
DomainRole describes a Role in a Domain
func (DomainRole) GetID ¶ added in v0.7.0
func (role DomainRole) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (DomainRole) GetURI ¶ added in v0.7.0
func (role DomainRole) GetURI() URI
GetURI gets the URI of this
implements Addressable
type DurationCollectionSlotEntity ¶ added in v0.10.7
type DurationCollectionSlotEntity struct {
Name string `json:"name"`
Values []time.Duration `json:"values"`
}
DurationCollectionSlotEntity represents a string collection slot entity
func (DurationCollectionSlotEntity) GetName ¶ added in v0.10.7
func (entity DurationCollectionSlotEntity) GetName() string
GetName returns the name of the slot entity
func (DurationCollectionSlotEntity) GetType ¶ added in v0.10.7
func (entity DurationCollectionSlotEntity) GetType() string
GetType returns the type of the slot entity
func (DurationCollectionSlotEntity) MarshalJSON ¶ added in v0.10.7
func (entity DurationCollectionSlotEntity) MarshalJSON() ([]byte, error)
MarshalJSON marshals the slot entity to JSON
func (DurationCollectionSlotEntity) ParseValue ¶ added in v0.11.0
func (entity DurationCollectionSlotEntity) ParseValue(value string) (SlotEntity, error)
ParseValue parses the value and returns a new SlotEntity instance
func (DurationCollectionSlotEntity) String ¶ added in v0.10.7
func (entity DurationCollectionSlotEntity) String() string
DurationCollection returns the string representation of the slot entity's value
func (*DurationCollectionSlotEntity) UnmarshalJSON ¶ added in v0.10.7
func (entity *DurationCollectionSlotEntity) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals the slot entity from JSON
func (*DurationCollectionSlotEntity) Validate ¶ added in v0.11.0
func (entity *DurationCollectionSlotEntity) Validate() error
Validate checks if the slot entity is valid
type DurationSlotEntity ¶ added in v0.10.7
DurationSlotEntity represents a duration slot entity
func (DurationSlotEntity) GetName ¶ added in v0.10.7
func (entity DurationSlotEntity) GetName() string
GetName returns the name of the slot entity
func (DurationSlotEntity) GetType ¶ added in v0.10.7
func (entity DurationSlotEntity) GetType() string
GetType returns the type of the slot entity
func (DurationSlotEntity) MarshalJSON ¶ added in v0.10.7
func (entity DurationSlotEntity) MarshalJSON() ([]byte, error)
MarshalJSON marshals the slot entity to JSON
func (DurationSlotEntity) ParseValue ¶ added in v0.11.0
func (entity DurationSlotEntity) ParseValue(value string) (SlotEntity, error)
ParseValue parses the value and returns a new SlotEntity instance
func (DurationSlotEntity) String ¶ added in v0.10.7
func (entity DurationSlotEntity) String() string
Duration returns the string representation of the slot entity's value
func (*DurationSlotEntity) UnmarshalJSON ¶ added in v0.10.7
func (entity *DurationSlotEntity) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals the slot entity from JSON
func (*DurationSlotEntity) Validate ¶ added in v0.11.0
func (entity *DurationSlotEntity) Validate() error
Validate checks if the slot entity is valid
type EmailAddress ¶ added in v0.10.2
type EmailAttachment ¶ added in v0.10.2
type EmailAttachment struct {
Domain DomainEntityRef `json:"domain"`
Route *EmailInboundRoute `json:"route"`
}
type EmailInboundRoute ¶ added in v0.10.2
type EmailInboundRoute struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
Pattern string `json:"pattern"`
Queue DomainEntityRef `json:"queue"`
Priority int `json:"priority"`
Skills []DomainEntityRef `json:"skills"`
Language DomainEntityRef `json:"language"`
FromName string `json:"fromName"`
FromEmail string `json:"fromEmail"`
Flow DomainEntityRef `json:"flow"`
ReplyEmailAddress QueueEmailAddress `json:"replyEmailAddress"`
AutoBCC []EmailAddress `json:"autoBcc"`
SpamFlow DomainEntityRef `json:"spamFlow"`
Signature EmailSignature `json:"signature"`
HistoryInclusion string `json:"historyInclusion"` // Include, Exclude, Optional
AllowMultipleActions bool `json:"allowMultipleActions"`
SelfURI string `json:"selfUri"`
}
func (EmailInboundRoute) GetID ¶ added in v0.10.2
func (route EmailInboundRoute) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (EmailInboundRoute) GetName ¶ added in v0.10.2
func (route EmailInboundRoute) GetName() string
GetName gets the name of this
implements Named
func (EmailInboundRoute) GetURI ¶ added in v0.10.2
func (route EmailInboundRoute) GetURI() URI
GetURI gets the URI of this
implements Addressable
func (*EmailInboundRoute) UnmarshalJSON ¶ added in v0.10.2
func (route *EmailInboundRoute) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals the email inbound route from JSON
Implements json.Unmarshaler
type EmailSignature ¶ added in v0.10.2
type EmailSignature struct {
Enabled bool `json:"enabled"`
CannedResponseID uuid.UUID `json:"cannedResponseId"`
AlwaysIncluded bool `json:"alwaysIncluded"`
InclusionType string `json:"inclusionType"` // Draft, Send, SendOnce
}
func (*EmailSignature) UnmarshalJSON ¶ added in v0.10.2
func (signature *EmailSignature) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals the email signature from JSON
Implements json.UnMarshaler
type EmployerInfo ¶ added in v0.1.0
type EmployerInfo struct {
OfficialName string `json:"officialName"`
EmployeeID string `json:"employeeId"`
EmployeeType string `json:"employeeType"`
HiredSince string `json:"dateHire"`
}
EmployerInfo describes Employer Information
func (EmployerInfo) String ¶ added in v0.1.0
func (info EmployerInfo) String() string
String gets a string version
implements the fmt.Stringer interface
type Entities ¶ added in v0.7.15
type Entities struct {
Entities [][]byte `json:"-"`
PageSize int64 `json:"pageSize"`
PageNumber int64 `json:"pageNumber"`
PageCount uint64 `json:"pageCount"`
PageTotal uint64 `json:"total"`
FirstURI string `json:"firstUri"`
SelfURI string `json:"selfUri"`
LastURI string `json:"lastUri"`
}
func (*Entities) UnmarshalJSON ¶ added in v0.7.15
UnmarshalJSON implements the json.Unmarshaler interface.
type ErrorBody ¶ added in v0.1.0
type ErrorBody struct {
Status int `json:"status"`
Code string `json:"code"`
EntityID string `json:"entityId"`
EntityName string `json:"entityName"`
Message string `json:"message"`
MessageWithParams string `json:"messageWithParams"`
MessageParams map[string]string `json:"messageParams"`
ContextID string `json:"contextId"`
Details []ErrorDetail `json:"details"`
Errors []*ErrorBody `json:"errors"`
}
ErrorBody describes errors in PureCloud objects
type ErrorDetail ¶ added in v0.1.0
type ErrorDetail struct {
ErrorCode string `json:"errorCode"`
Fieldname string `json:"fieldName"`
EntityID string `json:"entityId"`
EntityName string `json:"entityName"`
}
ErrorDetail describes the details of an error
type Evaluation ¶ added in v0.1.0
type Evaluation struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
Status string `json:"status"`
Queue *Queue `json:"queue"`
Conversation *Conversation `json:"conversation"`
EvaluationForm *EvaluationForm `json:"evaluationForm"`
Evaluator *User `json:"evaluator"`
Agent *User `json:"agent"`
Calibration *Calibration `json:"calibration"`
Answers *EvaluationScoringSet `json:"answers"`
AgentHasRead bool `json:"agentHasRead"`
ReleaseDate time.Time `json:"releaseDate"`
AssignedDate time.Time `json:"assignedDate"`
ChangedDate time.Time `json:"changedDate"`
}
Evaluation describes an Evaluation (like belonging to Participant)
func (Evaluation) GetID ¶ added in v0.1.0
func (evaluation Evaluation) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (Evaluation) String ¶ added in v0.1.0
func (evaluation Evaluation) String() string
String gets a string version
implements the fmt.Stringer interface
type EvaluationForm ¶ added in v0.1.0
type EvaluationForm struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
SelfURI URI `json:"selfUri"`
ModifiedDate time.Time `json:"modifiedDate"`
Published bool `json:"published"`
ContextID string `json:"contextId"`
QuestionGroups []EvaluationQuestionGroup `json:"questionGroups"`
PublishedVersions DomainEntityListingEvaluationForm `json:"publishedVersions"`
}
EvaluationForm describes an Evaluation Form
func (EvaluationForm) GetID ¶ added in v0.7.0
func (form EvaluationForm) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (EvaluationForm) GetURI ¶ added in v0.7.0
func (form EvaluationForm) GetURI() URI
GetURI gets the URI of this
implements Addressable
func (EvaluationForm) String ¶ added in v0.7.0
func (form EvaluationForm) String() string
String gets a string version
implements the fmt.Stringer interface
type EvaluationQuestion ¶ added in v0.1.0
type EvaluationQuestion struct {
ID uuid.UUID `json:"id"`
Type string `json:"type"`
Text string `json:"text"`
HelpText string `json:"helpText"`
NAEnabled bool `json:"naEnabled"`
CommentsRequired bool `json:"commentsRequired"`
IsKill bool `json:"isKill"`
IsCritical bool `json:"isCritical"`
VisibilityCondition *VisibilityCondition `json:"visibilityCondition"`
AnswerOptions []*AnswerOption `json:"answerOptions"`
}
EvaluationQuestion describe an Evaluation Question
func (EvaluationQuestion) GetID ¶ added in v0.7.0
func (question EvaluationQuestion) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (EvaluationQuestion) String ¶ added in v0.7.0
func (question EvaluationQuestion) String() string
String gets a string version
implements the fmt.Stringer interface
type EvaluationQuestionGroup ¶ added in v0.1.0
type EvaluationQuestionGroup struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
Type string `json:"type"`
DefaultAnswersToHighest bool `json:"defaultAnswersToHighest"`
DefaultAnswersToNA bool `json:"defaultAnswersToNA"`
NAEnabled bool `json:"naEnabled"`
Weight float64 `json:"weight"`
ManualWeight bool `json:"manualWeight"`
Questions []*EvaluationQuestion `json:"questions"`
VisibilityCondition *VisibilityCondition `json:"visibilityCondition"`
}
EvaluationQuestionGroup describes a Group of Evaluation Questions
func (EvaluationQuestionGroup) GetID ¶ added in v0.7.0
func (group EvaluationQuestionGroup) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (EvaluationQuestionGroup) String ¶ added in v0.7.0
func (group EvaluationQuestionGroup) String() string
String gets a string version
implements the fmt.Stringer interface
type EvaluationScoringSet ¶ added in v0.1.0
type EvaluationScoringSet struct {
TotalScore float64 `json:"totalScore"`
TotalCriticalScore float64 `json:"totalCriticalScore"`
}
EvaluationScoringSet describes an Evaluation Scoring Set
type ExternalContact ¶ added in v0.9.7
type ExternalContact struct {
ID uuid.UUID `json:"id"`
SelfURI URI `json:"selfUri,omitempty"`
Name string `json:"name"`
// contains filtered or unexported fields
}
ExternalContact represents an external contact
See: https://developer.genesys.cloud/devapps/api-explorer#post-api-v2-externalcontacts-contacts
func (ExternalContact) GetID ¶ added in v0.9.7
func (contact ExternalContact) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (ExternalContact) GetURI ¶ added in v0.9.7
func (contact ExternalContact) GetURI(ids ...uuid.UUID) URI
GetURI gets the URI of this
implements Addressable
func (*ExternalContact) Initialize ¶ added in v0.9.7
func (contact *ExternalContact) Initialize(parameters ...interface{})
Initialize initializes the object
accepted parameters: *gcloudcx.Client, *logger.Logger
implements Initializable
func (ExternalContact) String ¶ added in v0.9.7
func (contact ExternalContact) String() string
String gets a string version
implements the fmt.Stringer interface
type FaxStatus ¶ added in v0.1.0
type FaxStatus struct {
Direction string `json:"direction"` // inbound,outbound
ActivePage int `json:"activePage"`
ExpectedPages int `json:"expectedPages"`
LinesTransmitted int `json:"linesTransmitted"`
BytesTransmitted int `json:"bytesTransmitted"`
BaudRate int `json:"baudRate"`
PageErrors int `json:"pageErrors"`
LineErrors int `json:"lineErrors"`
}
FaxStatus describes a FAX status
type Fetchable ¶ added in v0.7.0
type Fetchable interface {
Identifiable
Addressable
}
Fetchable describes things that can be fetched from the Genesys Cloud API
type FetchableByStringID ¶ added in v0.10.6
type FetchableByStringID interface {
core.StringIdentifiable
AddressableByStringID
}
FetchableByStringID describes things that can be fetched from the Genesys Cloud API
These objects use a named ID instead of a UUID to fetch them.
For example, IntegrationType uses a string ID like "genesyscloud-digital-bot-connector" or "amazon-lex-v2" instead of a UUID.
type Flow ¶ added in v0.7.15
type Flow struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Division *Division `json:"division,omitempty"`
IsActive bool `json:"active"`
IsSystem bool `json:"system"`
IsDeleted bool `json:"deleted"`
}
func (*Flow) Initialize ¶ added in v0.7.15
func (flow *Flow) Initialize(parameters ...interface{})
Initialize initializes the object
implements Initializable
func (Flow) MarshalJSON ¶ added in v0.7.15
MarshalJSON marshals this into JSON
implements json.Marshaler
type GCMessageDetails ¶ added in v0.10.2
type GCMessageDetails struct {
MessageID uuid.UUID `json:"messageId"`
MessageStatus string `json:"messageStatus,omitempty"`
MessageURI string `json:"messageUri,omitempty"`
MessageSegmentCount int64 `json:"messageSegmentCount,omitempty"`
MessageTime time.Time `json:"messageTime"`
Media []Media `json:"media,omitempty"`
Stickers []Sticker `json:"stickers,omitempty"`
MessageMetadata *MessageMetadata `json:"messageMetadata,omitempty"`
SocialVisibility string `json:"socialVisibility,omitempty"` // private, public
ErrorInfo *APIError `json:"errorInfo,omitempty"`
}
func (*GCMessageDetails) UnmarshalJSON ¶ added in v0.10.2
func (message *GCMessageDetails) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals the message details from JSON
Implements json.UnMarshaler
type GeoLocation ¶ added in v0.1.0
type GeoLocation struct {
ID string `json:"id"`
SelfURI URI `json:"selfUri"`
Name string `json:"name"`
Locations []*LocationDefinition `json:"locations"`
}
GeoLocation describes a location with coordinates
type Group ¶ added in v0.1.0
type Group struct {
ID uuid.UUID `json:"id"`
SelfURI URI `json:"selfUri"`
Name string `json:"name"`
Type string `json:"type"`
Description string `json:"description"`
State string `json:"state"`
MemberCount int `json:"memberCount"`
Owners []*User `json:"owners"`
Images []*UserImage `json:"images"`
Addresses []*Contact `json:"addresses"`
RulesVisible bool `json:"rulesVisible"`
Visibility string `json:"visibility"`
DateModified time.Time `json:"dateModified"`
Version int `json:"version"`
// contains filtered or unexported fields
}
Group describe a Group of users
func (*Group) Initialize ¶ added in v0.1.0
func (group *Group) Initialize(parameters ...interface{})
Initialize initializes the object
accepted parameters: *gcloudcx.Client, *logger.Logger
implements Initializable
type HelpLink ¶ added in v0.10.5
type HelpLink struct {
Title string `json:"title"`
Description string `json:"description,omitempty"`
URI *url.URL `json:"uri"`
}
HelpLink represents a link to help documentation or resources
func (HelpLink) MarshalJSON ¶ added in v0.10.5
MarshalJSON marshals this into JSON
func (*HelpLink) UnmarshalJSON ¶ added in v0.10.5
UnmarshalJSON unmarshals JSON into this
type Identifiable ¶ added in v0.1.0
type Identifiable interface {
core.Identifiable
}
Identifiable describes that can get their Identifier as a UUID
type Image ¶ added in v0.10.5
Image represents an image used in various GCloudCX resources.
func (Image) MarshalJSON ¶ added in v0.10.5
MarshalJSON marshals this into JSON
func (*Image) UnmarshalJSON ¶ added in v0.10.5
UnmarshalJSON unmarshals JSON into this
type Initializable ¶ added in v0.1.0
type Initializable interface {
Initialize(parameters ...interface{})
}
Initializable describes things that can be initialized
type IntegerCollectionSlotEntity ¶ added in v0.10.7
type IntegerCollectionSlotEntity struct {
Name string `json:"name"`
Values []int64 `json:"values"`
}
IntegerCollectionSlotEntity represents an integer collection slot entity
func (IntegerCollectionSlotEntity) GetName ¶ added in v0.10.7
func (entity IntegerCollectionSlotEntity) GetName() string
GetName returns the name of the slot entity
func (IntegerCollectionSlotEntity) GetType ¶ added in v0.10.7
func (entity IntegerCollectionSlotEntity) GetType() string
GetType returns the type of the slot entity
func (IntegerCollectionSlotEntity) MarshalJSON ¶ added in v0.10.7
func (entity IntegerCollectionSlotEntity) MarshalJSON() ([]byte, error)
MarshalJSON marshals the slot entity to JSON
func (IntegerCollectionSlotEntity) ParseValue ¶ added in v0.11.0
func (entity IntegerCollectionSlotEntity) ParseValue(value string) (SlotEntity, error)
ParseValue parses the value and returns a new SlotEntity instance
func (IntegerCollectionSlotEntity) String ¶ added in v0.10.7
func (entity IntegerCollectionSlotEntity) String() string
IntegerCollection returns the string representation of the slot entity's value
func (*IntegerCollectionSlotEntity) UnmarshalJSON ¶ added in v0.10.7
func (entity *IntegerCollectionSlotEntity) UnmarshalJSON(payload []byte) error
UnmarshalJSON unmarshals the slot entity from JSON
func (*IntegerCollectionSlotEntity) Validate ¶ added in v0.11.0
func (entity *IntegerCollectionSlotEntity) Validate() error
Validate checks if the slot entity is valid
type IntegerSlotEntity ¶ added in v0.10.7
IntegerSlotEntity represents an integer slot entity
func (IntegerSlotEntity) GetName ¶ added in v0.10.7
func (entity IntegerSlotEntity) GetName() string
GetName returns the name of the slot entity
func (IntegerSlotEntity) GetType ¶ added in v0.10.7
func (entity IntegerSlotEntity) GetType() string
GetType returns the type of the slot entity
func (IntegerSlotEntity) MarshalJSON ¶ added in v0.10.7
func (entity IntegerSlotEntity) MarshalJSON() ([]byte, error)
MarshalJSON marshals the slot entity to JSON
func (IntegerSlotEntity) ParseValue ¶ added in v0.11.0
func (entity IntegerSlotEntity) ParseValue(value string) (SlotEntity, error)
ParseValue parses the value and returns a new SlotEntity instance
func (IntegerSlotEntity) String ¶ added in v0.10.7
func (entity IntegerSlotEntity) String() string
Integer returns the string representation of the slot entity's value
func (*IntegerSlotEntity) UnmarshalJSON ¶ added in v0.10.7
func (entity *IntegerSlotEntity) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals the slot entity from JSON
func (*IntegerSlotEntity) Validate ¶ added in v0.11.0
func (entity *IntegerSlotEntity) Validate() error
Validate checks if the slot entity is valid
type Integration ¶ added in v0.10.5
type Integration struct {
ID uuid.UUID `json:"id"`
Type IntegrationType `json:"integrationType"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Config IntegrationConfigurationInfo `json:"config,omitempty"`
ConfigPropertiesSchemaURI *url.URL `json:"configPropertiesSchemaUri,omitempty"`
ConfigAdvancedSchemaURI *url.URL `json:"configAdvancedSchemaUri,omitempty"`
HelpURI *url.URL `json:"helpUri,omitempty"`
TermsOfServiceURI *url.URL `json:"termsOfServiceUri,omitempty"`
VendorName string `json:"vendorName,omitempty"`
VendorWebsiteURI *url.URL `json:"vendorWebsiteUri,omitempty"`
MarketplaceURI *url.URL `json:"marketplaceUri,omitempty"`
FAQURI *url.URL `json:"faqUri,omitempty"`
PrivacyPolicyURI *url.URL `json:"privacyPolicyUri,omitempty"`
SupportContactURI *url.URL `json:"supportContactUri,omitempty"`
SalesContactURI *url.URL `json:"salesContactUri,omitempty"`
HelpLinks []HelpLink `json:"helpLinks,omitempty"`
Notes string `json:"notes,omitempty"`
IntendedState string `json:"intendedState,omitempty"`
ReportedState IntegrationState `json:"reportedState,omitempty"`
NonInstallable bool `json:"nonInstallable,omitempty"`
MaxInstances int `json:"maxInstances,omitempty"`
Images []Image `json:"images,omitempty"`
Attributes map[string]interface{} `json:"attributes,omitempty"`
UserPermissions []string `json:"userPermissions,omitempty"`
VendorOAUTHClientIDs []string `json:"vendorOauthClientIds,omitempty"`
Client *Client `json:"-"`
// contains filtered or unexported fields
}
Integration represents a GCloudCX integration.
func (Integration) GetID ¶ added in v0.10.5
func (integration Integration) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (Integration) GetURI ¶ added in v0.10.5
func (integration Integration) GetURI(ids ...uuid.UUID) URI
GetURI gets the URI of this
implements Addressable
func (*Integration) Initialize ¶ added in v0.10.5
func (integration *Integration) Initialize(parameters ...interface{})
Initialize initializes the object
accepted parameters: *gcloudcx.Client, *logger.Logger
implements Initializable
func (Integration) MarshalJSON ¶ added in v0.10.5
func (integration Integration) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (Integration) String ¶ added in v0.10.5
func (integration Integration) String() string
String gets a string version
implements the fmt.Stringer interface
func (*Integration) UnmarshalJSON ¶ added in v0.10.5
func (integration *Integration) UnmarshalJSON(payload []byte) error
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type IntegrationConfiguration ¶ added in v0.10.5
type IntegrationConfiguration struct {
ID string `json:"id"`
Name string `json:"name"`
Version uint `json:"version"`
Notes string `json:"notes"`
Properties map[string]any `json:"properties,omitempty"`
Advanced map[string]any `json:"advanced"`
Credentials map[string]IntegrationCredentialInfo `json:"credentials,omitempty"`
}
IntegrationConfiguration represents the configuration of an integration.
type IntegrationConfigurationInfo ¶ added in v0.10.5
type IntegrationConfigurationInfo struct {
Current IntegrationConfiguration `json:"current"`
}
IntegrationConfigurationInfo represents the information about an integration configuration
type IntegrationCredential ¶ added in v0.10.6
type IntegrationCredential struct {
ID uuid.UUID `json:"id"`
Name string `json:"name,omitempty"`
Type IntegrationCredentialType `json:"type"`
CredentialFields map[string]string `json:"credentialFields"`
}
IntegrationCredential represents a credential for an integration.
func (IntegrationCredential) MarshalJSON ¶ added in v0.10.6
func (credential IntegrationCredential) MarshalJSON() ([]byte, error)
MarshalJSON marshals into JSON
implements json.Marshaler
func (*IntegrationCredential) UnmarshalJSON ¶ added in v0.10.6
func (credential *IntegrationCredential) UnmarshalJSON(payload []byte) error
UnmarshalJSON unmarshals from JSON
implements json.Unmarshaler
type IntegrationCredentialInfo ¶ added in v0.10.6
type IntegrationCredentialInfo struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
Type IntegrationCredentialType `json:"type"`
CreatedAt time.Time `json:"createdDate"`
ModifiedAt time.Time `json:"modifiedDate"`
}
IntegrationCredentialInfo represents the information about a credential
func (IntegrationCredentialInfo) MarshalJSON ¶ added in v0.10.6
func (credentialInfo IntegrationCredentialInfo) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON encoding of CredentialInfo
func (*IntegrationCredentialInfo) UnmarshalJSON ¶ added in v0.10.6
func (credentialInfo *IntegrationCredentialInfo) UnmarshalJSON(payload []byte) error
UnmarshalJSON customizes the JSON decoding of CredentialInfo
type IntegrationCredentialSpecification ¶ added in v0.10.6
type IntegrationCredentialSpecification struct {
Title string `json:"title"`
Required bool `json:"required,omitempty"`
CredentialTypes []string `json:"credentialTypes,omitempty"`
}
IntegrationCredentialSpecification represents information about an integration credential type.
type IntegrationCredentialType ¶ added in v0.10.6
type IntegrationCredentialType struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
DisplayOrder []string `json:"displayOrder,omitempty"`
Required []string `json:"required,omitempty"`
Properties any `json:"properties,omitempty"`
}
CrendentialType represents the type of credential
func (IntegrationCredentialType) MarshalJSON ¶ added in v0.10.6
func (credentialType IntegrationCredentialType) MarshalJSON() ([]byte, error)
MarshalJSON customizes the JSON encoding of CredentialType
func (*IntegrationCredentialType) UnmarshalJSON ¶ added in v0.10.6
func (credentialType *IntegrationCredentialType) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON customizes the JSON decoding of CredentialType
type IntegrationState ¶ added in v0.10.6
type IntegrationState struct {
Code string `json:"code"` // ACTIVE, ACTIVATING, INACTIVE, DEACTIVATING, ERROR
Effective string `json:"effective"` // Human readable state
Detail MessageInfo `json:"detail,omitempty"` // Details about the state
LastUpdatedAt time.Time `json:"lastUpdated"` // Last time the state was updated
}
func (IntegrationState) MarshalJSON ¶ added in v0.10.6
func (state IntegrationState) MarshalJSON() ([]byte, error)
MarshalJSON marshals to JSON
func (*IntegrationState) UnmarshalJSON ¶ added in v0.10.6
func (state *IntegrationState) UnmarshalJSON(payload []byte) error
UnmarshalJSON unmarshals from JSON
type IntegrationType ¶ added in v0.10.5
type IntegrationType struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Provider string `json:"provider"`
Category string `json:"category"`
ConfigPropertiesSchemaURI *url.URL `json:"configPropertiesSchemaUri,omitempty"`
ConfigAdvancedSchemaURI *url.URL `json:"configAdvancedSchemaUri,omitempty"`
HelpURI *url.URL `json:"helpUri,omitempty"`
TermsOfServiceURI *url.URL `json:"termsOfServiceUri,omitempty"`
VendorName string `json:"vendorName,omitempty"`
VendorWebsiteURI *url.URL `json:"vendorWebsiteUri,omitempty"`
MarketplaceURI *url.URL `json:"marketplaceUri,omitempty"`
FAQURI *url.URL `json:"faqUri,omitempty"`
PrivacyPolicyURI *url.URL `json:"privacyPolicyUri,omitempty"`
SupportContactURI *url.URL `json:"supportContactUri,omitempty"`
SalesContactURI *url.URL `json:"salesContactUri,omitempty"`
HelpLinks []HelpLink `json:"helpLinks,omitempty"`
NonInstallable bool `json:"nonInstallable"`
MaxInstances int `json:"maxInstances"`
Credentials map[string]IntegrationCredentialSpecification `json:"credentials,omitempty"`
UserPermissions []string `json:"userPermissions,omitempty"`
VendorOAUTHClientIDs []string `json:"vendorOauthClientIds,omitempty"`
Images []Image `json:"images,omitempty"`
}
IntegrationType represents the type of integration.
func (IntegrationType) GetID ¶ added in v0.10.6
func (integrationType IntegrationType) GetID() string
GetID gets the ID of this integration type
implements core.FetchableByNamedID
func (IntegrationType) GetURI ¶ added in v0.10.6
func (integrationType IntegrationType) GetURI(ids ...string) URI
GetURI gets the URI of this
implements AddressableByStringID
func (*IntegrationType) Initialize ¶ added in v0.10.6
func (integrationType *IntegrationType) Initialize(parameters ...interface{})
Initialize initializes the object
accepted parameters: *gcloudcx.Client, *logger.Logger
implements Initializable
func (IntegrationType) MarshalJSON ¶ added in v0.10.6
func (integrationType IntegrationType) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (*IntegrationType) UnmarshalJSON ¶ added in v0.10.6
func (integrationType *IntegrationType) UnmarshalJSON(payload []byte) error
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type Jabber ¶ added in v0.4.0
type Jabber struct {
ID string `json:"jabberId"`
}
Jabber describe a Jabber ID for chats
type JourneyContext ¶ added in v0.1.0
type JourneyContext struct {
Customer struct {
ID uuid.UUID `json:"id"`
IDType string `json:"idType"`
} `json:"customer"`
CustomerSession struct {
ID uuid.UUID `json:"id"`
Type string `json:"type"`
} `json:"customerSession"`
TriggeringAction struct {
ID uuid.UUID `json:"id"`
ActionMap struct {
ID uuid.UUID `json:"id"`
Version int `json:"version"`
} `json:"actionMap"`
} `json:"triggeringAction"`
}
JourneyContext describes a Journey Context
type Location ¶ added in v0.1.0
type Location struct {
ID string `json:"id"`
FloorplanID string `json:"floorplanId"`
Coordinates map[string]float64 `json:"coordinates"`
Notes string `json:"notes"`
LocationDefinition *LocationDefinition `json:"locationDefinition"`
}
Location describes a location in a building
type LocationAddress ¶ added in v0.1.0
type LocationAddress struct {
Country string `json:"country"`
CountryName string `json:"countryName"`
State string `json:"State"`
City string `json:"City"`
ZipCode string `json:"zipcode"`
Street1 string `json:"street1"`
Street2 string `json:"street2"`
}
LocationAddress describes the address of a Location
type LocationDefinition ¶ added in v0.1.0
type LocationDefinition struct {
ID string `json:"id"`
SelfURI URI `json:"selfUri"`
Name string `json:"name"`
ContactUser *AddressableEntityRef `json:"contactUser"`
EmergencyNumber *LocationEmergencyNumber `json:"emergencyNumber"`
Address *LocationAddress `json:"address"`
AddressVerified bool `json:"addressVerified"`
State string `json:"state"`
Notes string `json:"notes"`
Path []string `json:"path"`
ProfileImage []Image `json:"profileImage"`
FloorplanImage []Image `json:"flooreImage"`
Version int `json:"version"`
}
LocationDefinition describes a location (office, etc)
func (LocationDefinition) GetID ¶ added in v0.1.0
func (location LocationDefinition) GetID() string
GetID gets the identifier of this
implements Identifiable
func (LocationDefinition) GetURI ¶ added in v0.7.0
func (location LocationDefinition) GetURI() URI
GetURI gets the URI of this
implements Addressable
func (LocationDefinition) String ¶ added in v0.1.0
func (location LocationDefinition) String() string
String gets a string version
implements the fmt.Stringer interface
type LocationEmergencyNumber ¶ added in v0.1.0
type LocationEmergencyNumber struct {
Type string `json:"type"` // default, elin
Number string `json:"number"`
E164 string `json:"e164"`
}
LocationEmergencyNumber describes a Location's Emergency Number
type Media ¶ added in v0.10.2
type Media struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
MediaType string `json:"mediaType"`
ContentLength uint64 `json:"contentLength"`
URL *url.URL `json:"url"`
}
func (*Media) UnmarshalJSON ¶ added in v0.10.2
UnmarshalJSON unmarshals the media from JSON
Implements json.Unmarshaler
type MediaParticipantRequest ¶ added in v0.1.0
type MediaParticipantRequest struct {
Wrapup *Wrapup `json:"wrapup,omitempty"`
State string `json:"state,omitempty"` // alerting, dialing, contacting, offering, connected, disconnected, terminated, converting, uploading, transmitting, none
Recording bool `json:"recording,omitempty"`
Muted bool `json:"muted,omitempty"`
Confined bool `json:"confined,omitempty"`
Held bool `json:"held,omitempty"`
WrapupSkipped bool `json:"wrapupSkipped,omitempty"`
}
MediaParticipantRequest describes a request Media Participant
type MediaSetting ¶ added in v0.1.0
type MediaSetting struct {
AlertingTimeout time.Duration
ServiceLevel ServiceLevel
}
MediaSetting defines a media setting in a Queue
func (MediaSetting) MarshalJSON ¶ added in v0.1.0
func (setting MediaSetting) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
func (*MediaSetting) UnmarshalJSON ¶ added in v0.1.0
func (setting *MediaSetting) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
type MediaSettings ¶ added in v0.1.0
type MediaSettings map[string]MediaSetting
MediaSettings is a map of media names and settings
type MediaSummary ¶ added in v0.1.0
type MediaSummary struct {
ContactCenter MediaSummaryDetail `json:"contactCenter"`
Enterprise MediaSummaryDetail `json:"enterprise"`
}
MediaSummary describes a Media summary
type MediaSummaryDetail ¶ added in v0.1.0
MediaSummaryDetail describes the details about a MediaSummary
type MessageContent ¶ added in v0.10.2
type MessageContent struct {
ContentType string `json:"contentType"` // Reactions, Attachment, Location, QuickReply, Notification, ButtonResponse, Story, Mention, Card, Carousel, Text, QuickReplyV2, DatePicker, Unknown
SubType string `json:"subType"` // Image, Video, Audio, File, Link, Mention, Reply, Button, QuickReply, Postback. Unknown
}
type MessageDetails ¶ added in v0.7.12
type MessageDetails struct {
ID string `json:"messageId"`
Status string `json:"messageStatus"`
SegmentCount int `json:"messageSegmentCount"`
Time time.Time `json:"messageTime"`
Media []MessageMedia `json:"media"`
Stickers []MessageSticker `json:"stickers"`
}
MessageDetails describes details of a Message in a Message Conversation
type MessageEvent ¶ added in v0.10.2
type MessageEvent struct {
EventType string `json:"eventType"` // CoBrowse, Typing, Presence, Video, Unknown
SubType string `json:"subType"` // On, Join, Offering, OfferingExpired, OfferingAccepted, OfferingRejected, Disconnect, Clear, SignIn, SessionExpired, Unknown
CoBrowse *CobrowseEvent `json:"coBrowse,omitempty"`
Typing *TypingEvent `json:"typing,omitempty"`
Presence *PresenceEvent `json:"presence,omitempty"`
Video *VideoEvent `json:"video,omitempty"`
}
type MessageInfo ¶ added in v0.10.6
type MessageInfo struct {
LocalizableMessageCode string `json:"localizableMessageCode,omitempty"` // The code for the localizable message
Message string `json:"message,omitempty"` // The message text
MessageWithParams string `json:"messageWithParams,omitempty"` // The message with parameters
MessageParams map[string]string `json:"messageParams,omitempty"` // Parameters for the message
}
MessageInfo represents a message with additional information
type MessageMedia ¶ added in v0.1.0
type MessageMedia struct {
ID string `json:"id"`
Name string `json:"name"`
URL string `json:"url"`
MediaType string `json:"mediaType"`
ContentLength int64 `json:"contentLengthBytes"`
}
MessageMedia describes the Media of a Message
type MessageMetadata ¶ added in v0.10.2
type MessageMetadata struct {
Type string `json:"type"` // Text, Structured, Receipt, Event, Message, Unknown
Events []MessageEvent `json:"events"`
Content []MessageContent `json:"content"`
}
type MessageSticker ¶ added in v0.1.0
MessageSticker describes a Message Sticker
type MessagingTemplate ¶ added in v0.4.0
type MessagingTemplate struct {
ResponseID string `json:"responseId"`
Parameters []TemplateParameter `json:"parameters"`
}
MessagingTemplate describes the Template to use (WhatsApp Template, for example)
type MetadataTopic ¶ added in v0.1.0
MetadataTopic describes a Topic about the channel itself
func (MetadataTopic) GetTargets ¶ added in v0.8.0
func (topic MetadataTopic) GetTargets() []Identifiable
GetTargets returns the targets of this topic
func (MetadataTopic) GetType ¶ added in v0.8.0
func (topic MetadataTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (MetadataTopic) String ¶ added in v0.8.0
func (topic MetadataTopic) String() string
String gets a string version
implements fmt.Stringer
func (*MetadataTopic) UnmarshalJSON ¶ added in v0.1.0
func (topic *MetadataTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (MetadataTopic) With ¶ added in v0.8.0
func (topic MetadataTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type NormalizedAvailableTime ¶ added in v0.11.1
type NormalizedAvailableTime struct {
Time time.Time `json:"dateTime"`
Duration time.Duration `json:"duration"`
}
NormalizedAvailableTime describes the content of an available time within a DatePicker
func (NormalizedAvailableTime) MarshalJSON ¶ added in v0.11.1
func (availableTime NormalizedAvailableTime) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.marshaler
func (*NormalizedAvailableTime) UnmarshalJSON ¶ added in v0.11.1
func (availableTime *NormalizedAvailableTime) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals this from JSON
implements json.Unmarshaler
type NormalizedMessage ¶ added in v0.10.7
type NormalizedMessage struct {
Type string `json:"type"` // Text or Structured
Text string `json:"text,omitempty"`
Content []NormalizedMessageContent `json:"content,omitempty"`
}
NormalizedMessage represents a Genesys digital message for a Genesys Cloud bot
It can be either a text message or a structured message with content The Text is mandatory for text messages, while Content is mandatory for structured messages The Content can only contain ButtonResponse content type
func (NormalizedMessage) GetType ¶ added in v0.10.7
func (message NormalizedMessage) GetType() string
GetType returns the type of the input message
implements core.TypeCarrier
func (NormalizedMessage) MarshalJSON ¶ added in v0.10.7
func (message NormalizedMessage) MarshalJSON() ([]byte, error)
MarshalJSON marshals to JSON
implements core.Marshaller
func (NormalizedMessage) Redact ¶ added in v0.11.8
func (message NormalizedMessage) Redact() any
Redact redacts sensitive data implements logger.Redactable
func (*NormalizedMessage) UnmarshalJSON ¶ added in v0.10.7
func (message *NormalizedMessage) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals from JSON
implements core.Unmarshaller
func (*NormalizedMessage) Validate ¶ added in v0.10.7
func (message *NormalizedMessage) Validate() error
Validate validates the input message
type NormalizedMessageAttachmentContent ¶ added in v0.10.7
type NormalizedMessageAttachmentContent struct {
ID string `json:"id,omitempty"`
MediaType string `json:"mediaType"` // Audio, File, Image, Link, Video
URL *url.URL `json:"-"`
Mime string `json:"mime,omitempty"`
Filename string `json:"filename,omitempty"`
Length uint64 `json:"contentSizeBytes,omitempty"`
Text string `json:"text,omitempty"`
Hash string `json:"sha256,omitempty"`
}
NormalizedMessageAttachmentContent describes an Attachment Content for an OpenMessage
func (NormalizedMessageAttachmentContent) GetType ¶ added in v0.10.7
func (attachment NormalizedMessageAttachmentContent) GetType() string
GetType tells the type of this OpenMessageContent
implements core.TypeCarrier
func (NormalizedMessageAttachmentContent) MarshalJSON ¶ added in v0.10.7
func (attachment NormalizedMessageAttachmentContent) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
func (*NormalizedMessageAttachmentContent) UnmarshalJSON ¶ added in v0.10.7
func (attachment *NormalizedMessageAttachmentContent) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (NormalizedMessageAttachmentContent) WithContent ¶ added in v0.10.7
func (attachment NormalizedMessageAttachmentContent) WithContent(content *request.Content) *NormalizedMessageAttachmentContent
WithContent sets the content of this Attachment from a request.Content
type NormalizedMessageButtonResponseContent ¶ added in v0.10.7
type NormalizedMessageButtonResponseContent struct {
ButtonType string `json:"type,omitempty"` // "Button", "QuickReply"
Text string `json:"text"`
Payload string `json:"payload"`
}
func (NormalizedMessageButtonResponseContent) GetType ¶ added in v0.10.7
func (buttonResponse NormalizedMessageButtonResponseContent) GetType() string
GetType tells the type of this OpenMessageContent
implements core.TypeCarrier
func (NormalizedMessageButtonResponseContent) MarshalJSON ¶ added in v0.10.7
func (buttonResponse NormalizedMessageButtonResponseContent) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (*NormalizedMessageButtonResponseContent) UnmarshalJSON ¶ added in v0.10.7
func (buttonResponse *NormalizedMessageButtonResponseContent) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type NormalizedMessageCardAction ¶ added in v0.10.7
type NormalizedMessageCardAction interface {
core.TypeCarrier
fmt.Stringer
}
NormalizedMessageCardAction describes an action in a Card
func UnmarshalMessageCardAction ¶ added in v0.11.1
func UnmarshalMessageCardAction(payload []byte) (NormalizedMessageCardAction, error)
UnmarshalMessageCardAction unmarshals a JSON payload into a NormalizedMessageCardAction
type NormalizedMessageCardContent ¶ added in v0.10.7
type NormalizedMessageCardContent struct {
Title string `json:"title"`
Description string `json:"description,omitempty"`
ImageURL *url.URL `json:"image,omitempty"`
VideoURL *url.URL `json:"video,omitempty"`
DefaultAction NormalizedMessageCardAction `json:"defaultAction,omitempty"`
Actions []NormalizedMessageCardAction `json:"actions,omitempty"`
}
NormalizedMessageCardContent describes the content of a Card
func (NormalizedMessageCardContent) GetType ¶ added in v0.10.7
func (card NormalizedMessageCardContent) GetType() string
GetType tells the type of this OpenMessageContent
implements core.TypeCarrier
func (NormalizedMessageCardContent) MarshalJSON ¶ added in v0.10.7
func (card NormalizedMessageCardContent) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (*NormalizedMessageCardContent) UnmarshalJSON ¶ added in v0.10.7
func (card *NormalizedMessageCardContent) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
func (*NormalizedMessageCardContent) Validate ¶ added in v0.11.5
func (card *NormalizedMessageCardContent) Validate() error
Validate validates this NormalizedMessageCardContent
type NormalizedMessageCardLinkAction ¶ added in v0.11.1
NormalizedMessageCardLinkAction describes a Link action of a Card
func (NormalizedMessageCardLinkAction) GetType ¶ added in v0.11.1
func (action NormalizedMessageCardLinkAction) GetType() string
GetType tells the type of this OpenMessageContent
implements core.TypeCarrier
func (NormalizedMessageCardLinkAction) MarshalJSON ¶ added in v0.11.1
func (action NormalizedMessageCardLinkAction) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (NormalizedMessageCardLinkAction) String ¶ added in v0.11.1
func (action NormalizedMessageCardLinkAction) String() string
String returns a string representation of this action
implements fmt.Stringer
func (*NormalizedMessageCardLinkAction) UnmarshalJSON ¶ added in v0.11.1
func (action *NormalizedMessageCardLinkAction) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
func (*NormalizedMessageCardLinkAction) Validate ¶ added in v0.11.1
func (action *NormalizedMessageCardLinkAction) Validate() error
Validate checks that this action is valid
type NormalizedMessageCardPostbackAction ¶ added in v0.11.1
type NormalizedMessageCardPostbackAction struct {
Text string `json:"text"`
Payload string `json:"payload"`
}
NormalizedMessageCardPostbackAction describes a Postback action of a Card
func (NormalizedMessageCardPostbackAction) GetType ¶ added in v0.11.1
func (action NormalizedMessageCardPostbackAction) GetType() string
GetType tells the type of this OpenMessageContent
implements core.TypeCarrier
func (NormalizedMessageCardPostbackAction) MarshalJSON ¶ added in v0.11.1
func (action NormalizedMessageCardPostbackAction) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (NormalizedMessageCardPostbackAction) String ¶ added in v0.11.1
func (action NormalizedMessageCardPostbackAction) String() string
String returns a string representation of this action
implements fmt.Stringer
func (*NormalizedMessageCardPostbackAction) UnmarshalJSON ¶ added in v0.11.1
func (action *NormalizedMessageCardPostbackAction) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
func (*NormalizedMessageCardPostbackAction) Validate ¶ added in v0.11.1
func (action *NormalizedMessageCardPostbackAction) Validate() error
Validate checks that this action is valid
type NormalizedMessageCarouselCard ¶ added in v0.10.7
type NormalizedMessageCarouselCard struct {
Title string `json:"title"`
Description string `json:"description,omitempty"`
ImageURL *url.URL `json:"image,omitempty"`
VideoURL *url.URL `json:"video,omitempty"`
DefaultAction NormalizedMessageCardAction `json:"defaultAction,omitempty"`
Actions []NormalizedMessageCardAction `json:"actions,omitempty"`
}
NormalizedMessageCarouselCard describes the content of a Card in a Carousel
func (NormalizedMessageCarouselCard) MarshalJSON ¶ added in v0.11.1
func (card NormalizedMessageCarouselCard) MarshalJSON() ([]byte, error)
/ MarshalJSON marshals this into JSON
implements json.Marshaler
func (*NormalizedMessageCarouselCard) UnmarshalJSON ¶ added in v0.10.7
func (card *NormalizedMessageCarouselCard) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type NormalizedMessageCarouselContent ¶ added in v0.10.7
type NormalizedMessageCarouselContent struct {
Cards []NormalizedMessageCarouselCard `json:"cards"`
}
NormalizedMessageCarouselContent describes the content of a Carousel
func (NormalizedMessageCarouselContent) GetType ¶ added in v0.10.7
func (carousel NormalizedMessageCarouselContent) GetType() string
GetType tells the type of this OpenMessageContent
implements core.TypeCarrier
func (NormalizedMessageCarouselContent) MarshalJSON ¶ added in v0.10.7
func (carousel NormalizedMessageCarouselContent) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (*NormalizedMessageCarouselContent) UnmarshalJSON ¶ added in v0.10.7
func (carousel *NormalizedMessageCarouselContent) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type NormalizedMessageContent ¶ added in v0.10.7
type NormalizedMessageContent interface {
core.TypeCarrier
}
func UnmarshalOpenMessageContent ¶ added in v0.9.10
func UnmarshalOpenMessageContent(payload []byte) (NormalizedMessageContent, error)
type NormalizedMessageDatePickerContent ¶ added in v0.10.7
type NormalizedMessageDatePickerContent struct {
Title string `json:"title,omitempty"`
Subtitle string `json:"subtitle,omitempty"`
ImageURL *url.URL `json:"imageUrl,omitempty"`
MinDate *time.Time `json:"dateMinimum,omitempty"`
MaxDate *time.Time `json:"dateMaximum,omitempty"`
AvailableTimes []NormalizedAvailableTime `json:"availableTimes"`
}
NormalizedMessageDatePickerContent describes the content of a DatePicker
func (NormalizedMessageDatePickerContent) GetType ¶ added in v0.10.7
func (datePicker NormalizedMessageDatePickerContent) GetType() string
GetType tells the type of this OpenMessageContent
implements core.TypeCarrier
func (NormalizedMessageDatePickerContent) MarshalJSON ¶ added in v0.10.7
func (datePicker NormalizedMessageDatePickerContent) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (*NormalizedMessageDatePickerContent) UnmarshalJSON ¶ added in v0.10.7
func (datePicker *NormalizedMessageDatePickerContent) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals this from JSON
implements json.Unmarshaler
type NormalizedMessageLocationContent ¶ added in v0.10.7
type NormalizedMessageLocationContent struct {
Text string `json:"text"`
URL *url.URL `json:"url"`
Address string `json:"address"`
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
}
func (NormalizedMessageLocationContent) GetType ¶ added in v0.10.7
func (location NormalizedMessageLocationContent) GetType() string
GetType tells the type of this OpenMessageContent
implements core.TypeCarrier
func (NormalizedMessageLocationContent) MarshalJSON ¶ added in v0.10.7
func (location NormalizedMessageLocationContent) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (NormalizedMessageLocationContent) Redact ¶ added in v0.11.8
func (location NormalizedMessageLocationContent) Redact() any
Redact redacts sensitive data
implements logger.Redactable
func (*NormalizedMessageLocationContent) UnmarshalJSON ¶ added in v0.10.7
func (location *NormalizedMessageLocationContent) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type NormalizedMessageNotificationContent ¶ added in v0.10.7
type NormalizedMessageNotificationContent struct {
ID string `json:"id,omitempty"`
Language string `json:"language"`
Header *OpenMessageNotificationHeader `json:"header,omitempty"`
Body OpenMessageNotificationBody `json:"body"`
Text string `json:"text"`
}
NormalizedMessageNotificationContent describes a Notification Content for an OpenMessage
func (NormalizedMessageNotificationContent) GetType ¶ added in v0.10.7
func (template NormalizedMessageNotificationContent) GetType() string
GetType tells the type of this OpenMessageContent
implements core.TypeCarrier
func (NormalizedMessageNotificationContent) MarshalJSON ¶ added in v0.10.7
func (notification NormalizedMessageNotificationContent) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (*NormalizedMessageNotificationContent) UnmarshalJSON ¶ added in v0.10.7
func (notification *NormalizedMessageNotificationContent) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type NormalizedMessageQuickReplyContent ¶ added in v0.10.7
type NormalizedMessageQuickReplyContent struct {
Text string `json:"text"`
Payload string `json:"payload"`
ImageURL *url.URL `json:"image,omitempty"`
Action string `json:"action,omitempty"` // Message
}
func (NormalizedMessageQuickReplyContent) GetType ¶ added in v0.10.7
func (quickReply NormalizedMessageQuickReplyContent) GetType() string
GetType tells the type of this OpenMessageContent
implements core.TypeCarrier
func (NormalizedMessageQuickReplyContent) MarshalJSON ¶ added in v0.10.7
func (quickReply NormalizedMessageQuickReplyContent) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (*NormalizedMessageQuickReplyContent) UnmarshalJSON ¶ added in v0.10.7
func (quickReply *NormalizedMessageQuickReplyContent) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type NormalizedMessageQuickReplyV2Action ¶ added in v0.10.7
type NormalizedMessageQuickReplyV2Action struct {
Action string `json:"action,omitempty"` // "Message"
Text string `json:"text"`
Payload string `json:"payload"`
ImageURL *url.URL `json:"image,omitempty"`
}
NormalizedMessageQuickReplyV2Action describes the action of a QuickReplyV2
func (NormalizedMessageQuickReplyV2Action) MarshalJSON ¶ added in v0.10.7
func (action NormalizedMessageQuickReplyV2Action) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (*NormalizedMessageQuickReplyV2Action) UnmarshalJSON ¶ added in v0.10.7
func (action *NormalizedMessageQuickReplyV2Action) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type NormalizedMessageQuickReplyV2Content ¶ added in v0.10.7
type NormalizedMessageQuickReplyV2Content struct {
Title string `json:"title"`
Actions []NormalizedMessageQuickReplyV2Action `json:"actions"`
}
NormalizedMessageQuickReplyV2Content describes the content of a QuickReplyV2
func (NormalizedMessageQuickReplyV2Content) GetType ¶ added in v0.10.7
func (quickReply NormalizedMessageQuickReplyV2Content) GetType() string
GetType tells the type of this OpenMessageContent
implements core.TypeCarrier
func (NormalizedMessageQuickReplyV2Content) MarshalJSON ¶ added in v0.10.7
func (quickReply NormalizedMessageQuickReplyV2Content) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (*NormalizedMessageQuickReplyV2Content) UnmarshalJSON ¶ added in v0.10.7
func (quickReply *NormalizedMessageQuickReplyV2Content) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type NormalizedMessageStoryContent ¶ added in v0.10.7
type NormalizedMessageStoryContent struct {
StoryType string `json:"type"` // "Mention", "Reply"
URL *url.URL `json:"url,omitempty"`
ReplyToID string `json:"replyToId,omitempty"`
}
func (NormalizedMessageStoryContent) GetType ¶ added in v0.10.7
func (story NormalizedMessageStoryContent) GetType() string
GetType tells the type of this OpenMessageContent
implements core.TypeCarrier
func (NormalizedMessageStoryContent) MarshalJSON ¶ added in v0.10.7
func (story NormalizedMessageStoryContent) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (*NormalizedMessageStoryContent) UnmarshalJSON ¶ added in v0.10.7
func (story *NormalizedMessageStoryContent) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type NormalizedMessageTextContent ¶ added in v0.10.7
type NormalizedMessageTextContent struct {
Text string `json:"body"`
}
NormalizedMessageTextContent describes the content of a Text Message
func (NormalizedMessageTextContent) GetType ¶ added in v0.10.7
func (text NormalizedMessageTextContent) GetType() string
GetType tells the type of this OpenMessageContent
implements core.TypeCarrier
func (NormalizedMessageTextContent) MarshalJSON ¶ added in v0.10.7
func (text NormalizedMessageTextContent) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (NormalizedMessageTextContent) Redact ¶ added in v0.11.8
func (text NormalizedMessageTextContent) Redact() any
Redact redacts sensitive data
implements logger.Redactable
func (*NormalizedMessageTextContent) UnmarshalJSON ¶ added in v0.10.7
func (text *NormalizedMessageTextContent) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type NotificationChannel ¶ added in v0.1.0
type NotificationChannel struct {
ID uuid.UUID `json:"id"`
ConnectURL *url.URL `json:"-"`
ExpiresOn time.Time `json:"expires"`
LogHeartbeat bool `json:"logHeartbeat"`
Logger *logger.Logger `json:"-"`
Client *Client `json:"-"`
Socket *websocket.Conn `json:"-"`
TopicReceived chan NotificationTopic `json:"-"`
}
NotificationChannel defines a Notification Channel
See: https://developer.mypurecloud.com/api/rest/v2/notifications/notification_service.html
func (*NotificationChannel) Close ¶ added in v0.1.0
func (channel *NotificationChannel) Close(context context.Context) (correlationID string, err error)
Close unsubscribes from all subscriptions and closes the websocket
func (NotificationChannel) GetID ¶ added in v0.1.0
func (channel NotificationChannel) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (*NotificationChannel) GetTopicStates ¶ added in v0.8.0
func (channel *NotificationChannel) GetTopicStates(context context.Context) (states []NotificationChannelTopicState, correlationID string, err error)
GetTopicStates gets all subscription topics set on this
func (*NotificationChannel) IsSubscribed ¶ added in v0.1.0
func (channel *NotificationChannel) IsSubscribed(context context.Context, topic NotificationTopic) bool
IsSubscribed tells if the channel is subscribed to the given topic
func (NotificationChannel) MarshalJSON ¶ added in v0.1.0
func (channel NotificationChannel) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
func (*NotificationChannel) SetTopics ¶ added in v0.1.0
func (channel *NotificationChannel) SetTopics(context context.Context, topics ...NotificationTopic) (states []NotificationChannelTopicState, correlationID string, err error)
SetTopics sets the subscriptions. It overrides any previous subscriptions
func (NotificationChannel) String ¶ added in v0.1.0
func (channel NotificationChannel) String() string
String gets a string version
implements the fmt.Stringer interface
func (*NotificationChannel) Subscribe ¶ added in v0.1.0
func (channel *NotificationChannel) Subscribe(context context.Context, topics ...NotificationTopic) (states []NotificationChannelTopicState, correlationID string, err error)
Subscribe subscribes to a list of topics in the NotificationChannel
func (*NotificationChannel) UnmarshalJSON ¶ added in v0.1.0
func (channel *NotificationChannel) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (*NotificationChannel) Unsubscribe ¶ added in v0.1.0
func (channel *NotificationChannel) Unsubscribe(context context.Context, topics ...NotificationTopic) (correlationID string, err error)
Unsubscribe unsubscribes from some topics,
If there is no argument, unsubscribe from all topics
type NotificationChannelTopicState ¶ added in v0.8.0
type NotificationChannelTopicState struct {
Topic NotificationTopic `json:"-"`
State string `json:"state,omitempty"`
RejectReason string `json:"rejectReason,omitempty"`
SelfURI URI `json:"selfUri,omitempty"`
}
NotificationChannelTopicState describes a Topic subscription channel
See https://developer.genesys.cloud/api/rest/v2/notifications/notification_service#topic-subscriptions
func (NotificationChannelTopicState) Contains ¶ added in v0.8.0
func (state NotificationChannelTopicState) Contains(topic NotificationTopic) bool
Contains tells if this contains the given topic
func (NotificationChannelTopicState) GetURI ¶ added in v0.8.0
func (state NotificationChannelTopicState) GetURI() URI
GetURI gets the URI of this
implements Addressable
func (NotificationChannelTopicState) MarshalJSON ¶ added in v0.8.0
func (state NotificationChannelTopicState) MarshalJSON() ([]byte, error)
MarshalJSON marshals into JSON
implements json.Marshaler
func (*NotificationChannelTopicState) UnmarshalJSON ¶ added in v0.8.0
func (state *NotificationChannelTopicState) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals from JSON
implements json.Unmarshaler
type NotificationTemplate ¶ added in v0.10.2
type NotificationTemplate struct {
ID uuid.UUID `json:"id"`
Language string `json:"language"`
ContentType string `json:"contentType"`
Header NotificationTemplateHeader `json:"header"`
Body NotificationTemplateBody `json:"body"`
Buttons []NotificationTemplateButton `json:"buttons"`
}
func (*NotificationTemplate) UnmarshalJSON ¶ added in v0.10.2
func (template *NotificationTemplate) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type NotificationTemplateBody ¶ added in v0.10.2
type NotificationTemplateBody struct {
Text string `json:"text"`
}
type NotificationTemplateButton ¶ added in v0.10.2
type NotificationTemplateFooter ¶ added in v0.10.2
type NotificationTemplateFooter struct {
}
type NotificationTemplateHeader ¶ added in v0.10.2
type NotificationTopic ¶ added in v0.1.0
type NotificationTopic interface {
core.TypeCarrier
fmt.Stringer
// With creates a new NotificationTopic with the given targets
With(targets ...Identifiable) NotificationTopic
// GetTargets gets the targets of this topic
GetTargets() []Identifiable
}
NotificationTopic describes a Notification Topic received on a WebSocket
func NotificationTopicFrom ¶ added in v0.8.0
func NotificationTopicFrom(topicName string) (NotificationTopic, error)
NotificationTopicFrom builds a NotificationTopic from the given topicName
func UnmarshalNotificationTopic ¶ added in v0.8.0
func UnmarshalNotificationTopic(payload []byte) (NotificationTopic, error)
UnmarshalNotificationTopic Unmarshal JSON into a NotificationTopic
The result is a NotificationTopic that can be casted into the appropriate type
type NotificationTopicDefinition ¶ added in v0.1.0
type NotificationTopicDefinition struct {
ID string `json:"id"`
Description string `json:"description"`
Permissions []string `json:"requiresPermissions"`
Schema map[string]interface{} `json:"schema"`
}
NotificationTopicDefinition defines a Notification Topic that can subscribed to
type OpenMessage ¶ added in v0.4.0
type OpenMessage interface {
GetID() string
core.TypeCarrier
}
OpenMessage is a message sent or received by the Open Messaging API
func UnmarshalOpenMessage ¶ added in v0.7.0
func UnmarshalOpenMessage(payload []byte) (OpenMessage, error)
type OpenMessageButtonResponse ¶ added in v0.10.3
type OpenMessageButtonResponse struct {
ID string `json:"id,omitempty"` // Can be anything
Channel OpenMessageChannel `json:"channel"`
Direction string `json:"direction"` // inbound or outbound
ButtonResponse ButtonResponse `json:"buttonResponse"`
OriginatingMessageID string `json:"originatingMessageId"`
OriginatingEntity string `json:"originatingEntity,omitempty"` // Bot or Human
Metadata map[string]string `json:"metadata,omitempty"`
ConversationID uuid.UUID `json:"conversationId,omitempty"`
KeysToRedact []string `json:"-"`
}
OpenMessageButtonResponse is a message sent to the Open Messaging API
func (OpenMessageButtonResponse) GetID ¶ added in v0.10.3
func (message OpenMessageButtonResponse) GetID() string
GetID gets the identifier of this
implements OpenMessage
func (OpenMessageButtonResponse) GetType ¶ added in v0.10.3
func (message OpenMessageButtonResponse) GetType() string
GetType tells the type of this OpenMessage
implements core.TypeCarrier
func (OpenMessageButtonResponse) MarshalJSON ¶ added in v0.10.3
func (message OpenMessageButtonResponse) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
func (OpenMessageButtonResponse) Redact ¶ added in v0.10.3
func (message OpenMessageButtonResponse) Redact() interface{}
Redact redacts sensitive data
implements logger.Redactable
func (*OpenMessageButtonResponse) UnmarshalJSON ¶ added in v0.10.3
func (message *OpenMessageButtonResponse) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals JSON into this
type OpenMessageChannel ¶ added in v0.4.0
type OpenMessageChannel struct {
ID uuid.UUID `json:"id,omitempty"`
Platform string `json:"platform"` // Open
Type string `json:"type"` // Private, Public
MessageID string `json:"messageId,omitempty"`
Time time.Time `json:"-"`
To *OpenMessageTo `json:"to,omitempty"`
From *OpenMessageFrom `json:"from"`
CustomAttributes map[string]string `json:"-"`
KeysToRedact []string `json:"-"`
}
func (OpenMessageChannel) MarshalJSON ¶ added in v0.4.0
func (channel OpenMessageChannel) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
func (OpenMessageChannel) Redact ¶ added in v0.5.0
func (channel OpenMessageChannel) Redact() interface{}
Redact redacts sensitive data
implements logger.Redactable
func (*OpenMessageChannel) UnmarshalJSON ¶ added in v0.4.0
func (channel *OpenMessageChannel) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (*OpenMessageChannel) Validate ¶ added in v0.9.0
func (channel *OpenMessageChannel) Validate() (err error)
Validate checks if the object is valid
type OpenMessageData ¶ added in v0.7.3
type OpenMessageData struct {
ID string `json:"id,omitempty"` // Can be anything
Name string `json:"name,omitempty"`
ProviderMessageID string `json:"providerMessageId,omitempty"`
Timestamp time.Time `json:"-"`
From string `json:"fromAddress,omitempty"`
To string `json:"toAddress,omitempty"`
Direction string `json:"direction"` // inbound or outbound
MessengerType string `json:"messengerType"` // sms, facebook, twitter, etc
Text string `json:"textBody"`
NormalizedMessage OpenMessage `json:"-"`
Status string `json:"status"` // sent, received, delivered, undelivered, etc
CreatedBy *User `json:"createdBy,omitempty"` // nil unless NormalizedMessage.OriginatingEntity is "Human"
Conversation Conversation `json:"-"`
SelfURI URI `json:"selfUri"`
}
func (OpenMessageData) MarshalJSON ¶ added in v0.7.3
func (messageData OpenMessageData) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
func (OpenMessageData) Redact ¶ added in v0.9.0
func (messageData OpenMessageData) Redact() interface{}
Redact redacts sensitive data
implements logger.Redactable
func (*OpenMessageData) UnmarshalJSON ¶ added in v0.7.3
func (messageData *OpenMessageData) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
type OpenMessageEvent ¶ added in v0.8.8
type OpenMessageEvent interface {
core.TypeCarrier
}
func UnmarshalOpenMessageEvent ¶ added in v0.8.8
func UnmarshalOpenMessageEvent(payload []byte) (OpenMessageEvent, error)
type OpenMessageEvents ¶ added in v0.8.8
type OpenMessageEvents struct {
ID string `json:"id,omitempty"` // Can be anything
Channel OpenMessageChannel `json:"channel"`
Direction string `json:"direction,omitempty"` // Can be "Inbound" or "Outbound"
Events []OpenMessageEvent `json:"events"`
Metadata map[string]string `json:"metadata,omitempty"`
ConversationID uuid.UUID `json:"conversationId,omitempty"`
KeysToRedact []string `json:"-"`
}
OpenMessageText is a text message sent or received by the Open Messaging API
See https://developer.genesys.cloud/commdigital/digital/openmessaging/inboundEventMessages
func (OpenMessageEvents) GetID ¶ added in v0.8.8
func (message OpenMessageEvents) GetID() string
GetID gets the identifier of this
implements OpenMessage
func (OpenMessageEvents) GetType ¶ added in v0.8.8
func (message OpenMessageEvents) GetType() string
GetType returns the type of this event
implements core.TypeCarrier
func (OpenMessageEvents) MarshalJSON ¶ added in v0.8.8
func (message OpenMessageEvents) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (OpenMessageEvents) Redact ¶ added in v0.9.0
func (message OpenMessageEvents) Redact() interface{}
Redact redacts sensitive data
implements logger.Redactable
func (*OpenMessageEvents) UnmarshalJSON ¶ added in v0.8.8
func (message *OpenMessageEvents) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type OpenMessageFrom ¶ added in v0.4.0
type OpenMessageFrom struct {
ID string `json:"id"`
Type string `json:"idType,omitempty"`
Firstname string `json:"firstName,omitempty"`
Lastname string `json:"lastName,omitempty"`
Nickname string `json:"nickname,omitempty"`
}
func (OpenMessageFrom) Redact ¶ added in v0.5.0
func (from OpenMessageFrom) Redact() interface{}
Redact redacts sensitive data
implements logger.Redactable
func (*OpenMessageFrom) Validate ¶ added in v0.9.0
func (from *OpenMessageFrom) Validate() (err error)
Validate checks if the object is valid
type OpenMessageNotificationBody ¶ added in v0.9.10
type OpenMessageNotificationBody struct {
Text string `json:"text"`
Parameters OpenMessageNotificationParameters `json:"parameters,omitempty"`
}
OpenMessageNotificationBody describes the Body of a Notification Content
type OpenMessageNotificationFooter ¶ added in v0.9.10
type OpenMessageNotificationFooter struct {
}
OpenMessageNotificationFooter describes the Footer of a Notification Content
type OpenMessageNotificationHeader ¶ added in v0.9.10
type OpenMessageNotificationHeader struct {
HeaderType string `json:"type"` // "Text", "Media"
Text string `json:"text,omitempty"`
Media *NormalizedMessageAttachmentContent `json:"media,omitempty"`
Parameters OpenMessageNotificationParameters `json:"parameters,omitempty"`
}
OpenMessageNotificationHeader describes the Header of a Notification Content
type OpenMessageNotificationParameters ¶ added in v0.9.10
func (OpenMessageNotificationParameters) MarshalJSON ¶ added in v0.9.10
func (parameters OpenMessageNotificationParameters) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (*OpenMessageNotificationParameters) UnmarshalJSON ¶ added in v0.9.10
func (parameters *OpenMessageNotificationParameters) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type OpenMessageReceipt ¶ added in v0.7.0
type OpenMessageReceipt struct {
ID string `json:"id,omitempty"` // Can be anything, message ID this receipt relates to
Channel OpenMessageChannel `json:"channel"`
Direction string `json:"direction"` // Can be "Inbound" or "Outbound"
Status string `json:"status"` // Can be "Published" (Inbound), "Delivered" (Outbound), "Sent", "Read", "Failed", "Removed"
Reasons []StatusReason `json:"reasons,omitempty"` // Contains the reason for the failure
FinalReceipt bool `json:"isFinalReceipt"` // True if this is the last receipt about this message ID
Metadata map[string]string `json:"metadata,omitempty"`
ConversationID uuid.UUID `json:"conversationId,omitempty"`
KeysToRedact []string `json:"-"`
}
OpenMessageReceipt is the message receipt returned by the Open Message Integration API.
See: https://developer.genesys.cloud/api/digital/openmessaging/receipts
func (OpenMessageReceipt) AsError ¶ added in v0.8.6
func (message OpenMessageReceipt) AsError() error
AsError converts this to an error
func (OpenMessageReceipt) GetID ¶ added in v0.7.1
func (message OpenMessageReceipt) GetID() string
GetID gets the identifier of this
implements OpenMessage
func (OpenMessageReceipt) GetType ¶ added in v0.7.0
func (message OpenMessageReceipt) GetType() string
GetType tells the type of this OpenMessage
implements core.TypeCarrier
func (OpenMessageReceipt) IsFailed ¶ added in v0.7.0
func (message OpenMessageReceipt) IsFailed() bool
IsFailed tells if the receipt is failed
func (OpenMessageReceipt) MarshalJSON ¶ added in v0.7.0
func (message OpenMessageReceipt) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
func (OpenMessageReceipt) Redact ¶ added in v0.7.0
func (message OpenMessageReceipt) Redact() interface{}
Redact redacts sensitive data
implements logger.Redactable
func (*OpenMessageReceipt) UnmarshalJSON ¶ added in v0.7.0
func (message *OpenMessageReceipt) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals JSON into this
type OpenMessageStructured ¶ added in v0.8.4
type OpenMessageStructured struct {
ID string `json:"id,omitempty"` // Can be anything
Channel OpenMessageChannel `json:"channel"`
Direction string `json:"direction"` // inbound or outbound
Text string `json:"text"`
Content []NormalizedMessageContent `json:"content,omitempty"`
OriginatingEntity string `json:"originatingEntity,omitempty"` // Bot or Human
Metadata map[string]string `json:"metadata,omitempty"`
ConversationID uuid.UUID `json:"conversationId,omitempty"`
KeysToRedact []string `json:"-"`
}
OpenMessageStructed describes a structured message
func (OpenMessageStructured) GetID ¶ added in v0.8.4
func (message OpenMessageStructured) GetID() string
GetID gets the identifier of this
implements OpenMessage
func (OpenMessageStructured) GetType ¶ added in v0.8.4
func (message OpenMessageStructured) GetType() string
GetType tells the type of this OpenMessage
implements core.TypeCarrier
func (OpenMessageStructured) MarshalJSON ¶ added in v0.8.4
func (message OpenMessageStructured) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
func (OpenMessageStructured) Redact ¶ added in v0.8.4
func (message OpenMessageStructured) Redact() interface{}
Redact redacts sensitive data
implements logger.Redactable
func (*OpenMessageStructured) UnmarshalJSON ¶ added in v0.8.4
func (message *OpenMessageStructured) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals JSON into this
type OpenMessageText ¶ added in v0.7.0
type OpenMessageText struct {
ID string `json:"id,omitempty"` // Can be anything
Channel OpenMessageChannel `json:"channel"`
Direction string `json:"direction"` // inbound or outbound
Text string `json:"text"`
Content []NormalizedMessageContent `json:"content,omitempty"`
OriginatingEntity string `json:"originatingEntity,omitempty"` // Bot or Human
Metadata map[string]string `json:"metadata,omitempty"`
ConversationID uuid.UUID `json:"conversationId,omitempty"`
KeysToRedact []string `json:"-"`
}
OpenMessageText is a text message sent or received by the Open Messaging API
func (OpenMessageText) GetID ¶ added in v0.7.1
func (message OpenMessageText) GetID() string
GetID gets the identifier of this
implements OpenMessage
func (OpenMessageText) GetType ¶ added in v0.7.0
func (message OpenMessageText) GetType() string
GetType tells the type of this OpenMessage
implements core.TypeCarrier
func (OpenMessageText) MarshalJSON ¶ added in v0.7.0
func (message OpenMessageText) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
func (OpenMessageText) Redact ¶ added in v0.7.0
func (message OpenMessageText) Redact() interface{}
Redact redacts sensitive data
implements logger.Redactable
func (*OpenMessageText) UnmarshalJSON ¶ added in v0.7.0
func (message *OpenMessageText) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals JSON into this
type OpenMessageTo ¶ added in v0.4.0
func (*OpenMessageTo) Validate ¶ added in v0.9.0
func (to *OpenMessageTo) Validate() (err error)
Validate checks if the object is valid
type OpenMessageTypingEvent ¶ added in v0.8.8
OpenMessageTypingEvent is a typing event sent or received by the Open Messaging API
func (OpenMessageTypingEvent) GetType ¶ added in v0.8.8
func (event OpenMessageTypingEvent) GetType() string
GetType returns the type of this event
implements core.TypeCarrier
func (OpenMessageTypingEvent) MarshalJSON ¶ added in v0.8.8
func (event OpenMessageTypingEvent) MarshalJSON() (data []byte, err error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (*OpenMessageTypingEvent) UnmarshalJSON ¶ added in v0.8.8
func (event *OpenMessageTypingEvent) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type OpenMessagingIntegration ¶ added in v0.4.0
type OpenMessagingIntegration struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
WebhookURL *url.URL `json:"-"`
WebhookToken string `json:"outboundNotificationWebhookSignatureSecretToken"`
WebhookHeaders map[string]string `json:"webhookHeaders,omitempty"`
MessagingSetting *DomainEntityRef `json:"messagingSetting,omitempty"`
Recipient *DomainEntityRef `json:"recipient,omitempty"`
SupportedContent *OpenMessagingSupportedContent `json:"supportedContent,omitempty"`
DateCreated time.Time `json:"dateCreated,omitempty"`
CreatedBy *DomainEntityRef `json:"createdBy,omitempty"`
DateModified time.Time `json:"dateModified,omitempty"`
ModifiedBy *DomainEntityRef `json:"modifiedBy,omitempty"`
CreateStatus string `json:"createStatus,omitempty"` // Initiated, Completed, Error
CreateError *ErrorBody `json:"createError,omitempty"`
Status string `json:"status,omitempty"` // Active, Inactive
Client *Client `json:"-"`
// contains filtered or unexported fields
}
OpenMessagingIntegration describes an GCloud OpenMessaging Integration
See https://developer.genesys.cloud/api/digital/openmessaging
func (*OpenMessagingIntegration) Delete ¶ added in v0.4.0
func (integration *OpenMessagingIntegration) Delete(context context.Context) (correlationID string, err error)
Delete deletes an OpenMessaging Integration
If the integration was not created, nothing is done
func (OpenMessagingIntegration) GetID ¶ added in v0.4.0
func (integration OpenMessagingIntegration) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (*OpenMessagingIntegration) GetMessageData ¶ added in v0.7.3
func (integration *OpenMessagingIntegration) GetMessageData(context context.Context, message OpenMessage) (messageData *OpenMessageData, correlationID string, err error)
GetMessageData gets the details of a message
func (*OpenMessagingIntegration) GetRoutingMessageRecipient ¶ added in v0.7.15
func (integration *OpenMessagingIntegration) GetRoutingMessageRecipient(context context.Context) (recipient *RoutingMessageRecipient, correlationID string, err error)
GetRoutingMessageRecipient fetches the RoutingMessageRecipient for this OpenMessagingIntegration
func (OpenMessagingIntegration) GetURI ¶ added in v0.7.0
func (integration OpenMessagingIntegration) GetURI(ids ...uuid.UUID) URI
GetURI gets the URI of this
implements Addressable
func (*OpenMessagingIntegration) Initialize ¶ added in v0.4.0
func (integration *OpenMessagingIntegration) Initialize(parameters ...interface{})
Initialize initializes the object
accepted parameters: *gcloudcx.Client, *logger.Logger
implements Initializable
func (OpenMessagingIntegration) IsCreated ¶ added in v0.7.0
func (integration OpenMessagingIntegration) IsCreated() bool
IsCreated tells if this OpenMessagingIntegration has been created successfully
func (OpenMessagingIntegration) IsError ¶ added in v0.7.0
func (integration OpenMessagingIntegration) IsError() bool
IsCreated tells if this OpenMessagingIntegration has not been created successfully
func (OpenMessagingIntegration) MarshalJSON ¶ added in v0.4.0
func (integration OpenMessagingIntegration) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
func (*OpenMessagingIntegration) Refresh ¶ added in v0.7.0
func (integration *OpenMessagingIntegration) Refresh(ctx context.Context) (correlationID string, err error)
func (*OpenMessagingIntegration) SendInboundButtonResponse ¶ added in v0.10.3
func (integration *OpenMessagingIntegration) SendInboundButtonResponse(context context.Context, message OpenMessageButtonResponse) (id string, correlationID string, err error)
SendInboundButtonResponse sends an Open Message button response from the middleware to GENESYS Cloud
See https://developer.genesys.cloud/api/digital/openmessaging/inboundMessages#send-an-inbound-open-message See https://developer.genesys.cloud/devapps/api-explorer#post-api-v2-conversations-messages--integrationId--inbound-open-structured-response
func (*OpenMessagingIntegration) SendInboundEvents ¶ added in v0.8.8
func (integration *OpenMessagingIntegration) SendInboundEvents(context context.Context, events OpenMessageEvents) (id string, correlationID string, err error)
SendInboundEvent sends an event from the middleware to GENESYS Cloud
See https://developer.genesys.cloud/commdigital/digital/openmessaging/inboundEventMessages
func (*OpenMessagingIntegration) SendInboundReceipt ¶ added in v0.7.2
func (integration *OpenMessagingIntegration) SendInboundReceipt(context context.Context, receipt OpenMessageReceipt) (id string, correlationID string, err error)
SendInboundReceipt sends a receipt from the middleware to GENESYS Cloud
Valid status values are: Delivered, Failed.
Genesys Cloud will return a receipt from this request. If the returned receipt has a Failed status, the return error contains the reason(s) for the failure.
See https://developer.genesys.cloud/commdigital/digital/openmessaging/inboundReceiptMessages See https://developer.genesys.cloud/devapps/api-explorer#post-api-v2-conversations-messages--integrationId--inbound-open-receipt
func (*OpenMessagingIntegration) SendInboundTextMessage ¶ added in v0.4.0
func (integration *OpenMessagingIntegration) SendInboundTextMessage(context context.Context, message OpenMessageText) (id string, correlationID string, err error)
SendInboundTextMessage sends an Open Message text message from the middleware to GENESYS Cloud
See https://developer.genesys.cloud/api/digital/openmessaging/inboundMessages#send-an-inbound-open-message See https://developer.genesys.cloud/devapps/api-explorer#post-api-v2-conversations-messages--integrationId--inbound-open-message
func (*OpenMessagingIntegration) SendOutboundMessage ¶ added in v0.4.0
func (integration *OpenMessagingIntegration) SendOutboundMessage(context context.Context, destination, text string) (result *AgentlessMessageResult, correlationID string, err error)
SendOutboundMessage sends a message from GENESYS Cloud to the middleware
The message can be only text as it is sent bia the AgentLess Message API.
This is mainly for debugging purposes ¶
See https://developer.genesys.cloud/api/digital/openmessaging/outboundMessages#send-an-agentless-outbound-text-message See https://developer.genesys.cloud/devapps/api-explorer#post-api-v2-conversations-messages--integrationId--inbound-open-event
func (OpenMessagingIntegration) String ¶ added in v0.4.0
func (integration OpenMessagingIntegration) String() string
String gets a string version
implements the fmt.Stringer interface
func (*OpenMessagingIntegration) UnmarshalJSON ¶ added in v0.4.0
func (integration *OpenMessagingIntegration) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (*OpenMessagingIntegration) Update ¶ added in v0.4.0
func (integration *OpenMessagingIntegration) Update(context context.Context, name string, webhookURL *url.URL, token string) (correlationID string, err error)
Update updates an OpenMessaging Integration
If the integration was not created, an error is return without reaching GENESYS Cloud
type OpenMessagingSupportedContent ¶ added in v0.10.1
type Organization ¶
type Organization struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
DefaultLanguage string `json:"defaultLanguage"`
ThirdPartyOrganizationName string `json:"thirdPartyOrgName"`
ThirdPartyURI string `json:"thirdPartyURI"`
Domain string `json:"domain"`
State string `json:"state"`
DefaultSiteID string `json:"defaultSiteId"`
SupportURI string `json:"supportURI"`
VoicemailEnabled bool `json:"voicemailEnabled"`
SelfURI URI `json:"selfURI"`
Features map[string]bool `json:"features"`
Version uint32 `json:"version"`
// contains filtered or unexported fields
}
Organization describes a GCloud Organization
func (Organization) GetID ¶ added in v0.1.0
func (organization Organization) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (Organization) GetURI ¶ added in v0.7.0
func (organization Organization) GetURI(ids ...uuid.UUID) URI
GetURI gets the URI of this
implements Addressable
func (*Organization) Initialize ¶ added in v0.1.0
func (organization *Organization) Initialize(parameters ...interface{})
Initialize initializes the object
accepted parameters: *gcloudcx.Client, *logger.Logger
implements Initializable
func (Organization) String ¶ added in v0.1.0
func (organization Organization) String() string
String gets a string version
implements the fmt.Stringer interface
type OutOfOffice ¶ added in v0.1.0
type OutOfOffice struct {
ID string `json:"id"`
Name string `json:"name"`
SelfURI URI `json:"selfUri"`
User *User `json:"user"`
Active bool `json:"active"`
Indefinite bool `json:"indefinite"`
StartDate time.Time `json:"startDate"`
EndDate time.Time `json:"endDate"`
ModifiedDate time.Time `json:"modifiedDate"`
}
OutOfOffice describes the Out Of Office status
type Participant ¶ added in v0.1.0
type Participant struct {
ID uuid.UUID `json:"id"`
SelfURI URI `json:"selfUri"`
Type string `json:"type"`
Provider string `json:"provider"`
Name string `json:"name"`
ParticipantType string `json:"participantType,omitempty"`
State string `json:"state,omitempty"`
Held bool `json:"held,omitempty"`
Direction string `json:"direction,omitempty"`
StartTime time.Time `json:"startTime,omitempty"`
ConnectedTime time.Time `json:"connectedTime,omitempty"`
EndTime time.Time `json:"endTime,omitempty"`
StartHoldTime time.Time `json:"startHoldTime,omitempty"`
Purpose string `json:"purpose"`
DisconnectType string `json:"disconnectType,omitempty"`
User *User `json:"user,omitempty"`
ExternalContact *DomainEntityRef `json:"externalContact,omitempty"`
ExternalContactID string `json:"externalContactId,omitempty"`
ExternalOrganization *DomainEntityRef `json:"externalOrganization,omitempty"`
ExternalOrganizationID string `json:"externalOrganizationId,omitempty"`
Queue *Queue `json:"queue,omitempty"`
QueueID string `json:"queueId,omitempty"`
GroupID string `json:"groupId,omitempty"`
TeamID string `json:"teamId,omitempty"`
QueueName string `json:"queueName,omitempty"`
ConsultParticipantID string `json:"consultParticipantId,omitempty"`
MonitoredParticipantID string `json:"monitoredParticipantId,omitempty"`
Script *DomainEntityRef `json:"script,omitempty"`
Address string `json:"address,omitempty"`
ANI string `json:"ani,omitempty"`
ANIName string `json:"aniName,omitempty"`
DNIS string `json:"dnis,omitempty"`
Locale string `json:"locale,omitempty"`
From Address `json:"fromAddress,omitempty"`
To Address `json:"toAddress,omitempty"`
Attributes map[string]string `json:"attributes,omitempty"`
Calls []*ConversationCall `json:"calls,omitempty"`
Callbacks []*ConversationCallback `json:"callbacks,omitempty"`
Chats []*ConversationChat `json:"chats,omitempty"`
CobrowseSessions []*CobrowseSession `json:"cobrowseSession,omitempty"`
Emails []*ConversationEmail `json:"emails,omitempty"`
Messages []*ConversationMessage `json:"messages,omitempty"`
SocialExpressions []*SocialExpression `json:"socialExpressions,omitempty"`
Videos []*ConversationVideo `json:"videos,omitempty"`
Evaluations []*Evaluation `json:"evaluations,omitempty"`
WrapupRequired bool `json:"wrapupRequired"`
WrapupPrompt string `json:"wrapupPrompt,omitempty"`
WrapupTimeout time.Duration `json:"-"`
WrapupSkipped bool `json:"wrapupSkipped,omitempty"`
Wrapup *Wrapup `json:"wrapup,omitempty"`
AlertingTimeout time.Duration `json:"-"`
ScreenRecordingState string `json:"screenRecordingState,omitempty"`
FlaggedReason string `json:"flaggedReason,omitempty"`
Peer string `json:"peer,omitempty"`
RoutingData ConversationRoutingData `json:"conversationRoutingData,omitempty"`
JourneyContext *JourneyContext `json:"journeyContext,omitempty"`
ErrorInfo *ErrorBody `json:"errorInfo,omitempty"`
}
Participant describes a Chat Participant
func (*Participant) Disconnect ¶ added in v0.7.12
func (participant *Participant) Disconnect(context context.Context, target Disconnecter) (correlationID string, err error)
Disconnect disconnects the Participant from the target
func (Participant) GetID ¶ added in v0.1.0
func (participant Participant) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (Participant) GetURI ¶ added in v0.7.0
func (participant Participant) GetURI() URI
GetURI gets the URI of this
implements Addressable
func (Participant) IsMember ¶ added in v0.1.0
func (participant Participant) IsMember(mediaType string, identifiable Identifiable) bool
IsMember tells if the Participant is a memmber of the Conversation (Identifiable)
func (Participant) MarshalJSON ¶ added in v0.1.0
func (participant Participant) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
func (Participant) String ¶ added in v0.1.0
func (participant Participant) String() string
String gets a string version
implements the fmt.Stringer interface
func (*Participant) UnmarshalJSON ¶ added in v0.1.0
func (participant *Participant) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (*Participant) UpdateState ¶ added in v0.1.0
func (participant *Participant) UpdateState(context context.Context, target StateUpdater, state string) (correlationID string, err error)
UpdateState updates the state of the Participant in target
type PresenceDefinition ¶ added in v0.1.0
type PresenceDefinition struct {
ID uuid.UUID `json:"id"`
SystemPresence string `json:"systemPresence"`
SelfURI URI `json:"selfUri"`
}
PresenceDefinition defines Presence
func (PresenceDefinition) GetID ¶ added in v0.1.0
func (definition PresenceDefinition) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (PresenceDefinition) GetURI ¶ added in v0.7.0
func (definition PresenceDefinition) GetURI() URI
GetURI gets the URI of this
implements Addressable
func (PresenceDefinition) String ¶ added in v0.1.0
func (definition PresenceDefinition) String() string
String gets a string version
implements the fmt.Stringer interface
type PresenceEvent ¶ added in v0.10.2
type ProcessAutomationCriteria ¶ added in v0.8.0
type ProcessAutomationCriteria struct {
JSONPath string `json:"jsonPath"`
Operator string `json:"operator"` // GreaterThanOrEqual, LessThanOrEqual, Equal, NotEqual, LessThan, GreaterThan, NotIn, In, Contains, All, Exists, Size
Value string `json:"value,omitempty"`
Values []string `json:"values,omitempty"`
}
ProcessAutomationCriteria is a Process Automation Criteria
type ProcessAutomationTarget ¶ added in v0.8.0
type ProcessAutomationTarget struct {
ID uuid.UUID `json:"id"`
Type string `json:"type"` // Workflow
DataFormat string `json:"-"` // Json, TopLevelPrimitives
}
ProcessAutomationTarget is a Process Automation Target
func (ProcessAutomationTarget) MarshalJSON ¶ added in v0.8.0
func (target ProcessAutomationTarget) MarshalJSON() ([]byte, error)
MarshalJSON marshals the object into JSON
func (*ProcessAutomationTarget) UnmarshalJSON ¶ added in v0.8.0
func (target *ProcessAutomationTarget) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals the object from JSON
type ProcessAutomationTrigger ¶ added in v0.8.0
type ProcessAutomationTrigger struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Topic NotificationTopic `json:"-"`
MatchCriteria []ProcessAutomationCriteria `json:"matchCriteria"`
Target ProcessAutomationTarget `json:"target"`
Enabled bool `json:"enabled"`
EventTTLSeconds int `json:"eventTTLSeconds,omitempty"`
DelayBySeconds int `json:"delayBySeconds,omitempty"`
Version int `json:"version,omitempty"`
// contains filtered or unexported fields
}
ProcessAutomationTrigger is a Process Automation Trigger
See: https://developer.genesys.cloud/commdigital/taskmanagement/task-management-maestro
See: https://developer.genesys.cloud/platform/process-automation/trigger-apis
func (ProcessAutomationTrigger) Create ¶ added in v0.8.0
func (trigger ProcessAutomationTrigger) Create(context context.Context, client *Client) (*ProcessAutomationTrigger, string, error)
Create creates a new ProcessAutomationTrigger
The Genesys Cloud correlation ID is return as the second return value.
func (ProcessAutomationTrigger) Delete ¶ added in v0.8.0
func (trigger ProcessAutomationTrigger) Delete(context context.Context) (correlationID string, err error)
Delete deletes this ProcessAutomationTrigger
func (ProcessAutomationTrigger) GetID ¶ added in v0.8.0
func (trigger ProcessAutomationTrigger) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (ProcessAutomationTrigger) GetURI ¶ added in v0.8.0
func (trigger ProcessAutomationTrigger) GetURI(ids ...uuid.UUID) URI
GetURI gets the URI of this
implements Addressable
func (*ProcessAutomationTrigger) Initialize ¶ added in v0.8.0
func (trigger *ProcessAutomationTrigger) Initialize(parameters ...interface{})
Initialize initializes the object
accepted parameters: *gcloudcx.Client, *logger.Logger
implements Initializable
func (ProcessAutomationTrigger) MarshalJSON ¶ added in v0.8.0
func (trigger ProcessAutomationTrigger) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (ProcessAutomationTrigger) String ¶ added in v0.8.0
func (trigger ProcessAutomationTrigger) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ProcessAutomationTrigger) UnmarshalJSON ¶ added in v0.8.0
func (trigger *ProcessAutomationTrigger) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type Query ¶ added in v0.7.15
type Query map[string]interface{}
Query represents a query string for URIs
type Queue ¶ added in v0.1.0
type Queue struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
CreatedBy *User `json:"-"`
ModifiedBy string `json:"modifiedBy"`
DateCreated time.Time `json:"dateCreated"`
Division *Division `json:"division"`
MemberCount int `json:"memberCount"`
MediaSettings MediaSettings `json:"mediaSettings"`
ACWSettings ACWSettings `json:"acwSettings"`
SkillEvaluationMethod string `json:"skillEvaluationMethod"`
AutoAnswerOnly bool `json:"true"`
DefaultScripts interface{} `json:"defaultScripts"`
SelfURI URI `json:"selfUri"`
// contains filtered or unexported fields
}
Queue defines a GCloud Queue
func (*Queue) Initialize ¶ added in v0.7.15
func (queue *Queue) Initialize(parameters ...interface{})
Initialize initializes the object
accepted parameters: *gcloudcx.Client, *logger.Logger
implements Initializable
func (*Queue) UnmarshalJSON ¶ added in v0.1.0
UnmarshalJSON unmarshals JSON into this
type QueueEmailAddress ¶ added in v0.10.2
type QueueEmailAddress struct {
Domain DomainEntityRef `json:"domain"`
Route *EmailInboundRoute `json:"route,omitempty"`
}
type QuickReply ¶ added in v0.10.2
type QuickReply struct {
Text string `json:"text"`
Payload string `json:"payload"`
Action string `json:"action"`
URL *url.URL `json:"url,omitempty"`
IsSelected bool `json:"isSelected"`
}
func (*QuickReply) UnmarshalJSON ¶ added in v0.10.2
func (quickReply *QuickReply) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
implements json.Unmarshaler
type Recording ¶ added in v0.10.2
type Recording struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
ConversationID uuid.UUID `json:"conversationId"`
Conversation *Conversation `json:"-"`
SessionID uuid.UUID `json:"sessionId"`
Path string `json:"path"`
StartTime time.Time `json:"startTime"`
EndTime time.Time `json:"endTime"`
OriginalRecordingStartTime time.Time `json:"originalRecordingStartTime"`
Media string `json:"media"` // audio, chat, messaging, email, screen
MediaSubtype string `json:"mediaSubtype"` // Trunk, Station, Consult, Screen
MediaSubject string `json:"mediaSubject"`
Annotations []RecordingAnnotation `json:"annotations"`
Transcript []RecordingChatMessage `json:"transcript"`
EmailTranscript []RecordingEmailMessage `json:"emailTranscript"`
MessagingTranscript []RecordingMessagingMessage `json:"messagingTranscript"`
FileState string `json:"fileState"` // ARCHIVED, AVAILABLE, DELETED, RESTORED, RESTORING, UPLOADING, ERROR
RestoreExpires time.Time `json:"restoreExpirationTime"`
MediaURIs map[string]*RecordingMediaURI `json:"mediaUris"`
EstimatedTranscodeTime time.Duration `json:"-"`
ActualTranscodeTime time.Duration `json:"-"`
ArchiveMedium string `json:"archiveMedium"` // CLOUDARCHIVE
ArchiveDate time.Time `json:"archiveDate"`
DeleteDate time.Time `json:"deleteDate"`
ExportDate time.Time `json:"exportDate"`
ExportedDate time.Time `json:"exportedDate"`
OutputDuration time.Duration `json:"-"`
OutputSizeInBytes int64 `json:"outputSizeInBytes"`
MaxAllowedRestorationsFxxx int `json:"maxAllowedRestorations"` //TODO: Find the exact name of this field
RemainingRestorationsAllowed int `json:"remainingRestorations"` // TODO: Find the exact name of this field
Users []User `json:"users"`
RecordingFileRole string `json:"recordingFileRole"` // CUSTOMER_EXPERIENCE, ADHOC
RecordingErrorStatus string `json:"recordingErrorStatus"` // EMAIL_TRANSCRIPT_TOO_LARGE
CreationTime time.Time `json:"creationTime"`
ExternalContacts []DomainEntityRef `json:"externalContacts"`
SelfURI string `json:"selfUri"`
// contains filtered or unexported fields
}
func (*Recording) Initialize ¶ added in v0.10.2
func (recording *Recording) Initialize(parameters ...interface{})
Initialize initializes the object
accepted parameters: *gcloudcx.Client, *logger.Logger, *gcloudcx.Conversation
implements Initializable
func (Recording) String ¶ added in v0.10.2
String gets a string version
implements the fmt.Stringer interface
func (*Recording) UnmarshalJSON ¶ added in v0.10.2
UnmarshalJSON unmarshals the recording from JSON
Implements json.Unmarshaler
type RecordingAnnotation ¶ added in v0.10.2
type RecordingAnnotation struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
Type string `json:"type"`
Description string `json:"description"`
Reason string `json:"reason"`
User *User `json:"user,omitempty"`
Annotations []RecordingAnnotation `json:"annotations"`
Location time.Duration `json:"location"` // Offset from start of recording
Duration time.Duration `json:"-"`
AbsoluteLocation time.Duration `json:"-"` // Offset from start of recording, after removing the cumulative duration of all pauses
AbsoluteDuration time.Duration `json:"-"`
RecordingLocation time.Duration `json:"-"` // Offset from start of recording, adjusted for any recording cuts
RecordingDuration time.Duration `json:"-"` // Duration of annotation, adjusted for any recording cuts
RealtimeLocation time.Duration `json:"-"` // Offset from start of recording, before removing the cumulative duration of all pauses before this annotation
SelfURI string `json:"selfUri"`
}
func (*RecordingAnnotation) UnmarshalJSON ¶ added in v0.10.2
func (annotation *RecordingAnnotation) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals the annotation from JSON
Implements json.Unmarshaler
type RecordingChatMessage ¶ added in v0.10.2
type RecordingChatMessage struct {
ID string `json:"id"`
To string `json:"to"`
From string `json:"from"`
Body string `json:"body"`
UTC string `json:"utc"`
Chat string `json:"chat"`
Message string `json:"message"`
Type string `json:"type"`
BodyType string `json:"bodyType"`
SenderCommunicationID string `json:"senderCommunicationId"`
ParticipantPurpose string `json:"participantPurpose"`
User *User `json:"user,omitempty"`
}
type RecordingEmailMessage ¶ added in v0.10.2
type RecordingEmailMessage struct {
ID string `json:"id"`
To []EmailAddress `json:"to"`
Cc []EmailAddress `json:"cc"`
Bcc []EmailAddress `json:"bcc"`
From EmailAddress `json:"from"`
Subject string `json:"subject"`
Time string `json:"time"`
HTMLBody string `json:"htmlBody"`
TextBody string `json:"textBody"`
Body string `json:"body"`
Attachments []EmailAttachment `json:"attachments"`
}
type RecordingMediaURI ¶ added in v0.10.2
type RecordingMediaURI struct {
URI *url.URL `json:"mediaUri"`
Data []float64 `json:"waveformData,omitempty"`
}
func (*RecordingMediaURI) UnmarshalJSON ¶ added in v0.10.2
func (mediaURI *RecordingMediaURI) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals the media URI from JSON
type RecordingMessagingMessage ¶ added in v0.10.2
type RecordingMessagingMessage struct {
ID string `json:"id"`
To string `json:"to"`
From string `json:"from"`
FromUser User `json:"fromUser"`
FromExternalContact DomainEntityRef `json:"fromExternalContact"` // TODO: Use the full definition
ParticipantID uuid.UUID `json:"participantId"`
Purpose string `json:"purpose"`
Queue DomainEntityRef `json:"queue"`
Workflow DomainEntityRef `json:"workflow"`
ContentType string `json:"contentType"`
MessageText string `json:"messageText"`
MediaAttachments []Media `json:"messageMediaAttachments"`
StickerAttachments []Sticker `json:"messageStickerAttachments"`
QuickReplies []QuickReply `json:"quickReplies"`
ButtonResponse ButtonResponse `json:"buttonResponse"`
Story Story `json:"story"`
Cards []Card `json:"cards"`
NotificationTemplate NotificationTemplate `json:"notificationTemplate"`
Events []MessageEvent `json:"events"`
Timestamp time.Time `json:"timestamp"`
}
func (*RecordingMessagingMessage) UnmarshalJSON ¶ added in v0.10.2
func (message *RecordingMessagingMessage) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals the recording messaging message from JSON
Implements json.Unmarshaler
type ResourcePermissionPolicy ¶ added in v0.1.0
type ResourcePermissionPolicy struct {
// TODO: Find out what should be here!
ID string `json:"id"`
SelfURI string `json:"selfUri,omitempty"`
}
ResourcePermissionPolicy describes...
type ResponseManagementContent ¶ added in v0.7.0
type ResponseManagementContent struct {
ContentType string `json:"contentType"`
Content string `json:"content"`
}
ResponseManagementContent represent a Response Management Content
See https://developer.genesys.cloud/api/rest/v2/responsemanagement
type ResponseManagementLibrary ¶ added in v0.7.0
type ResponseManagementLibrary struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
DateCreated time.Time `json:"dateCreated,omitempty"`
CreatedBy *DomainEntityRef `json:"createdBy,omitempty"`
Version int `json:"version"`
SelfURI URI `json:"selfUri,omitempty"`
}
ResponseManagementLibrary is the interface for the Response Management Library
See https://developer.genesys.cloud/api/rest/v2/responsemanagement
func (ResponseManagementLibrary) GetID ¶ added in v0.7.0
func (library ResponseManagementLibrary) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (*ResponseManagementLibrary) GetType ¶ added in v0.7.0
func (library *ResponseManagementLibrary) GetType() string
GetType gets the identifier of this
implements Identifiable
func (ResponseManagementLibrary) GetURI ¶ added in v0.7.15
func (library ResponseManagementLibrary) GetURI(ids ...uuid.UUID) URI
GetURI gets the URI of this
implements Addressable
func (*ResponseManagementLibrary) Initialize ¶ added in v0.7.15
func (library *ResponseManagementLibrary) Initialize(parameters ...interface{})
Initialize initializes the object
implements Initializable
func (ResponseManagementLibrary) String ¶ added in v0.7.0
func (library ResponseManagementLibrary) String() string
String gets a string version
implements the fmt.Stringer interface
type ResponseManagementQuery ¶ added in v0.7.0
type ResponseManagementQuery struct {
Query string `json:"queryPhrase,omitempty"`
PageSize int `json:"pageSize,omitempty"`
Filters []ResponseManagementQueryFilter `json:"filters,omitempty"`
}
type ResponseManagementQueryFilter ¶ added in v0.7.0
type ResponseManagementResponse ¶ added in v0.7.0
type ResponseManagementResponse struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
Type string `json:"ResponseType"`
DateCreated time.Time `json:"dateCreated,omitempty"`
CreatedBy *DomainEntityRef `json:"createdBy,omitempty"`
Libraries []DomainEntityRef `json:"libraries,omitempty"`
Texts []ResponseManagementContent `json:"texts,omitempty"`
Substitutions []ResponseManagementSubstitution `json:"substitutions,omitempty"`
TemplateType string `json:"-"`
TemplateName string `json:"-"`
TemplateNamespace string `json:"-"`
TemplateLanguage string `json:"-"`
Version int `json:"version"`
SelfURI URI `json:"selfUri,omitempty"`
}
ResponseManagementResponse is the interface for the Response Management Response
See https://developer.genesys.cloud/api/rest/v2/responsemanagement
func (ResponseManagementResponse) ApplySubstitutions ¶ added in v0.7.19
func (response ResponseManagementResponse) ApplySubstitutions(context context.Context, contentType string, substitutions map[string]string) (string, error)
ApplySubstitutions applies the substitutions to the response text that matches the given content type
func (ResponseManagementResponse) ApplySubstitutionsWithVersion ¶ added in v0.11.6
func (response ResponseManagementResponse) ApplySubstitutionsWithVersion(context context.Context, version any, contentType string, substitutions map[string]string) (string, error)
ApplySubstitutions applies the substitutions to the response text that matches the given content type
The version can be either a specific version number, ResponseManagementVersionFirst or ResponseManagementVersionLast ¶
If the specified version is not of the expected content type, an error is returned.
If the version is out of range, an error is returned.
func (ResponseManagementResponse) FetchByFilters ¶ added in v0.7.15
func (response ResponseManagementResponse) FetchByFilters(context context.Context, client *Client, filters ...ResponseManagementQueryFilter) (*ResponseManagementResponse, string, error)
FetchByFilters fetches a ResponseManagementResponse by filters
The Genesys Cloud correlation ID is return as the second return value.
func (ResponseManagementResponse) GetID ¶ added in v0.7.0
func (response ResponseManagementResponse) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (ResponseManagementResponse) GetType ¶ added in v0.8.2
func (response ResponseManagementResponse) GetType() string
GetType gets the type of this
implements core.TypeCarrier
func (ResponseManagementResponse) GetURI ¶ added in v0.7.15
func (response ResponseManagementResponse) GetURI(ids ...uuid.UUID) URI
GetURI gets the URI of this
implements Addressable
func (*ResponseManagementResponse) Initialize ¶ added in v0.7.15
func (response *ResponseManagementResponse) Initialize(parameters ...interface{})
Initialize initializes the object
implements Initializable
func (ResponseManagementResponse) MarshalJSON ¶ added in v0.8.2
func (response ResponseManagementResponse) MarshalJSON() ([]byte, error)
MarshalJSON marshals into JSON
implements json.Marshaler
func (ResponseManagementResponse) String ¶ added in v0.7.0
func (response ResponseManagementResponse) String() string
String gets a string version
implements the fmt.Stringer interface
func (*ResponseManagementResponse) UnmarshalJSON ¶ added in v0.8.2
func (response *ResponseManagementResponse) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON
implements json.Unmarshaler
type ResponseManagementSubstitution ¶ added in v0.7.0
type ResponseManagementSubstitution struct {
ID string `json:"id"`
Description string `json:"description"`
Default string `json:"defaultValue"`
}
ResponseManagementSubstitution is the interface for the Response Management Substitution
See https://developer.genesys.cloud/api/rest/v2/responsemanagement
type ResponseManagementVersion ¶ added in v0.11.6
type ResponseManagementVersion int
ResponseManagementVersion describes a version of a response management response
const ( // ResponseManagementVersionFirst is the first version of the response management response ResponseManagementVersionFirst ResponseManagementVersion = 1 // ResponseManagementVersionLast is the last version of the response management response ResponseManagementVersionLast ResponseManagementVersion = -1 )
type RoutingMessageRecipient ¶ added in v0.7.15
type RoutingMessageRecipient struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
MessengerType string `json:"messengerType"`
Flow *Flow `json:"flow"`
DateCreated time.Time `json:"dateCreated,omitempty"`
CreatedBy *User `json:"createdBy,omitempty"`
DateModified time.Time `json:"dateModified,omitempty"`
ModifiedBy *User `json:"modifiedBy,omitempty"`
// contains filtered or unexported fields
}
func (*RoutingMessageRecipient) DeleteFlow ¶ added in v0.7.15
func (recipient *RoutingMessageRecipient) DeleteFlow(context context.Context) (correlationID string, err error)
DeleteFlow removes the flow of this recipient
func (RoutingMessageRecipient) GetID ¶ added in v0.7.15
func (recipient RoutingMessageRecipient) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (RoutingMessageRecipient) GetURI ¶ added in v0.7.15
func (recipient RoutingMessageRecipient) GetURI(ids ...uuid.UUID) URI
GetURI gets the URI of this
implements Addressable
func (*RoutingMessageRecipient) Initialize ¶ added in v0.7.15
func (recipient *RoutingMessageRecipient) Initialize(parameters ...interface{})
Initialize initializes the object
accepted parameters: *gcloudcx.Client, *logger.Logger
implements Initializable
func (RoutingMessageRecipient) MarshalJSON ¶ added in v0.7.15
func (recipient RoutingMessageRecipient) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
implements json.Marshaler
func (*RoutingMessageRecipient) UpdateFlow ¶ added in v0.7.15
func (recipient *RoutingMessageRecipient) UpdateFlow(context context.Context, flow *Flow) (correlationID string, err error)
UpdateFlow updates the flow of this recipient
type RoutingStatus ¶ added in v0.1.0
type RoutingStatus struct {
UserID string `json:"userId"`
Status string `json:"status"` // OFF_QUEUE, IDLE, INTERACTING, NOT_RESPONDING, COMMUNICATING
StartTime time.Time `json:"startTime"`
}
RoutingStatus describes a Routing Status
type RoutingTarget ¶ added in v0.1.0
type RoutingTarget struct {
Type string `json:"targetType,omitempty"`
Address string `json:"targetAddress,omitempty"`
}
RoutingTarget describes a routing target
type ScreenShare ¶ added in v0.1.0
type ScreenShare struct {
}
ScreenShare describes a Screen Share (like belonging to Participant)
func (ScreenShare) GetID ¶ added in v0.1.0
func (screenShare ScreenShare) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (ScreenShare) String ¶ added in v0.1.0
func (screenShare ScreenShare) String() string
String gets a string version
implements the fmt.Stringer interface
type Segment ¶ added in v0.1.0
type Segment struct {
Type string `json:"type"`
DisconnectType string `json:"disconnectType"`
StartTime time.Time `json:"startTime"`
EndTime time.Time `json:"endTime"`
HowEnded string `json:"howEnded"`
}
Segment describes a fragment of a Conversation
type ServiceLevel ¶ added in v0.1.0
ServiceLevel defines a Service Level
func (ServiceLevel) MarshalJSON ¶ added in v0.1.0
func (serviceLevel ServiceLevel) MarshalJSON() ([]byte, error)
MarshalJSON marshals this into JSON
func (*ServiceLevel) UnmarshalJSON ¶ added in v0.1.0
func (serviceLevel *ServiceLevel) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
type SlotEntity ¶ added in v0.10.7
type SlotEntity interface {
core.TypeCarrier
core.Named
fmt.Stringer // used to get the string representation of the entity's value
ParseValue(value string) (SlotEntity, error) // ParseValue parses the value and returns a new SlotEntity instance
}
SlotEntity represents a slot entity in a Genesys Cloud CX message
func UnmarshalSlotEntity ¶ added in v0.10.7
func UnmarshalSlotEntity(payload []byte) (SlotEntity, error)
UnmarshalSlotEntity unmarshals a slot entity from JSON
type SocialExpression ¶ added in v0.1.0
type SocialExpression struct {
ID uuid.UUID `json:"id"`
Direction string `json:"direction"` // inbound,outbound
State string `json:"state"` // alerting,dialing,contacting,offering,connected,disconnected,terminated,converting,uploading,transmitting,scheduled,none
Held bool `json:"held"`
RecordingID string `json:"recordingId"`
Segments []Segment `json:"segments"`
Provider string `json:"provider"`
ScriptID string `json:"scriptId"`
PeerID string `json:"peerId"`
SocialMediaID string `json:"socialMediaId"`
SocialMediaHub string `json:"socialMediaHub"`
SocialMediaName string `json:"socialMediaName"`
PreviewText string `json:"previewText"`
ConnectedTime time.Time `json:"connectedTime"`
DisconnectedTime time.Time `json:"disconnectedTime"`
StartAlertingTime time.Time `json:"startAlertingTime"`
StartHoldTime time.Time `json:"startHoldTime"`
DisconnectType string `json:"disconnectType"` // endpoint,client,system,transfer,timeout,transfer.conference,transfer.consult,transfer.forward,transfer.noanswer,transfer.notavailable,transport.failure,error,peer,other,spam,uncallable
}
SocialExpression describes a SocialExpression (like belonging to Participant)
func (SocialExpression) GetID ¶ added in v0.1.0
func (socialExpression SocialExpression) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (SocialExpression) String ¶ added in v0.1.0
func (socialExpression SocialExpression) String() string
String gets a string version
implements the fmt.Stringer interface
type StateUpdater ¶ added in v0.1.0
type StateUpdater interface {
UpdateState(context context.Context, identifiable Identifiable, state string) (correlationID string, err error)
}
StateUpdater describes objects than can update the state of an Identifiable
type StatusReason ¶ added in v0.4.0
type StatusReason struct {
Code string `json:"code,omitempty"` // MessageExpired, RateLimited, MessageNotAllowed, GeneralError, UnsupportedMessage, UnknownMessage, InvalidMessageStructure, InvalidDestination, ServerError, MediaTypeNotAllowed, InvalidMediaContentLength, RecipientOptedOut
Message string `json:"message"`
}
func (StatusReason) AsError ¶ added in v0.8.6
func (reason StatusReason) AsError() error
AsError converts this to an error
type Sticker ¶ added in v0.10.2
func (*Sticker) UnmarshalJSON ¶ added in v0.10.2
UnmarshalJSON unmarshals a Sticker from JSON
Implements json.Unmarshaler
type Story ¶ added in v0.10.2
type Story struct {
Type string `json:"type"` // Mention, Story
ReplyToID uuid.UUID `json:"replyToId"`
URL *url.URL `json:"url"`
}
func (*Story) UnmarshalJSON ¶ added in v0.10.2
UnmarshalJSON unmarshals a Story from JSON
Implements json.Unmarshaler
type StringCollectionSlotEntity ¶ added in v0.10.7
type StringCollectionSlotEntity struct {
Name string `json:"name"`
Values []string `json:"values"`
}
StringCollectionSlotEntity represents a string collection slot entity in Genesys Cloud CX
func (StringCollectionSlotEntity) GetName ¶ added in v0.10.7
func (entity StringCollectionSlotEntity) GetName() string
GetName returns the name of the slot entity
func (StringCollectionSlotEntity) GetType ¶ added in v0.10.7
func (entity StringCollectionSlotEntity) GetType() string
GetType returns the type of the slot entity
func (StringCollectionSlotEntity) MarshalJSON ¶ added in v0.10.7
func (entity StringCollectionSlotEntity) MarshalJSON() ([]byte, error)
MarshalJSON marshals the slot entity to JSON
func (StringCollectionSlotEntity) ParseValue ¶ added in v0.11.0
func (entity StringCollectionSlotEntity) ParseValue(value string) (SlotEntity, error)
ParseValue parses the value and returns a new SlotEntity instance
func (StringCollectionSlotEntity) String ¶ added in v0.10.7
func (entity StringCollectionSlotEntity) String() string
StringCollection returns the string representation of the slot entity's value
func (*StringCollectionSlotEntity) UnmarshalJSON ¶ added in v0.11.0
func (entity *StringCollectionSlotEntity) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals the slot entity from JSON
func (*StringCollectionSlotEntity) Validate ¶ added in v0.11.0
func (entity *StringCollectionSlotEntity) Validate() error
Validate checks if the slot entity is valid
type StringSlotEntity ¶ added in v0.10.7
StringSlotEntity represents a string slot entity in Genesys Cloud CX
func (StringSlotEntity) GetName ¶ added in v0.10.7
func (entity StringSlotEntity) GetName() string
GetName returns the name of the slot entity
func (StringSlotEntity) GetType ¶ added in v0.10.7
func (entity StringSlotEntity) GetType() string
GetType returns the type of the slot entity
func (StringSlotEntity) MarshalJSON ¶ added in v0.10.7
func (entity StringSlotEntity) MarshalJSON() ([]byte, error)
MarshalJSON marshals the slot entity to JSON
func (StringSlotEntity) ParseValue ¶ added in v0.11.0
func (entity StringSlotEntity) ParseValue(value string) (SlotEntity, error)
ParseValue parses the value and returns a new SlotEntity instance
func (StringSlotEntity) String ¶ added in v0.10.7
func (entity StringSlotEntity) String() string
String returns the string representation of the slot entity's value
func (*StringSlotEntity) UnmarshalJSON ¶ added in v0.11.0
func (entity *StringSlotEntity) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON unmarshals the slot entity from JSON
func (*StringSlotEntity) Validate ¶ added in v0.11.0
func (entity *StringSlotEntity) Validate() error
Validate checks if the slot entity is valid
type TemplateParameter ¶ added in v0.4.0
TemplateParameter describes a template parameter
type TokenGrant ¶ added in v0.10.2
type TokenGrant struct {
Token AccessToken
}
TokenGrant can be used when you already have a token and want to use it to access GCloud CX
If the token is expired, this grant will stop working
func (*TokenGrant) AccessToken ¶ added in v0.10.2
func (grant *TokenGrant) AccessToken() *AccessToken
AccessToken gives the access Token carried by this Grant
Implements Authorizable
func (*TokenGrant) Authorize ¶ added in v0.10.2
func (grant *TokenGrant) Authorize(context context.Context, client *Client) (correlationID string, err error)
Authorize this Grant with GCloud CX
Implements Authorizable
func (*TokenGrant) GetID ¶ added in v0.10.2
func (grant *TokenGrant) GetID() uuid.UUID
GetID gets the client Identifier
Implements core.Identifiable
type Transferrer ¶ added in v0.4.0
type Transferrer interface {
Transfer(context context.Context, identifiable Identifiable, target Identifiable) (correlationID string, err error)
}
Transferrer describes objects that can transfer an Identifiable somewhere else
type TypingEvent ¶ added in v0.10.2
type URI ¶ added in v0.4.0
type URI string
URI represents the Path of a URL (used in SelfURI or in requests, for example)
func NewURI ¶ added in v0.4.0
NewURI creates a new URI with eventually some parameters
path should be a formatter string
func (URI) HasProtocol ¶ added in v0.4.0
HasProtocol tells if the URI starts with a protocol/scheme
func (URI) Join ¶ added in v0.4.0
Join joins the given paths to the URI
Caveat: does not work if the original URI has a query string
func (URI) String ¶ added in v0.4.0
String returns the URI as a string
implements the fmt.Stringer interface
type UpdatedAccessToken ¶ added in v0.4.0
type UpdatedAccessToken struct {
AccessToken
CustomData interface{}
}
UpdatedAccessToken describes an updated Access Token
This object is sent by the AuthorizationGrant.Authorize() when the token is updated
type User ¶ added in v0.1.0
type User struct {
ID uuid.UUID `json:"id"`
Name string `json:"name,omitempty"`
UserName string `json:"username,omitempty"`
PreferredName string `json:"preferredName,omitempty"`
Department string `json:"department,omitempty"`
Title string `json:"title,omitempty"`
Division *Division `json:"division,omitempty"`
Mail string `json:"email,omitempty"`
Images []*UserImage `json:"images,omitempty"`
PrimaryContact []*Contact `json:"primaryContactInfo,omitempty"`
Addresses []*Contact `json:"addresses,omitempty"`
State string `json:"state,omitempty"`
Presence *UserPresence `json:"presence,omitempty"`
OutOfOffice *OutOfOffice `json:"outOfOffice,omitempty"`
AcdAutoAnswer bool `json:"acdAutoAnswer,omitempty"`
RoutingStatus *RoutingStatus `json:"routingStatus,omitempty"`
ProfileSkills []string `json:"profileSkills,omitempty"`
Skills []*UserRoutingSkill `json:"skills,omitempty"`
Languages []*UserRoutingLanguage `json:"languages,omitempty"`
LanguagePreference string `json:"languagePreference,omitempty"`
Groups []*Group `json:"groups,omitempty"`
Station *UserStations `json:"station,omitempty"`
Authorization *UserAuthorization `json:"authorization,omitempty"`
Employer *EmployerInfo `json:"employerInfo,omitempty"`
Manager *User `json:"manager,omitempty"`
Certifications []string `json:"certifications,omitempty"`
Biography *Biography `json:"biography,omitempty"`
ConversationSummary *UserConversationSummary `json:"conversationSummary,omitempty"`
Locations []*Location `json:"locations,omitempty"`
GeoLocation *GeoLocation `json:"geolocation,omitempty"`
Chat *Jabber `json:"chat,omitempty"`
Version int `json:"version,omitempty"`
// contains filtered or unexported fields
}
User describes a GCloud User
func (*User) Initialize ¶ added in v0.1.0
func (user *User) Initialize(parameters ...interface{})
Initialize initializes the object
accepted parameters: *gcloudcx.Client, *logger.Logger
implements Initializable
func (User) MarshalJSON ¶ added in v0.7.15
MarshalJSON marshals this into JSON
implements json.Marshaler
type UserActivityTopic ¶ added in v0.1.0
type UserActivityTopic struct {
Name string
User *User
Presence *UserPresence
RoutingStatus *RoutingStatus
CorrelationID string
ActiveQueues []*Queue
Targets []Identifiable
}
UserActivityTopic describes a Topic about User's Activity
func (UserActivityTopic) GetTargets ¶ added in v0.8.0
func (topic UserActivityTopic) GetTargets() []Identifiable
GetTargets returns the targets of this topic
func (UserActivityTopic) GetType ¶ added in v0.8.0
func (topic UserActivityTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (UserActivityTopic) String ¶ added in v0.1.0
func (topic UserActivityTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*UserActivityTopic) UnmarshalJSON ¶ added in v0.1.0
func (topic *UserActivityTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (UserActivityTopic) With ¶ added in v0.8.0
func (topic UserActivityTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type UserAuthorization ¶ added in v0.1.0
type UserAuthorization struct {
Roles []*DomainRole `json:"roles"`
UnusedRoles []*DomainRole `json:"unusedRoles"`
Permissions []string `json:"permissions"`
PermissionPolicies []*ResourcePermissionPolicy `json:"permissionPolicies"`
}
UserAuthorization desribes authorizations for a User
type UserConversationChatTopic ¶ added in v0.1.0
type UserConversationChatTopic struct {
Name string
User *User
ConversationID uuid.UUID
Participants []*Participant
CorrelationID string
Targets []Identifiable
}
UserConversationChatTopic describes a Topic about User's Presence
func (UserConversationChatTopic) GetTargets ¶ added in v0.8.0
func (topic UserConversationChatTopic) GetTargets() []Identifiable
GetTargets returns the targets of this topic
func (UserConversationChatTopic) GetType ¶ added in v0.8.0
func (topic UserConversationChatTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (UserConversationChatTopic) String ¶ added in v0.1.0
func (topic UserConversationChatTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*UserConversationChatTopic) UnmarshalJSON ¶ added in v0.1.0
func (topic *UserConversationChatTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (UserConversationChatTopic) With ¶ added in v0.8.0
func (topic UserConversationChatTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type UserConversationSummary ¶ added in v0.1.0
type UserConversationSummary struct {
UserID string `json:"userId"`
Call MediaSummary `json:"call"`
Callback MediaSummary `json:"callback"`
Email MediaSummary `json:"email"`
Message MediaSummary `json:"message"`
Chat MediaSummary `json:"chat"`
SocialExpression MediaSummary `json:"socialExpression"`
Video MediaSummary `json:"video"`
}
UserConversationSummary describes the summary of a User's conversations
type UserImage ¶ added in v0.1.0
UserImage represents a User's Avatar image
func (UserImage) MarshalJSON ¶ added in v0.1.0
MarshalJSON marshals this into JSON
func (*UserImage) UnmarshalJSON ¶ added in v0.1.0
UnmarshalJSON unmarshals JSON into this
type UserPresence ¶ added in v0.1.0
type UserPresence struct {
ID uuid.UUID `json:"id"`
Name string `json:"name"`
Source string `json:"source"`
Primary bool `json:"primary"`
Definition *PresenceDefinition `json:"presenceDefinition"`
Message string `json:"message"`
ModifiedDate time.Time `json:"modifiedDate"`
SelfURI URI `json:"selfUri"`
}
UserPresence describes the Presence of a User
func (UserPresence) GetID ¶ added in v0.1.0
func (presence UserPresence) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (UserPresence) GetURI ¶ added in v0.7.0
func (presence UserPresence) GetURI() URI
GetURI gets the URI of this
implements Addressable
func (UserPresence) String ¶ added in v0.1.0
func (presence UserPresence) String() string
String gets a string version
implements the fmt.Stringer interface
func (*UserPresence) UnmarshalJSON ¶ added in v0.1.0
func (presence *UserPresence) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
type UserPresenceTopic ¶ added in v0.1.0
type UserPresenceTopic struct {
Name string
User *User
Presence UserPresence
CorrelationID string
Targets []Identifiable
}
UserPresenceTopic describes a Topic about User's Presence
func (UserPresenceTopic) GetTargets ¶ added in v0.8.0
func (topic UserPresenceTopic) GetTargets() []Identifiable
GetTargets returns the targets of this topic
func (UserPresenceTopic) GetType ¶ added in v0.8.0
func (topic UserPresenceTopic) GetType() string
GetType returns the type of this topic
implements core.TypeCarrier
func (UserPresenceTopic) String ¶ added in v0.1.0
func (topic UserPresenceTopic) String() string
String gets a string version
implements the fmt.Stringer interface
func (*UserPresenceTopic) UnmarshalJSON ¶ added in v0.1.0
func (topic *UserPresenceTopic) UnmarshalJSON(payload []byte) (err error)
UnmarshalJSON unmarshals JSON into this
func (UserPresenceTopic) With ¶ added in v0.8.0
func (topic UserPresenceTopic) With(targets ...Identifiable) NotificationTopic
With creates a new NotificationTopic with the given targets
type UserRoutingLanguage ¶ added in v0.1.0
type UserRoutingLanguage struct {
ID uuid.UUID `json:"id"`
SelfURI URI `json:"selfUri"`
Name string `json:"name"`
LanguageURI string `json:"languageUri"`
State string `json:"state"`
Proficiency float64 `json:"proficiency"`
}
UserRoutingLanguage describe a Routing Language for a User
func (UserRoutingLanguage) GetID ¶ added in v0.7.0
func (userRoutingLanguage UserRoutingLanguage) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (UserRoutingLanguage) GetURI ¶ added in v0.7.0
func (userRoutingLanguage UserRoutingLanguage) GetURI() URI
GetURI gets the URI of this
implements Addressable
type UserRoutingSkill ¶ added in v0.1.0
type UserRoutingSkill struct {
ID uuid.UUID `json:"id"`
SelfURI URI `json:"selfUri"`
Name string `json:"name"`
SkillURI string `json:"skillUri"`
State string `json:"state"`
Proficiency float64 `json:"proficiency"`
}
UserRoutingSkill describe a Routing Skill for a User
func (UserRoutingSkill) GetID ¶ added in v0.7.0
func (userRoutingSkill UserRoutingSkill) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (UserRoutingSkill) GetURI ¶ added in v0.7.0
func (userRoutingSkill UserRoutingSkill) GetURI() URI
GetURI gets the URI of this
implements Addressable
type UserStation ¶ added in v0.1.0
type UserStation struct {
// TODO: Find out what should be here!
ID uuid.UUID `json:"id"`
SelfURI URI `json:"selfUri,omitempty"`
Name string `json:"name"`
Type string `json:"type"`
AssociatedUser *User `json:"associatedUser"`
AssociatedDate time.Time `json:"associatedDate"`
DefaultUser *User `json:"defaultUser"`
ProviderInfo map[string]string `json:"providerInfo"`
}
UserStation describes a User Station
func (UserStation) GetID ¶ added in v0.7.0
func (station UserStation) GetID() uuid.UUID
GetID gets the identifier of this
implements Identifiable
func (UserStation) GetURI ¶ added in v0.7.0
func (station UserStation) GetURI() URI
GetURI gets the URI of this
implements Addressable
type UserStations ¶ added in v0.1.0
type UserStations struct {
AssociatedStation *UserStation `json:"associatedStation"`
LastAssociatedStation *UserStation `json:"lastAssociatedStation"`
DefaultStation *UserStation `json:"defaultStation"`
EffectiveStation *UserStation `json:"effectiveStation"`
}
UserStations describes the stations of a user
type VideoEvent ¶ added in v0.10.2
type VisibilityCondition ¶ added in v0.1.0
type VisibilityCondition struct {
CombiningOperation string `json:"combiningOperation"`
Predicates []interface{} `json:"predicates"`
}
VisibilityCondition describes visibility conditions
type Wrapup ¶ added in v0.1.0
type Wrapup struct {
Name string `json:"name"`
Code string `json:"code"`
Notes string `json:"notes"`
Tags []string `json:"tags"`
Duration time.Duration `json:"-"`
EndTime time.Time `json:"endTime"`
Provisional bool `json:"provisional"`
}
Wrapup describes a Wrapup
func (Wrapup) MarshalJSON ¶ added in v0.1.0
MarshalJSON marshals this into JSON
func (*Wrapup) UnmarshalJSON ¶ added in v0.1.0
UnmarshalJSON unmarshals JSON into this
Source Files
¶
- access_token.go
- acw_settings.go
- auth.go
- auth_clientcredentials.go
- auth_code.go
- auth_division.go
- auth_grant.go
- auth_grant_policy.go
- auth_grant_role.go
- auth_grant_token.go
- auth_scope.go
- auth_subject.go
- biography.go
- botconnector_errorinfo.go
- botconnector_incoming_message_request.go
- botconnector_incoming_message_response.go
- botconnector_outgoing_message_request.go
- botconnector_outgoing_message_response.go
- card.go
- chat_member.go
- client.go
- cobrowse_session.go
- contact.go
- conversation.go
- conversation_agentless.go
- conversation_call.go
- conversation_callback.go
- conversation_chat.go
- conversation_email.go
- conversation_message.go
- conversation_message_details.go
- conversation_video.go
- datatable.go
- division.go
- domain_role.go
- email_address.go
- email_inboundroute.go
- email_signature.go
- employer_info.go
- entities.go
- error.go
- evaluation.go
- evaluation_form.go
- evaluation_question.go
- evaluation_question_group.go
- external_contact.go
- fetch.go
- flow.go
- group.go
- help_link.go
- http_context.go
- image.go
- integration.go
- integration_configuration.go
- integration_credential.go
- integration_credential_info.go
- integration_credential_specifications.go
- integration_credential_type.go
- integration_state.go
- integration_type.go
- location.go
- login.go
- logout.go
- media.go
- media_participant_request.go
- media_settings.go
- message_details.go
- new.go
- normalized_message.go
- normalized_message_content.go
- normalized_message_content_attachment.go
- normalized_message_content_buttonresponse.go
- normalized_message_content_card.go
- normalized_message_content_card_action.go
- normalized_message_content_card_action_link.go
- normalized_message_content_card_action_postback.go
- normalized_message_content_carousel.go
- normalized_message_content_datepicker.go
- normalized_message_content_location.go
- normalized_message_content_notification.go
- normalized_message_content_quickreply.go
- normalized_message_content_quickreplyv2.go
- normalized_message_content_quickreplyv2_action.go
- normalized_message_content_story.go
- normalized_message_content_text.go
- notification_channel.go
- notification_channel_topic_state.go
- notification_template.go
- notification_topic.go
- notification_topic_conv_acd_end.go
- notification_topic_conv_acd_start.go
- notification_topic_conv_acw.go
- notification_topic_conv_attributes.go
- notification_topic_conv_chat_message.go
- notification_topic_conv_contact.go
- notification_topic_conv_customer_end.go
- notification_topic_conv_customer_start.go
- notification_topic_conv_flow_end.go
- notification_topic_conv_flow_start.go
- notification_topic_conv_outbound.go
- notification_topic_conv_user_end.go
- notification_topic_conv_user_start.go
- notification_topic_conv_voicemail_end.go
- notification_topic_conv_voicemail_start.go
- notification_topic_conv_wrapup.go
- notification_topic_metadata.go
- notification_topic_user_activity.go
- notification_topic_user_conv_chat.go
- notification_topic_user_presence.go
- openmessaging_channel.go
- openmessaging_from.go
- openmessaging_integration.go
- openmessaging_message.go
- openmessaging_message_buttonresponse.go
- openmessaging_message_event.go
- openmessaging_message_event_typing.go
- openmessaging_message_events.go
- openmessaging_message_receipt.go
- openmessaging_message_structured.go
- openmessaging_message_text.go
- openmessaging_messagedata.go
- openmessaging_tofrom.go
- organization.go
- out_of_office.go
- participant.go
- process_automation_criteria.go
- process_automation_target.go
- process_automation_trigger.go
- queue.go
- queue_emailaddress.go
- quickreply.go
- recording.go
- recording_annotation.go
- recording_chatmessage.go
- recording_emailmessage.go
- recording_mediauri.go
- recording_messagingmessage.go
- reference.go
- request.go
- resource_permission_policy.go
- response_button.go
- responsemanagement_library.go
- responsemanagement_response.go
- routing_message_recipient.go
- routing_status.go
- screenshare.go
- service_level.go
- slotentity.go
- slotentity_boolean.go
- slotentity_boolean_collection.go
- slotentity_currency.go
- slotentity_currency_collection.go
- slotentity_datetime.go
- slotentity_datetime_collection.go
- slotentity_decimal.go
- slotentity_decimal_collection.go
- slotentity_duration.go
- slotentity_duration_collection.go
- slotentity_integer.go
- slotentity_integer_collection.go
- slotentity_string.go
- slotentity_string_collection.go
- social_expression.go
- sticker.go
- story.go
- types.go
- uri.go
- uri_query.go
- user.go
- user_authorization.go
- user_conversation_summary.go
- user_image.go
- user_presence.go
- user_routing_language.go
- user_routing_skill.go
- user_station.go
- version.go
- wrapup.go
Directories
¶
| Path | Synopsis |
|---|---|
|
examples
|
|
|
OpenMessaging
command
|
|
|
auth_code
command
|
|
|
chat_bot
command
|
|
|
disconnect
command
|
|
|
rolesAndPermissions
command
|