Documentation
¶
Index ¶
- Constants
- Variables
- func MakeTimestamp() int64
- func OriginatorMarshalJSONInvalid(t *testing.T)
- type ActivateResponse
- type ActivateTemplateRequest
- type Channel
- type ChannelListItem
- type ChannelSettings
- type ChannelSettingsFilesBase
- type ChannelSettingsText
- type Channels
- type Customer
- type DeleteData
- type DeleteResponse
- type EditMessageRequest
- type EditMessageRequestMessage
- type FileItem
- type FileMeta
- type FullFileResponse
- type Item
- type MarkMessageReadRequest
- type MarkMessageReadRequestMessage
- type MarkMessageReadResponse
- type Message
- type MessageDataBot
- type MessageDataOrder
- type MessageDataOrderCost
- type MessageDataOrderDelivery
- type MessageDataOrderItem
- type MessageDataOrderPayment
- type MessageDataOrderPaymentStatus
- type MessageDataOrderQuantity
- type MessageDataOrderStatus
- type MessageDataProduct
- type MessageDataUser
- type MessagesResponse
- type MgClient
- func (c *MgClient) ActivateTemplate(channelID uint64, request ActivateTemplateRequest) (int, error)
- func (c *MgClient) ActivateTransportChannel(request Channel) (ActivateResponse, int, error)
- func (c *MgClient) DeactivateTemplate(channelID uint64, templateCode string) (int, error)
- func (c *MgClient) DeactivateTransportChannel(id uint64) (DeleteResponse, int, error)
- func (c *MgClient) DeleteMessage(request DeleteData) (MessagesResponse, int, error)
- func (c *MgClient) DeleteRequest(url string, parameters []byte) ([]byte, int, error)
- func (c *MgClient) Error(info []byte) error
- func (c *MgClient) GetFile(request string) (FullFileResponse, int, error)
- func (c *MgClient) GetRequest(url string, parameters []byte) ([]byte, int, error)
- func (c *MgClient) MarkMessageRead(request MarkMessageReadRequest) (MarkMessageReadResponse, int, error)
- func (c *MgClient) Messages(request SendData) (MessagesResponse, int, error)
- func (c *MgClient) PostRequest(url string, parameters io.Reader) ([]byte, int, error)
- func (c *MgClient) PutRequest(url string, parameters []byte) ([]byte, int, error)
- func (c *MgClient) TransportChannels(request Channels) ([]ChannelListItem, int, error)
- func (c *MgClient) TransportTemplates() ([]Template, int, error)
- func (c *MgClient) UpdateMessages(request EditMessageRequest) (MessagesResponse, int, error)
- func (c *MgClient) UpdateTemplate(request Template) (int, error)
- func (c *MgClient) UpdateTransportChannel(request Channel) (UpdateResponse, int, error)
- func (c *MgClient) UploadFile(request io.Reader) (UploadFileResponse, int, error)
- func (c *MgClient) UploadFileByURL(request UploadFileByUrlRequest) (UploadFileResponse, int, error)
- type Order
- type Originator
- type Product
- type SendData
- type SendMessage
- type SendMessageRequestQuote
- type Status
- type Template
- type TemplateInfo
- type TemplateItem
- type TransportRequestMeta
- type UpdateResponse
- type UploadFileByUrlRequest
- type UploadFileResponse
- type WebhookData
- type WebhookRequest
Constants ¶
const ( // TemplateItemTypeText is a type for text chunk in template TemplateItemTypeText uint8 = iota // TemplateItemTypeVar is a type for variable in template TemplateItemTypeVar )
const ( // TemplateVarCustom is a custom variable type TemplateVarCustom = "custom" // TemplateVarName is a name variable type TemplateVarName = "name" // TemplateVarFirstName is a first name variable type TemplateVarFirstName = "first_name" // TemplateVarLastName is a last name variable type TemplateVarLastName = "last_name" )
const ( // ChannelFeatureNone channel can not implement feature ChannelFeatureNone string = "none" // ChannelFeatureReceive channel implement feature on receive ChannelFeatureReceive string = "receive" // ChannelFeatureSend channel implement feature on send ChannelFeatureSend string = "send" // ChannelFeatureBoth channel implement feature on both directions ChannelFeatureBoth string = "both" // MsgTypeText text message MsgTypeText string = "text" // MsgTypeSystem system message MsgTypeSystem string = "system" // MsgTypeCommand command (for bots) MsgTypeCommand string = "command" // MsgTypeOrder order card MsgTypeOrder string = "order" // MsgTypeProduct product card MsgTypeProduct string = "product" // MsgTypeFile file card MsgTypeFile string = "file" // MsgTypeImage image card MsgTypeImage string = "image" // MsgTypeAudio audio MsgTypeAudio string = "audio" // MsgOrderStatusCodeNew order status group new MsgOrderStatusCodeNew = "new" // MsgOrderStatusCodeApproval order status group approval MsgOrderStatusCodeApproval = "approval" // MsgOrderStatusCodeAssembling order status group assembling MsgOrderStatusCodeAssembling = "assembling" // MsgOrderStatusCodeDelivery order status group delivery MsgOrderStatusCodeDelivery = "delivery" // MsgOrderStatusCodeComplete order status group complete MsgOrderStatusCodeComplete = "complete" // MsgOrderStatusCodeCancel order status group cancel MsgOrderStatusCodeCancel = "cancel" FileSizeLimit = 20 * 1024 * 1024 )
noinspection ALL
const TemplateTypeText = "text"
TemplateTypeText is a text template type. There is no other types for now.
Variables ¶
var ErrInvalidOriginator = errors.New("invalid originator")
Functions ¶
func MakeTimestamp ¶ added in v1.1.1
func MakeTimestamp() int64
MakeTimestamp returns current unix timestamp
func OriginatorMarshalJSONInvalid ¶ added in v1.1.35
Types ¶
type ActivateResponse ¶
type ActivateResponse struct { ChannelID uint64 `json:"id"` ExternalID string `json:"external_id"` ActivatedAt time.Time `json:"activated_at"` }
ActivateResponse channel activation response
type ActivateTemplateRequest ¶ added in v1.1.35
type ActivateTemplateRequest struct { Code string `binding:"required,min=1,max=512" json:"code"` Name string `binding:"required,min=1,max=512" json:"name"` Type string `binding:"required" json:"type"` Template []TemplateItem `json:"template"` }
type Channel ¶
type Channel struct { ID uint64 `json:"id,omitempty"` ExternalID string `json:"external_id,omitempty"` Type string `json:"type,omitempty"` Name string `json:"name,omitempty"` AvatarUrl string `json:"avatar_url,omitempty"` Settings ChannelSettings `json:"settings,omitempty,brackets"` }
Channel type
type ChannelListItem ¶ added in v1.1.12
type ChannelListItem struct { ID uint64 `json:"id"` ExternalID string `json:"external_id"` Type string `json:"type"` Name *string `json:"name"` Settings ChannelSettings `json:"settings"` CreatedAt string `json:"created_at"` UpdatedAt *string `json:"updated_at"` ActivatedAt string `json:"activated_at"` DeactivatedAt *string `json:"deactivated_at"` IsActive bool `json:"is_active"` }
ChannelListItem response struct
type ChannelSettings ¶ added in v1.1.1
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"` }
ChannelSettings struct
type ChannelSettingsFilesBase ¶ added in v1.1.15
type ChannelSettingsFilesBase struct { Creating string `json:"creating,omitempty"` Editing string `json:"editing,omitempty"` Quoting string `json:"quoting,omitempty"` Deleting string `json:"deleting,omitempty"` Max uint64 `json:"max_items_count,omitempty"` CommentAttribute string `json:"comment_attribute,omitempty"` CommentMaxCharsCount int `json:"comment_max_chars_count,omitempty"` }
ChannelSettingsFilesBase struct
type ChannelSettingsText ¶ added in v1.1.2
type ChannelSettingsText struct { Creating string `json:"creating,omitempty"` Editing string `json:"editing,omitempty"` Quoting string `json:"quoting,omitempty"` Deleting string `json:"deleting,omitempty"` MaxCharsCount uint16 `json:"max_chars_count,omitempty"` }
ChannelSettingsText struct
type Channels ¶ added in v1.1.12
type Channels struct { ID int `url:"id,omitempty" json:"id,omitempty"` Types []string `url:"types,omitempty" json:"types,omitempty"` Active bool `url:"active,omitempty" json:"active,omitempty"` Since time.Time `url:"since,omitempty" json:"since,omitempty"` Until time.Time `url:"until,omitempty" json:"until,omitempty"` TransportID uint64 `url:"transport_id,omitempty" json:"transport_id,omitempty"` Sort string `url:"sort,omitempty" json:"sort,omitempty"` Limit int `url:"limit,omitempty" json:"limit,omitempty"` }
Channels request type
type Customer ¶ added in v1.1.28
type Customer struct { ExternalID string `json:"external_id"` Nickname string `json:"nickname"` Firstname string `json:"first_name,omitempty"` Lastname string `json:"last_name,omitempty"` Avatar string `json:"avatar,omitempty"` ProfileURL string `json:"profile_url,omitempty"` Country string `json:"country,omitempty"` Language string `json:"language,omitempty"` Phone string `json:"phone,omitempty"` Email string `json:"email,omitempty"` }
Customer struct
type DeleteData ¶ added in v1.0.1
DeleteData struct
type DeleteResponse ¶
type DeleteResponse struct { ChannelID uint64 `json:"id"` DeactivatedAt time.Time `json:"deactivated_at"` }
DeleteResponse channel deactivation response
type EditMessageRequest ¶ added in v1.1.13
type EditMessageRequest struct { Message EditMessageRequestMessage `json:"message"` Channel uint64 `json:"channel"` }
EditMessageRequest type
type EditMessageRequestMessage ¶ added in v1.1.13
type EditMessageRequestMessage struct { ExternalID string `json:"external_id"` Text string `json:"text"` EditedAt int64 `json:"edited_at"` }
EditMessageRequestMessage type
type FileItem ¶ added in v1.1.15
type FileItem struct { ID string `json:"id"` Size int `json:"size"` Caption string `json:"caption"` Height *int `json:"height,omitempty"` Width *int `json:"width,omitempty"` }
FileItem struct
type FullFileResponse ¶ added in v1.1.15
type FullFileResponse struct { ID string `json:"id,omitempty"` Type string `json:"type,omitempty"` Size int `json:"size,omitempty"` Url string `json:"url,omitempty"` }
FullFileResponse uploaded file data
type MarkMessageReadRequest ¶ added in v1.1.13
type MarkMessageReadRequest struct { Message MarkMessageReadRequestMessage `json:"message"` ChannelID uint64 `json:"channel_id"` }
MarkMessageReadRequest type
type MarkMessageReadRequestMessage ¶ added in v1.1.13
type MarkMessageReadRequestMessage struct {
ExternalID string `json:"external_id"`
}
MarkMessageReadRequestMessage type
type MarkMessageReadResponse ¶ added in v1.1.13
type MarkMessageReadResponse struct{}
MarkMessageReadResponse type
type Message ¶
type Message struct { ExternalID string `json:"external_id"` Type string `json:"type,omitempty"` Text string `json:"text,omitempty"` Note string `json:"note,omitempty"` Items []Item `json:"items,omitempty"` }
Message struct
type MessageDataBot ¶ added in v1.1.3
MessageDataBot bot data from webhook
type MessageDataOrder ¶ added in v1.1.6
type MessageDataOrder struct { Number string `json:"number"` Url string `json:"url,omitempty"` Date string `json:"date,omitempty"` Cost *MessageDataOrderCost `json:"cost,omitempty"` Discount *MessageDataOrderCost `json:"discount,omitempty"` Status *MessageDataOrderStatus `json:"status,omitempty"` Delivery *MessageDataOrderDelivery `json:"delivery"` Payments []MessageDataOrderPayment `json:"payments"` Items []MessageDataOrderItem `json:"items,omitempty"` }
MessageDataOrder order data from webhook
type MessageDataOrderCost ¶ added in v1.1.6
type MessageDataOrderCost struct { Value float32 `json:"value,omitempty"` Currency string `json:"currency"` }
MessageDataOrderCost type
type MessageDataOrderDelivery ¶ added in v1.1.10
type MessageDataOrderDelivery struct { Name string `json:"name"` Price *MessageDataOrderCost `json:"price"` Address string `json:"address"` Comment string `json:"comment,omitempty"` }
MessageDataOrderDelivery type
type MessageDataOrderItem ¶ added in v1.1.6
type MessageDataOrderItem struct { Name string `json:"name,omitempty"` Url string `json:"url,omitempty"` Img string `json:"img,omitempty"` Quantity *MessageDataOrderQuantity `json:"quantity,omitempty"` Price *MessageDataOrderCost `json:"price,omitempty"` }
MessageDataOrderItem type
type MessageDataOrderPayment ¶ added in v1.1.10
type MessageDataOrderPayment struct { Name string `json:"name"` Status *MessageDataOrderPaymentStatus `json:"status"` Amount *MessageDataOrderCost `json:"amount"` }
MessageDataOrderPayment type
type MessageDataOrderPaymentStatus ¶ added in v1.1.10
MessageDataOrderPaymentStatus type
type MessageDataOrderQuantity ¶ added in v1.1.6
MessageDataOrderQuantity type
type MessageDataOrderStatus ¶ added in v1.1.6
type MessageDataOrderStatus struct { Code string `json:"code,omitempty"` Name string `json:"name,omitempty"` }
MessageDataOrderStatus type
type MessageDataProduct ¶ added in v1.1.6
type MessageDataProduct struct { ID uint64 `json:"id"` Name string `json:"name"` Article string `json:"article,omitempty"` Url string `json:"url,omitempty"` Img string `json:"img,omitempty"` Cost *MessageDataOrderCost `json:"cost,omitempty"` Unit string `json:"unit,omitempty"` // Deprecated: now you need to use Unit instead of this field Quantity *MessageDataOrderQuantity `json:"quantity,omitempty"` }
MessageDataProduct product data from webhook
type MessageDataUser ¶ added in v1.1.3
type MessageDataUser struct { FirstName string `json:"first_name"` LastName string `json:"last_name"` Avatar string `json:"avatar"` }
MessageDataUser user data from webhook
type MessagesResponse ¶
type MessagesResponse struct { MessageID int `json:"message_id,omitempty"` Time time.Time `json:"time,omitempty"` }
MessagesResponse message event response
type MgClient ¶
type MgClient struct { URL string `json:"url"` Token string `json:"token"` Debug bool `json:"debug"` // contains filtered or unexported fields }
MgClient type
func NewWithClient ¶ added in v1.1.33
NewWithClient initializes client with provided http client
func (*MgClient) ActivateTemplate ¶ added in v1.1.35
func (c *MgClient) ActivateTemplate(channelID uint64, request ActivateTemplateRequest) (int, error)
ActivateTransportChannel implements template activation
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d4999be73bff503ea6") request := v1.ActivateTemplateRequest{ Code: "code", Name: "name", Type: v1.TemplateTypeText, Template: []v1.TemplateItem{ { Type: v1.TemplateItemTypeText, Text: "Hello, ", }, { Type: v1.TemplateItemTypeVar, VarType: v1.TemplateVarName, }, { Type: v1.TemplateItemTypeText, Text: "!", }, }, } _, err := client.ActivateTemplate(uint64(1), request) if err != nil { fmt.Printf("%v", err) }
func (*MgClient) ActivateTransportChannel ¶
func (c *MgClient) ActivateTransportChannel(request Channel) (ActivateResponse, int, error)
ActivateTransportChannel implement channel activation
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d4999be73bff503ea6") request := ActivateRequest{ Type: "telegram", Name: "@my_shopping_bot", Settings: ChannelSettings{ SpamAllowed: false, Status: Status{ Delivered: ChannelFeatureNone, Read: ChannelFeatureReceive, }, Text: ChannelSettingsText{ Creating: ChannelFeatureBoth, Editing: ChannelFeatureBoth, Quoting: ChannelFeatureReceive, Deleting: ChannelFeatureSend, MaxCharsCount: 2000, }, Product: Product{ Creating: ChannelFeatureSend, Deleting: ChannelFeatureSend, }, Order: Order{ Creating: ChannelFeatureBoth, Deleting: ChannelFeatureSend, }, }, } data, status, err := client.ActivateTransportChannel(request) if err != nil { fmt.Printf("%v", err) } fmt.Printf("%s\n", data.CreatedAt)
func (*MgClient) DeactivateTemplate ¶ added in v1.1.35
DeactivateTemplate implements template deactivation
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d4999be73bff503ea6") _, err := client.DeactivateTemplate(3053450384, "templateCode") if err != nil { fmt.Printf("%v", err) }
func (*MgClient) DeactivateTransportChannel ¶
func (c *MgClient) DeactivateTransportChannel(id uint64) (DeleteResponse, int, error)
DeactivateTransportChannel implement channel deactivation
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d4999be73bff503ea6") data, status, err := client.DeactivateTransportChannel(3053450384) if err != nil { fmt.Printf("%v", err) } fmt.Printf("%s\n", data.DeactivatedAt)
func (*MgClient) DeleteMessage ¶
func (c *MgClient) DeleteMessage(request DeleteData) (MessagesResponse, int, error)
DeleteMessage implement delete message
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d4999be73bff503ea6") msg := DeleteData{ Message{ ExternalID: "274628", }, 10, } data, status, err := client.DeleteMessage(msg) if err != nil { fmt.Printf("%v", err) } fmt.Printf("%s\n", data.MessageID)
func (*MgClient) DeleteRequest ¶
DeleteRequest implements DELETE Request
func (*MgClient) GetFile ¶ added in v1.1.15
func (c *MgClient) GetFile(request string) (FullFileResponse, int, error)
GetFile implement get file url
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d4999be73bff503ea6") data, status, err := client.GetFile("file_ID") if err != nil { fmt.Printf("%v", err) } fmt.Printf("%s\n", data.MessageID)
func (*MgClient) GetRequest ¶
GetRequest implements GET Request
func (*MgClient) MarkMessageRead ¶ added in v1.1.13
func (c *MgClient) MarkMessageRead(request MarkMessageReadRequest) (MarkMessageReadResponse, int, error)
MarkMessageRead send message read event to MG
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d4999be73bff503ea6") msg := MarkMessageReadRequest{ Message{ ExternalID: "274628", }, 10, } data, status, err := client.MarkMessageRead(msg) if err != nil { fmt.Printf("%v", err) } fmt.Printf("%v %v\n", status, data)
func (*MgClient) Messages ¶
func (c *MgClient) Messages(request SendData) (MessagesResponse, int, error)
Messages implement send message
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d4999be73bff503ea6") msg := SendData{ SendMessage{ Message{ ExternalID: "274628", Type: "text", Text: "hello!", }, time.Now(), }, User{ ExternalID: "8", Nickname: "@octopus", Firstname: "Joe", }, 10, } data, status, err := client.Messages(msg) if err != nil { fmt.Printf("%v", err) } fmt.Printf("%s\n", data.MessageID)
func (*MgClient) PostRequest ¶
PostRequest implements POST Request
func (*MgClient) PutRequest ¶
PutRequest implements PUT Request
func (*MgClient) TransportChannels ¶ added in v1.1.12
func (c *MgClient) TransportChannels(request Channels) ([]ChannelListItem, int, error)
TransportChannels returns channels list
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d4999be73bff503ea6") data, status, err := client.TransportChannels(Channels{Active: true}) if err != nil { fmt.Printf("%v", err) } fmt.Printf("Status: %v, Channels found: %v", status, len(data))
func (*MgClient) TransportTemplates ¶ added in v1.1.35
TransportTemplates returns templates list
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d4999be73bff503ea6") data, status, err := client.TransportTemplates() if err != nil { fmt.Printf("%v", err) } fmt.Printf("Status: %v, Templates found: %v", status, len(data))
func (*MgClient) UpdateMessages ¶
func (c *MgClient) UpdateMessages(request EditMessageRequest) (MessagesResponse, int, error)
UpdateMessages implement edit message
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d4999be73bff503ea6") msg := UpdateData{ UpdateMessage{ Message{ ExternalID: "274628", Type: "text", Text: "hello hello!", }, MakeTimestamp(), }, 10, } data, status, err := client.UpdateMessages(msg) if err != nil { fmt.Printf("%v", err) } fmt.Printf("%s\n", data.MessageID)
func (*MgClient) UpdateTemplate ¶ added in v1.1.35
UpdateTemplate implements template updating Example:
var client = New("https://token.url", "cb8ccf05e38a47543ad8477d4999be73bff503ea6") request := v1.Template{ Code: "templateCode", ChannelID: 1, Name: "templateName", Template: []v1.TemplateItem{ { Type: v1.TemplateItemTypeText, Text: "Welcome, ", }, { Type: v1.TemplateItemTypeVar, VarType: v1.TemplateVarName, }, { Type: v1.TemplateItemTypeText, Text: "!", }, }, } _, err := client.UpdateTemplate(request) if err != nil { fmt.Printf("%#v", err) }
func (*MgClient) UpdateTransportChannel ¶
func (c *MgClient) UpdateTransportChannel(request Channel) (UpdateResponse, int, error)
UpdateTransportChannel implement channel activation
Example:
var client = v1.New("https://token.url", "cb8ccf05e38a47543ad8477d4999be73bff503ea6") request := ActivateRequest{ ID: 3053450384, Type: "telegram", Name: "@my_shopping_bot", Settings: ChannelSettings{ SpamAllowed: false, Status: Status{ Delivered: ChannelFeatureNone, Read: ChannelFeatureReceive, }, Text: ChannelSettingsText{ Creating: ChannelFeatureBoth, Editing: ChannelFeatureSend, Quoting: ChannelFeatureReceive, Deleting: ChannelFeatureBoth, }, Product: Product{ Creating: ChannelFeatureSend, Deleting: ChannelFeatureSend, }, Order: Order{ Creating: ChannelFeatureBoth, Deleting: ChannelFeatureSend, }, }, } data, status, err := client.UpdateTransportChannel(request) if err != nil { fmt.Printf("%v", err) } fmt.Printf("%s\n", data.UpdatedAt)
func (*MgClient) UploadFile ¶ added in v1.1.15
UploadFile upload file
func (*MgClient) UploadFileByURL ¶ added in v1.1.15
func (c *MgClient) UploadFileByURL(request UploadFileByUrlRequest) (UploadFileResponse, int, error)
UploadFileByURL upload file by url
type Order ¶ added in v1.1.8
type Order struct { Creating string `json:"creating,omitempty"` Editing string `json:"editing,omitempty"` Deleting string `json:"deleting,omitempty"` }
Order type
type Originator ¶ added in v1.1.28
type Originator byte
Originator of message
const ( // OriginatorCustomer means message was created by customer OriginatorCustomer Originator = iota + 1 // OriginatorChannel means message was created by channel, for example via messenger mobile application OriginatorChannel )
func (Originator) MarshalText ¶ added in v1.1.28
func (o Originator) MarshalText() ([]byte, error)
MarshalText marshals originator to text
type Product ¶ added in v1.1.8
type Product struct { Creating string `json:"creating,omitempty"` Editing string `json:"editing,omitempty"` Deleting string `json:"deleting,omitempty"` }
Product type
type SendData ¶
type SendData struct { Message Message `json:"message"` Originator Originator `json:"originator,omitempty"` Customer Customer `json:"customer"` Channel uint64 `json:"channel"` ExternalChatID string `json:"external_chat_id"` Quote *SendMessageRequestQuote `json:"quote,omitempty"` }
SendData struct
type SendMessage ¶
SendMessage struct
type SendMessageRequestQuote ¶ added in v1.1.0
type SendMessageRequestQuote struct {
ExternalID string `json:"external_id"`
}
SendMessageRequestQuote type
type Status ¶ added in v1.1.2
type Status struct { Delivered string `json:"delivered,omitempty"` Read string `json:"read,omitempty"` }
Status struct
type Template ¶ added in v1.1.35
type Template struct { Code string `json:"code"` ChannelID uint64 `json:"channel_id,omitempty"` Name string `json:"name"` Enabled bool `json:"enabled,omitempty"` Type string `json:"type"` Template []TemplateItem `json:"template"` }
Template struct
type TemplateInfo ¶ added in v1.1.37
type TemplateItem ¶ added in v1.1.35
TemplateItem is a part of template
func (TemplateItem) MarshalJSON ¶ added in v1.1.35
func (t TemplateItem) MarshalJSON() ([]byte, error)
MarshalJSON controls how TemplateItem will be marshaled into JSON
func (*TemplateItem) UnmarshalJSON ¶ added in v1.1.35
func (t *TemplateItem) UnmarshalJSON(b []byte) error
UnmarshalJSON will correctly unmarshal TemplateItem
type TransportRequestMeta ¶ added in v1.1.0
TransportRequestMeta request metadata
type UpdateResponse ¶
type UpdateResponse struct { ChannelID uint64 `json:"id"` ExternalID string `json:"external_id"` UpdatedAt time.Time `json:"updated_at"` }
UpdateResponse channel update response
type UploadFileByUrlRequest ¶ added in v1.1.15
type UploadFileByUrlRequest struct {
Url string `json:"url"`
}
UploadFileByUrlRequest file url to upload
type UploadFileResponse ¶ added in v1.1.15
type UploadFileResponse struct { ID string `json:"id"` Hash string `json:"hash"` Type string `json:"type"` Meta FileMeta `json:"meta"` MimeType string `json:"mime_type"` Size int `json:"size"` Url *string `json:"source_url"` CreatedAt time.Time `json:"created_at"` }
UploadFileResponse uploaded file data
type WebhookData ¶ added in v1.1.0
type WebhookData struct { ExternalUserID string `json:"external_user_id"` ExternalMessageID string `json:"external_message_id,omitempty"` ExternalChatID string `json:"external_chat_id"` ChannelID uint64 `json:"channel_id"` Content string `json:"content"` QuoteExternalID string `json:"quote_external_id,omitempty"` QuoteContent string `json:"quote_content,omitempty"` Type string `json:"type"` User *MessageDataUser `json:"user,omitempty"` Bot *MessageDataBot `json:"bot,omitempty"` Product *MessageDataProduct `json:"product,omitempty"` Order *MessageDataOrder `json:"order,omitempty"` Items *[]FileItem `json:"items,omitempty"` Template *TemplateInfo `json:"template,omitempty"` }
WebhookData request data
type WebhookRequest ¶ added in v1.1.0
type WebhookRequest struct { Type string `json:"type"` Meta TransportRequestMeta `json:"meta"` Data WebhookData `json:"data"` }
WebhookRequest type