Documentation ¶
Index ¶
- Constants
- func ActionFieldText(fieldType int) string
- func ConditionFieldText(fieldType int) string
- func ViaTypeText(viaID int) string
- type APITokenCredential
- type BasicAuthCredential
- type Client
- func (z Client) CreateTicketField(ticketField TicketField) (TicketField, error)
- func (z Client) CreateTicketForm(ticketForm TicketForm) (TicketForm, error)
- func (z Client) CreateTrigger(trigger Trigger) (Trigger, error)
- func (z Client) GetTicketFields() ([]TicketField, Page, error)
- func (z Client) GetTicketForms() ([]TicketForm, Page, error)
- func (z *Client) GetTriggers() ([]Trigger, Page, error)
- func (z Client) NewGetRequest(path string) (*http.Request, error)
- func (z Client) NewPostRequest(path string, payload interface{}) (*http.Request, error)
- func (z *Client) SetCredential(cred Credential)
- func (z *Client) SetEndpointURL(newURL string) error
- func (z *Client) SetHeader(key string, value string)
- func (z *Client) SetSubdomain(subdomain string) error
- type Credential
- type GetTicketFormsResponse
- type GetTriggersResponse
- type Page
- type TicketField
- type TicketFieldCustomFieldOption
- type TicketFieldSystemFieldOption
- type TicketForm
- type Trigger
- type TriggerAction
- type TriggerCondition
Constants ¶
const ( // ActionFieldStatus status ActionFieldStatus = iota // ActionFieldType type ActionFieldType // ActionFieldPriority priority ActionFieldPriority // ActionFieldGroupID group_id ActionFieldGroupID // ActionFieldAssigneeID assignee_id ActionFieldAssigneeID // ActionFieldSetTags set_tags ActionFieldSetTags // ActionFieldCurrentTags current_tags ActionFieldCurrentTags // ActionFieldRemoveTags remove_tags ActionFieldRemoveTags // ActionFieldSatisfactionScore satisfaction_score ActionFieldSatisfactionScore // ActionFieldNotificationUser notification_user ActionFieldNotificationUser // ActionFieldNotificationGroup notification_group ActionFieldNotificationGroup // ActionFieldNotificationTarget notification_target ActionFieldNotificationTarget // ActionFieldTweetRequester tweet_requester ActionFieldTweetRequester // ActionFieldCC cc ActionFieldCC // ActionFieldLocaleID locale_id ActionFieldLocaleID // ActionFieldSubject subject ActionFieldSubject // ActionFieldCommentValue comment_value ActionFieldCommentValue // ActionFieldCommentValueHTML comment_value_html ActionFieldCommentValueHTML // ActionFieldCommentModeIsPublic comment_mode_is_public ActionFieldCommentModeIsPublic // ActionFieldTicketFormID ticket_form_id ActionFieldTicketFormID )
action field types which defined by system https://developer.zendesk.com/rest_api/docs/core/triggers#actions-reference
const ( // ConditionFieldGroupID group_id ConditionFieldGroupID = iota // ConditionFieldAssigneeID assignee_id ConditionFieldAssigneeID // ConditionFieldRequesterID requester_id ConditionFieldRequesterID // ConditionFieldOrganizationID organization_id ConditionFieldOrganizationID // ConditionFieldCurrentTags current_tags ConditionFieldCurrentTags // ConditionFieldViaID via_id ConditionFieldViaID // ConditionFieldRecipient recipient ConditionFieldRecipient // ConditionFieldType type ConditionFieldType // ConditionFieldStatus status ConditionFieldStatus // ConditionFieldPriority priority ConditionFieldPriority // ConditionFieldDescriptionIncludesWord description_includes_word ConditionFieldDescriptionIncludesWord // ConditionFieldLocaleID locale_id ConditionFieldLocaleID // ConditionFieldSatisfactionScore satisfaction_score ConditionFieldSatisfactionScore // ConditionFieldSubjectIncludesWord subject_includes_word ConditionFieldSubjectIncludesWord // ConditionFieldCommentIncludesWord comment_includes_word ConditionFieldCommentIncludesWord // ConditionFieldCurrentViaID current_via_id ConditionFieldCurrentViaID // ConditionFieldUpdateType update_type ConditionFieldUpdateType // ConditionFieldCommentIsPublic comment_is_public ConditionFieldCommentIsPublic // ConditionFieldTicketIsPublic ticket_is_public ConditionFieldTicketIsPublic // ConditionFieldReopens reopens ConditionFieldReopens // ConditionFieldReplies ConditionFieldReplies // ConditionFieldAgentStations agent_stations ConditionFieldAgentStations // ConditionFieldGroupStations group_stations ConditionFieldGroupStations // ConditionFieldInBusinessHours in_business_hours ConditionFieldInBusinessHours // ConditionFieldRequesterTwitterFollowersCount requester_twitter_followers_count ConditionFieldRequesterTwitterFollowersCount // ConditionFieldRequesterTwitterStatusesCount requester_twitter_statuses_count ConditionFieldRequesterTwitterStatusesCount // ConditionFieldRequesterTwitterVerified requester_twitter_verified ConditionFieldRequesterTwitterVerified // ConditionFieldTicketTypeID ticket_type_id ConditionFieldTicketTypeID // ConditionFieldExactCreatedAt exact_created_at ConditionFieldExactCreatedAt // ConditionFieldNew NEW ConditionFieldNew // ConditionFieldOpen OPEN ConditionFieldOpen // ConditionFieldPending PENDING ConditionFieldPending // ConditionFieldSolved SOLVED ConditionFieldSolved // ConditionFieldClosed CLOSED ConditionFieldClosed // ConditionFieldAssignedAt assigned_at ConditionFieldAssignedAt // ConditionFieldUpdatedAt updated_at ConditionFieldUpdatedAt // ConditionFieldRequesterUpdatedAt requester_updated_at ConditionFieldRequesterUpdatedAt // ConditionFieldAssigneeUpdatedAt ConditionFieldAssigneeUpdatedAt // ConditionFieldDueDate due_date ConditionFieldDueDate // ConditionFieldUntilDueDate until_due_date ConditionFieldUntilDueDate )
condition field types which are defined by system https://developer.zendesk.com/rest_api/docs/core/triggers#conditions-reference
const ( // ViaWebForm : Web form ViaWebForm = 0 // ViaMail : Email ViaMail = 4 // ViaChat : Chat ViaChat = 29 // ViaTwitter : Twitter ViaTwitter = 30 // ViaTwitterDM : Twitter DM ViaTwitterDM = 26 // TwitterFavorite : Twitter like ViaTwitterFavorite = 23 // ViaVoicemail : Voicemail ViaVoicemail = 33 // ViaPhoneCallInbound : Phone call (incoming) ViaPhoneCallInbound = 34 // ViaPhoneCallOutbound : Phone call (outbound) ViaPhoneCallOutbound = 35 // ViaAPIVoicemail : CTI voicemail ViaAPIVoicemail = 44 // ViaAPIPhoneCallInbound : CTI phone call (inbound) ViaAPIPhoneCallInbound = 45 // ViaAPIPhoneCallOutbound : CTI phone call (outbound) ViaAPIPhoneCallOutbound = 46 // ViaSMS : SMS ViaSMS = 57 // ViaGetSatisfaction : Get Satisfaction ViaGetSatisfaction = 16 // ViaWebWidget : Web Widget ViaWebWidget = 48 // ViaMobileSDK : Mobile SDK ViaMobileSDK = 49 // ViaMobile : Mobile ViaMobile = 56 // ViaHelpCenter : Help Center post ViaHelpCenter = 50 // ViaWebService : Web service (API) ViaWebService = 5 // ViaRule : Trigger, automation ViaRule = 8 // ViaClosedTicket : Closed ticket ViaClosedTicket = 27 // ViaTicketSharing : Ticket Sharing ViaTicketSharing = 31 // ViaFacebookPost : Facebook post ViaFacebookPost = 38 // ViaFacebookMessage : Facebook private message ViaFacebookMessage = 41 // ViaSatisfactionPrediction : Satisfaction prediction ViaSatisfactionPrediction = 54 // ViaAnyChannel : Channel framework ViaAnyChannel = 55 )
https://developer.zendesk.com/rest_api/docs/support/triggers#via-types
Variables ¶
This section is empty.
Functions ¶
func ActionFieldText ¶
ActionFieldText takes field type and returns field name string
func ConditionFieldText ¶
ConditionFieldText takes field type and returns field name string
Types ¶
type APITokenCredential ¶
type APITokenCredential struct {
// contains filtered or unexported fields
}
APITokenCredential is type of credential for API token authentication
func NewAPITokenCredential ¶
func NewAPITokenCredential(email string, apiToken string) *APITokenCredential
NewAPITokenCredential creates APITokenCredential and returns its pointer
func (APITokenCredential) Email ¶
func (c APITokenCredential) Email() string
Email is accessor which returns email address
func (APITokenCredential) Secret ¶
func (c APITokenCredential) Secret() string
Secret is accessor which returns API token
type BasicAuthCredential ¶
type BasicAuthCredential struct {
// contains filtered or unexported fields
}
BasicAuthCredential is type of credential for Basic authentication
func NewBasicAuthCredential ¶
func NewBasicAuthCredential(email string, password string) *BasicAuthCredential
NewBasicAuthCredential creates BasicAuthCredential and returns its pointer
func (BasicAuthCredential) Email ¶
func (c BasicAuthCredential) Email() string
Email is accessor which returns email address
func (BasicAuthCredential) Secret ¶
func (c BasicAuthCredential) Secret() string
Secret is accessor which returns password
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client of Zendesk API
func (Client) CreateTicketField ¶
func (z Client) CreateTicketField(ticketField TicketField) (TicketField, error)
CreateTicketField creates new ticket field ref: https://developer.zendesk.com/rest_api/docs/core/ticket_fields#create-ticket-field
func (Client) CreateTicketForm ¶
func (z Client) CreateTicketForm(ticketForm TicketForm) (TicketForm, error)
CreateTicketForm creates new ticket form ref: https://developer.zendesk.com/rest_api/docs/core/ticket_forms#create-ticket-forms
func (Client) CreateTrigger ¶
CreateTrigger creates new trigger ref: https://developer.zendesk.com/rest_api/docs/core/triggers#create-trigger
func (Client) GetTicketFields ¶
func (z Client) GetTicketFields() ([]TicketField, Page, error)
GetTicketFields fetches ticket field list ref: https://developer.zendesk.com/rest_api/docs/core/ticket_fields#list-ticket-fields
func (Client) GetTicketForms ¶
func (z Client) GetTicketForms() ([]TicketForm, Page, error)
GetTicketForms fetches ticket forms
func (*Client) GetTriggers ¶
GetTriggers fetch trigger list
func (Client) NewGetRequest ¶
NewGetRequest create GET *http.Request with headers which are required for authentication.
func (Client) NewPostRequest ¶
NewPostRequest create POST *http.Request with headers which are required for authentication.
func (*Client) SetCredential ¶
func (z *Client) SetCredential(cred Credential)
SetCredential saves credential in client. It will be set to request header when call API
func (*Client) SetEndpointURL ¶
SetEndpointURL replace full URL of endpoint without subdomain validation. This is mainly used for testing to point to mock API server.
func (*Client) SetHeader ¶
SetHeader saves HTTP header in client. It will be included all API request
func (*Client) SetSubdomain ¶
SetSubdomain saves subdomain in client. It will be used when call API
type Credential ¶
Credential is interface of API credential
type GetTicketFormsResponse ¶
type GetTicketFormsResponse struct { TicketForms []TicketForm `json:"ticket_forms"` Page Page }
GetTicketFormsResponse is response structure
type GetTriggersResponse ¶
GetTriggersResponse is response structure of triggers list
type Page ¶
type Page struct { PreviousPage *string `json:"previous_page"` NextPage *string `json:"next_page"` Count int64 `json:"count"` }
Page is base struct for resource pagination
type TicketField ¶
type TicketField struct { ID int64 `json:"id,omitempty"` URL string `json:"url,omitempty"` Type string `json:"type"` Title string `json:"title"` RawTitle string `json:"raw_title,omitempty"` Description string `json:"description,omitempty"` RawDescription string `json:"raw_description,omitempty"` Position int64 `json:"position,omitempty"` Active bool `json:"active,omitempty"` Required bool `json:"required,omitempty"` CollapsedForAgents bool `json:"collapsed_for_agents,omitempty"` RegexpForValidation string `json:"regexp_for_validation,omitempty"` TitleInPortal string `json:"title_in_portal,omitempty"` RawTitleInPortal string `json:"raw_title_in_portal,omitempty"` VisibleInPortal bool `json:"visible_in_portal,omitempty"` EditableInPortal bool `json:"editable_in_portal,omitempty"` Tag string `json:"tag,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` SystemFieldOptions []TicketFieldSystemFieldOption `json:"system_field_options,omitempty"` CustomFieldOptions []TicketFieldCustomFieldOption `json:"custom_field_options,omitempty"` SubTypeID int64 `json:"sub_type_id,omitempty"` Removable bool `json:"removable,omitempty"` AgentDescription string `json:"agent_description,omitempty"` }
TicketField is struct for ticket_field payload
type TicketFieldCustomFieldOption ¶
type TicketFieldCustomFieldOption struct { ID int64 `json:"id,omitempty"` Name string `json:"name"` Position int64 `json:"position,omitempty"` RawName string `json:"raw_name,omitempty"` URL string `json:"url,omitempty"` Value string `json:"value"` }
TicketFieldCustomFieldOption is struct for value of `custom_field_options`
type TicketFieldSystemFieldOption ¶
type TicketFieldSystemFieldOption struct { ID int64 `json:"id"` Name string `json:"name"` Position int64 `json:"position"` RawName string `json:"raw_name"` URL string `json:"url"` Value string `json:"value"` }
TicketFieldSystemFieldOption is struct for value of `system_field_options`
type TicketForm ¶
type TicketForm struct { ID int64 `json:"id,omitempty"` Name string `json:"name"` RawName string `json:"raw_name,omitempty"` DisplayName string `json:"display_name,omitempty"` RawDisplayName string `json:"raw_display_name,omitempty"` Position int64 `json:"position"` Active bool `json:"active,omitempty"` EndUserVisible bool `json:"end_user_visible,omitempty"` Default bool `json:"default,omitempty"` TicketFieldIDs []int64 `json:"ticket_field_ids,omitempty"` InAllBrands bool `json:"in_all_brands,omitempty"` RestrictedBrandIDs []int64 `json:"restricted_brand_ids,omitempty"` }
TicketForm is JSON payload struct
type Trigger ¶
type Trigger struct { ID int64 `json:"id,omitempty"` Title string `json:"title"` Active bool `json:"active,omitempty"` Position int64 `json:"position,omitempty"` Conditions struct { All []TriggerCondition `json:"all"` Any []TriggerCondition `json:"any"` } `json:"conditions"` Actions []TriggerAction `json:"actions"` Description string `json:"description,omitempty"` CreatedAt *time.Time `json:"created_at,omitempty"` UpdatedAt *time.Time `json:"updated_at,omitempty"` }
Trigger is zendesk trigger JSON payload format ref: https://developer.zendesk.com/rest_api/docs/core/triggers#json-format
type TriggerAction ¶
type TriggerAction struct { Field string `json:"field"` Value interface{} `json:"value"` }
TriggerAction is zendesk trigger action ref: https://developer.zendesk.com/rest_api/docs/core/triggers#actions
type TriggerCondition ¶
type TriggerCondition struct { Field string `json:"field"` Operator string `json:"operator"` Value string `json:"value"` }
TriggerCondition zendesk trigger condition ref: https://developer.zendesk.com/rest_api/docs/core/triggers#conditions-reference