Documentation ¶
Index ¶
- Constants
- type ArticlesOption
- type Client
- func (c *Client) CreateArticle(req *CreateArticleRequest) (*CreateArticleResponse, error)
- func (c *Client) CreateContact(req *CreateContactRequest) (*GetContactResponse, error)
- func (c *Client) CreateContactIdentities(identifier string, req *CreateContactIdentitiesRequest, ...) (*GetContactIdentitiesResponse, error)
- func (c *Client) CreateConversation(req *CreateConversationRequest) (*CreateConversationResponse, error)
- func (c *Client) CreateIncident(req *CreateIncidentRequest) (*CreateIncidentResponse, error)
- func (c *Client) CreateMessage(slug string, req *CreateMessageRequest) (*CreateMessageResponse, error)
- func (c *Client) CreateNote(identifier string, req *CreateNoteRequest) (*CreateNoteResponse, error)
- func (c *Client) CreateResponseTemplate(req *CreateResponseTemplateRequest) (*CreateResponseTemplateResponse, error)
- func (c *Client) CreateStaff(req *CreateStaffRequest) (*CreateStaffResponse, error)
- func (c *Client) DeleteNote(identifier string, noteID string) (*DeleteNoteResponse, error)
- func (c *Client) GetArticle(slug string) (*GetArticleResponse, error)
- func (c *Client) GetArticles(o ...ArticlesOption) (*GetArticlesResponse, error)
- func (c *Client) GetChannel(slug string) (*GetChannelResponse, error)
- func (c *Client) GetChannels() (*GetChannelsResponse, error)
- func (c *Client) GetContact(identifier string) (*GetContactResponse, error)
- func (c *Client) GetContactIdentities(identifier string) (*GetContactIdentitiesResponse, error)
- func (c *Client) GetContacts() (*GetContactsResponse, error)
- func (c *Client) GetConversation(slug string) (*GetConversationResponse, error)
- func (c *Client) GetConversations(o ...ConversationsOption) (*GetConversationsResponse, error)
- func (c *Client) GetIncident(identifier string) (*GetIncidentResponse, error)
- func (c *Client) GetIncidents() (*GetIncidentsResponse, error)
- func (c *Client) GetMessages() (*GetMessagesResponse, error)
- func (c *Client) GetNotes(identifier string) (*GetNotesResponse, error)
- func (c *Client) GetReportsChannelSummary(o ...ReportsOption) (*GetReportsChannelSummaryResponse, error)
- func (c *Client) GetReportsResponseTime(o ...ReportsOption) (*GetReportsResponseTimeRespone, error)
- func (c *Client) GetReportsStaff(o ...ReportsOption) (*GetReportsStaffResponse, error)
- func (c *Client) GetReportsTags(o ...ReportsOption) (*GetReportsTagsResponse, error)
- func (c *Client) GetReportsVolume(o ...ReportsOption) (*GetReportsVolumeResponse, error)
- func (c *Client) GetResponseTemplate(identifier string) (*GetResponseTemplateResponse, error)
- func (c *Client) GetResponseTemplates() (*GetResponseTemplatesResponse, error)
- func (c *Client) GetStaff(o ...StaffOption) (*GetStaffResponse, error)
- func (c *Client) GetSystems() (*GetSystemsResponse, error)
- func (c *Client) UpdateArticle(slug string, req *UpdateArticleRequest) (*UpdateArticleResponse, error)
- func (c *Client) UpdateContact(identifier string, req *UpdateContactRequest, ...) (*GetContactResponse, error)
- func (c *Client) UpdateConversation(slug string, req *UpdateConversationRequest) (*GetConversationResponse, error)
- func (c *Client) UpdateIncident(identifier string, req *UpdateIncidentRequest) (*UpdateIncidentResponse, error)
- func (c *Client) UpdateNote(identifier string, noteID string, req *UpdateNoteRequest) (*UpdateNoteResponse, error)
- func (c *Client) UpdateResponseTemplate(identifier string, req *UpdateResponseTemplateRequest) (*UpdateResponseTemplateResponse, error)
- type ConversationsOption
- type CreateArticleRequest
- type CreateArticleResponse
- type CreateContactIdentitiesRequest
- type CreateContactRequest
- type CreateConversationRequest
- type CreateConversationResponse
- type CreateIncidentRequest
- type CreateIncidentResponse
- type CreateMessageRequest
- type CreateMessageResponse
- type CreateNoteRequest
- type CreateNoteResponse
- type CreateResponseTemplateRequest
- type CreateResponseTemplateResponse
- type CreateStaffRequest
- type CreateStaffResponse
- type DeleteNoteResponse
- type GetArticleResponse
- type GetArticlesResponse
- type GetChannelResponse
- type GetChannelsResponse
- type GetContactIdentitiesResponse
- type GetContactResponse
- type GetContactsResponse
- type GetConversationResponse
- type GetConversationsResponse
- type GetIncidentResponse
- type GetIncidentsResponse
- type GetMessagesResponse
- type GetNotesResponse
- type GetReportsChannelSummaryResponse
- type GetReportsResponseTimeRespone
- type GetReportsStaffResponse
- type GetReportsTagsResponse
- type GetReportsVolumeResponse
- type GetResponseTemplateResponse
- type GetResponseTemplatesResponse
- type GetStaffResponse
- type GetSystemsResponse
- type Note
- type ReamazeArticle
- type ReamazeArticlePage
- type ReamazeArticleQuery
- type ReamazeArticleStatus
- type ReamazeArticlesOptions
- type ReamazeCategory
- type ReamazeChannelType
- type ReamazeChannelVisibility
- type ReamazeData
- type ReamazeEndDate
- type ReamazeFilter
- type ReamazeFor
- type ReamazeForID
- type ReamazeIdentifier
- type ReamazeIncidentSystemStatus
- type ReamazeIncidentUpdateStatus
- type ReamazeOptions
- type ReamazePage
- type ReamazePhoneNumber
- type ReamazeReportOptions
- type ReamazeReportsEndDate
- type ReamazeReportsStartDate
- type ReamazeSort
- type ReamazeStaffOptions
- type ReamazeStaffPage
- type ReamazeStartDate
- type ReamazeStatus
- type ReamazeTags
- type ReamazeVisibility
- type ReportsOption
- type StaffOption
- type UpdateArticleRequest
- type UpdateArticleResponse
- type UpdateContactRequest
- type UpdateConversationRequest
- type UpdateIncidentRequest
- type UpdateIncidentResponse
- type UpdateNoteRequest
- type UpdateNoteResponse
- type UpdateResponseTemplateRequest
- type UpdateResponseTemplateResponse
Constants ¶
const ( ReamazeFilterArchived ReamazeFilter = "archived" ReamazeFilterOpen ReamazeFilter = "open" ReamazeFilterUnassigned ReamazeFilter = "unassigned" ReamazeFilterAll ReamazeFilter = "all" ReamazeSortUpdated ReamazeSort = "updated" ReamazeSortChanged ReamazeSort = "changed" ReamazeSortCreatedAt ReamazeSort = "create_at" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ArticlesOption ¶
type ArticlesOption interface {
Apply(*ReamazeArticlesOptions)
}
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Reamaze Client
func NewClient ¶
NewClient creates a new re:amaze client that uses the given workspace with user and pass.
func (*Client) CreateArticle ¶
func (c *Client) CreateArticle(req *CreateArticleRequest) (*CreateArticleResponse, error)
CreateArticle will allow you to update the article. https://www.reamaze.com/api/put_article
func (*Client) CreateContact ¶
func (c *Client) CreateContact(req *CreateContactRequest) (*GetContactResponse, error)
CreateContact creates new Contact https://www.reamaze.com/api/post_contacts
func (*Client) CreateContactIdentities ¶
func (c *Client) CreateContactIdentities(identifier string, req *CreateContactIdentitiesRequest, identifierType ...ReamazeIdentifier) (*GetContactIdentitiesResponse, error)
CreateContactIdentities creates Contact Identities https://www.reamaze.com/api/post_identities Call to identities will allow you to attach an email, mobile number, twitter handle or instagram user to a contact.
func (*Client) CreateConversation ¶
func (c *Client) CreateConversation(req *CreateConversationRequest) (*CreateConversationResponse, error)
CreateConversation is creating new conversation in reamaze
func (*Client) CreateIncident ¶
func (c *Client) CreateIncident(req *CreateIncidentRequest) (*CreateIncidentResponse, error)
CreateIncident will allow you to create a new incident https://www.reamaze.com/api/post_incident The incidents_systems_attributes attribute is optional. The status attribute in updates_attributes can be one of the following: [investigating, identified, monitoring, resolved] The status attribute in incidents_systems_attributes can be one of the following: [operational, degraded_performance, partial_outage, major_outage, under_maintenance]
func (*Client) CreateMessage ¶
func (c *Client) CreateMessage(slug string, req *CreateMessageRequest) (*CreateMessageResponse, error)
CreateMessage will allow you to create a new message under a specific conversation https://www.reamaze.com/api/post_messages
func (*Client) CreateNote ¶
func (c *Client) CreateNote(identifier string, req *CreateNoteRequest) (*CreateNoteResponse, error)
CreateNote will allow you to attach an note to a contact https://www.reamaze.com/api/post_notes This allows you to create one note for a contact. You can also create many notes at a time for a contact through the update contacts endpoint creator_email is optional and should be the staff email address for the Re:amaze staff user who you want to be attributed to creating the note. Otherwise, the creator will be the user making the request. created_at is optional and will default to the current time.
func (*Client) CreateResponseTemplate ¶
func (c *Client) CreateResponseTemplate(req *CreateResponseTemplateRequest) (*CreateResponseTemplateResponse, error)
CreateResponseTemplate will allow you to create a new Response Template https://www.reamaze.com/api/post_response_template
func (*Client) CreateStaff ¶
func (c *Client) CreateStaff(req *CreateStaffRequest) (*CreateStaffResponse, error)
CreateStaff will allow you to create new staff user. Please keep in mind that this may have an impact on your monthly subscription cost https://www.reamaze.com/api/post_staff No invite emails are sent to the created user's email. This is to prevent potential abuse. The created user will be asked to change their password the first time they log in.
func (*Client) DeleteNote ¶
func (c *Client) DeleteNote(identifier string, noteID string) (*DeleteNoteResponse, error)
DeleteNote will delete a note with the given id from the contact https://www.reamaze.com/api/delete_note
func (*Client) GetArticle ¶
func (c *Client) GetArticle(slug string) (*GetArticleResponse, error)
GetArticle will allow you to retrieve a specific Help Article https://www.reamaze.com/api/get_article
func (*Client) GetArticles ¶
func (c *Client) GetArticles(o ...ArticlesOption) (*GetArticlesResponse, error)
GetArticles will allow you to retrieve Help Articles for the Brand optional parameters WithArticlePage(int), WithArticleStatus(ReamazeArticleStatus),WithArticleQuery(string) https://www.reamaze.com/api/get_articles
func (*Client) GetChannel ¶
func (c *Client) GetChannel(slug string) (*GetChannelResponse, error)
GetChannel will allow you to retrieve a specific channel https://www.reamaze.com/api/get_channel
func (*Client) GetChannels ¶
func (c *Client) GetChannels() (*GetChannelsResponse, error)
GetChannels will allow you to retrieve channels for the Brand https://www.reamaze.com/api/get_channels
func (*Client) GetContact ¶
func (c *Client) GetContact(identifier string) (*GetContactResponse, error)
GetContact getting Contact for identifier
func (*Client) GetContactIdentities ¶
func (c *Client) GetContactIdentities(identifier string) (*GetContactIdentitiesResponse, error)
GetContactIdentities gets Contact's Identities https://www.reamaze.com/api/get_identities Identities types are one of 'email', 'twitter','facebook', 'instagram', 'igsid' (Instagram-scoped ID), or 'mobile'.
func (*Client) GetContacts ¶
func (c *Client) GetContacts() (*GetContactsResponse, error)
GetContacts retrieves all contacts for the Account Note that unlike other resources, contacts are tied to the account, not the individual brand. TODO: adding params q,data,sort,type,page
func (*Client) GetConversation ¶
func (c *Client) GetConversation(slug string) (*GetConversationResponse, error)
GetConversation retrieve a specific conversation
func (*Client) GetConversations ¶
func (c *Client) GetConversations(o ...ConversationsOption) (*GetConversationsResponse, error)
GetConversations retrieve conversations for the Brand
func (*Client) GetIncident ¶
func (c *Client) GetIncident(identifier string) (*GetIncidentResponse, error)
GetIncidents will allow you to retrieve the incidents for the Brand https://www.reamaze.com/api/get_incident
func (*Client) GetIncidents ¶
func (c *Client) GetIncidents() (*GetIncidentsResponse, error)
GetIncidents will allow you to retrieve the incidents for the Brand https://www.reamaze.com/api/get_incidents
func (*Client) GetMessages ¶
func (c *Client) GetMessages() (*GetMessagesResponse, error)
GetMessages call to messages will allow you to retrieve individual messages for all conversations in the Brand https://www.reamaze.com/api/get_messages
func (*Client) GetNotes ¶
func (c *Client) GetNotes(identifier string) (*GetNotesResponse, error)
GetNotes gets all the Notes for provided identifier https://www.reamaze.com/api/get_notes
func (*Client) GetReportsChannelSummary ¶
func (c *Client) GetReportsChannelSummary(o ...ReportsOption) (*GetReportsChannelSummaryResponse, error)
GetReportsChannelSummary returns a channel report summarizing channel metrics The start and end dates of the report will default to the last 30 days. Time frames can be no smaller than 1 day and no larger than 1 year. https://www.reamaze.com/api/get_reports_channel_summary
func (*Client) GetReportsResponseTime ¶
func (c *Client) GetReportsResponseTime(o ...ReportsOption) (*GetReportsResponseTimeRespone, error)
GetReportsResponseTime Returns a daily response time metric and a response times summary object. Response times are reported in seconds. https://www.reamaze.com/api/get_reports_response_time
func (*Client) GetReportsStaff ¶
func (c *Client) GetReportsStaff(o ...ReportsOption) (*GetReportsStaffResponse, error)
GetReportsStaffResponse returns a staff report summarizing staff metrics The start and end dates of the report will default to the last 30 days. Time frames can be no smaller than 1 day and no larger than 1 year. https://www.reamaze.com/api/get_reports_staff
func (*Client) GetReportsTags ¶
func (c *Client) GetReportsTags(o ...ReportsOption) (*GetReportsTagsResponse, error)
GetReportsTags returns a tag report summarizing tag usage The start and end dates of the report will default to the last 30 days. Time frames can be no smaller than 1 day and no larger than 1 year. https://www.reamaze.com/api/get_reports_tags
func (*Client) GetReportsVolume ¶
func (c *Client) GetReportsVolume(o ...ReportsOption) (*GetReportsVolumeResponse, error)
GetReportsVolume returns a daily volume count The start and end dates of the report will default to the last 30 days. Time frames can be no smaller than 1 day and no larger than 1 year. https://www.reamaze.com/api/get_reports_volume
func (*Client) GetResponseTemplate ¶
func (c *Client) GetResponseTemplate(identifier string) (*GetResponseTemplateResponse, error)
GetResponseTemplate will allow you to retrieve a specific Response Template https://www.reamaze.com/api/get_response_template
func (*Client) GetResponseTemplates ¶
func (c *Client) GetResponseTemplates() (*GetResponseTemplatesResponse, error)
GetResponseTemplates will allow you to retrieve Response Templates for the Brand. This will also return personal Response Templates depending on the user role https://www.reamaze.com/api/get_response_templates TODO add the q and page handlers q with any string will search over response templates by keywords. page with any number will allow you to paginate through results
func (*Client) GetStaff ¶
func (c *Client) GetStaff(o ...StaffOption) (*GetStaffResponse, error)
GetStaff will allow you to retrieve staff users for the Account https://www.reamaze.com/api/get_staff
func (*Client) GetSystems ¶
func (c *Client) GetSystems() (*GetSystemsResponse, error)
GetSystems will allow you to retrieve the systems for the Brand https://www.reamaze.com/api/get_systems
func (*Client) UpdateArticle ¶
func (c *Client) UpdateArticle(slug string, req *UpdateArticleRequest) (*UpdateArticleResponse, error)
UpdateArticle will allow you to update the article. https://www.reamaze.com/api/put_article
func (*Client) UpdateContact ¶
func (c *Client) UpdateContact(identifier string, req *UpdateContactRequest, identifierType ...ReamazeIdentifier) (*GetContactResponse, error)
UpdateContact update existing Contact https://www.reamaze.com/api/put_contacts This re:amaze endpoint can only change name, friendly_name, external_avatar_url and data attributes
func (*Client) UpdateConversation ¶
func (c *Client) UpdateConversation(slug string, req *UpdateConversationRequest) (*GetConversationResponse, error)
UpdateConversation updates a conversation with tags_list,assignee,status,category or brand
func (*Client) UpdateIncident ¶
func (c *Client) UpdateIncident(identifier string, req *UpdateIncidentRequest) (*UpdateIncidentResponse, error)
UpdateIncident will allow you to retrieve the incidents for the Brand https://www.reamaze.com/api/put_incident
func (*Client) UpdateNote ¶
func (c *Client) UpdateNote(identifier string, noteID string, req *UpdateNoteRequest) (*UpdateNoteResponse, error)
UpdateNote will allow you to update a note with the given id https://www.reamaze.com/api/put_note
func (*Client) UpdateResponseTemplate ¶
func (c *Client) UpdateResponseTemplate(identifier string, req *UpdateResponseTemplateRequest) (*UpdateResponseTemplateResponse, error)
UpdateResponseTemplate will allow you to update the response template https://www.reamaze.com/api/put_response_template
type ConversationsOption ¶
type ConversationsOption interface {
Apply(*ReamazeOptions)
}
type CreateArticleRequest ¶
type CreateArticleRequest struct { Article struct { Title string `json:"title,omitempty"` Body string `json:"body,omitempty"` Status ReamazeArticleStatus `json:"status,omitempty"` TopicID string `json:"topic_id,omitempty"` } `json:"article,omitempty"` }
type CreateArticleResponse ¶
type CreateArticleResponse ReamazeArticle
type CreateContactIdentitiesRequest ¶
type CreateContactIdentitiesRequest struct { Identity struct { Type ReamazeIdentifier `json:"type"` Identifier string `json:"identifier"` } `json:"identity"` }
type CreateContactRequest ¶
type CreateContactRequest struct { Contact struct { Name string `json:"name"` Email string `json:"email"` Mobile ReamazePhoneNumber `json:"mobile"` FriendlyName string `json:"friendly_name"` ID string `json:"id"` ExternalAvatarURL string `json:"external_avatar_url"` Notes []string `json:"notes"` Data interface{} `json:"data"` } `json:"contact"` }
type CreateConversationRequest ¶
type CreateConversationRequest struct { Conversation struct { Subject string `json:"subject,omitempty"` Category string `json:"category,omitempty"` TagList []string `json:"tag_list,omitempty"` Status ReamazeStatus `json:"status,omitempty"` SupressNotification bool `json:"suppress_notifications,omitempty"` // You can optionally pass in a message[suppress_notifications] boolean attribute with a value of true to prevent Reamaze from sending any email (or integration) notifications related to this message. SupressAutoresolve bool `json:"suppress_autoresolve,omitempty"` // You can optionally pass in a message[suppress_autoresolve] boolean attribute with a value of true to prevent Reamaze from marking the conversation as resolved when message[user] is a staff user. Data any `json:"data,omitempty"` Message struct { Body string `json:"body,omitempty"` Attachment string `json:"attachment,omitempty"` Attachments []string `json:"attachments,omitempty"` } `json:"message,omitempty"` User struct { Name string `json:"name,omitempty"` Email string `json:"email,omitempty"` Data any `json:"data,omitempty"` } `json:"user,omitempty"` } `json:"conversation,omitempty"` }
type CreateConversationResponse ¶
type CreateConversationResponse struct { Subject string `json:"subject"` Slug string `json:"slug"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` Origin int `json:"origin"` Data any `json:"data"` HoldUntil any `json:"hold_until"` Author struct { ID int `json:"id"` Name string `json:"name"` Data any `json:"data"` Email string `json:"email"` Twitter string `json:"twitter"` Facebook string `json:"facebook"` Instagram string `json:"instagram"` Mobile string `json:"mobile"` FriendlyName string `json:"friendly_name"` DisplayName string `json:"display_name"` } `json:"author"` Assignee any `json:"assignee"` PermaURL string `json:"perma_url"` TagList []string `json:"tag_list"` Status int `json:"status"` DisplaySubject string `json:"display_subject"` Category struct { Name string `json:"name"` Slug string `json:"slug"` Email string `json:"email"` Channel int `json:"channel"` SettingsDisplayHTMLEmail string `json:"settings_display_html_email"` } `json:"category"` LastCustomerMessage struct { Body string `json:"body"` CreatedAt time.Time `json:"created_at"` } `json:"last_customer_message"` Followers []struct { ID int `json:"id"` Name string `json:"name"` Data any `json:"data"` Email string `json:"email"` Twitter string `json:"twitter"` Facebook string `json:"facebook"` Instagram string `json:"instagram"` Mobile string `json:"mobile"` FriendlyName string `json:"friendly_name"` DisplayName string `json:"display_name"` Staff bool `json:"staff?"` Customer bool `json:"customer?"` Bot bool `json:"bot?"` } `json:"followers"` Message struct { Body string `json:"body"` } `json:"message"` ReadOnly bool `json:"readOnly"` MessageCount int `json:"message_count"` }
type CreateIncidentRequest ¶
type CreateIncidentRequest UpdateIncidentRequest
type CreateIncidentResponse ¶
type CreateIncidentResponse GetIncidentResponse
type CreateMessageRequest ¶
type CreateMessageRequest struct { Message struct { Body string `json:"body"` Visibility ReamazeVisibility `json:"visibility,omitempty"` OriginID string `json:"origin_id,omitempty"` User *struct { Name string `json:"name,omitempty"` Email string `json:"email,omitempty"` } `json:"user,omitempty"` SupressNotification bool `json:"suppress_notifications,omitempty"` // You can optionally pass in a message[suppress_notifications] boolean attribute with a value of true to prevent Reamaze from sending any email (or integration) notifications related to this message. SupressAutoresolve bool `json:"suppress_autoresolve,omitempty"` Attachment string `json:"attachment,omitempty"` Attachments []string `json:"attachments,omitempty"` } `json:"message"` }
type CreateMessageResponse ¶
type CreateMessageResponse struct { Body string `json:"body"` Visibility int `json:"visibility"` CreatedAt string `json:"created_at"` OriginID string `json:"origin_id"` User struct { Name string `json:"name"` Email string `json:"email"` } `json:"user"` Conversation struct { Subject string `json:"subject"` Slug string `json:"slug"` CreatedAt string `json:"created_at"` Category struct { Name string `json:"name"` Slug string `json:"slug"` Email string `json:"email"` Channel int `json:"channel"` } `json:"category"` } `json:"conversation"` }
type CreateNoteRequest ¶
type CreateNoteRequest struct { Body string `json:"body"` CreatorEmail string `json:"creator_email"` CreatedAt time.Time `json:"created_at"` }
CreatorEmail is optional and should be the staff email address for the Re:amaze staff user who you want to be attributed to creating the note. Otherwise, the creator will not be updated. CreatedAt is optional and will not be updated if not passed in.
type CreateNoteResponse ¶
type CreateNoteResponse Note
type CreateResponseTemplateResponse ¶
type CreateResponseTemplateResponse GetResponseTemplateResponse
type CreateStaffRequest ¶
type CreateStaffResponse ¶
type CreateStaffResponse struct { Name string `json:"name,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` Email string `json:"email,omitempty"` DisplayName string `json:"display_name,omitempty"` NotificationEmail string `json:"notification_email,omitempty"` Role struct { ID any `json:"id,omitempty"` Name string `json:"name,omitempty"` Description any `json:"description,omitempty"` Admin bool `json:"admin?,omitempty"` Default bool `json:"default?,omitempty"` Permissions struct { ManageStaff bool `json:"manage_staff?,omitempty"` ManageStaffRole bool `json:"manage_staff_role?,omitempty"` ManageDepartments bool `json:"manage_departments?,omitempty"` ViewStaff bool `json:"view_staff?,omitempty"` ManageSubscriptions bool `json:"manage_subscriptions?,omitempty"` ManageInvoiceEmail bool `json:"manage_invoice_email?,omitempty"` ManageKb bool `json:"manage_kb?,omitempty"` ManageAccount bool `json:"manage_account?,omitempty"` ManageResponseTemplates bool `json:"manage_response_templates?,omitempty"` ManagePersonalResponseTemplates bool `json:"manage_personal_response_templates?,omitempty"` ManageWorkflows bool `json:"manage_workflows?,omitempty"` ManageChatbots bool `json:"manage_chatbots?,omitempty"` ManagePushCampaigns bool `json:"manage_push_campaigns?,omitempty"` ManageWebsiteIntegrations bool `json:"manage_website_integrations?,omitempty"` ManageDeveloperSettings bool `json:"manage_developer_settings?,omitempty"` ManageAssignments bool `json:"manage_assignments?,omitempty"` ManageIncidents bool `json:"manage_incidents?,omitempty"` ManageNotes bool `json:"manage_notes?,omitempty"` DeleteConversations bool `json:"delete_conversations?,omitempty"` AccessVoice bool `json:"access_voice?,omitempty"` AccessVideoCall bool `json:"access_video_call?,omitempty"` AccessAiFeatures bool `json:"access_ai_features?,omitempty"` AccessWebhookSubscriptionsAPI bool `json:"access_webhook_subscriptions_api?,omitempty"` ManageTags bool `json:"manage_tags?,omitempty"` AccessChat bool `json:"access_chat?,omitempty"` AccessLiveView bool `json:"access_live_view?,omitempty"` AccessReports bool `json:"access_reports?,omitempty"` AccessStaffReports bool `json:"access_staff_reports?,omitempty"` ReplyToCustomers bool `json:"reply_to_customers?,omitempty"` EditCustomers bool `json:"edit_customers?,omitempty"` RestrictChannels bool `json:"restrict_channels?,omitempty"` MoveAcrossRestrictedChannels bool `json:"move_across_restricted_channels?,omitempty"` AssignAcrossRestrictedChannels bool `json:"assign_across_restricted_channels?,omitempty"` ViewReportsForRestrictedChannels bool `json:"view_reports_for_restricted_channels?,omitempty"` VisibleChannelIds []any `json:"visible_channel_ids,omitempty"` ViewAllContacts bool `json:"view_all_contacts?,omitempty"` ExportContacts bool `json:"export_contacts?,omitempty"` MaxChats int `json:"max_chats,omitempty"` BigcommerceAccess struct { Access bool `json:"access,omitempty"` ProcessRefunds bool `json:"process_refunds,omitempty"` } `json:"bigcommerce_access,omitempty"` LoyaltylionAccess struct { Access bool `json:"access,omitempty"` Edit bool `json:"edit,omitempty"` } `json:"loyaltylion_access,omitempty"` PipedriveAccess struct { Access bool `json:"access,omitempty"` ManageDeals bool `json:"manage_deals,omitempty"` } `json:"pipedrive_access,omitempty"` ShopifyAccess struct { Access bool `json:"access,omitempty"` EditDetails bool `json:"edit_details,omitempty"` ProcessRefunds bool `json:"process_refunds,omitempty"` ProcessCancels bool `json:"process_cancels,omitempty"` ManageDraftOrders bool `json:"manage_draft_orders,omitempty"` ManageFulfillments bool `json:"manage_fulfillments,omitempty"` } `json:"shopify_access,omitempty"` StripeAccess struct { Access bool `json:"access,omitempty"` ProcessRefunds bool `json:"process_refunds,omitempty"` CancelSubscriptions bool `json:"cancel_subscriptions,omitempty"` } `json:"stripe_access,omitempty"` WoocommerceAccess struct { Access bool `json:"access,omitempty"` ProcessRefunds bool `json:"process_refunds,omitempty"` } `json:"woocommerce_access,omitempty"` YotpoAccess struct { Access bool `json:"access,omitempty"` } `json:"yotpo_access,omitempty"` GbmAccess struct { Access bool `json:"access,omitempty"` } `json:"gbm_access,omitempty"` WixAccess struct { Access bool `json:"access,omitempty"` } `json:"wix_access,omitempty"` } `json:"permissions,omitempty"` } `json:"role,omitempty"` }
type DeleteNoteResponse ¶
type DeleteNoteResponse Note
type GetArticleResponse ¶
type GetArticleResponse ReamazeArticle
type GetArticlesResponse ¶
type GetArticlesResponse struct { PageSize int `json:"page_size,omitempty"` PageCount int `json:"page_count,omitempty"` TotalCount int `json:"total_count,omitempty"` Articles []struct { Title string `json:"title,omitempty"` Body string `json:"body,omitempty"` Slug string `json:"slug,omitempty"` Status int `json:"status,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` URL string `json:"url,omitempty"` Author struct { ID int `json:"id,omitempty"` Name string `json:"name,omitempty"` Data any `json:"data,omitempty"` Email string `json:"email,omitempty"` Twitter string `json:"twitter,omitempty"` Facebook string `json:"facebook,omitempty"` Instagram string `json:"instagram,omitempty"` Mobile string `json:"mobile,omitempty"` FriendlyName string `json:"friendly_name,omitempty"` DisplayName string `json:"display_name,omitempty"` } `json:"author,omitempty"` EmbeddedURL string `json:"embedded_url,omitempty"` Topic struct { Name string `json:"name,omitempty"` Slug string `json:"slug,omitempty"` } `json:"topic,omitempty"` } `json:"articles,omitempty"` }
type GetChannelResponse ¶
type GetChannelResponse struct { Name string `json:"name"` Slug string `json:"slug"` Email string `json:"email"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` Channel ReamazeChannelType `json:"channel"` Visibility ReamazeChannelVisibility `json:"visibility"` SpamFilterEnabled bool `json:"spam_filter_enabled"` ReplyFromOrigin bool `json:"reply_from_origin"` Verified bool `json:"verified"` VerificationEmail string `json:"verification_email"` LastVerified time.Time `json:"last_verified"` SettingsReplyFromName string `json:"settings_reply_from_name"` SettingsSignature string `json:"settings_signature"` Brand struct { Name string `json:"name"` URL string `json:"url"` } `json:"brand"` }
The settings_reply_from_name value determines the whether the "From" name for replies is set to the channel name ("channel"), the brand name ("brand"), or the responding staff user's name ("staff")
type GetChannelsResponse ¶
type GetChannelsResponse struct { TotalCount int `json:"total_count"` Channels []struct { Name string `json:"name"` Slug string `json:"slug"` Email string `json:"email"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` Channel ReamazeChannelType `json:"channel"` Visibility ReamazeChannelVisibility `json:"visibility"` SpamFilterEnabled bool `json:"spam_filter_enabled"` ReplyFromOrigin bool `json:"reply_from_origin"` Verified bool `json:"verified"` VerificationEmail string `json:"verification_email"` LastVerified time.Time `json:"last_verified"` SettingsReplyFromName string `json:"settings_reply_from_name"` SettingsSignature string `json:"settings_signature"` Brand struct { Name string `json:"name"` URL string `json:"url"` } `json:"brand"` } `json:"channels"` }
The settings_reply_from_name value determines the whether the "From" name for replies is set to the channel name ("channel"), the brand name ("brand"), or the responding staff user's name ("staff")
type GetContactIdentitiesResponse ¶
type GetContactIdentitiesResponse struct { Identities []struct { Type ReamazeIdentifier `json:"type"` Identifier string `json:"identifier"` } `json:"identities"` }
type GetContactResponse ¶
type GetContactResponse struct { Name string `json:"name"` Data interface{} `json:"data"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` Email string `json:"email"` Twitter string `json:"twitter"` Facebook string `json:"facebook"` Instagram string `json:"instagram"` Mobile string `json:"mobile"` FriendlyName string `json:"friendly_name"` ID string `json:"id"` ID0 int `json:"_id"` Notes []Note `json:"notes"` }
type GetContactsResponse ¶
type GetContactsResponse struct { PageSize int `json:"page_size"` PageCount int `json:"page_count"` TotalCount int `json:"total_count"` Contacts []struct { Name string `json:"name"` Data interface{} `json:"data"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` Email string `json:"email"` Twitter string `json:"twitter"` Facebook string `json:"facebook"` Instagram string `json:"instagram"` Mobile string `json:"mobile"` FriendlyName string `json:"friendly_name"` ID int `json:"_id"` Notes []Note `json:"notes"` ID0 string `json:"id,omitempty"` } `json:"contacts"` }
type GetConversationResponse ¶
type GetConversationResponse struct { Subject string `json:"subject,omitempty"` Slug string `json:"slug,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` Origin int `json:"origin,omitempty"` Data any `json:"data,omitempty"` HoldUntil any `json:"hold_until,omitempty"` Author struct { ID int `json:"id,omitempty"` Name string `json:"name,omitempty"` Data any `json:"data"` Email string `json:"email,omitempty"` Twitter string `json:"twitter,omitempty"` Facebook string `json:"facebook,omitempty"` Instagram string `json:"instagram,omitempty"` Mobile string `json:"mobile,omitempty"` FriendlyName string `json:"friendly_name,omitempty"` DisplayName string `json:"display_name,omitempty"` } `json:"author"` Assignee any `json:"assignee,omitempty"` PermaURL string `json:"perma_url,omitempty"` TagList []string `json:"tag_list,omitempty"` Status int `json:"status,omitempty"` DisplaySubject string `json:"display_subject,omitempty"` Category struct { Name string `json:"name,omitempty"` Slug string `json:"slug,omitempty"` Email string `json:"email,omitempty"` Channel int `json:"channel,omitempty"` SettingsDisplayHTMLEmail string `json:"settings_display_html_email,omitempty"` } `json:"category,omitempty"` LastCustomerMessage struct { Body string `json:"body,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` } `json:"last_customer_message,omitempty"` Followers []struct { ID int `json:"id,omitempty"` Name string `json:"name,omitempty"` Data any `json:"data"` Email string `json:"email,omitempty"` Twitter string `json:"twitter,omitempty"` Facebook string `json:"facebook,omitempty"` Instagram string `json:"instagram,omitempty"` Mobile string `json:"mobile,omitempty"` FriendlyName string `json:"friendly_name,omitempty"` DisplayName string `json:"display_name,omitempty"` Staff bool `json:"staff?,omitempty"` Customer bool `json:"customer?,omitempty"` Bot bool `json:"bot?,omitempty"` } `json:"followers,omitempty"` Message struct { Body string `json:"body,omitempty"` } `json:"message"` ReadOnly bool `json:"readOnly,omitempty"` MessageCount int `json:"message_count,omitempty"` }
type GetConversationsResponse ¶
type GetConversationsResponse struct { PageSize int `json:"page_size,omitempty"` PageCount int `json:"page_count,omitempty"` TotalCount int `json:"total_count,omitempty"` Conversations []GetConversationResponse `json:"conversations,omitempty"` }
type GetIncidentResponse ¶
type GetIncidentResponse struct { ID string `json:"id,omitempty"` Title string `json:"title,omitempty"` CreatedAt string `json:"created_at,omitempty"` UpdatedAt string `json:"updated_at,omitempty"` Status string `json:"status,omitempty"` Updates []struct { ID string `json:"id,omitempty"` Status string `json:"status,omitempty"` Message string `json:"message,omitempty"` } `json:"updates,omitempty"` IncidentsSystems []struct { ID string `json:"id,omitempty"` SystemID string `json:"system_id,omitempty"` Status string `json:"status,omitempty"` System struct { ID string `json:"id,omitempty"` Title string `json:"title,omitempty"` } `json:"system,omitempty"` } `json:"incidents_systems,omitempty"` }
type GetIncidentsResponse ¶
type GetIncidentsResponse []struct { ID string `json:"id,omitempty"` Title string `json:"title,omitempty"` AccountID int `json:"account_id,omitempty"` BrandID int `json:"brand_id,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` Status string `json:"status,omitempty"` ExternalURL string `json:"external_url,omitempty"` Updates []struct { ID string `json:"id,omitempty"` Status string `json:"status,omitempty"` Message string `json:"message,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` } `json:"updates,omitempty"` IncidentsSystems []struct { ID string `json:"id,omitempty"` SystemID string `json:"system_id,omitempty"` Status string `json:"status,omitempty"` System struct { ID string `json:"id,omitempty"` Title string `json:"title,omitempty"` } `json:"system,omitempty"` } `json:"incidents_systems,omitempty"` }
type GetMessagesResponse ¶
type GetMessagesResponse struct { PageSize int `json:"page_size"` PageCount int `json:"page_count"` TotalCount int `json:"total_count"` Messages []struct { Visibility int `json:"visibility"` Origin int `json:"origin"` CreatedAt time.Time `json:"created_at"` Conversation struct { Subject string `json:"subject"` Slug string `json:"slug"` CreatedAt time.Time `json:"created_at"` Category struct { ID int `json:"id"` Name string `json:"name"` Slug string `json:"slug"` Email string `json:"email"` Channel int `json:"channel"` } `json:"category"` Followers []any `json:"followers"` } `json:"conversation"` Attachments []struct { ThumbURL string `json:"thumb_url"` URL string `json:"url"` Image bool `json:"image?"` FileContentType string `json:"file_content_type"` FileFileName string `json:"file_file_name"` FileFileSize int `json:"file_file_size"` } `json:"attachments"` Body string `json:"body"` DirectRecipients []any `json:"direct_recipients"` Recipients []any `json:"recipients"` User struct { Name string `json:"name"` Email string `json:"email"` Mobile any `json:"mobile"` Staff bool `json:"staff?"` } `json:"user,omitempty"` Meta struct { Subject string `json:"Subject"` Language struct { Name string `json:"name"` Code string `json:"code"` Reliable bool `json:"reliable"` } `json:"language"` } `json:"meta,omitempty"` } `json:"messages"` }
type GetNotesResponse ¶
type GetNotesResponse []Note
type GetReportsChannelSummaryResponse ¶
type GetReportsChannelSummaryResponse struct { Channels map[string]struct { Category struct { ID int `json:"id,omitempty"` Name string `json:"name,omitempty"` ChannelType int `json:"channel_type,omitempty"` ChannelTypeName string `json:"channel_type_name,omitempty"` } `json:"category,omitempty"` Brand struct { ID int `json:"id,omitempty"` Name string `json:"name,omitempty"` URL string `json:"url,omitempty"` } `json:"brand,omitempty"` StaffResponses int `json:"staff_responses,omitempty"` CustomerResponses int `json:"customer_responses,omitempty"` AverageResponseTimeSeconds any `json:"average_response_time_seconds,omitempty"` Appreciations int `json:"appreciations,omitempty"` ActiveConversations int `json:"active_conversations,omitempty"` ResolvedConversations int `json:"resolved_conversations,omitempty"` ArchivedConversations int `json:"archived_conversations,omitempty"` AverageSatisfactionRating float64 `json:"average_satisfaction_rating,omitempty"` AverageThreadSize float64 `json:"average_thread_size,omitempty"` } `json:"channels,omitempty"` StartDate string `json:"start_date,omitempty"` EndDate string `json:"end_date,omitempty"` }
type GetReportsResponseTimeRespone ¶
type GetReportsResponseTimeRespone struct { ResponseTimes map[string]float64 `json:"response_times,omitempty"` Summary struct { Averages struct { InRange float64 `json:"in_range,omitempty"` ThisMonth float64 `json:"this_month,omitempty"` ThisWeek float64 `json:"this_week,omitempty"` } `json:"averages,omitempty"` Trends struct { Last30Days struct { Average float64 `json:"average,omitempty"` ChangeRate any `json:"change_rate,omitempty"` } `json:"last_30_days,omitempty"` Last7Days struct { Average float64 `json:"average,omitempty"` ChangeRate string `json:"change_rate,omitempty"` } `json:"last_7_days,omitempty"` } `json:"trends,omitempty"` Ratio struct { Under1Hour float64 `json:"under_1_hour,omitempty"` Under1Day float64 `json:"under_1_day,omitempty"` Under1Week float64 `json:"under_1_week,omitempty"` } `json:"ratio,omitempty"` } `json:"summary,omitempty"` StartDate string `json:"start_date,omitempty"` EndDate string `json:"end_date,omitempty"` }
type GetReportsStaffResponse ¶
type GetReportsStaffResponse struct { Report struct { RelacjeHiLIVE struct { ResponseCount int `json:"response_count,omitempty"` ArchivedCount int `json:"archived_count,omitempty"` ResolvedCount int `json:"resolved_count,omitempty"` SatisfactionAverage any `json:"satisfaction_average,omitempty"` AppreciationsCount any `json:"appreciations_count,omitempty"` ResponsesTrend map[string]int `json:"responses_trend,omitempty"` ResponseTimeSeconds float64 `json:"response_time_seconds,omitempty"` } `json:"Relacje HiLIVE,omitempty"` } `json:"report,omitempty"` StartDate string `json:"start_date,omitempty"` EndDate string `json:"end_date,omitempty"` }
type GetReportsTagsResponse ¶
type GetStaffResponse ¶
type GetStaffResponse struct { PageSize int `json:"page_size,omitempty"` PageCount int `json:"page_count,omitempty"` TotalCount int `json:"total_count,omitempty"` Staff []struct { Name string `json:"name,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` Email string `json:"email,omitempty"` DisplayName string `json:"display_name,omitempty"` NotificationEmail string `json:"notification_email,omitempty"` Role struct { ID any `json:"id,omitempty"` Name string `json:"name,omitempty"` Description any `json:"description,omitempty"` Admin bool `json:"admin?,omitempty"` Default bool `json:"default?,omitempty"` Permissions struct { ManageStaff bool `json:"manage_staff?,omitempty"` ManageStaffRole bool `json:"manage_staff_role?,omitempty"` ManageDepartments bool `json:"manage_departments?,omitempty"` ViewStaff bool `json:"view_staff?,omitempty"` ManageSubscriptions bool `json:"manage_subscriptions?,omitempty"` ManageInvoiceEmail bool `json:"manage_invoice_email?,omitempty"` ManageKb bool `json:"manage_kb?,omitempty"` ManageAccount bool `json:"manage_account?,omitempty"` ManageResponseTemplates bool `json:"manage_response_templates?,omitempty"` ManagePersonalResponseTemplates bool `json:"manage_personal_response_templates?,omitempty"` ManageWorkflows bool `json:"manage_workflows?,omitempty"` ManageChatbots bool `json:"manage_chatbots?,omitempty"` ManagePushCampaigns bool `json:"manage_push_campaigns?,omitempty"` ManageWebsiteIntegrations bool `json:"manage_website_integrations?,omitempty"` ManageDeveloperSettings bool `json:"manage_developer_settings?,omitempty"` ManageAssignments bool `json:"manage_assignments?,omitempty"` ManageIncidents bool `json:"manage_incidents?,omitempty"` ManageNotes bool `json:"manage_notes?,omitempty"` DeleteConversations bool `json:"delete_conversations?,omitempty"` AccessVoice bool `json:"access_voice?,omitempty"` AccessVideoCall bool `json:"access_video_call?,omitempty"` AccessAiFeatures bool `json:"access_ai_features?,omitempty"` AccessWebhookSubscriptionsAPI bool `json:"access_webhook_subscriptions_api?,omitempty"` ManageTags bool `json:"manage_tags?,omitempty"` AccessChat bool `json:"access_chat?,omitempty"` AccessLiveView bool `json:"access_live_view?,omitempty"` AccessReports bool `json:"access_reports?,omitempty"` AccessStaffReports bool `json:"access_staff_reports?,omitempty"` ReplyToCustomers bool `json:"reply_to_customers?,omitempty"` EditCustomers bool `json:"edit_customers?,omitempty"` RestrictChannels bool `json:"restrict_channels?,omitempty"` MoveAcrossRestrictedChannels bool `json:"move_across_restricted_channels?,omitempty"` AssignAcrossRestrictedChannels bool `json:"assign_across_restricted_channels?,omitempty"` ViewReportsForRestrictedChannels bool `json:"view_reports_for_restricted_channels?,omitempty"` VisibleChannelIds []any `json:"visible_channel_ids,omitempty"` ViewAllContacts bool `json:"view_all_contacts?,omitempty"` ExportContacts bool `json:"export_contacts?,omitempty"` MaxChats int `json:"max_chats,omitempty"` BigcommerceAccess struct { Access bool `json:"access,omitempty"` ProcessRefunds bool `json:"process_refunds,omitempty"` } `json:"bigcommerce_access,omitempty"` LoyaltylionAccess struct { Access bool `json:"access,omitempty"` Edit bool `json:"edit,omitempty"` } `json:"loyaltylion_access,omitempty"` PipedriveAccess struct { Access bool `json:"access,omitempty"` ManageDeals bool `json:"manage_deals,omitempty"` } `json:"pipedrive_access,omitempty"` ShopifyAccess struct { Access bool `json:"access,omitempty"` EditDetails bool `json:"edit_details,omitempty"` ProcessRefunds bool `json:"process_refunds,omitempty"` ProcessCancels bool `json:"process_cancels,omitempty"` ManageDraftOrders bool `json:"manage_draft_orders,omitempty"` ManageFulfillments bool `json:"manage_fulfillments,omitempty"` } `json:"shopify_access,omitempty"` StripeAccess struct { Access bool `json:"access,omitempty"` ProcessRefunds bool `json:"process_refunds,omitempty"` CancelSubscriptions bool `json:"cancel_subscriptions,omitempty"` } `json:"stripe_access,omitempty"` WoocommerceAccess struct { Access bool `json:"access,omitempty"` ProcessRefunds bool `json:"process_refunds,omitempty"` } `json:"woocommerce_access,omitempty"` YotpoAccess struct { Access bool `json:"access,omitempty"` } `json:"yotpo_access,omitempty"` GbmAccess struct { Access bool `json:"access,omitempty"` } `json:"gbm_access,omitempty"` WixAccess struct { Access bool `json:"access,omitempty"` } `json:"wix_access,omitempty"` } `json:"permissions,omitempty"` } `json:"role,omitempty"` } `json:"staff,omitempty"` }
type GetSystemsResponse ¶
type GetSystemsResponse []struct { ID string `json:"id,omitempty"` Title string `json:"title,omitempty"` AccountID int `json:"account_id,omitempty"` BrandID int `json:"brand_id,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` Status string `json:"status,omitempty"` ActiveIncidents []struct { ID string `json:"id,omitempty"` Title string `json:"title,omitempty"` AccountID int `json:"account_id,omitempty"` BrandID int `json:"brand_id,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` Status string `json:"status,omitempty"` ExternalURL string `json:"external_url,omitempty"` Updates []struct { ID string `json:"id,omitempty"` Status string `json:"status,omitempty"` Message string `json:"message,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` } `json:"updates,omitempty"` IncidentsSystems []struct { ID string `json:"id,omitempty"` SystemID string `json:"system_id,omitempty"` Status string `json:"status,omitempty"` System struct { ID string `json:"id,omitempty"` Title string `json:"title,omitempty"` } `json:"system,omitempty"` } `json:"incidents_systems,omitempty"` } `json:"active_incidents,omitempty"` }
type Note ¶
type Note struct { ID string `json:"id,omitempty"` Note string `json:"note,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` Creator struct { Email string `json:"email,omitempty"` Name string `json:"name,omitempty"` } `json:"creator,omitempty"` }
type ReamazeArticle ¶
type ReamazeArticle struct { Title string `json:"title,omitempty"` Body string `json:"body,omitempty"` Slug string `json:"slug,omitempty"` Status int `json:"status,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` URL string `json:"url,omitempty"` Author struct { ID int `json:"id,omitempty"` Name string `json:"name,omitempty"` Data any `json:"data,omitempty"` Email string `json:"email,omitempty"` Twitter string `json:"twitter,omitempty"` Facebook string `json:"facebook,omitempty"` Instagram string `json:"instagram,omitempty"` Mobile string `json:"mobile,omitempty"` FriendlyName string `json:"friendly_name,omitempty"` DisplayName string `json:"display_name,omitempty"` } `json:"author,omitempty"` EmbeddedURL string `json:"embedded_url,omitempty"` Topic struct { Name string `json:"name,omitempty"` Slug string `json:"slug,omitempty"` } `json:"topic,omitempty"` }
type ReamazeArticlePage ¶
type ReamazeArticlePage int
func WithArticlePage ¶
func WithArticlePage(page int) ReamazeArticlePage
func (ReamazeArticlePage) Apply ¶
func (w ReamazeArticlePage) Apply(o *ReamazeArticlesOptions)
type ReamazeArticleQuery ¶
type ReamazeArticleQuery string
func WithArticleQuery ¶
func WithArticleQuery(query string) ReamazeArticleQuery
func (ReamazeArticleQuery) Apply ¶
func (w ReamazeArticleQuery) Apply(o *ReamazeArticlesOptions)
type ReamazeArticleStatus ¶
type ReamazeArticleStatus int
const ( ReamazeArticleStatusPublished ReamazeArticleStatus = 0 ReamazeArticleStatusDraft ReamazeArticleStatus = 1 ReamazeArticleStatusInternal ReamazeArticleStatus = 2 )
func WithArticleStatus ¶
func WithArticleStatus(status ReamazeArticleStatus) ReamazeArticleStatus
func (ReamazeArticleStatus) Apply ¶
func (w ReamazeArticleStatus) Apply(o *ReamazeArticlesOptions)
type ReamazeArticlesOptions ¶
type ReamazeArticlesOptions struct { ReamazeArticlesStatus string ReamazeArticlesQuery string ReamazeArticlesPage string }
func (ReamazeArticlesOptions) GetQuery ¶
func (r ReamazeArticlesOptions) GetQuery() string
type ReamazeCategory ¶
type ReamazeCategory string
func WithCategory ¶
func WithCategory(category string) ReamazeCategory
func (ReamazeCategory) Apply ¶
func (w ReamazeCategory) Apply(o *ReamazeOptions)
type ReamazeChannelType ¶
type ReamazeChannelType int
const ( ReamazeChannelEmail ReamazeChannelType = 1 ReamazeChannelTwitter ReamazeChannelType = 2 ReamazeChannelFacebook ReamazeChannelType = 3 ReamazeChannelChat ReamazeChannelType = 6 ReamazeChannelInstagram ReamazeChannelType = 8 ReamazeChannelSMS ReamazeChannelType = 9 ReamazeChannelVoice ReamazeChannelType = 10 ReamazeChannelFacebookMessanger ReamazeChannelType = 12 ReamazeChannelFacebookLead ReamazeChannelType = 13 ReamazeChannelInstagramAd ReamazeChannelType = 14 ReamazeChannelWhatsApp ReamazeChannelType = 15 ReamazeChannelInstagramDM ReamazeChannelType = 16 )
func (ReamazeChannelType) Name ¶
func (w ReamazeChannelType) Name() string
type ReamazeChannelVisibility ¶
type ReamazeChannelVisibility int
const ( ReamazeChannelVisibilityPrivate ReamazeChannelVisibility = 0 ReamazeChannelVisibilityPublic ReamazeChannelVisibility = 1 )
func (ReamazeChannelVisibility) Name ¶
func (w ReamazeChannelVisibility) Name() string
type ReamazeData ¶
func WithData ¶
func WithData(data map[string]string) ReamazeData
func (ReamazeData) Apply ¶
func (w ReamazeData) Apply(o *ReamazeOptions)
type ReamazeEndDate ¶
func WithEndDate ¶
func WithEndDate(year int, month int, day int) ReamazeEndDate
func (ReamazeEndDate) Apply ¶
func (w ReamazeEndDate) Apply(o *ReamazeOptions)
type ReamazeFilter ¶
type ReamazeFilter string
func WithFilter ¶
func WithFilter(filter ReamazeFilter) ReamazeFilter
func (ReamazeFilter) Apply ¶
func (w ReamazeFilter) Apply(o *ReamazeOptions)
type ReamazeFor ¶
type ReamazeFor string
func WithFor ¶
func WithFor(email string) ReamazeFor
func (ReamazeFor) Apply ¶
func (w ReamazeFor) Apply(o *ReamazeOptions)
type ReamazeForID ¶
type ReamazeForID string
func WithForID ¶
func WithForID(id string) ReamazeForID
func (ReamazeForID) Apply ¶
func (w ReamazeForID) Apply(o *ReamazeOptions)
type ReamazeIdentifier ¶
type ReamazeIdentifier string
const ( ReamazeIdentifierEmail ReamazeIdentifier = "email" ReamazeIdentifierMobile ReamazeIdentifier = "mobile" ReamazeIdentifierFacebook ReamazeIdentifier = "facebook" ReamazeIdentifierTwitter ReamazeIdentifier = "twitter" ReamazeIdentifierInstagram ReamazeIdentifier = "instagram" )
type ReamazeIncidentSystemStatus ¶
type ReamazeIncidentSystemStatus string
const ( ReamazeIncidentSystemStatusOperational ReamazeIncidentSystemStatus = "operational" ReamazeIncidentSystemStatusDegradedPerformance ReamazeIncidentSystemStatus = "degraded_performance" ReamazeIncidentSystemStatusPartialOutage ReamazeIncidentSystemStatus = "partial_outage" ReamazeIncidentSystemStatusMajorOutage ReamazeIncidentSystemStatus = "major_outage" ReamazeIncidentSystemStatusUnderMaintenance ReamazeIncidentSystemStatus = "under_maintenance" )
type ReamazeIncidentUpdateStatus ¶
type ReamazeIncidentUpdateStatus string
const ( ReamazeIncidentUpdateSatusInvestigating ReamazeIncidentUpdateStatus = "investigating" ReamazeIncidentUpdateStatusIdentified ReamazeIncidentUpdateStatus = "identified" ReamazeIncidentUpdateStatusMonitoring ReamazeIncidentUpdateStatus = "monitoring" ReamazeIncidentUpdateStatusResolved ReamazeIncidentUpdateStatus = "resolved" )
type ReamazeOptions ¶
type ReamazeOptions struct { ReamazeFilter string ReamazeFor string ReamazeForID string ReamazeSort string ReamazeTag string ReamazeCategory string ReamazeData string ReamazePage string ReamazeStartDate string ReamazeEndDate string }
func (ReamazeOptions) GetQuery ¶
func (r ReamazeOptions) GetQuery() string
type ReamazePage ¶
type ReamazePage int
func WithPage ¶
func WithPage(page int) ReamazePage
func (ReamazePage) Apply ¶
func (w ReamazePage) Apply(o *ReamazeOptions)
type ReamazePhoneNumber ¶
type ReamazePhoneNumber string
Contacts models
func (ReamazePhoneNumber) Validate ¶
func (w ReamazePhoneNumber) Validate() bool
type ReamazeReportOptions ¶
func (ReamazeReportOptions) GetQuery ¶
func (r ReamazeReportOptions) GetQuery() string
type ReamazeReportsEndDate ¶
func WithReportsEndDate ¶
func WithReportsEndDate(year int, month int, day int) ReamazeReportsEndDate
func (ReamazeReportsEndDate) Apply ¶
func (w ReamazeReportsEndDate) Apply(o *ReamazeReportOptions)
type ReamazeReportsStartDate ¶
func WithReportsStartDate ¶
func WithReportsStartDate(year, month, day int) ReamazeReportsStartDate
func (ReamazeReportsStartDate) Apply ¶
func (w ReamazeReportsStartDate) Apply(o *ReamazeReportOptions)
type ReamazeSort ¶
type ReamazeSort string
func WithSort ¶
func WithSort(sort ReamazeSort) ReamazeSort
func (ReamazeSort) Apply ¶
func (w ReamazeSort) Apply(o *ReamazeOptions)
type ReamazeStaffOptions ¶
type ReamazeStaffOptions struct {
ReamazeStaffPage string
}
func (ReamazeStaffOptions) GetQuery ¶
func (r ReamazeStaffOptions) GetQuery() string
type ReamazeStaffPage ¶
type ReamazeStaffPage int
func WithStaffPage ¶
func WithStaffPage(page int) ReamazeStaffPage
func (ReamazeStaffPage) Apply ¶
func (w ReamazeStaffPage) Apply(o *ReamazeStaffOptions)
type ReamazeStartDate ¶
func WithStartDate ¶
func WithStartDate(year, month, day int) ReamazeStartDate
func (ReamazeStartDate) Apply ¶
func (w ReamazeStartDate) Apply(o *ReamazeOptions)
type ReamazeStatus ¶
type ReamazeStatus int
const ( ReamazeStatusUnresolved ReamazeStatus = iota ReamazeStatusPending ReamazeStatusResolved ReamazeStatusSpam ReamazeStatusArchived ReamazeStatusOnHold ReamazeStatusAutoResolved ReamazeStatusChatbotAssigned ReamazeStatusChatbotResolved )
type ReamazeTags ¶
type ReamazeTags []string
func WithTags ¶
func WithTags(w ...string) ReamazeTags
func (ReamazeTags) Apply ¶
func (w ReamazeTags) Apply(o *ReamazeOptions)
type ReamazeVisibility ¶
type ReamazeVisibility int
const ( ReamazeVisibilityRegular ReamazeVisibility = 0 ReamazeVisibilityInternalNote ReamazeVisibility = 1 )
type ReportsOption ¶
type ReportsOption interface {
Apply(*ReamazeReportOptions)
}
type StaffOption ¶
type StaffOption interface {
Apply(*ReamazeStaffOptions)
}
type UpdateArticleRequest ¶
type UpdateArticleRequest ReamazeArticle
type UpdateArticleResponse ¶
type UpdateArticleResponse ReamazeArticle
type UpdateContactRequest ¶
type UpdateConversationRequest ¶
type UpdateConversationRequest struct { Conversation struct { TagList []string `json:"tag_list,omitempty"` Status ReamazeStatus `json:"status,omitempty"` Data any `json:"data,omitempty"` Assignee string `json:"assignee,omitempty"` Category string `json:"category,omitempty"` Brand string `json:"brand,omitempty"` } `json:"conversation,omitempty"` }
type UpdateIncidentRequest ¶
type UpdateIncidentRequest struct { Incident struct { Title string `json:"title,omitempty"` UpdatesAttributes []struct { Status ReamazeIncidentUpdateStatus `json:"status,omitempty"` Message string `json:"message,omitempty"` } `json:"updates_attributes,omitempty"` IncidentsSystemsAttributes []struct { ID string `json:"id,omitempty"` SystemID string `json:"system_id,omitempty"` Status ReamazeIncidentSystemStatus `json:"status,omitempty"` } `json:"incidents_systems_attributes,omitempty"` } `json:"incident,omitempty"` }
type UpdateIncidentResponse ¶
type UpdateIncidentResponse GetIncidentResponse
type UpdateNoteRequest ¶
type UpdateNoteRequest CreateNoteRequest
type UpdateNoteResponse ¶
type UpdateNoteResponse Note
type UpdateResponseTemplateRequest ¶
type UpdateResponseTemplateRequest CreateResponseTemplateRequest
type UpdateResponseTemplateResponse ¶
type UpdateResponseTemplateResponse GetResponseTemplateResponse
Source Files ¶
- articles.go
- articles_models.go
- channels.go
- channels_models.go
- contacts.go
- contacts_models.go
- conversations.go
- conversations_models.go
- incidents.go
- incidents_models.go
- messages.go
- messages_models.go
- notes.go
- notes_models.go
- reamaze.go
- reports.go
- reports_models.go
- response_templates.go
- response_templates_models.go
- staff.go
- staff_models.go
- systems.go
- systems_models.go