Documentation ¶
Index ¶
- Constants
- func ReadEvent(data json.RawMessage) (flows.Event, error)
- type AirtimeTransferredEvent
- type BroadcastCreatedEvent
- type BroadcastTranslation
- type ClassifierCalledEvent
- type ContactFieldChangedEvent
- type ContactGroupsChangedEvent
- type ContactLanguageChangedEvent
- type ContactNameChangedEvent
- type ContactRefreshedEvent
- type ContactStatusChangedEvent
- type ContactTimezoneChangedEvent
- type ContactURNsChangedEvent
- type DialEndedEvent
- type DialWaitEvent
- type EmailCreatedEvent
- type EmailSentEvent
- type EnvironmentRefreshedEvent
- type ErrorEvent
- type FailureEvent
- type FlowEnteredEvent
- type IVRCreatedEvent
- type InputLabelsAddedEvent
- type MsgCreatedEvent
- type MsgReceivedEvent
- type MsgWaitEvent
- type ResthookCalledEvent
- type RunExpiredEvent
- type RunResultChangedEvent
- type ServiceCalledEvent
- type SessionTriggeredEvent
- type Ticket
- type TicketOpenedEvent
- type WaitTimedOutEvent
- type WebhookCalledEvent
Constants ¶
const TypeAirtimeTransferred string = "airtime_transferred"
TypeAirtimeTransferred is the type of our airtime transferred event
const TypeBroadcastCreated string = "broadcast_created"
TypeBroadcastCreated is a constant for outgoing message events
const TypeClassifierCalled string = "classifier_called"
TypeClassifierCalled is our type for the classification event
const TypeContactFieldChanged string = "contact_field_changed"
TypeContactFieldChanged is the type of our save to contact event
const TypeContactGroupsChanged string = "contact_groups_changed"
TypeContactGroupsChanged is the type of our groups changed event
const TypeContactLanguageChanged string = "contact_language_changed"
TypeContactLanguageChanged is the type of our contact language changed event
const TypeContactNameChanged string = "contact_name_changed"
TypeContactNameChanged is the type of our contact name changed event
const TypeContactRefreshed string = "contact_refreshed"
TypeContactRefreshed is the type of our contact refreshed event
const TypeContactStatusChanged string = "contact_status_changed"
TypeContactStatusChanged is the type of our contact status changed event
const TypeContactTimezoneChanged string = "contact_timezone_changed"
TypeContactTimezoneChanged is the type of our contact timezone changed event
const TypeContactURNsChanged string = "contact_urns_changed"
TypeContactURNsChanged is the type of our URNs changed event
const TypeDialEnded string = "dial_ended"
TypeDialEnded is the type of our dial ended event
const TypeDialWait string = "dial_wait"
TypeDialWait is the type of our dial wait event
const TypeEmailCreated string = "email_created"
TypeEmailCreated is our type for the email event
const TypeEmailSent string = "email_sent"
TypeEmailSent is our type for the email event
const TypeEnvironmentRefreshed string = "environment_refreshed"
TypeEnvironmentRefreshed is the type of our environment changed event
const TypeError string = "error"
TypeError is the type of our error events
const TypeFailure string = "failure"
TypeFailure is the type of our error events
const TypeFlowEntered string = "flow_entered"
TypeFlowEntered is the type of our flow entered event
const TypeIVRCreated string = "ivr_created"
TypeIVRCreated is a constant for IVR created events
const TypeInputLabelsAdded string = "input_labels_added"
TypeInputLabelsAdded is the type of our add label action
const TypeMsgCreated string = "msg_created"
TypeMsgCreated is a constant for incoming messages
const TypeMsgReceived string = "msg_received"
TypeMsgReceived is a constant for incoming messages
const TypeMsgWait string = "msg_wait"
TypeMsgWait is the type of our msg wait event
const TypeResthookCalled string = "resthook_called"
TypeResthookCalled is the type for our resthook events
const TypeRunExpired string = "run_expired"
TypeRunExpired is the type of our flow expired event
const TypeRunResultChanged string = "run_result_changed"
TypeRunResultChanged is the type of our run result event
const TypeServiceCalled string = "service_called"
TypeServiceCalled is our type for calling an external service
const TypeSessionTriggered string = "session_triggered"
TypeSessionTriggered is the type of our session triggered event
const TypeTicketOpened string = "ticket_opened"
TypeTicketOpened is the type for our ticket opened events
const TypeWaitTimedOut string = "wait_timed_out"
TypeWaitTimedOut is the type of our wait timed out events
const TypeWebhookCalled string = "webhook_called"
TypeWebhookCalled is the type for our webhook events
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AirtimeTransferredEvent ¶ added in v0.48.0
type AirtimeTransferredEvent struct { Sender urns.URN `json:"sender"` Recipient urns.URN `json:"recipient"` Currency string `json:"currency"` DesiredAmount decimal.Decimal `json:"desired_amount"` ActualAmount decimal.Decimal `json:"actual_amount"` HTTPLogs []*flows.HTTPLog `json:"http_logs"` // contains filtered or unexported fields }
AirtimeTransferredEvent events are created when airtime has been transferred to the contact.
{ "type": "airtime_transferred", "created_on": "2006-01-02T15:04:05Z", "sender": "tel:4748", "recipient": "tel:+1242563637", "currency": "RWF", "desired_amount": 120, "actual_amount": 100, "http_logs": [ { "url": "https://dvs-api.dtone.com/v1/sync/transactions", "status": "success", "request": "POST /v1/sync/transactions HTTP/1.1\r\n\r\n{}", "response": "HTTP/1.1 200 OK\r\n\r\n{}", "created_on": "2006-01-02T15:04:05Z", "elapsed_ms": 123 } ] }
@event airtime_transferred
func NewAirtimeTransferred ¶ added in v0.48.0
func NewAirtimeTransferred(t *flows.AirtimeTransfer, httpLogs []*flows.HTTPLog) *AirtimeTransferredEvent
NewAirtimeTransferred creates a new airtime transferred event
func (*AirtimeTransferredEvent) CreatedOn ¶ added in v0.48.0
CreatedOn returns the created on time of this event
func (*AirtimeTransferredEvent) SetStepUUID ¶ added in v0.48.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type BroadcastCreatedEvent ¶ added in v0.5.0
type BroadcastCreatedEvent struct { Translations map[envs.Language]*BroadcastTranslation `json:"translations,min=1" validate:"dive"` BaseLanguage envs.Language `json:"base_language" validate:"required"` Groups []*assets.GroupReference `json:"groups,omitempty" validate:"dive"` Contacts []*flows.ContactReference `json:"contacts,omitempty" validate:"dive"` URNs []urns.URN `json:"urns,omitempty" validate:"dive,urn"` // contains filtered or unexported fields }
BroadcastCreatedEvent events are created when an action wants to send a message to other contacts.
{ "type": "broadcast_created", "created_on": "2006-01-02T15:04:05Z", "translations": { "eng": { "text": "hi, what's up", "attachments": [], "quick_replies": ["All good", "Got 99 problems"] }, "spa": { "text": "Que pasa", "attachments": [], "quick_replies": ["Todo bien", "Tengo 99 problemas"] } }, "base_language": "eng", "urns": ["tel:+12065551212"], "contacts": [{"uuid": "0e06f977-cbb7-475f-9d0b-a0c4aaec7f6a", "name": "Bob"}] }
@event broadcast_created
func NewBroadcastCreated ¶ added in v0.48.0
func NewBroadcastCreated(translations map[envs.Language]*BroadcastTranslation, baseLanguage envs.Language, groups []*assets.GroupReference, contacts []*flows.ContactReference, urns []urns.URN) *BroadcastCreatedEvent
NewBroadcastCreated creates a new outgoing msg event for the given recipients
func (*BroadcastCreatedEvent) CreatedOn ¶ added in v0.6.2
CreatedOn returns the created on time of this event
func (*BroadcastCreatedEvent) SetStepUUID ¶ added in v0.7.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type BroadcastTranslation ¶ added in v0.6.1
type BroadcastTranslation struct { Text string `json:"text"` Attachments []utils.Attachment `json:"attachments,omitempty"` QuickReplies []string `json:"quick_replies,omitempty"` }
BroadcastTranslation is the broadcast content in a particular language
type ClassifierCalledEvent ¶ added in v0.51.0
type ClassifierCalledEvent struct { Classifier *assets.ClassifierReference `json:"classifier" validate:"required"` HTTPLogs []*flows.HTTPLog `json:"http_logs"` // contains filtered or unexported fields }
ClassifierCalledEvent events have been replaced by service_called.
func (*ClassifierCalledEvent) CreatedOn ¶ added in v0.51.0
CreatedOn returns the created on time of this event
func (*ClassifierCalledEvent) SetStepUUID ¶ added in v0.51.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type ContactFieldChangedEvent ¶ added in v0.5.0
type ContactFieldChangedEvent struct { Field *assets.FieldReference `json:"field" validate:"required"` Value *flows.Value `json:"value"` // contains filtered or unexported fields }
ContactFieldChangedEvent events are created when a custom field value of the contact has been changed. A null values indicates that the field value has been cleared.
{ "type": "contact_field_changed", "created_on": "2006-01-02T15:04:05Z", "field": {"key": "gender", "name": "Gender"}, "value": {"text": "Male"} }
@event contact_field_changed
func NewContactFieldChanged ¶ added in v0.48.0
func NewContactFieldChanged(field *flows.Field, value *flows.Value) *ContactFieldChangedEvent
NewContactFieldChanged returns a new save to contact event
func (*ContactFieldChangedEvent) CreatedOn ¶ added in v0.6.2
CreatedOn returns the created on time of this event
func (*ContactFieldChangedEvent) SetStepUUID ¶ added in v0.7.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type ContactGroupsChangedEvent ¶ added in v0.18.0
type ContactGroupsChangedEvent struct { GroupsAdded []*assets.GroupReference `json:"groups_added,omitempty" validate:"omitempty,dive"` GroupsRemoved []*assets.GroupReference `json:"groups_removed,omitempty" validate:"omitempty,dive"` // contains filtered or unexported fields }
ContactGroupsChangedEvent events are created when a contact is added or removed to/from one or more groups.
{ "type": "contact_groups_changed", "created_on": "2006-01-02T15:04:05Z", "groups_added": [{"uuid": "b7cf0d83-f1c9-411c-96fd-c511a4cfa86d", "name": "Reporters"}], "groups_removed": [{"uuid": "1e1ce1e1-9288-4504-869e-022d1003c72a", "name": "Customers"}] }
@event contact_groups_changed
func NewContactGroupsChanged ¶ added in v0.48.0
func NewContactGroupsChanged(added []*flows.Group, removed []*flows.Group) *ContactGroupsChangedEvent
NewContactGroupsChanged returns a new contact_groups_changed event
func (*ContactGroupsChangedEvent) CreatedOn ¶ added in v0.48.0
CreatedOn returns the created on time of this event
func (*ContactGroupsChangedEvent) SetStepUUID ¶ added in v0.48.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type ContactLanguageChangedEvent ¶ added in v0.10.0
type ContactLanguageChangedEvent struct { Language string `json:"language"` // contains filtered or unexported fields }
ContactLanguageChangedEvent events are created when the language of the contact has been changed.
{ "type": "contact_language_changed", "created_on": "2006-01-02T15:04:05Z", "language": "eng" }
@event contact_language_changed
func NewContactLanguageChanged ¶ added in v0.48.0
func NewContactLanguageChanged(language envs.Language) *ContactLanguageChangedEvent
NewContactLanguageChanged returns a new contact language changed event
func (*ContactLanguageChangedEvent) CreatedOn ¶ added in v0.10.0
CreatedOn returns the created on time of this event
func (*ContactLanguageChangedEvent) SetStepUUID ¶ added in v0.10.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type ContactNameChangedEvent ¶ added in v0.10.0
type ContactNameChangedEvent struct { Name string `json:"name"` // contains filtered or unexported fields }
ContactNameChangedEvent events are created when the name of the contact has been changed.
{ "type": "contact_name_changed", "created_on": "2006-01-02T15:04:05Z", "name": "Bob Smith" }
@event contact_name_changed
func NewContactNameChanged ¶ added in v0.48.0
func NewContactNameChanged(name string) *ContactNameChangedEvent
NewContactNameChanged returns a new contact name changed event
func (*ContactNameChangedEvent) CreatedOn ¶ added in v0.10.0
CreatedOn returns the created on time of this event
func (*ContactNameChangedEvent) SetStepUUID ¶ added in v0.10.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type ContactRefreshedEvent ¶ added in v0.24.0
type ContactRefreshedEvent struct { Contact json.RawMessage `json:"contact"` // contains filtered or unexported fields }
ContactRefreshedEvent events are generated when the resume has a contact with differences to the current session contact.
{ "type": "contact_refreshed", "created_on": "2006-01-02T15:04:05Z", "contact": { "uuid": "0e06f977-cbb7-475f-9d0b-a0c4aaec7f6a", "name": "Bob", "urns": ["tel:+11231234567"] } }
@event contact_refreshed
func NewContactRefreshed ¶ added in v0.48.0
func NewContactRefreshed(contact *flows.Contact) *ContactRefreshedEvent
NewContactRefreshed creates a new contact changed event
func (*ContactRefreshedEvent) CreatedOn ¶ added in v0.48.0
CreatedOn returns the created on time of this event
func (*ContactRefreshedEvent) SetStepUUID ¶ added in v0.48.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type ContactStatusChangedEvent ¶ added in v0.84.0
type ContactStatusChangedEvent struct { Status flows.ContactStatus `json:"status"` // contains filtered or unexported fields }
ContactStatusChangedEvent events are created when the status of the contact has been changed.
{ "type": "contact_timezone_changed", "created_on": "2006-01-02T15:04:05Z", "status": "blocked" }
@event contact_status_changed
func NewContactStatusChanged ¶ added in v0.84.0
func NewContactStatusChanged(status flows.ContactStatus) *ContactStatusChangedEvent
NewContactStatusChanged returns a new contact_status_changed event
func (*ContactStatusChangedEvent) CreatedOn ¶ added in v0.84.0
CreatedOn returns the created on time of this event
func (*ContactStatusChangedEvent) SetStepUUID ¶ added in v0.84.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type ContactTimezoneChangedEvent ¶ added in v0.10.0
type ContactTimezoneChangedEvent struct { Timezone string `json:"timezone"` // contains filtered or unexported fields }
ContactTimezoneChangedEvent events are created when the timezone of the contact has been changed.
{ "type": "contact_timezone_changed", "created_on": "2006-01-02T15:04:05Z", "timezone": "Africa/Kigali" }
@event contact_timezone_changed
func NewContactTimezoneChanged ¶ added in v0.48.0
func NewContactTimezoneChanged(timezone *time.Location) *ContactTimezoneChangedEvent
NewContactTimezoneChanged returns a new contact timezone changed event
func (*ContactTimezoneChangedEvent) CreatedOn ¶ added in v0.10.0
CreatedOn returns the created on time of this event
func (*ContactTimezoneChangedEvent) SetStepUUID ¶ added in v0.10.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type ContactURNsChangedEvent ¶ added in v0.23.0
type ContactURNsChangedEvent struct { URNs []urns.URN `json:"urns" validate:"dive,urn"` // contains filtered or unexported fields }
ContactURNsChangedEvent events are created when a contact's URNs have changed.
{ "type": "contact_urns_changed", "created_on": "2006-01-02T15:04:05Z", "urns": [ "tel:+12345678900", "twitter:bob" ] }
@event contact_urns_changed
func NewContactURNsChanged ¶ added in v0.48.0
func NewContactURNsChanged(urns []urns.URN) *ContactURNsChangedEvent
NewContactURNsChanged returns a new add URN event
func (*ContactURNsChangedEvent) CreatedOn ¶ added in v0.48.0
CreatedOn returns the created on time of this event
func (*ContactURNsChangedEvent) SetStepUUID ¶ added in v0.48.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type DialEndedEvent ¶ added in v0.112.0
type DialEndedEvent struct { Dial *flows.Dial `json:"dial" validate:"required,dive"` // contains filtered or unexported fields }
DialEndedEvent events are created when a session is resumed after waiting for a dial.
{ "type": "dial_ended", "created_on": "2019-01-02T15:04:05Z", "dial": { "status": "answered", "duration": 10 } }
@event dial_ended
func NewDialEnded ¶ added in v0.112.0
func NewDialEnded(dial *flows.Dial) *DialEndedEvent
NewDialEnded returns a new dial ended event
func (*DialEndedEvent) CreatedOn ¶ added in v0.112.0
CreatedOn returns the created on time of this event
func (*DialEndedEvent) SetStepUUID ¶ added in v0.112.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type DialWaitEvent ¶ added in v0.112.0
type DialWaitEvent struct { URN urns.URN `json:"urn" validate:"required,urn"` // contains filtered or unexported fields }
DialWaitEvent events are created when a flow pauses waiting for an IVR dial to complete.
{ "type": "dial_wait", "created_on": "2019-01-02T15:04:05Z", "urn": "tel:+593979123456" }
@event dial_wait
func NewDialWait ¶ added in v0.112.0
func NewDialWait(urn urns.URN) *DialWaitEvent
NewDialWait returns a new dial wait with the passed in URN
func (*DialWaitEvent) CreatedOn ¶ added in v0.112.0
CreatedOn returns the created on time of this event
func (*DialWaitEvent) SetStepUUID ¶ added in v0.112.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type EmailCreatedEvent ¶ added in v0.5.0
type EmailCreatedEvent struct { Addresses []string `json:"addresses" validate:"required,min=1"` Subject string `json:"subject" validate:"required"` Body string `json:"body"` // contains filtered or unexported fields }
EmailCreatedEvent is no longer used but old sessions might include these
func (*EmailCreatedEvent) CreatedOn ¶ added in v0.6.2
CreatedOn returns the created on time of this event
func (*EmailCreatedEvent) SetStepUUID ¶ added in v0.7.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type EmailSentEvent ¶ added in v0.61.0
type EmailSentEvent struct { To []string `json:"to" validate:"required,min=1"` Subject string `json:"subject" validate:"required"` Body string `json:"body"` // contains filtered or unexported fields }
EmailSentEvent events are created when an action has sent an email.
{ "type": "email_sent", "created_on": "2006-01-02T15:04:05Z", "to": ["foo@bar.com"], "subject": "Your activation token", "body": "Your activation token is AAFFKKEE" }
@event email_sent
func NewEmailSent ¶ added in v0.61.0
func NewEmailSent(to []string, subject string, body string) *EmailSentEvent
NewEmailSent returns a new email event with the passed in subject, body and emails
func (*EmailSentEvent) CreatedOn ¶ added in v0.61.0
CreatedOn returns the created on time of this event
func (*EmailSentEvent) SetStepUUID ¶ added in v0.61.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type EnvironmentRefreshedEvent ¶ added in v0.24.0
type EnvironmentRefreshedEvent struct { Environment json.RawMessage `json:"environment"` // contains filtered or unexported fields }
EnvironmentRefreshedEvent events are sent by the caller to tell the engine to update the session environment.
{ "type": "environment_refreshed", "created_on": "2006-01-02T15:04:05Z", "environment": { "date_format": "YYYY-MM-DD", "time_format": "hh:mm", "timezone": "Africa/Kigali", "allowed_languages": ["eng", "fra"] } }
@event environment_refreshed
func NewEnvironmentRefreshed ¶ added in v0.48.0
func NewEnvironmentRefreshed(env envs.Environment) *EnvironmentRefreshedEvent
NewEnvironmentRefreshed creates a new environment changed event
func (*EnvironmentRefreshedEvent) CreatedOn ¶ added in v0.48.0
CreatedOn returns the created on time of this event
func (*EnvironmentRefreshedEvent) SetStepUUID ¶ added in v0.48.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type ErrorEvent ¶
type ErrorEvent struct { Text string `json:"text" validate:"required"` // contains filtered or unexported fields }
ErrorEvent events are created when an error occurs during flow execution.
{ "type": "error", "created_on": "2006-01-02T15:04:05Z", "text": "invalid date format: '12th of October'" }
@event error
func NewDependencyError ¶ added in v0.70.0
func NewDependencyError(ref assets.Reference) *ErrorEvent
NewDependencyError returns an error event for a missing dependency
func NewError ¶ added in v0.48.0
func NewError(err error) *ErrorEvent
NewError returns a new error event for the passed in error
func NewErrorf ¶ added in v0.48.0
func NewErrorf(format string, a ...interface{}) *ErrorEvent
NewErrorf returns a new error event for the passed in format string and args
func (*ErrorEvent) SetStepUUID ¶ added in v0.7.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type FailureEvent ¶ added in v0.47.1
type FailureEvent struct { Text string `json:"text" validate:"required"` // contains filtered or unexported fields }
FailureEvent events are created when an error occurs during flow execution which prevents continuation of the session.
{ "type": "failure", "created_on": "2006-01-02T15:04:05Z", "text": "unable to read flow" }
@event failure
func NewFailure ¶ added in v0.48.0
func NewFailure(err error) *FailureEvent
NewFailure returns a new failure event for the passed in error
func (*FailureEvent) CreatedOn ¶ added in v0.48.0
CreatedOn returns the created on time of this event
func (*FailureEvent) SetStepUUID ¶ added in v0.48.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type FlowEnteredEvent ¶
type FlowEnteredEvent struct { Flow *assets.FlowReference `json:"flow" validate:"required"` ParentRunUUID flows.RunUUID `json:"parent_run_uuid" validate:"omitempty,uuid4"` Terminal bool `json:"terminal"` // contains filtered or unexported fields }
FlowEnteredEvent events are created when an action has entered a sub-flow.
{ "type": "flow_entered", "created_on": "2006-01-02T15:04:05Z", "flow": {"uuid": "0e06f977-cbb7-475f-9d0b-a0c4aaec7f6a", "name": "Registration"}, "parent_run_uuid": "95eb96df-461b-4668-b168-727f8ceb13dd", "terminal": false }
@event flow_entered
func NewFlowEntered ¶ added in v0.48.0
func NewFlowEntered(flow *assets.FlowReference, parentRunUUID flows.RunUUID, terminal bool) *FlowEnteredEvent
NewFlowEntered returns a new flow entered event for the passed in flow and parent run
func (*FlowEnteredEvent) CreatedOn ¶ added in v0.48.0
CreatedOn returns the created on time of this event
func (*FlowEnteredEvent) SetStepUUID ¶ added in v0.48.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type IVRCreatedEvent ¶ added in v0.25.0
type IVRCreatedEvent struct { Msg *flows.MsgOut `json:"msg" validate:"required,dive"` // contains filtered or unexported fields }
IVRCreatedEvent events are created when an action wants to send an IVR response to the current contact.
{ "type": "ivr_created", "created_on": "2006-01-02T15:04:05Z", "msg": { "uuid": "2d611e17-fb22-457f-b802-b8f7ec5cda5b", "channel": {"uuid": "61602f3e-f603-4c70-8a8f-c477505bf4bf", "name": "Twilio"}, "urn": "tel:+12065551212", "text": "hi there", "attachments": ["audio:https://s3.amazon.com/mybucket/attachment.m4a"] } }
@event ivr_created
func NewIVRCreated ¶ added in v0.48.0
func NewIVRCreated(msg *flows.MsgOut) *IVRCreatedEvent
NewIVRCreated creates a new IVR created event
func (*IVRCreatedEvent) CreatedOn ¶ added in v0.48.0
CreatedOn returns the created on time of this event
func (*IVRCreatedEvent) SetStepUUID ¶ added in v0.48.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type InputLabelsAddedEvent ¶ added in v0.5.0
type InputLabelsAddedEvent struct { InputUUID flows.InputUUID `json:"input_uuid" validate:"required,uuid4"` Labels []*assets.LabelReference `json:"labels" validate:"required,min=1,dive"` // contains filtered or unexported fields }
InputLabelsAddedEvent events are created when an action wants to add labels to the current input.
{ "type": "input_labels_added", "created_on": "2006-01-02T15:04:05Z", "input_uuid": "4aef4050-1895-4c80-999a-70368317a4f5", "labels": [{"uuid": "b7cf0d83-f1c9-411c-96fd-c511a4cfa86d", "name": "Spam"}] }
@event input_labels_added
func NewInputLabelsAdded ¶ added in v0.48.0
func NewInputLabelsAdded(inputUUID flows.InputUUID, labels []*flows.Label) *InputLabelsAddedEvent
NewInputLabelsAdded returns a new labels added event
func (*InputLabelsAddedEvent) CreatedOn ¶ added in v0.6.2
CreatedOn returns the created on time of this event
func (*InputLabelsAddedEvent) SetStepUUID ¶ added in v0.7.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type MsgCreatedEvent ¶ added in v0.6.0
type MsgCreatedEvent struct { Msg *flows.MsgOut `json:"msg" validate:"required,dive"` // contains filtered or unexported fields }
MsgCreatedEvent events are created when an action wants to send a reply to the current contact.
{ "type": "msg_created", "created_on": "2006-01-02T15:04:05Z", "msg": { "uuid": "2d611e17-fb22-457f-b802-b8f7ec5cda5b", "channel": {"uuid": "61602f3e-f603-4c70-8a8f-c477505bf4bf", "name": "Twilio"}, "urn": "tel:+12065551212", "text": "hi there", "attachments": ["image/jpeg:https://s3.amazon.com/mybucket/attachment.jpg"] } }
@event msg_created
func NewMsgCreated ¶ added in v0.48.0
func NewMsgCreated(msg *flows.MsgOut) *MsgCreatedEvent
NewMsgCreated creates a new outgoing msg event to a single contact
func (*MsgCreatedEvent) CreatedOn ¶ added in v0.6.2
CreatedOn returns the created on time of this event
func (*MsgCreatedEvent) SetStepUUID ¶ added in v0.7.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type MsgReceivedEvent ¶
type MsgReceivedEvent struct { Msg flows.MsgIn `json:"msg" validate:"required,dive"` // contains filtered or unexported fields }
MsgReceivedEvent events are sent by the caller to tell the engine that a message was received from the contact and that it should try to resume the session.
{ "type": "msg_received", "created_on": "2006-01-02T15:04:05Z", "msg": { "uuid": "2d611e17-fb22-457f-b802-b8f7ec5cda5b", "channel": {"uuid": "61602f3e-f603-4c70-8a8f-c477505bf4bf", "name": "Twilio"}, "urn": "tel:+12065551212", "text": "hi there", "attachments": ["https://s3.amazon.com/mybucket/attachment.jpg"] } }
@event msg_received
func NewMsgReceived ¶ added in v0.48.0
func NewMsgReceived(msg *flows.MsgIn) *MsgReceivedEvent
NewMsgReceived creates a new incoming msg event for the passed in channel, URN and text
func (*MsgReceivedEvent) CreatedOn ¶ added in v0.6.2
CreatedOn returns the created on time of this event
func (*MsgReceivedEvent) SetStepUUID ¶ added in v0.7.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type MsgWaitEvent ¶
type MsgWaitEvent struct { TimeoutSeconds *int `json:"timeout_seconds,omitempty"` Hint flows.Hint `json:"hint,omitempty"` // contains filtered or unexported fields }
MsgWaitEvent events are created when a flow pauses waiting for a response from a contact. If a timeout is set, then the caller should resume the flow after the number of seconds in the timeout to resume it.
{ "type": "msg_wait", "created_on": "2019-01-02T15:04:05Z", "timeout_seconds": 300, "hint": { "type": "image" } }
@event msg_wait
func NewMsgWait ¶
func NewMsgWait(timeoutSeconds *int, hint flows.Hint) *MsgWaitEvent
NewMsgWait returns a new msg wait with the passed in timeout
func (*MsgWaitEvent) CreatedOn ¶ added in v0.6.2
CreatedOn returns the created on time of this event
func (*MsgWaitEvent) SetStepUUID ¶ added in v0.7.0
SetStepUUID sets the UUID of the step in the path where this event occurred
func (*MsgWaitEvent) StepUUID ¶ added in v0.7.0
StepUUID returns the UUID of the step in the path where this event occurred
func (*MsgWaitEvent) Type ¶
func (e *MsgWaitEvent) Type() string
Type returns the type of this event
func (*MsgWaitEvent) UnmarshalJSON ¶ added in v0.32.1
func (e *MsgWaitEvent) UnmarshalJSON(data []byte) error
UnmarshalJSON unmarshals this event from the given JSON
type ResthookCalledEvent ¶ added in v0.10.20
type ResthookCalledEvent struct { Resthook string `json:"resthook"` Payload json.RawMessage `json:"payload"` // contains filtered or unexported fields }
ResthookCalledEvent events are created when a resthook is called. The event contains the payload that will be sent to any subscribers of that resthook. Note that this event is created regardless of whether there any subscriberes for that resthook.
{ "type": "resthook_called", "created_on": "2006-01-02T15:04:05Z", "resthook": "success", "payload": { "contact:":{ "name":"Bob" } } }
@event resthook_called
func NewResthookCalled ¶ added in v0.48.0
func NewResthookCalled(resthook string, payload json.RawMessage) *ResthookCalledEvent
NewResthookCalled returns a new webhook called event
func (*ResthookCalledEvent) CreatedOn ¶ added in v0.10.20
CreatedOn returns the created on time of this event
func (*ResthookCalledEvent) SetStepUUID ¶ added in v0.10.20
SetStepUUID sets the UUID of the step in the path where this event occurred
type RunExpiredEvent ¶ added in v0.4.0
type RunExpiredEvent struct { RunUUID flows.RunUUID `json:"run_uuid" validate:"required,uuid4"` // contains filtered or unexported fields }
RunExpiredEvent events are sent by the caller to tell the engine that a run has expired.
{ "type": "run_expired", "created_on": "2006-01-02T15:04:05Z", "run_uuid": "0e06f977-cbb7-475f-9d0b-a0c4aaec7f6a" }
@event run_expired
func NewRunExpired ¶ added in v0.48.0
func NewRunExpired(run flows.FlowRun) *RunExpiredEvent
NewRunExpired creates a new run expired event
func (*RunExpiredEvent) CreatedOn ¶ added in v0.6.2
CreatedOn returns the created on time of this event
func (*RunExpiredEvent) SetStepUUID ¶ added in v0.7.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type RunResultChangedEvent ¶ added in v0.5.0
type RunResultChangedEvent struct { Name string `json:"name" validate:"required"` Value string `json:"value"` Category string `json:"category"` CategoryLocalized string `json:"category_localized,omitempty"` Input string `json:"input,omitempty"` Extra json.RawMessage `json:"extra,omitempty"` // contains filtered or unexported fields }
RunResultChangedEvent events are created when a run result is saved. They contain not only the name, value and category of the result, but also the UUID of the node where the result was generated.
{ "type": "run_result_changed", "created_on": "2006-01-02T15:04:05Z", "name": "Gender", "value": "m", "category": "Male", "category_localized": "Homme", "node_uuid": "b7cf0d83-f1c9-411c-96fd-c511a4cfa86d", "input": "M" }
@event run_result_changed
func NewRunResultChanged ¶ added in v0.48.0
func NewRunResultChanged(result *flows.Result) *RunResultChangedEvent
NewRunResultChanged returns a new save result event for the passed in values
func (*RunResultChangedEvent) CreatedOn ¶ added in v0.6.2
CreatedOn returns the created on time of this event
func (*RunResultChangedEvent) SetStepUUID ¶ added in v0.7.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type ServiceCalledEvent ¶ added in v0.85.0
type ServiceCalledEvent struct { Service string `json:"service"` Classifier *assets.ClassifierReference `json:"classifier,omitempty"` Ticketer *assets.TicketerReference `json:"ticketer,omitempty"` HTTPLogs []*flows.HTTPLog `json:"http_logs"` // contains filtered or unexported fields }
ServiceCalledEvent events are created when an engine service is called.
{ "type": "service_called", "created_on": "2006-01-02T15:04:05Z", "service": "classifier", "classifier": {"uuid": "1c06c884-39dd-4ce4-ad9f-9a01cbe6c000", "name": "Booking"}, "http_logs": [ { "url": "https://api.wit.ai/message?v=20200513&q=hello", "status": "success", "request": "GET /message?v=20200513&q=hello HTTP/1.1", "response": "HTTP/1.1 200 OK\r\n\r\n{\"intents\":[]}", "created_on": "2006-01-02T15:04:05Z", "elapsed_ms": 123 } ] }
@event service_called
func NewClassifierCalled ¶ added in v0.51.0
func NewClassifierCalled(classifier *assets.ClassifierReference, httpLogs []*flows.HTTPLog) *ServiceCalledEvent
NewClassifierCalled returns a service called event for a classifier
func NewTicketerCalled ¶ added in v0.86.0
func NewTicketerCalled(ticketer *assets.TicketerReference, httpLogs []*flows.HTTPLog) *ServiceCalledEvent
NewTicketerCalled returns a service called event for a ticketer
func (*ServiceCalledEvent) CreatedOn ¶ added in v0.85.0
CreatedOn returns the created on time of this event
func (*ServiceCalledEvent) SetStepUUID ¶ added in v0.85.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type SessionTriggeredEvent ¶ added in v0.4.0
type SessionTriggeredEvent struct { Flow *assets.FlowReference `json:"flow" validate:"required"` Groups []*assets.GroupReference `json:"groups,omitempty" validate:"dive"` Contacts []*flows.ContactReference `json:"contacts,omitempty" validate:"dive"` ContactQuery string `json:"contact_query,omitempty"` CreateContact bool `json:"create_contact,omitempty"` URNs []urns.URN `json:"urns,omitempty" validate:"dive,urn"` RunSummary json.RawMessage `json:"run_summary"` History *flows.SessionHistory `json:"history"` // contains filtered or unexported fields }
SessionTriggeredEvent events are created when an action wants to start other people in a flow.
{ "type": "session_triggered", "created_on": "2006-01-02T15:04:05Z", "flow": {"uuid": "0e06f977-cbb7-475f-9d0b-a0c4aaec7f6a", "name": "Registration"}, "groups": [ {"uuid": "8f8e2cae-3c8d-4dce-9c4b-19514437e427", "name": "New contacts"} ], "run_summary": { "uuid": "b7cf0d83-f1c9-411c-96fd-c511a4cfa86d", "flow": {"uuid": "93c554a1-b90d-4892-b029-a2a87dec9b87", "name": "Other Flow"}, "contact": { "uuid": "c59b0033-e748-4240-9d4c-e85eb6800151", "name": "Bob", "fields": {"state": {"value": "Azuay", "created_on": "2000-01-01T00:00:00.000000000-00:00"}} }, "results": { "age": { "name": "Age", "value": "33", "node_uuid": "cd2be8c4-59bc-453c-8777-dec9a80043b8", "created_on": "2000-01-01T00:00:00.000000000-00:00" } } }, "history": { "parent_uuid": "55105da5-abb5-4690-b1f6-ec2e5762a561", "ancestors": 3, "ancestors_since_input": 1 } }
@event session_triggered
func NewSessionTriggered ¶ added in v0.50.0
func NewSessionTriggered(flow *assets.FlowReference, groups []*assets.GroupReference, contacts []*flows.ContactReference, contactQuery string, createContact bool, urns []urns.URN, runSummary json.RawMessage, history *flows.SessionHistory) *SessionTriggeredEvent
NewSessionTriggered returns a new session triggered event
func (*SessionTriggeredEvent) CreatedOn ¶ added in v0.6.2
CreatedOn returns the created on time of this event
func (*SessionTriggeredEvent) SetStepUUID ¶ added in v0.7.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type Ticket ¶ added in v0.122.0
type Ticket struct { UUID flows.TicketUUID `json:"uuid" validate:"required,uuid4"` Ticketer *assets.TicketerReference `json:"ticketer" validate:"required,dive"` Subject string `json:"subject"` Body string `json:"body"` ExternalID string `json:"external_id,omitempty"` }
type TicketOpenedEvent ¶ added in v0.86.0
type TicketOpenedEvent struct { Ticket *Ticket `json:"ticket"` // contains filtered or unexported fields }
TicketOpenedEvent events are created when a new ticket is opened.
{ "type": "ticket_opened", "created_on": "2006-01-02T15:04:05Z", "ticket": { "uuid": "2e677ae6-9b57-423c-b022-7950503eef35", "ticketer": { "uuid": "d605bb96-258d-4097-ad0a-080937db2212", "name": "Support Tickets" }, "subject": "Need help", "body": "Where are my cookies?", "external_id": "32526523" } }
@event ticket_opened
func NewTicketOpened ¶ added in v0.86.0
func NewTicketOpened(ticket *flows.Ticket) *TicketOpenedEvent
NewTicketOpened returns a new ticket opened event
func (*TicketOpenedEvent) CreatedOn ¶ added in v0.86.0
CreatedOn returns the created on time of this event
func (*TicketOpenedEvent) SetStepUUID ¶ added in v0.86.0
SetStepUUID sets the UUID of the step in the path where this event occurred
type WaitTimedOutEvent ¶ added in v0.9.10
type WaitTimedOutEvent struct {
// contains filtered or unexported fields
}
WaitTimedOutEvent events are sent by the caller when a wait has timed out - i.e. they are sent instead of the item that the wait was waiting for.
{ "type": "wait_timed_out", "created_on": "2006-01-02T15:04:05Z" }
@event wait_timed_out
func NewWaitTimedOut ¶ added in v0.48.0
func NewWaitTimedOut() *WaitTimedOutEvent
NewWaitTimedOut creates a new wait timed out event
func (*WaitTimedOutEvent) CreatedOn ¶ added in v0.9.10
CreatedOn returns the created on time of this event
func (*WaitTimedOutEvent) SetStepUUID ¶ added in v0.9.10
SetStepUUID sets the UUID of the step in the path where this event occurred
type WebhookCalledEvent ¶
type WebhookCalledEvent struct { URL string `json:"url" validate:"required"` Status flows.CallStatus `json:"status" validate:"required"` Request string `json:"request" validate:"required"` Response string `json:"response"` ElapsedMS int `json:"elapsed_ms"` Resthook string `json:"resthook,omitempty"` StatusCode int `json:"status_code,omitempty"` BodyIgnored bool `json:"body_ignored,omitempty"` // contains filtered or unexported fields }
WebhookCalledEvent events are created when a webhook is called. The event contains the URL and the status of the response, as well as a full dump of the request and response.
{ "type": "webhook_called", "created_on": "2006-01-02T15:04:05Z", "url": "http://localhost:49998/?cmd=success", "status": "success", "status_code": 200, "elapsed_ms": 123, "request": "GET /?format=json HTTP/1.1", "response": "HTTP/1.1 200 OK\r\n\r\n{\"ip\":\"190.154.48.130\"}" }
@event webhook_called
func NewWebhookCalled ¶ added in v0.48.0
func NewWebhookCalled(call *flows.WebhookCall, status flows.CallStatus, resthook string) *WebhookCalledEvent
NewWebhookCalled returns a new webhook called event
func (*WebhookCalledEvent) CreatedOn ¶ added in v0.6.2
CreatedOn returns the created on time of this event
func (*WebhookCalledEvent) SetStepUUID ¶ added in v0.7.0
SetStepUUID sets the UUID of the step in the path where this event occurred
Source Files ¶
- airtime_transferred.go
- base.go
- broadcast_created.go
- contact_field_changed.go
- contact_groups_changed.go
- contact_language_changed.go
- contact_name_changed.go
- contact_refreshed.go
- contact_status_changed.go
- contact_timezone_changed.go
- contact_urns_changed.go
- deprecated.go
- dial_ended.go
- dial_wait.go
- email_created.go
- email_sent.go
- environment_refreshed.go
- error.go
- failure.go
- flow_entered.go
- input_labels_added.go
- ivr_created.go
- msg_created.go
- msg_received.go
- msg_wait.go
- resthook_called.go
- run_expired.go
- run_result_changed.go
- service_called.go
- session_triggered.go
- ticket_opened.go
- wait_timed_out.go
- webhook_called.go