1
0
mirror of synced 2024-11-25 06:26:03 +03:00

add product & order data to message struct

This commit is contained in:
Alex Lushpai 2018-09-12 00:18:49 +03:00
parent 70ddbb4650
commit 65a3347f16

View File

@ -6,10 +6,14 @@ import (
) )
const ( const (
ChannelFeatureNone string = "none" // ChannelFeatureNone channel can not implement feature
ChannelFeatureNone string = "none"
// ChannelFeatureReceive channel implement feature on receive
ChannelFeatureReceive string = "receive" ChannelFeatureReceive string = "receive"
ChannelFeatureSend string = "send" // ChannelFeatureSend channel implement feature on send
ChannelFeatureBoth string = "both" ChannelFeatureSend string = "send"
// ChannelFeatureBoth channel implement feature on both directions
ChannelFeatureBoth string = "both"
) )
// MgClient type // MgClient type
@ -140,28 +144,65 @@ type WebhookRequest struct {
// WebhookData request data // WebhookData request data
type WebhookData struct { type WebhookData struct {
ExternalUserID string `json:"external_user_id"` ExternalUserID string `json:"external_user_id"`
ExternalMessageID string `json:"external_message_id,omitempty"` ExternalMessageID string `json:"external_message_id,omitempty"`
ExternalChatID string `json:"external_chat_id"` ExternalChatID string `json:"external_chat_id"`
ChannelID uint64 `json:"channel_id"` ChannelID uint64 `json:"channel_id"`
Content string `json:"content"` Content string `json:"content"`
QuoteExternalID string `json:"quote_external_id,omitempty"` QuoteExternalID string `json:"quote_external_id,omitempty"`
QuoteContent string `json:"quote_content,omitempty"` QuoteContent string `json:"quote_content,omitempty"`
User *MessageDataUser `json:"user,omitempty"` User *MessageDataUser `json:"user,omitempty"`
Bot *MessageDataBot `json:"bot,omitempty"` Bot *MessageDataBot `json:"bot,omitempty"`
Product *MessageDataProduct `json:"product,omitempty"`
Order *MessageDataOrder `json:"order,omitempty"`
} }
// MessageDataUser user data from webhook
type MessageDataUser struct { type MessageDataUser struct {
FirstName string `json:"first_name"` FirstName string `json:"first_name"`
LastName string `json:"last_name"` LastName string `json:"last_name"`
Avatar string `json:"avatar"` Avatar string `json:"avatar"`
} }
// MessageDataBot bot data from webhook
type MessageDataBot struct { type MessageDataBot struct {
Name string `json:"name"` Name string `json:"name"`
Avatar string `json:"avatar"` Avatar string `json:"avatar"`
} }
// MessageDataProduct product data from webhook
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 string `json:"cost,omitempty"`
Quantity string `json:"quantity,omitempty"`
}
// MessageDataOrder order data from webhook
type MessageDataOrder struct {
Number string `json:"number"`
Url string `json:"url,omitempty"`
Date string `json:"date,omitempty"`
Cost string `json:"cost,omitempty"`
Status *MessageDataOrderStatus `json:"status,omitempty"`
Items []MessageDataOrderItem `json:"items,omitempty"`
}
type MessageDataOrderStatus struct {
Code string `json:"code,omitempty"`
Name string `json:"name,omitempty"`
}
type MessageDataOrderItem struct {
Name string `json:"name,omitempty"`
Url string `json:"url,omitempty"`
Quantity string `json:"quantity,omitempty"`
Price string `json:"price,omitempty"`
}
// TransportRequestMeta request metadata // TransportRequestMeta request metadata
type TransportRequestMeta struct { type TransportRequestMeta struct {
ID uint64 `json:"id"` ID uint64 `json:"id"`