schema

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2021 License: MIT Imports: 1 Imported by: 0

Documentation

Overview

Package schema defines all the model classes used in the library

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActionTypes

type ActionTypes string

ActionTypes : Defines action types for clickable buttons.

const (
	OpenURL      ActionTypes = "openUrl"
	ImBack       ActionTypes = "imBack"
	PostBack     ActionTypes = "postBack"
	PlayAudio    ActionTypes = "playAudio"
	PlayVideo    ActionTypes = "playVideo"
	ShowImage    ActionTypes = "showImage"
	DownloadFile ActionTypes = "downloadFile"
	Signin       ActionTypes = "signin"
	Call         ActionTypes = "call"
	Payment      ActionTypes = "payment"
	MessageBack  ActionTypes = "messageBack"
)

List of ActionTypes

type Activity

type Activity struct {
	Type ActivityTypes `json:"type,omitempty"`

	// Contains an ID that uniquely identifies the activity on the channel.
	ID string `json:"id,omitempty"`

	// Contains the date and time that the message was sent, in UTC, expressed in ISO-8601 format.
	Timestamp time.Time `json:"timestamp,omitempty"`

	// Contains the local date and time of the message, expressed in ISO-8601 format.  For example, 2016-09-23T13:07:49.4714686-07:00.
	LocalTimestamp time.Time `json:"localTimestamp,omitempty"`

	// Contains the name of the local timezone of the message, expressed in IANA Time Zone database format.  For example, America/Los_Angeles.
	LocalTimezone string `json:"localTimezone,omitempty"`

	// A string containing an IRI identifying the caller of a bot. This field is not intended to be transmitted  over the wire, but is instead populated by bots and clients based on cryptographically verifiable data  that asserts the identity of the callers (e.g. tokens).
	CallerID string `json:"callerId,omitempty"`

	// Contains the URL that specifies the channel's service endpoint. Set by the channel.
	ServiceURL string `json:"serviceUrl,omitempty"`

	// Contains an ID that uniquely identifies the channel. Set by the channel.
	ChannelID string `json:"channelId,omitempty"`

	From ChannelAccount `json:"from,omitempty"`

	Conversation ConversationAccount `json:"conversation,omitempty"`

	Recipient ChannelAccount `json:"recipient,omitempty"`

	TextFormat TextFormatTypes `json:"textFormat,omitempty"`

	AttachmentLayout AttachmentLayoutTypes `json:"attachmentLayout,omitempty"`

	// The collection of members added to the conversation.
	MembersAdded []ChannelAccount `json:"membersAdded,omitempty"`

	// The collection of members removed from the conversation.
	MembersRemoved []ChannelAccount `json:"membersRemoved,omitempty"`

	// The collection of reactions added to the conversation.
	ReactionsAdded []MessageReaction `json:"reactionsAdded,omitempty"`

	// The collection of reactions removed from the conversation.
	ReactionsRemoved []MessageReaction `json:"reactionsRemoved,omitempty"`

	// The updated topic name of the conversation.
	TopicName string `json:"topicName,omitempty"`

	// Indicates whether the prior history of the channel is disclosed.
	HistoryDisclosed bool `json:"historyDisclosed,omitempty"`

	// A locale name for the contents of the text field.  The locale name is a combination of an ISO 639 two- or three-letter culture code associated with a language  and an ISO 3166 two-letter subculture code associated with a country or region.  The locale name can also correspond to a valid BCP-47 language tag.
	Locale string `json:"locale,omitempty"`

	// The text content of the message.
	Text string `json:"text,omitempty"`

	// The text to speak.
	Speak string `json:"speak,omitempty"`

	InputHint InputHints `json:"inputHint,omitempty"`

	// The text to display if the channel cannot render cards.
	Summary string `json:"summary,omitempty"`

	SuggestedActions SuggestedActions `json:"suggestedActions,omitempty"`

	// Attachments
	Attachments []Attachment `json:"attachments,omitempty"`

	// Represents the entities that were mentioned in the message.
	Entities []Entity `json:"entities,omitempty"`

	// Contains channel-specific content.
	ChannelData map[string]interface{} `json:"channelData,omitempty"`

	// Indicates whether the recipient of a contactRelationUpdate was added or removed from the sender's contact list.
	Action string `json:"action,omitempty"`

	// Contains the ID of the message to which this message is a reply.
	ReplyToID string `json:"replyToId,omitempty"`

	// A descriptive label for the activity.
	Label string `json:"label,omitempty"`

	// The type of the activity's value object.
	ValueType string `json:"valueType,omitempty"`

	// A value that is associated with the activity.
	Value map[string]interface{} `json:"value,omitempty"`

	// The name of the operation associated with an invoke or event activity.
	Name string `json:"name,omitempty"`

	RelatesTo ConversationReference `json:"relatesTo,omitempty"`

	Code EndOfConversationCodes `json:"code,omitempty"`

	// The time at which the activity should be considered to be \"expired\" and should not be presented to the recipient.
	Expiration time.Time `json:"expiration,omitempty"`

	Importance ActivityImportance `json:"importance,omitempty"`

	DeliveryMode DeliveryModes `json:"deliveryMode,omitempty"`

	// List of phrases and references that speech and language priming systems should listen for
	ListenFor []string `json:"listenFor,omitempty"`

	// The collection of text fragments to highlight when the activity contains a ReplyToId value.
	TextHighlights []TextHighlight `json:"textHighlights,omitempty"`

	SemanticAction SemanticAction `json:"semanticAction,omitempty"`
}

Activity - An Activity is the basic communication type for the Bot Framework 3.0 protocol.

type ActivityImportance

type ActivityImportance string

ActivityImportance : Defines the importance of an Activity

const (
	ActivityLow    ActivityImportance = "low"
	ActivityNormal ActivityImportance = "normal"
	ActivityHigh   ActivityImportance = "high"
)

List of ActivityImportance

type ActivityTypes

type ActivityTypes string

ActivityTypes : Types of Activities

const (
	Message               ActivityTypes = "message"
	ContactRelationUpdate ActivityTypes = "contactRelationUpdate"
	ConversationUpdate    ActivityTypes = "conversationUpdate"
	Typing                ActivityTypes = "typing"
	EndOfConversation     ActivityTypes = "endOfConversation"
	Event                 ActivityTypes = "event"
	Invoke                ActivityTypes = "invoke"
	DeleteUserData        ActivityTypes = "deleteUserData"
	MessageUpdate         ActivityTypes = "messageUpdate"
	MessageDelete         ActivityTypes = "messageDelete"
	InstallationUpdate    ActivityTypes = "installationUpdate"
	MsgReaction           ActivityTypes = "messageReaction"
	Suggestion            ActivityTypes = "suggestion"
	Trace                 ActivityTypes = "trace"
	Handoff               ActivityTypes = "handoff"
)

List of ActivityTypes

type AnimationCard

type AnimationCard struct {

	// Title of this card
	Title string `json:"title,omitempty"`

	// Subtitle of this card
	Subtitle string `json:"subtitle,omitempty"`

	// Text of this card
	Text string `json:"text,omitempty"`

	Image ThumbnailURL `json:"image,omitempty"`

	// Media URLs for this card. When this field contains more than one URL, each URL is an alternative format of the same content.
	Media []MediaURL `json:"media,omitempty"`

	// Actions on this card
	Buttons []CardAction `json:"buttons,omitempty"`

	// This content may be shared with others (default:true)
	Shareable bool `json:"shareable,omitempty"`

	// Should the client loop playback at end of content (default:true)
	Autoloop bool `json:"autoloop,omitempty"`

	// Should the client automatically start playback of media in this card (default:true)
	Autostart bool `json:"autostart,omitempty"`

	// Aspect ratio of thumbnail/media placeholder. Allowed values are \"16:9\" and \"4:3\"
	Aspect string `json:"aspect,omitempty"`

	// Describes the length of the media content without requiring a receiver to open the content. Formatted as an ISO 8601 Duration field.
	Duration string `json:"duration,omitempty"`

	// Supplementary parameter for this card
	Value map[string]interface{} `json:"value,omitempty"`
}

AnimationCard - An animation card (Ex: gif or short video clip)

type Attachment

type Attachment struct {

	// mimetype/Contenttype for the file
	ContentType string `json:"contentType,omitempty"`

	// Content Url
	ContentURL string `json:"contentUrl,omitempty"`

	// Embedded content
	Content interface{} `json:"content,omitempty"`

	// (OPTIONAL) The name of the attachment
	Name string `json:"name,omitempty"`

	// (OPTIONAL) Thumbnail associated with attachment
	ThumbnailURL string `json:"thumbnailUrl,omitempty"`
}

Attachment - An attachment within an activity

type AttachmentData

type AttachmentData struct {

	// Content-Type of the attachment
	Type string `json:"type,omitempty"`

	// Name of the attachment
	Name string `json:"name,omitempty"`

	// Attachment content
	OriginalBase64 string `json:"originalBase64,omitempty"`

	// Attachment thumbnail
	ThumbnailBase64 string `json:"thumbnailBase64,omitempty"`
}

AttachmentData - Attachment data

type AttachmentInfo

type AttachmentInfo struct {

	// Name of the attachment
	Name string `json:"name,omitempty"`

	// ContentType of the attachment
	Type string `json:"type,omitempty"`

	// attachment views
	Views []AttachmentView `json:"views,omitempty"`
}

AttachmentInfo - Metadata for an attachment

type AttachmentLayoutTypes

type AttachmentLayoutTypes string

AttachmentLayoutTypes : Attachment layout types

const (
	LIST     AttachmentLayoutTypes = "list"
	CAROUSEL AttachmentLayoutTypes = "carousel"
)

List of AttachmentLayoutTypes

type AttachmentView

type AttachmentView struct {

	// Id of the attachment
	ViewID string `json:"viewId,omitempty"`

	// Size of the attachment
	Size int32 `json:"size,omitempty"`
}

AttachmentView - Attachment View name and size

type AudioCard

type AudioCard struct {

	// Title of this card
	Title string `json:"title,omitempty"`

	// Subtitle of this card
	Subtitle string `json:"subtitle,omitempty"`

	// Text of this card
	Text string `json:"text,omitempty"`

	Image ThumbnailURL `json:"image,omitempty"`

	// Media URLs for this card. When this field contains more than one URL, each URL is an alternative format of the same content.
	Media []MediaURL `json:"media,omitempty"`

	// Actions on this card
	Buttons []CardAction `json:"buttons,omitempty"`

	// This content may be shared with others (default:true)
	Shareable bool `json:"shareable,omitempty"`

	// Should the client loop playback at end of content (default:true)
	Autoloop bool `json:"autoloop,omitempty"`

	// Should the client automatically start playback of media in this card (default:true)
	Autostart bool `json:"autostart,omitempty"`

	// Aspect ratio of thumbnail/media placeholder. Allowed values are \"16:9\" and \"4:3\"
	Aspect string `json:"aspect,omitempty"`

	// Describes the length of the media content without requiring a receiver to open the content. Formatted as an ISO 8601 Duration field.
	Duration string `json:"duration,omitempty"`

	// Supplementary parameter for this card
	Value map[string]interface{} `json:"value,omitempty"`
}

AudioCard - Audio card

type AuthResponse

type AuthResponse struct {
	TokenType     string `json:"token_type"`
	ExpireTime    int    `json:"expires_in"`
	ExtExpireTime int    `json:"ext_expires_in"`
	AccessToken   string `json:"access_token"`
}

AuthResponse : The response struct from the authentiction URL of BotFramework

type BasicCard

type BasicCard struct {

	// Title of the card
	Title string `json:"title,omitempty"`

	// Subtitle of the card
	Subtitle string `json:"subtitle,omitempty"`

	// Text for the card
	Text string `json:"text,omitempty"`

	// Array of images for the card
	Images []CardImage `json:"images,omitempty"`

	// Set of actions applicable to the current card
	Buttons []CardAction `json:"buttons,omitempty"`

	Tap CardAction `json:"tap,omitempty"`
}

BasicCard - A basic card

type CardAction

type CardAction struct {
	Type ActionTypes `json:"type,omitempty"`

	// Text description which appears on the button
	Title string `json:"title,omitempty"`

	// Image URL which will appear on the button, next to text label
	Image string `json:"image,omitempty"`

	// Text for this action
	Text string `json:"text,omitempty"`

	// (Optional) text to display in the chat feed if the button is clicked
	DisplayText string `json:"displayText,omitempty"`

	// Supplementary parameter for action. Content of this property depends on the ActionType
	Value map[string]interface{} `json:"value,omitempty"`

	// Channel-specific data associated with this action
	ChannelData map[string]interface{} `json:"channelData,omitempty"`
}

CardAction - A clickable action

type CardImage

type CardImage struct {

	// URL thumbnail image for major content property
	URL string `json:"url,omitempty"`

	// Image description intended for screen readers
	Alt string `json:"alt,omitempty"`

	Tap CardAction `json:"tap,omitempty"`
}

CardImage - An image on a card

type ChannelAccount

type ChannelAccount struct {

	// Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or 123456)
	ID string `json:"id,omitempty"`

	// Display friendly name
	Name string `json:"name,omitempty"`

	// This account's object ID within Azure Active Directory (AAD)
	AadObjectID string `json:"aadObjectId,omitempty"`

	Role RoleTypes `json:"role,omitempty"`
}

ChannelAccount - Channel account information needed to route a message

type ContactRelationUpdateActionTypes

type ContactRelationUpdateActionTypes string

ContactRelationUpdateActionTypes : Action types valid for ContactRelationUpdate activities

const (
	ContactActionAdd    ContactRelationUpdateActionTypes = "add"
	ContactActionRemove ContactRelationUpdateActionTypes = "remove"
)

List of ContactRelationUpdateActionTypes

type ConversationAccount

type ConversationAccount struct {

	// Indicates whether the conversation contains more than two participants at the time the activity was generated
	IsGroup bool `json:"isGroup,omitempty"`

	// Indicates the type of the conversation in channels that distinguish between conversation types
	ConversationType string `json:"conversationType,omitempty"`

	// This conversation's tenant ID
	TenantID string `json:"tenantId,omitempty"`

	// Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or 123456)
	ID string `json:"id,omitempty"`

	// Display friendly name
	Name string `json:"name,omitempty"`

	// This account's object ID within Azure Active Directory (AAD)
	AadObjectID string `json:"aadObjectId,omitempty"`

	Role RoleTypes `json:"role,omitempty"`
}

ConversationAccount - Conversation account represents the identity of the conversation within a channel

type ConversationMembers

type ConversationMembers struct {

	// Conversation ID
	ID string `json:"id,omitempty"`

	// List of members in this conversation
	Members []ChannelAccount `json:"members,omitempty"`
}

ConversationMembers - Conversation and its members

type ConversationParameters

type ConversationParameters struct {

	// IsGroup
	IsGroup bool `json:"isGroup,omitempty"`

	Bot ChannelAccount `json:"bot,omitempty"`

	// Members to add to the conversation
	Members []ChannelAccount `json:"members,omitempty"`

	// (Optional) Topic of the conversation (if supported by the channel)
	TopicName string `json:"topicName,omitempty"`

	// (Optional) The tenant ID in which the conversation should be created
	TenantID string `json:"tenantId,omitempty"`

	Activity Activity `json:"activity,omitempty"`

	// Channel specific payload for creating the conversation
	ChannelData map[string]interface{} `json:"channelData,omitempty"`
}

ConversationParameters - Parameters for creating a new conversation

type ConversationReference

type ConversationReference struct {

	// (Optional) ID of the activity to refer to
	ActivityID string `json:"activityId,omitempty"`

	User ChannelAccount `json:"user,omitempty"`

	Bot ChannelAccount `json:"bot,omitempty"`

	Conversation ConversationAccount `json:"conversation,omitempty"`

	// Channel ID
	ChannelID string `json:"channelId,omitempty"`

	// Service endpoint where operations concerning the referenced conversation may be performed
	ServiceURL string `json:"serviceUrl,omitempty"`
}

ConversationReference - An object relating to a particular point in a conversation

type ConversationResourceResponse

type ConversationResourceResponse struct {

	// ID of the Activity (if sent)
	ActivityID string `json:"activityId,omitempty"`

	// Service endpoint where operations concerning the conversation may be performed
	ServiceURL string `json:"serviceUrl,omitempty"`

	// Id of the resource
	ID string `json:"id,omitempty"`
}

ConversationResourceResponse - A response containing a resource

type ConversationsResult

type ConversationsResult struct {

	// Paging token
	ContinuationToken string `json:"continuationToken,omitempty"`

	// List of conversations
	Conversations []ConversationMembers `json:"conversations,omitempty"`
}

ConversationsResult - Conversations result

type DeliveryModes

type DeliveryModes string

DeliveryModes : Values for deliveryMode field

const (
	DeliveryNormal       DeliveryModes = "normal"
	DeliveryNotification DeliveryModes = "notification"
)

List of DeliveryModes

type EndOfConversationCodes

type EndOfConversationCodes string

EndOfConversationCodes : Codes indicating why a conversation has ended

const (
	Unknown                 EndOfConversationCodes = "unknown"
	CompletedSuccessfully   EndOfConversationCodes = "completedSuccessfully"
	UserCancelled           EndOfConversationCodes = "userCancelled"
	BotTimedOut             EndOfConversationCodes = "botTimedOut"
	BotIssuedInvalidMessage EndOfConversationCodes = "botIssuedInvalidMessage"
	ChannelFailed           EndOfConversationCodes = "channelFailed"
)

List of EndOfConversationCodes

type Entity

type Entity struct {

	// Type of this entity (RFC 3987 IRI)
	Type string `json:"type,omitempty"`
}

Entity - Metadata object pertaining to an activity

type Error

type Error struct {

	// Error code
	Code string `json:"code,omitempty"`

	// Error message
	Message string `json:"message,omitempty"`

	InnerHTTPError InnerHTTPError `json:"innerHttpError,omitempty"`
}

Error - Object representing error information

type ErrorResponse

type ErrorResponse struct {
	Error Error `json:"error,omitempty"`
}

ErrorResponse - An HTTP API response

type Fact

type Fact struct {

	// The key for this Fact
	Key string `json:"key,omitempty"`

	// The value for this Fact
	Value string `json:"value,omitempty"`
}

Fact - Set of key-value pairs. Advantage of this section is that key and value properties will be rendered with default style information with some delimiter between them. So there is no need for developer to specify style information.

type GeoCoordinates

type GeoCoordinates struct {

	// Elevation of the location [WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System)
	Elevation float64 `json:"elevation,omitempty"`

	// Latitude of the location [WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System)
	Latitude float64 `json:"latitude,omitempty"`

	// Longitude of the location [WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System)
	Longitude float64 `json:"longitude,omitempty"`

	// The type of the thing
	Type string `json:"type,omitempty"`

	// The name of the thing
	Name string `json:"name,omitempty"`
}

GeoCoordinates - GeoCoordinates (entity type: \"https://schema.org/GeoCoordinates\")

type HeroCard

type HeroCard struct {

	// Title of the card
	Title string `json:"title,omitempty"`

	// Subtitle of the card
	Subtitle string `json:"subtitle,omitempty"`

	// Text for the card
	Text string `json:"text,omitempty"`

	// Array of images for the card
	Images []CardImage `json:"images,omitempty"`

	// Set of actions applicable to the current card
	Buttons []CardAction `json:"buttons,omitempty"`

	Tap CardAction `json:"tap,omitempty"`
}

HeroCard - A Hero card (card with a single, large image)

type InnerHTTPError

type InnerHTTPError struct {

	// HttpStatusCode from failed request
	StatusCode int32 `json:"statusCode,omitempty"`

	// Body from failed request
	Body map[string]interface{} `json:"body,omitempty"`
}

InnerHTTPError - Object representing inner http error

type InputHints

type InputHints string

InputHints : Indicates whether the bot is accepting, expecting, or ignoring input

const (
	AcceptingInput InputHints = "acceptingInput"
	IgnoringInput  InputHints = "ignoringInput"
	ExpectingInput InputHints = "expectingInput"
)

List of InputHints

type InstallationUpdateActionTypes

type InstallationUpdateActionTypes string

InstallationUpdateActionTypes : Action types valid for InstallationUpdate activities

const (
	InstallActionAdd    InstallationUpdateActionTypes = "add"
	InstallActionRemove InstallationUpdateActionTypes = "remove"
)

List of InstallationUpdateActionTypes

type MediaCard

type MediaCard struct {

	// Title of this card
	Title string `json:"title,omitempty"`

	// Subtitle of this card
	Subtitle string `json:"subtitle,omitempty"`

	// Text of this card
	Text string `json:"text,omitempty"`

	Image ThumbnailURL `json:"image,omitempty"`

	// Media URLs for this card. When this field contains more than one URL, each URL is an alternative format of the same content.
	Media []MediaURL `json:"media,omitempty"`

	// Actions on this card
	Buttons []CardAction `json:"buttons,omitempty"`

	// This content may be shared with others (default:true)
	Shareable bool `json:"shareable,omitempty"`

	// Should the client loop playback at end of content (default:true)
	Autoloop bool `json:"autoloop,omitempty"`

	// Should the client automatically start playback of media in this card (default:true)
	Autostart bool `json:"autostart,omitempty"`

	// Aspect ratio of thumbnail/media placeholder. Allowed values are \"16:9\" and \"4:3\"
	Aspect string `json:"aspect,omitempty"`

	// Describes the length of the media content without requiring a receiver to open the content. Formatted as an ISO 8601 Duration field.
	Duration string `json:"duration,omitempty"`

	// Supplementary parameter for this card
	Value map[string]interface{} `json:"value,omitempty"`
}

MediaCard - Media card

type MediaEventValue

type MediaEventValue struct {

	// Callback parameter specified in the Value field of the MediaCard that originated this event
	CardValue map[string]interface{} `json:"cardValue,omitempty"`
}

MediaEventValue - Supplementary parameter for media events

type MediaURL

type MediaURL struct {

	// Url for the media
	URL string `json:"url,omitempty"`

	// Optional profile hint to the client to differentiate multiple MediaUrl objects from each other
	Profile string `json:"profile,omitempty"`
}

MediaURL - Media URL

type Mention

type Mention struct {
	Mentioned ChannelAccount `json:"mentioned,omitempty"`

	// Sub Text which represents the mention (can be null or empty)
	Text string `json:"text,omitempty"`

	// Type of this entity (RFC 3987 IRI)
	Type string `json:"type,omitempty"`
}

Mention - Mention information (entity type: \"mention\")

type MessageReaction

type MessageReaction struct {
	Type MessageReactionTypes `json:"type,omitempty"`
}

MessageReaction - Message reaction object

type MessageReactionTypes

type MessageReactionTypes string

MessageReactionTypes : Message reaction types

const (
	Like    MessageReactionTypes = "like"
	PlusOne MessageReactionTypes = "plusOne"
)

List of MessageReactionTypes

type MicrosoftPayMethodData

type MicrosoftPayMethodData struct {

	// Microsoft Pay Merchant ID
	MerchantID string `json:"merchantId,omitempty"`

	// Supported payment networks (e.g., \"visa\" and \"mastercard\")
	SupportedNetworks []string `json:"supportedNetworks,omitempty"`

	// Supported payment types (e.g., \"credit\")
	SupportedTypes []string `json:"supportedTypes,omitempty"`
}

MicrosoftPayMethodData - W3C Payment Method Data for Microsoft Pay

type OAuthCard

type OAuthCard struct {

	// Text for signin request
	Text string `json:"text,omitempty"`

	// The name of the registered connection
	ConnectionName string `json:"connectionName,omitempty"`

	// Action to use to perform signin
	Buttons []CardAction `json:"buttons,omitempty"`
}

OAuthCard - A card representing a request to perform a sign in via OAuth

type PagedMembersResult

type PagedMembersResult struct {

	// Paging token
	ContinuationToken string `json:"continuationToken,omitempty"`

	// The Channel Accounts.
	Members []ChannelAccount `json:"members,omitempty"`
}

PagedMembersResult - Page of members.

type PaymentAddress

type PaymentAddress struct {

	// This is the CLDR (Common Locale Data Repository) region code. For example, US, GB, CN, or JP
	Country string `json:"country,omitempty"`

	// This is the most specific part of the address. It can include, for example, a street name, a house number, apartment number, a rural delivery route, descriptive instructions, or a post office box number.
	AddressLine []string `json:"addressLine,omitempty"`

	// This is the top level administrative subdivision of the country. For example, this can be a state, a province, an oblast, or a prefecture.
	Region string `json:"region,omitempty"`

	// This is the city/town portion of the address.
	City string `json:"city,omitempty"`

	// This is the dependent locality or sublocality within a city. For example, used for neighborhoods, boroughs, districts, or UK dependent localities.
	DependentLocality string `json:"dependentLocality,omitempty"`

	// This is the postal code or ZIP code, also known as PIN code in India.
	PostalCode string `json:"postalCode,omitempty"`

	// This is the sorting code as used in, for example, France.
	SortingCode string `json:"sortingCode,omitempty"`

	// This is the BCP-47 language code for the address. It's used to determine the field separators and the order of fields when formatting the address for display.
	LanguageCode string `json:"languageCode,omitempty"`

	// This is the organization, firm, company, or institution at this address.
	Organization string `json:"organization,omitempty"`

	// This is the name of the recipient or contact person.
	Recipient string `json:"recipient,omitempty"`

	// This is the phone number of the recipient or contact person.
	Phone string `json:"phone,omitempty"`
}

PaymentAddress - Address within a Payment Request

type PaymentCurrencyAmount

type PaymentCurrencyAmount struct {

	// A currency identifier
	Currency string `json:"currency,omitempty"`

	// Decimal monetary value
	Value string `json:"value,omitempty"`

	// Currency system
	CurrencySystem string `json:"currencySystem,omitempty"`
}

PaymentCurrencyAmount - Supplies monetary amounts

type PaymentDetails

type PaymentDetails struct {
	Total PaymentItem `json:"total,omitempty"`

	// Contains line items for the payment request that the user agent may display
	DisplayItems []PaymentItem `json:"displayItems,omitempty"`

	// A sequence containing the different shipping options for the user to choose from
	ShippingOptions []PaymentShippingOption `json:"shippingOptions,omitempty"`

	// Contains modifiers for particular payment method identifiers
	Modifiers []PaymentDetailsModifier `json:"modifiers,omitempty"`

	// Error description
	Error string `json:"error,omitempty"`
}

PaymentDetails - Provides information about the requested transaction

type PaymentDetailsModifier

type PaymentDetailsModifier struct {

	// Contains a sequence of payment method identifiers
	SupportedMethods []string `json:"supportedMethods,omitempty"`

	Total PaymentItem `json:"total,omitempty"`

	// Provides additional display items that are appended to the displayItems field in the PaymentDetails dictionary for the payment method identifiers in the supportedMethods field
	AdditionalDisplayItems []PaymentItem `json:"additionalDisplayItems,omitempty"`

	// A JSON-serializable object that provides optional information that might be needed by the supported payment methods
	Data map[string]interface{} `json:"data,omitempty"`
}

PaymentDetailsModifier - Provides details that modify the PaymentDetails based on payment method identifier

type PaymentItem

type PaymentItem struct {

	// Human-readable description of the item
	Label string `json:"label,omitempty"`

	Amount PaymentCurrencyAmount `json:"amount,omitempty"`

	// When set to true this flag means that the amount field is not final.
	Pending bool `json:"pending,omitempty"`
}

PaymentItem - Indicates what the payment request is for and the value asked for

type PaymentMethodData

type PaymentMethodData struct {

	// Required sequence of strings containing payment method identifiers for payment methods that the merchant web site accepts
	SupportedMethods []string `json:"supportedMethods,omitempty"`

	// A JSON-serializable object that provides optional information that might be needed by the supported payment methods
	Data map[string]interface{} `json:"data,omitempty"`
}

PaymentMethodData - Indicates a set of supported payment methods and any associated payment method specific data for those methods

type PaymentOptions

type PaymentOptions struct {

	// Indicates whether the user agent should collect and return the payer's name as part of the payment request
	RequestPayerName bool `json:"requestPayerName,omitempty"`

	// Indicates whether the user agent should collect and return the payer's email address as part of the payment request
	RequestPayerEmail bool `json:"requestPayerEmail,omitempty"`

	// Indicates whether the user agent should collect and return the payer's phone number as part of the payment request
	RequestPayerPhone bool `json:"requestPayerPhone,omitempty"`

	// Indicates whether the user agent should collect and return a shipping address as part of the payment request
	RequestShipping bool `json:"requestShipping,omitempty"`

	// If requestShipping is set to true, then the shippingType field may be used to influence the way the user agent presents the user interface for gathering the shipping address
	ShippingType string `json:"shippingType,omitempty"`
}

PaymentOptions - Provides information about the options desired for the payment request

type PaymentRequest

type PaymentRequest struct {

	// ID of this payment request
	ID string `json:"id,omitempty"`

	// Allowed payment methods for this request
	MethodData []PaymentMethodData `json:"methodData,omitempty"`

	Details PaymentDetails `json:"details,omitempty"`

	Options PaymentOptions `json:"options,omitempty"`

	// Expiration for this request, in ISO 8601 duration format (e.g., 'P1D')
	Expires string `json:"expires,omitempty"`
}

PaymentRequest - A request to make a payment

type PaymentRequestComplete

type PaymentRequestComplete struct {

	// Payment request ID
	ID string `json:"id,omitempty"`

	PaymentRequest PaymentRequest `json:"paymentRequest,omitempty"`

	PaymentResponse PaymentResponse `json:"paymentResponse,omitempty"`
}

PaymentRequestComplete - Payload delivered when completing a payment request

type PaymentRequestCompleteResult

type PaymentRequestCompleteResult struct {

	// Result of the payment request completion
	Result string `json:"result,omitempty"`
}

PaymentRequestCompleteResult - Result from a completed payment request

type PaymentRequestUpdate

type PaymentRequestUpdate struct {

	// ID for the payment request to update
	ID string `json:"id,omitempty"`

	Details PaymentDetails `json:"details,omitempty"`

	ShippingAddress PaymentAddress `json:"shippingAddress,omitempty"`

	// Updated shipping options
	ShippingOption string `json:"shippingOption,omitempty"`
}

PaymentRequestUpdate - An update to a payment request

type PaymentRequestUpdateResult

type PaymentRequestUpdateResult struct {
	Details PaymentDetails `json:"details,omitempty"`
}

PaymentRequestUpdateResult - A result object from a Payment Request Update invoke operation

type PaymentResponse

type PaymentResponse struct {

	// The payment method identifier for the payment method that the user selected to fulfil the transaction
	MethodName string `json:"methodName,omitempty"`

	// A JSON-serializable object that provides a payment method specific message used by the merchant to process the transaction and determine successful fund transfer
	Details map[string]interface{} `json:"details,omitempty"`

	ShippingAddress PaymentAddress `json:"shippingAddress,omitempty"`

	// If the requestShipping flag was set to true in the PaymentOptions passed to the PaymentRequest constructor, then shippingOption will be the id attribute of the selected shipping option
	ShippingOption string `json:"shippingOption,omitempty"`

	// If the requestPayerEmail flag was set to true in the PaymentOptions passed to the PaymentRequest constructor, then payerEmail will be the email address chosen by the user
	PayerEmail string `json:"payerEmail,omitempty"`

	// If the requestPayerPhone flag was set to true in the PaymentOptions passed to the PaymentRequest constructor, then payerPhone will be the phone number chosen by the user
	PayerPhone string `json:"payerPhone,omitempty"`
}

PaymentResponse - A PaymentResponse is returned when a user has selected a payment method and approved a payment request

type PaymentShippingOption

type PaymentShippingOption struct {

	// String identifier used to reference this PaymentShippingOption
	ID string `json:"id,omitempty"`

	// Human-readable description of the item
	Label string `json:"label,omitempty"`

	Amount PaymentCurrencyAmount `json:"amount,omitempty"`

	// Indicates whether this is the default selected PaymentShippingOption
	Selected bool `json:"selected,omitempty"`
}

PaymentShippingOption - Describes a shipping option

type Place

type Place struct {

	// Address of the place (may be `string` or complex object of type `PostalAddress`)
	Address map[string]interface{} `json:"address,omitempty"`

	// Geo coordinates of the place (may be complex object of type `GeoCoordinates` or `GeoShape`)
	Geo map[string]interface{} `json:"geo,omitempty"`

	// Map to the place (may be `string` (URL) or complex object of type `Map`)
	HasMap map[string]interface{} `json:"hasMap,omitempty"`

	// The type of the thing
	Type string `json:"type,omitempty"`

	// The name of the thing
	Name string `json:"name,omitempty"`
}

Place - Place (entity type: \"https://schema.org/Place\")

type ReceiptCard

type ReceiptCard struct {

	// Title of the card
	Title string `json:"title,omitempty"`

	// Array of Fact objects
	Facts []Fact `json:"facts,omitempty"`

	// Array of Receipt Items
	Items []ReceiptItem `json:"items,omitempty"`

	Tap CardAction `json:"tap,omitempty"`

	// Total amount of money paid (or to be paid)
	Total string `json:"total,omitempty"`

	// Total amount of tax paid (or to be paid)
	Tax string `json:"tax,omitempty"`

	// Total amount of VAT paid (or to be paid)
	Vat string `json:"vat,omitempty"`

	// Set of actions applicable to the current card
	Buttons []CardAction `json:"buttons,omitempty"`
}

ReceiptCard - A receipt card

type ReceiptItem

type ReceiptItem struct {

	// Title of the Card
	Title string `json:"title,omitempty"`

	// Subtitle appears just below Title field, differs from Title in font styling only
	Subtitle string `json:"subtitle,omitempty"`

	// Text field appears just below subtitle, differs from Subtitle in font styling only
	Text string `json:"text,omitempty"`

	Image CardImage `json:"image,omitempty"`

	// Amount with currency
	Price string `json:"price,omitempty"`

	// Number of items of given kind
	Quantity string `json:"quantity,omitempty"`

	Tap CardAction `json:"tap,omitempty"`
}

ReceiptItem - An item on a receipt card

type ResourceResponse

type ResourceResponse struct {

	// Id of the resource
	ID string `json:"id,omitempty"`
}

ResourceResponse - A response containing a resource ID

type RoleTypes

type RoleTypes string

RoleTypes : Role of the entity behind the account (Example: User, Bot, etc.)

const (
	USER RoleTypes = "user"
	BOT  RoleTypes = "bot"
)

List of RoleTypes

type SemanticAction

type SemanticAction struct {
	State SemanticActionStates `json:"state,omitempty"`

	// ID of this action
	ID string `json:"id,omitempty"`

	// Entities associated with this action
	Entities map[string]Entity `json:"entities,omitempty"`
}

SemanticAction - Represents a reference to a programmatic action

type SemanticActionStates

type SemanticActionStates string

SemanticActionStates : Indicates whether the semantic action is starting, continuing, or done

const (
	START    SemanticActionStates = "start"
	CONTINUE SemanticActionStates = "continue"
	DONE     SemanticActionStates = "done"
)

List of SemanticActionStates

type SigninCard

type SigninCard struct {

	// Text for signin request
	Text string `json:"text,omitempty"`

	// Action to use to perform signin
	Buttons []CardAction `json:"buttons,omitempty"`
}

SigninCard - A card representing a request to sign in

type SuggestedActions

type SuggestedActions struct {

	// Ids of the recipients that the actions should be shown to.  These Ids are relative to the channelId and a subset of all recipients of the activity
	To []string `json:"to,omitempty"`

	// Actions that can be shown to the user
	Actions []CardAction `json:"actions,omitempty"`
}

SuggestedActions - SuggestedActions that can be performed

type TextFormatTypes

type TextFormatTypes string

TextFormatTypes : Text format types

const (
	MARKDOWN TextFormatTypes = "markdown"
	PLAIN    TextFormatTypes = "plain"
	XML      TextFormatTypes = "xml"
)

List of TextFormatTypes

type TextHighlight

type TextHighlight struct {

	// Defines the snippet of text to highlight
	Text string `json:"text,omitempty"`

	// Occurrence of the text field within the referenced text, if multiple exist.
	Occurrence int32 `json:"occurrence,omitempty"`
}

TextHighlight - Refers to a substring of content within another field

type Thing

type Thing struct {

	// The type of the thing
	Type string `json:"type,omitempty"`

	// The name of the thing
	Name string `json:"name,omitempty"`
}

Thing - Thing (entity type: \"https://schema.org/Thing\")

type ThumbnailCard

type ThumbnailCard struct {

	// Title of the card
	Title string `json:"title,omitempty"`

	// Subtitle of the card
	Subtitle string `json:"subtitle,omitempty"`

	// Text for the card
	Text string `json:"text,omitempty"`

	// Array of images for the card
	Images []CardImage `json:"images,omitempty"`

	// Set of actions applicable to the current card
	Buttons []CardAction `json:"buttons,omitempty"`

	Tap CardAction `json:"tap,omitempty"`
}

ThumbnailCard - A thumbnail card (card with a single, small thumbnail image)

type ThumbnailURL

type ThumbnailURL struct {

	// URL pointing to the thumbnail to use for media content
	URL string `json:"url,omitempty"`

	// HTML alt text to include on this thumbnail image
	Alt string `json:"alt,omitempty"`
}

ThumbnailURL - Thumbnail URL

type TokenRequest

type TokenRequest struct {

	// The provider to request a user token from
	Provider string `json:"provider,omitempty"`

	// A collection of settings for the specific provider for this request
	Settings map[string]map[string]interface{} `json:"settings,omitempty"`
}

TokenRequest - A request to receive a user token

type TokenResponse

type TokenResponse struct {

	// The channelId of the TokenResponse
	ChannelID string `json:"channelId,omitempty"`

	// The connection name
	ConnectionName string `json:"connectionName,omitempty"`

	// The user token
	Token string `json:"token,omitempty"`

	// Expiration for the token, in ISO 8601 format (e.g. \"2007-04-05T14:30Z\")
	Expiration string `json:"expiration,omitempty"`
}

TokenResponse - A response that includes a user token

type Transcript

type Transcript struct {

	// A collection of Activities that conforms to the Transcript schema.
	Activities []Activity `json:"activities,omitempty"`
}

Transcript - Transcript

type UploadInfo

type UploadInfo struct {
	// ContentUrl is a direct link to the final location of the file on OneDrive.
	ContentURL string
	// FileType is the file type, as determined by OneDrive.
	FileType string
	// Name is the name of the file. Note that this may be different from the name that the bot proposed initially.
	Name string
	// UniqueID is an unique ID set for the contents.
	UniqueID string
	// UploadURL is the upload URL of the file. This points to a OneDrive upload session for the file. The upload session is valid for 15 minutes.
	UploadURL string
}

UploadInfo contains info to upload contents

type VideoCard

type VideoCard struct {

	// Title of this card
	Title string `json:"title,omitempty"`

	// Subtitle of this card
	Subtitle string `json:"subtitle,omitempty"`

	// Text of this card
	Text string `json:"text,omitempty"`

	Image ThumbnailURL `json:"image,omitempty"`

	// Media URLs for this card. When this field contains more than one URL, each URL is an alternative format of the same content.
	Media []MediaURL `json:"media,omitempty"`

	// Actions on this card
	Buttons []CardAction `json:"buttons,omitempty"`

	// This content may be shared with others (default:true)
	Shareable bool `json:"shareable,omitempty"`

	// Should the client loop playback at end of content (default:true)
	Autoloop bool `json:"autoloop,omitempty"`

	// Should the client automatically start playback of media in this card (default:true)
	Autostart bool `json:"autostart,omitempty"`

	// Aspect ratio of thumbnail/media placeholder. Allowed values are \"16:9\" and \"4:3\"
	Aspect string `json:"aspect,omitempty"`

	// Describes the length of the media content without requiring a receiver to open the content. Formatted as an ISO 8601 Duration field.
	Duration string `json:"duration,omitempty"`

	// Supplementary parameter for this card
	Value map[string]interface{} `json:"value,omitempty"`
}

VideoCard - Video card

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL