1
0
mirror of synced 2024-11-22 04:56:06 +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 (
ChannelFeatureNone string = "none"
// ChannelFeatureNone channel can not implement feature
ChannelFeatureNone string = "none"
// ChannelFeatureReceive channel implement feature on receive
ChannelFeatureReceive string = "receive"
ChannelFeatureSend string = "send"
ChannelFeatureBoth string = "both"
// ChannelFeatureSend channel implement feature on send
ChannelFeatureSend string = "send"
// ChannelFeatureBoth channel implement feature on both directions
ChannelFeatureBoth string = "both"
)
// MgClient type
@ -140,28 +144,65 @@ type WebhookRequest struct {
// WebhookData request data
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"`
User *MessageDataUser `json:"user,omitempty"`
Bot *MessageDataBot `json:"bot,omitempty"`
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"`
User *MessageDataUser `json:"user,omitempty"`
Bot *MessageDataBot `json:"bot,omitempty"`
Product *MessageDataProduct `json:"product,omitempty"`
Order *MessageDataOrder `json:"order,omitempty"`
}
// MessageDataUser user data from webhook
type MessageDataUser struct {
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Avatar string `json:"avatar"`
}
// MessageDataBot bot data from webhook
type MessageDataBot struct {
Name string `json:"name"`
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
type TransportRequestMeta struct {
ID uint64 `json:"id"`