1
0
mirror of synced 2024-11-25 22:36:03 +03:00
messenger/settings.go

56 lines
2.0 KiB
Go

package messenger
// Defines the different sizes available when setting up a CallToActionsItem
// of type "web_url". These values can be used in the "WebviewHeightRatio"
// field.
const (
// WebviewCompact opens the page in a web view that takes half the screen
// and covers only part of the conversation.
WebviewCompact = "compact"
// WebviewTall opens the page in a web view that covers about 75% of the
// conversation.
WebviewTall = "tall"
// WebviewFull opens the page in a web view that completely covers the
// conversation, and has a "back" button instead of a "close" one.
WebviewFull = "full"
)
// GreetingSetting is the setting for greeting message.
type GreetingSetting struct {
SettingType string `json:"setting_type"`
Greeting GreetingInfo `json:"greeting"`
}
// GreetingInfo contains greeting message.
type GreetingInfo struct {
Text string `json:"text"`
}
// CallToActionsSetting is the settings for Get Started and Persist Menu.
type CallToActionsSetting struct {
SettingType string `json:"setting_type"`
ThreadState string `json:"thread_state"`
CallToActions []CallToActionsItem `json:"call_to_actions"`
}
// CallToActionsItem contains Get Started button or item of Persist Menu.
type CallToActionsItem struct {
Type string `json:"type,omitempty"`
Title string `json:"title,omitempty"`
Payload string `json:"payload,omitempty"`
URL string `json:"url,omitempty"`
WebviewHeightRatio string `json:"webview_height_ratio,omitempty"`
MessengerExtension bool `json:"messenger_extensions,omitempty"`
}
// HomeURL is the settings for EnableChatExtension
// https://developers.facebook.com/docs/messenger-platform/reference/messenger-profile-api/home-url
type HomeURL struct {
URL string `json:"url,omitempty"`
WebviewHeightRatio string `json:"webview_height_ratio,omitempty"`
WebviewShareButton string `json:"webview_share_button,omitempty"`
InTest bool `json:"in_test,omitempty"`
}