UNPKG

@chrimc62/botframework-schema

Version:

Activity schema for the Microsoft Bot Framework.

1,754 lines 45.3 kB
export * from './activityInterfaces'; export * from './teams'; /** * Attachment View name and size */ export interface AttachmentView { /** * Id of the attachment */ viewId: string; /** * Size of the attachment */ size: number; } /** * Metadata for an attachment */ export interface AttachmentInfo { /** * Name of the attachment */ name: string; /** * ContentType of the attachment */ type: string; /** * attachment views */ views: AttachmentView[]; } /** * Object representing inner http error */ export interface InnerHttpError { /** * HttpStatusCode from failed request */ statusCode: number; /** * Body from failed request */ body: any; } /** * Object representing error information */ export interface ErrorModel { /** * Error code */ code: string; /** * Error message */ message: string; /** * Error from inner http call */ innerHttpError: InnerHttpError; } /** * An HTTP API response */ export interface ErrorResponse { /** * Error message */ error: ErrorModel; } /** * Channel account information needed to route a message */ export interface ChannelAccount { /** * Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or * 123456) */ id: string; /** * Display friendly name */ name: string; /** * This account's object ID within Azure Active Directory (AAD) */ aadObjectId?: string; /** * Role of the entity behind the account (Example: User, Bot, etc.). Possible values include: * 'user', 'bot' */ role?: RoleTypes | string; } /** * Channel account information for a conversation */ export interface ConversationAccount { /** * Indicates whether the conversation contains more than two participants at the time the * activity was generated */ isGroup: boolean; /** * Indicates the type of the conversation in channels that distinguish between conversation types */ conversationType: string; /** * This conversation's tenant ID */ tenantId: string; /** * Channel id for the user or bot on this channel (Example: joe@smith.com, or @joesmith or * 123456) */ id: string; /** * Display friendly name */ name: string; /** * This account's object ID within Azure Active Directory (AAD) */ aadObjectId?: string; /** * Role of the entity behind the account (Example: User, Bot, etc.). Possible values include: * 'user', 'bot' */ role?: RoleTypes; /** * Custom properties object (optional) */ properties?: any; } /** * Message reaction object */ export interface MessageReaction { /** * Message reaction type. Possible values include: 'like', 'plusOne' */ type: MessageReactionTypes | string; } /** * A clickable action */ export interface CardAction { /** * The type of action implemented by this button. Possible values include: 'openUrl', 'imBack', * 'postBack', 'playAudio', 'playVideo', 'showImage', 'downloadFile', 'signin', 'call', * messageBack', 'openApp' */ type: ActionTypes | string; /** * Text description which appears on the button */ title: string; /** * Image URL which will appear on the button, next to text label */ image?: string; /** * Text for this action */ text?: string; /** * (Optional) text to display in the chat feed if the button is clicked */ displayText?: string; /** * Supplementary parameter for action. Content of this property depends on the ActionType */ value: any; /** * Channel-specific data associated with this action */ channelData?: any; } /** * SuggestedActions that can be performed */ export interface SuggestedActions { /** * 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[]; /** * Actions that can be shown to the user */ actions: CardAction[]; } /** * An attachment within an activity */ export interface Attachment { /** * mimetype/Contenttype for the file */ contentType: string; /** * Content Url */ contentUrl?: string; /** * Embedded content */ content?: any; /** * (OPTIONAL) The name of the attachment */ name?: string; /** * (OPTIONAL) Thumbnail associated with attachment */ thumbnailUrl?: string; } /** * Metadata object pertaining to an activity */ export interface Entity { /** * Type of this entity (RFC 3987 IRI) */ type: string; } /** * An object relating to a particular point in a conversation */ export interface ConversationReference { /** * (Optional) ID of the activity to refer to */ activityId?: string; /** * (Optional) User participating in this conversation */ user?: ChannelAccount; /** * Bot participating in this conversation */ bot: ChannelAccount; /** * Conversation reference */ conversation: ConversationAccount; /** * Channel ID */ channelId: string; /** * Service endpoint where operations concerning the referenced conversation may be performed */ serviceUrl: string; } /** * Refers to a substring of content within another field */ export interface TextHighlight { /** * Defines the snippet of text to highlight */ text: string; /** * Occurrence of the text field within the referenced text, if multiple exist. */ occurrence: number; } /** * Represents a reference to a programmatic action */ export interface SemanticAction { /** * ID of this action */ id: string; /** * State of this action. Allowed values: 'start', 'continue', 'done' */ state: SemanticActionStateTypes | string; /** * Entities associated with this action */ entities: { [propertyName: string]: Entity; }; } /** * An Activity is the basic communication type for the Bot Framework 3.0 protocol. */ export interface Activity { /** * Contains the activity type. Possible values include: 'message', 'contactRelationUpdate', * 'conversationUpdate', 'typing', 'endOfConversation', 'event', 'invoke', 'deleteUserData', * 'messageUpdate', 'messageDelete', 'installationUpdate', 'messageReaction', 'suggestion', * 'trace', 'handoff' */ type: ActivityTypes | string; /** * Contains an ID that uniquely identifies the activity on the channel. */ id?: string; /** * Contains the date and time that the message was sent, in UTC, expressed in ISO-8601 format. */ timestamp?: Date; /** * 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?: Date; /** * Contains the name of the local timezone of the message, expressed in IANA Time Zone database format. * For example, America/Los_Angeles. */ localTimezone: string; /** * 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; /** * Contains the URL that specifies the channel's service endpoint. Set by the channel. */ serviceUrl: string; /** * Contains an ID that uniquely identifies the channel. Set by the channel. */ channelId: string; /** * Identifies the sender of the message. */ from: ChannelAccount; /** * Identifies the conversation to which the activity belongs. */ conversation: ConversationAccount; /** * Identifies the recipient of the message. */ recipient: ChannelAccount; /** * Format of text fields Default:markdown. Possible values include: 'markdown', 'plain', 'xml' */ textFormat?: TextFormatTypes | string; /** * The layout hint for multiple attachments. Default: list. Possible values include: 'list', * 'carousel' */ attachmentLayout?: AttachmentLayoutTypes | string; /** * The collection of members added to the conversation. */ membersAdded?: ChannelAccount[]; /** * The collection of members removed from the conversation. */ membersRemoved?: ChannelAccount[]; /** * The collection of reactions added to the conversation. */ reactionsAdded?: MessageReaction[]; /** * The collection of reactions removed from the conversation. */ reactionsRemoved?: MessageReaction[]; /** * The updated topic name of the conversation. */ topicName?: string; /** * Indicates whether the prior history of the channel is disclosed. */ historyDisclosed?: boolean; /** * 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; /** * The text content of the message. */ text: string; /** * The text to speak. */ speak?: string; /** * Indicates whether your bot is accepting, * expecting, or ignoring user input after the message is delivered to the client. Possible * values include: 'acceptingInput', 'ignoringInput', 'expectingInput' */ inputHint?: InputHints | string; /** * The text to display if the channel cannot render cards. */ summary?: string; /** * The suggested actions for the activity. */ suggestedActions?: SuggestedActions; /** * Attachments */ attachments?: Attachment[]; /** * Represents the entities that were mentioned in the message. */ entities?: Entity[]; /** * Contains channel-specific content. */ channelData?: any; /** * Indicates whether the recipient of a contactRelationUpdate was added or removed from the * sender's contact list. */ action?: string; /** * Contains the ID of the message to which this message is a reply. */ replyToId?: string; /** * A descriptive label for the activity. */ label: string; /** * The type of the activity's value object. */ valueType: string; /** * A value that is associated with the activity. */ value?: any; /** * The name of the operation associated with an invoke or event activity. */ name?: string; /** * A reference to another conversation or activity. */ relatesTo?: ConversationReference; /** * The a code for endOfConversation activities that indicates why the conversation ended. * Possible values include: 'unknown', 'completedSuccessfully', 'userCancelled', 'botTimedOut', * 'botIssuedInvalidMessage', 'channelFailed' */ code?: EndOfConversationCodes | string; /** * The time at which the activity should be considered to be "expired" and should not be * presented to the recipient. */ expiration?: Date; /** * The importance of the activity. Possible values include: 'low', 'normal', 'high' */ importance?: ActivityImportance | string; /** * A delivery hint to signal to the recipient alternate delivery paths for the activity. * The default delivery mode is "default". Possible values include: 'normal', 'notification' */ deliveryMode?: DeliveryModes | string; /** * List of phrases and references that speech and language priming systems should listen for */ listenFor: string[]; /** * The collection of text fragments to highlight when the activity contains a ReplyToId value. */ textHighlights?: TextHighlight[]; /** * An optional programmatic action accompanying this request */ semanticAction?: SemanticAction; } /** * Parameters for creating a new conversation */ export interface ConversationParameters { /** * IsGroup */ isGroup: boolean; /** * The bot address for this conversation */ bot: ChannelAccount; /** * Members to add to the conversation */ members?: ChannelAccount[]; /** * (Optional) Topic of the conversation (if supported by the channel) */ topicName?: string; /** * (Optional) The tenant ID in which the conversation should be created */ tenantId?: string; /** * (Optional) When creating a new conversation, use this activity as the initial message to the * conversation */ activity: Activity; /** * Channel specific payload for creating the conversation */ channelData: any; } /** * A response containing a resource */ export interface ConversationResourceResponse { /** * ID of the Activity (if sent) */ activityId: string; /** * Service endpoint where operations concerning the conversation may be performed */ serviceUrl: string; /** * Id of the resource */ id: string; } /** * Conversation and its members */ export interface ConversationMembers { /** * Conversation ID */ id: string; /** * List of members in this conversation */ members: ChannelAccount[]; } /** * Conversations result */ export interface ConversationsResult { /** * Paging token */ continuationToken: string; /** * List of conversations */ conversations: ConversationMembers[]; } /** * A response containing a resource ID */ export interface ResourceResponse { /** * Id of the resource */ id: string; } /** * Transcript */ export interface Transcript { /** * A collection of Activities that conforms to the Transcript schema. */ activities: Activity[]; } /** * Page of members. */ export interface PagedMembersResult { /** * Paging token */ continuationToken: string; /** * The Channel Accounts. */ members: ChannelAccount[]; } /** * Attachment data */ export interface AttachmentData { /** * Content-Type of the attachment */ type: string; /** * Name of the attachment */ name: string; /** * Attachment content */ originalBase64: Uint8Array; /** * Attachment thumbnail */ thumbnailBase64: Uint8Array; } /** * An image on a card */ export interface CardImage { /** * URL thumbnail image for major content property */ url: string; /** * Image description intended for screen readers */ alt?: string; /** * Action assigned to specific Attachment */ tap?: CardAction; } /** * A Hero card (card with a single, large image) */ export interface HeroCard { /** * Title of the card */ title: string; /** * Subtitle of the card */ subtitle: string; /** * Text for the card */ text: string; /** * Array of images for the card */ images: CardImage[]; /** * Set of actions applicable to the current card */ buttons: CardAction[]; /** * This action will be activated when user taps on the card itself */ tap: CardAction; } /** * Thumbnail URL */ export interface ThumbnailUrl { /** * URL pointing to the thumbnail to use for media content */ url: string; /** * HTML alt text to include on this thumbnail image */ alt: string; } /** * Media URL */ export interface MediaUrl { /** * Url for the media */ url: string; /** * Optional profile hint to the client to differentiate multiple MediaUrl objects from each other */ profile?: string; } /** * An animation card (Ex: gif or short video clip) */ export interface AnimationCard { /** * Title of this card */ title: string; /** * Subtitle of this card */ subtitle: string; /** * Text of this card */ text: string; /** * Thumbnail placeholder */ image: ThumbnailUrl; /** * 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[]; /** * Actions on this card */ buttons: CardAction[]; /** * This content may be shared with others (default:true) */ shareable: boolean; /** * Should the client loop playback at end of content (default:true) */ autoloop: boolean; /** * Should the client automatically start playback of media in this card (default:true) */ autostart: boolean; /** * Aspect ratio of thumbnail/media placeholder. Allowed values are "16:9" and "4:3" */ aspect: string; /** * Describes the length of the media content without requiring a receiver to open the content. * Formatted as an ISO 8601 Duration field. */ duration: string; /** * Supplementary parameter for this card */ value: any; } /** * Audio card */ export interface AudioCard { /** * Title of this card */ title: string; /** * Subtitle of this card */ subtitle: string; /** * Text of this card */ text: string; /** * Thumbnail placeholder */ image: ThumbnailUrl; /** * 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[]; /** * Actions on this card */ buttons: CardAction[]; /** * This content may be shared with others (default:true) */ shareable: boolean; /** * Should the client loop playback at end of content (default:true) */ autoloop: boolean; /** * Should the client automatically start playback of media in this card (default:true) */ autostart: boolean; /** * Aspect ratio of thumbnail/media placeholder. Allowed values are "16:9" and "4:3" */ aspect: string; /** * Describes the length of the media content without requiring a receiver to open the content. * Formatted as an ISO 8601 Duration field. */ duration: string; /** * Supplementary parameter for this card */ value: any; } /** * A basic card */ export interface BasicCard { /** * Title of the card */ title: string; /** * Subtitle of the card */ subtitle: string; /** * Text for the card */ text: string; /** * Array of images for the card */ images: CardImage[]; /** * Set of actions applicable to the current card */ buttons: CardAction[]; /** * This action will be activated when user taps on the card itself */ tap: CardAction; } /** * Media card */ export interface MediaCard { /** * Title of this card */ title: string; /** * Subtitle of this card */ subtitle: string; /** * Text of this card */ text: string; /** * Thumbnail placeholder */ image: ThumbnailUrl; /** * 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[]; /** * Actions on this card */ buttons: CardAction[]; /** * This content may be shared with others (default:true) */ shareable: boolean; /** * Should the client loop playback at end of content (default:true) */ autoloop: boolean; /** * Should the client automatically start playback of media in this card (default:true) */ autostart: boolean; /** * Aspect ratio of thumbnail/media placeholder. Allowed values are "16:9" and "4:3" */ aspect: string; /** * Describes the length of the media content without requiring a receiver to open the content. * Formatted as an ISO 8601 Duration field. */ duration: string; /** * Supplementary parameter for this card */ value: any; } /** * 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. */ export interface Fact { /** * The key for this Fact */ key: string; /** * The value for this Fact */ value: string; } /** * An item on a receipt card */ export interface ReceiptItem { /** * Title of the Card */ title: string; /** * Subtitle appears just below Title field, differs from Title in font styling only */ subtitle: string; /** * Text field appears just below subtitle, differs from Subtitle in font styling only */ text: string; /** * Image */ image: CardImage; /** * Amount with currency */ price: string; /** * Number of items of given kind */ quantity: string; /** * This action will be activated when user taps on the Item bubble. */ tap: CardAction; } /** * A receipt card */ export interface ReceiptCard { /** * Title of the card */ title: string; /** * Array of Fact objects */ facts: Fact[]; /** * Array of Receipt Items */ items: ReceiptItem[]; /** * This action will be activated when user taps on the card */ tap: CardAction; /** * Total amount of money paid (or to be paid) */ total: string; /** * Total amount of tax paid (or to be paid) */ tax: string; /** * Total amount of VAT paid (or to be paid) */ vat: string; /** * Set of actions applicable to the current card */ buttons: CardAction[]; } /** * A card representing a request to sign in */ export interface SigninCard { /** * Text for signin request */ text?: string; /** * Action to use to perform signin */ buttons: CardAction[]; } /** * A card representing a request to perform a sign in via OAuth */ export interface OAuthCard { /** * Text for signin request */ text: string; /** * The name of the registered connection */ connectionName: string; /** * Action to use to perform signin */ buttons: CardAction[]; } /** * A thumbnail card (card with a single, small thumbnail image) */ export interface ThumbnailCard { /** * Title of the card */ title: string; /** * Subtitle of the card */ subtitle: string; /** * Text for the card */ text: string; /** * Array of images for the card */ images: CardImage[]; /** * Set of actions applicable to the current card */ buttons: CardAction[]; /** * This action will be activated when user taps on the card itself */ tap: CardAction; } /** * Video card */ export interface VideoCard { /** * Title of this card */ title: string; /** * Subtitle of this card */ subtitle: string; /** * Text of this card */ text: string; /** * Thumbnail placeholder */ image: ThumbnailUrl; /** * 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[]; /** * Actions on this card */ buttons: CardAction[]; /** * This content may be shared with others (default:true) */ shareable: boolean; /** * Should the client loop playback at end of content (default:true) */ autoloop: boolean; /** * Should the client automatically start playback of media in this card (default:true) */ autostart: boolean; /** * Aspect ratio of thumbnail/media placeholder. Allowed values are "16:9" and "4:3" */ aspect: string; /** * Describes the length of the media content without requiring a receiver to open the content. * Formatted as an ISO 8601 Duration field. */ duration: string; /** * Supplementary parameter for this card */ value: any; } /** * GeoCoordinates (entity type: "https://schema.org/GeoCoordinates") */ export interface GeoCoordinates { /** * Elevation of the location [WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System) */ elevation: number; /** * Latitude of the location [WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System) */ latitude: number; /** * Longitude of the location [WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System) */ longitude: number; /** * The type of the thing */ type: string; /** * The name of the thing */ name: string; } /** * Mention information (entity type: "mention") */ export interface Mention { /** * The mentioned user */ mentioned: ChannelAccount; /** * Sub Text which represents the mention (can be null or empty) */ text: string; /** * Type of this entity (RFC 3987 IRI) */ type: string; } /** * Place (entity type: "https://schema.org/Place") */ export interface Place { /** * Address of the place (may be `string` or complex object of type `PostalAddress`) */ address: any; /** * Geo coordinates of the place (may be complex object of type `GeoCoordinates` or `GeoShape`) */ geo: any; /** * Map to the place (may be `string` (URL) or complex object of type `Map`) */ hasMap: any; /** * The type of the thing */ type: string; /** * The name of the thing */ name: string; } /** * Thing (entity type: "https://schema.org/Thing") */ export interface Thing { /** * The type of the thing */ type: string; /** * The name of the thing */ name: string; } /** * Supplementary parameter for media events */ export interface MediaEventValue { /** * Callback parameter specified in the Value field of the MediaCard that originated this event */ cardValue: any; } /** * A request to receive a user token */ export interface TokenRequest { /** * The provider to request a user token from */ provider: string; /** * A collection of settings for the specific provider for this request */ settings: { [propertyName: string]: any; }; } /** * A response that includes a user token */ export interface TokenResponse { /** * @member {string} [channelId] */ channelId?: string; /** * The connection name */ connectionName: string; /** * The user token */ token: string; /** * Expiration for the token, in ISO 8601 format (e.g. "2007-04-05T14:30Z") */ expiration: string; /** * A collection of properties about this response, such as token polling parameters */ properties?: { [propertyName: string]: any; }; } /** * W3C Payment Method Data for Microsoft Pay * @deprecated Bot Framework no longer supports payments */ export interface MicrosoftPayMethodData { /** * Microsoft Pay Merchant ID */ merchantId: string; /** * Supported payment networks (e.g., "visa" and "mastercard") */ supportedNetworks: string[]; /** * Supported payment types (e.g., "credit") */ supportedTypes: string[]; } /** * Address within a Payment Request * @deprecated Bot Framework no longer supports payments */ export interface PaymentAddress { /** * This is the CLDR (Common Locale Data Repository) region code. For example, US, GB, CN, or JP */ country: string; /** * 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[]; /** * 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; /** * This is the city/town portion of the address. */ city: string; /** * This is the dependent locality or sublocality within a city. For example, used for * neighborhoods, boroughs, districts, or UK dependent localities. */ dependentLocality: string; /** * This is the postal code or ZIP code, also known as PIN code in India. */ postalCode: string; /** * This is the sorting code as used in, for example, France. */ sortingCode: string; /** * 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; /** * This is the organization, firm, company, or institution at this address. */ organization: string; /** * This is the name of the recipient or contact person. */ recipient: string; /** * This is the phone number of the recipient or contact person. */ phone: string; } /** * Supplies monetary amounts * @deprecated Bot Framework no longer supports payments */ export interface PaymentCurrencyAmount { /** * A currency identifier */ currency: string; /** * Decimal monetary value */ value: string; /** * Currency system */ currencySystem: string; } /** * Indicates what the payment request is for and the value asked for * @deprecated Bot Framework no longer supports payments */ export interface PaymentItem { /** * Human-readable description of the item */ label: string; /** * Monetary amount for the item */ amount: PaymentCurrencyAmount; /** * When set to true this flag means that the amount field is not final. */ pending: boolean; } /** * Describes a shipping option * @deprecated Bot Framework no longer supports payments */ export interface PaymentShippingOption { /** * String identifier used to reference this PaymentShippingOption */ id: string; /** * Human-readable description of the item */ label: string; /** * Contains the monetary amount for the item */ amount: PaymentCurrencyAmount; /** * Indicates whether this is the default selected PaymentShippingOption */ selected: boolean; } /** * Provides details that modify the PaymentDetails based on payment method identifier * @deprecated Bot Framework no longer supports payments */ export interface PaymentDetailsModifier { /** * Contains a sequence of payment method identifiers */ supportedMethods: string[]; /** * This value overrides the total field in the PaymentDetails dictionary for the payment method * identifiers in the supportedMethods field */ total: PaymentItem; /** * 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[]; /** * A JSON-serializable object that provides optional information that might be needed by the * supported payment methods */ data: any; } /** * Provides information about the requested transaction * @deprecated Bot Framework no longer supports payments */ export interface PaymentDetails { /** * Contains the total amount of the payment request */ total: PaymentItem; /** * Contains line items for the payment request that the user agent may display */ displayItems: PaymentItem[]; /** * A sequence containing the different shipping options for the user to choose from */ shippingOptions: PaymentShippingOption[]; /** * Contains modifiers for particular payment method identifiers */ modifiers: PaymentDetailsModifier[]; /** * Error description */ error: string; } /** * Indicates a set of supported payment methods and any associated payment method specific data for * those methods * @deprecated Bot Framework no longer supports payments */ export interface PaymentMethodData { /** * Required sequence of strings containing payment method identifiers for payment methods that * the merchant web site accepts */ supportedMethods: string[]; /** * A JSON-serializable object that provides optional information that might be needed by the * supported payment methods */ data: any; } /** * Provides information about the options desired for the payment request * @deprecated Bot Framework no longer supports payments */ export interface PaymentOptions { /** * Indicates whether the user agent should collect and return the payer's name as part of the * payment request */ requestPayerName: boolean; /** * Indicates whether the user agent should collect and return the payer's email address as part * of the payment request */ requestPayerEmail: boolean; /** * Indicates whether the user agent should collect and return the payer's phone number as part of * the payment request */ requestPayerPhone: boolean; /** * Indicates whether the user agent should collect and return a shipping address as part of the * payment request */ requestShipping: boolean; /** * 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; } /** * A request to make a payment * @deprecated Bot Framework no longer supports payments */ export interface PaymentRequest { /** * ID of this payment request */ id: string; /** * Allowed payment methods for this request */ methodData: PaymentMethodData[]; /** * Details for this request */ details: PaymentDetails; /** * Provides information about the options desired for the payment request */ options: PaymentOptions; /** * Expiration for this request, in ISO 8601 duration format (e.g., 'P1D') */ expires: string; } /** * A PaymentResponse is returned when a user has selected a payment method and approved a payment * request * @deprecated Bot Framework no longer supports payments */ export interface PaymentResponse { /** * The payment method identifier for the payment method that the user selected to fulfil the * transaction */ methodName: string; /** * 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: any; /** * If the requestShipping flag was set to true in the PaymentOptions passed to the PaymentRequest * constructor, then shippingAddress will be the full and final shipping address chosen by the * user */ shippingAddress: PaymentAddress; /** * 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; /** * 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; /** * 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; } /** * Payload delivered when completing a payment request * @deprecated Bot Framework no longer supports payments */ export interface PaymentRequestComplete { /** * Payment request ID */ id: string; /** * Initial payment request */ paymentRequest: PaymentRequest; /** * Corresponding payment response */ paymentResponse: PaymentResponse; } /** * Result from a completed payment request * @deprecated Bot Framework no longer supports payments */ export interface PaymentRequestCompleteResult { /** * Result of the payment request completion */ result: string; } /** * An update to a payment request * @deprecated Bot Framework no longer supports payments */ export interface PaymentRequestUpdate { /** * ID for the payment request to update */ id: string; /** * Update payment details */ details: PaymentDetails; /** * Updated shipping address */ shippingAddress: PaymentAddress; /** * Updated shipping options */ shippingOption: string; } /** * A result object from a Payment Request Update invoke operation * @deprecated Bot Framework no longer supports payments */ export interface PaymentRequestUpdateResult { /** * Update payment details */ details: PaymentDetails; } /** * Defines values for RoleTypes. * Possible values include: 'user', 'bot' * @readonly * @enum {string} */ export declare enum RoleTypes { User = "user", Bot = "bot" } /** * Defines values for ActivityTypes. * Possible values include: 'message', 'contactRelationUpdate', 'conversationUpdate', 'typing', * 'endOfConversation', 'event', 'invoke', 'deleteUserData', 'messageUpdate', 'messageDelete', * 'installationUpdate', 'messageReaction', 'suggestion', 'trace', 'handoff' * @readonly * @enum {string} */ export declare enum ActivityTypes { Message = "message", ContactRelationUpdate = "contactRelationUpdate", ConversationUpdate = "conversationUpdate", Typing = "typing", EndOfConversation = "endOfConversation", Event = "event", Invoke = "invoke", DeleteUserData = "deleteUserData", MessageUpdate = "messageUpdate", MessageDelete = "messageDelete", InstallationUpdate = "installationUpdate", MessageReaction = "messageReaction", Suggestion = "suggestion", Trace = "trace", Handoff = "handoff" } /** * Defines values for TextFormatTypes. * Possible values include: 'markdown', 'plain', 'xml' * @readonly * @enum {string} */ export declare enum TextFormatTypes { Markdown = "markdown", Plain = "plain", Xml = "xml" } /** * Defines values for AttachmentLayoutTypes. * Possible values include: 'list', 'carousel' * @readonly * @enum {string} */ export declare enum AttachmentLayoutTypes { List = "list", Carousel = "carousel" } /** * Defines values for MessageReactionTypes. * Possible values include: 'like', 'plusOne' * @readonly * @enum {string} */ export declare enum MessageReactionTypes { Like = "like", PlusOne = "plusOne" } /** * Defines values for InputHints. * Possible values include: 'acceptingInput', 'ignoringInput', 'expectingInput' * @readonly * @enum {string} */ export declare enum InputHints { AcceptingInput = "acceptingInput", IgnoringInput = "ignoringInput", ExpectingInput = "expectingInput" } /** * Defines values for ActionTypes. * Possible values include: 'openUrl', 'imBack', 'postBack', 'playAudio', 'playVideo', 'showImage', * 'downloadFile', 'signin', 'call', messageBack', 'openApp' * @readonly * @enum {string} */ export declare enum ActionTypes { OpenUrl = "openUrl", ImBack = "imBack", PostBack = "postBack", PlayAudio = "playAudio", PlayVideo = "playVideo", ShowImage = "showImage", DownloadFile = "downloadFile", Signin = "signin", Call = "call", Payment = "payment", MessageBack = "messageBack", OpenApp = "openApp" } /** * Defines values for EndOfConversationCodes. * Possible values include: 'unknown', 'completedSuccessfully', 'userCancelled', 'botTimedOut', * 'botIssuedInvalidMessage', 'channelFailed' * @readonly * @enum {string} */ export declare enum EndOfConversationCodes { Unknown = "unknown", CompletedSuccessfully = "completedSuccessfully", UserCancelled = "userCancelled", BotTimedOut = "botTimedOut", BotIssuedInvalidMessage = "botIssuedInvalidMessage", ChannelFailed = "channelFailed" } /** * Defines values for ActivityImportance. * Possible values include: 'low', 'normal', 'high' * @readonly * @enum {string} */ export declare enum ActivityImportance { Low = "low", Normal = "normal", High = "high" } /** * Defines values for DeliveryModes. * Possible values include: 'normal', 'notification' * @readonly * @enum {string} */ export declare enum DeliveryModes { Normal = "normal", Notification = "notification", BufferedReplies = "bufferedReplies" } /** * Defines values for ContactRelationUpdateActionTypes. * Possible values include: 'add', 'remove' * @readonly * @enum {string} */ export declare enum ContactRelationUpdateActionTypes { Add = "add", Remove = "remove" } /** * Defines values for InstallationUpdateActionTypes. * Possible values include: 'add', 'remove' * @readonly * @enum {string} */ export declare enum InstallationUpdateActionTypes { Add = "add", Remove = "remove" } /** * Defines values for SemanticActionStateTypes. * Possible values include: 'start', 'continue', 'done' * @readonly * @enum {string} */ export declare enum SemanticActionStateTypes { Start = "start", Continue = "continue", Done = "done" } /** * Defines values for ChannelIds for Channels. * Possible values include: 'console', 'cortana', 'directline', 'directlinespeech', 'email', * 'emulator', 'facebook', 'groupme', 'kik', 'line', 'msteams', 'skype', 'skypeforbusiness', * 'slack', 'sms', 'telegram', 'test', 'twilio-sms', 'webchat' * @readonly * @enum {string} */ export declare enum Channels { Console = "console", Cortana = "cortana", Directline = "directline", DirectlineSpeech = "directlinespeech", Email = "email", Emulator = "emulator", Facebook = "facebook", Groupme = "groupme", Kik = "kik", Line = "line", Msteams = "msteams", Skype = "skype", Skypeforbusiness = "skypeforbusiness", Slack = "slack", Sms = "sms", Telegram = "telegram", Test = "test", Twilio = "twilio-sms", Webchat = "webchat" } //# sourceMappingURL=index.d.ts.map