From 73e617a073d5c2875e7b53949dd37d1e35b412cd Mon Sep 17 00:00:00 2001 From: Alexander Kulinich Date: Thu, 6 Aug 2020 19:01:12 +0300 Subject: [PATCH] added fields WebhookData.Attachments and ChannelSettings.Suggestions --- v1/types.go | 43 ++++++++++++++++++++++++++++++++++--------- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/v1/types.go b/v1/types.go index 4df482e..401737d 100644 --- a/v1/types.go +++ b/v1/types.go @@ -85,15 +85,16 @@ type Channel struct { // ChannelSettings struct type ChannelSettings struct { - SpamAllowed bool `json:"spam_allowed"` - Status Status `json:"status"` - Text ChannelSettingsText `json:"text"` - Product Product `json:"product"` - Order Order `json:"order"` - File ChannelSettingsFilesBase `json:"file"` - Image ChannelSettingsFilesBase `json:"image"` - CustomerExternalID string `json:"customer_external_id,omitempty"` - SendingPolicy SendingPolicy `json:"sending_policy,omitempty"` + SpamAllowed bool `json:"spam_allowed"` + Status Status `json:"status"` + Text ChannelSettingsText `json:"text"` + Product Product `json:"product"` + Order Order `json:"order"` + File ChannelSettingsFilesBase `json:"file"` + Image ChannelSettingsFilesBase `json:"image"` + CustomerExternalID string `json:"customer_external_id,omitempty"` + SendingPolicy SendingPolicy `json:"sending_policy,omitempty"` + Suggestions ChannelSettingsSuggestions `json:"suggestions,omitempty"` } // Product type @@ -141,6 +142,12 @@ type SendingPolicy struct { AfterReplyTimeout string `json:"after_reply_timeout,omitempty"` } +type ChannelSettingsSuggestions struct { + Text string `json:"text,omitempty"` + Phone string `json:"phone,omitempty"` + Email string `json:"email,omitempty"` +} + // FullFileResponse uploaded file data type FullFileResponse struct { ID string `json:"id,omitempty"` @@ -331,6 +338,24 @@ type WebhookData struct { Order *MessageDataOrder `json:"order,omitempty"` Items *[]FileItem `json:"items,omitempty"` Template *TemplateInfo `json:"template,omitempty"` + Attachments *Attachments `json:"attachments,omitempty"` +} + +type Attachments struct { + Suggestions []Suggestion `json:"suggestions,omitempty"` +} + +const ( + SuggestionTypeText SuggestionType = "text" + SuggestionTypeEmail SuggestionType = "email" + SuggestionTypePhone SuggestionType = "phone" +) + +type SuggestionType string + +type Suggestion struct { + Type SuggestionType `json:"type"` + Title string `json:"title,omitempty"` // for text type required, for email and phone types always empty } type TemplateInfo struct {