Referencia de API para el servicio Bot Framework Connector

Note

La API REST no es equivalente al SDK. La API REST se proporciona para permitir la comunicación REST estándar, pero el método preferido para interactuar con Bot Framework es el SDK.

Dentro de Bot Framework, el servicio Bot Connector permite al bot intercambiar mensajes con usuarios en canales configurados en el Portal de Bot Framework. El servicio usa REST estándar del sector y JSON a través de HTTPS.

Base URI

Cuando un usuario envía un mensaje al bot, la solicitud entrante contiene un objeto Activity con una serviceUrl propiedad que especifica el punto de conexión al que el bot debe enviar su respuesta. Para acceder al servicio Bot Connector, use el serviceUrl valor como URI base para las solicitudes de API.

Cuando aún no tenga una dirección URL de servicio para el canal, use https://smba.trafficmanager.net/teams/ como dirección URL del servicio. Para obtener más información, vea cómo crear una conversación y un mensaje proactivo en Teams.

Por ejemplo, suponga que el bot recibe la siguiente actividad cuando el usuario envía un mensaje al bot.

{
    "type": "message",
    "id": "bf3cc9a2f5de...",
    "timestamp": "2016-10-19T20:17:52.2891902Z",
    "serviceUrl": "https://smba.trafficmanager.net/teams/",
    "channelId": "channel's name/id",
    "from": {
        "id": "1234abcd",
        "name": "user's name"
    },
    "conversation": {
        "id": "abcd1234",
        "name": "conversation's name"
    },
    "recipient": {
        "id": "12345678",
        "name": "bot's name"
    },
    "text": "Haircut on Saturday"
}

La serviceUrl propiedad del mensaje del usuario indica que el bot debe enviar su respuesta al punto de conexión https://smba.trafficmanager.net/teams/. La dirección URL del servicio será el URI base para las solicitudes posteriores que emite el bot en el contexto de esta conversación. Si el bot tendrá que enviar un mensaje proactivo al usuario, asegúrese de guardar el valor de serviceUrl.

En el ejemplo siguiente se muestra la solicitud que emite el bot para responder al mensaje del usuario.

POST https://smba.trafficmanager.net/teams/v3/conversations/abcd1234/activities/bf3cc9a2f5de...
Authorization: Bearer eyJhbGciOiJIUzI1Ni...
Content-Type: application/json
{
    "type": "message",
    "from": {
        "id": "12345678",
        "name": "bot's name"
    },
    "conversation": {
        "id": "abcd1234",
        "name": "conversation's name"
    },
   "recipient": {
        "id": "1234abcd",
        "name": "user's name"
    },
    "text": "I have several times available on Saturday!",
    "replyToId": "bf3cc9a2f5de..."
}

Headers

Cabeceras de solicitud

Además de los encabezados de solicitud HTTP estándar, todas las solicitudes de API que emita deben incluir un Authorization encabezado que especifique un token de acceso para autenticar el bot. Especifique el Authorization encabezado con este formato:

Authorization: Bearer ACCESS_TOKEN

Para más información sobre cómo obtener un token de acceso para el bot, consulte Autenticación de solicitudes desde el bot al servicio Bot Connector.

Encabezados de respuesta

Además de los encabezados de respuesta HTTP estándar, cada respuesta contendrá un X-Correlating-OperationId encabezado. El valor de este encabezado es un identificador que corresponde a la entrada de registro de Bot Framework, que contiene detalles sobre la solicitud. Cuando reciba una respuesta de error, debe capturar el valor de este encabezado. Si no puede resolver el problema de forma independiente, incluya este valor en la información que proporcione al equipo de soporte técnico al notificar el problema.

Códigos de estado HTTP

El código de estado HTTP que se devuelve con cada respuesta indica el resultado de la solicitud correspondiente.

Note

En la tabla siguiente se describen los códigos de estado HTTP más comunes. El canal genera algunos errores. Para obtener más información, es posible que tenga que leer la documentación para desarrolladores del canal.

Código de estado HTTP Meaning
200 La solicitud tuvo éxito.
201 La solicitud tuvo éxito.
202 La solicitud se aceptó para su procesamiento.
204 La solicitud se realizó correctamente, pero no se devolvió contenido.
400 La solicitud tiene un formato incorrecto o es incorrecto.
401 El bot aún no está autenticado.
403 El bot no está autorizado para realizar la operación solicitada.
404 No se encontró el recurso solicitado.
405 El canal no admite la operación solicitada.
500 Se ha producido un error interno del servidor.
503 El servicio no está disponible temporalmente.

Errors

Cualquier respuesta que especifique un código de estado HTTP en el intervalo 4xx o el intervalo 5xx incluirá un objeto ErrorResponse en el cuerpo de la respuesta que proporciona información sobre el error. Si recibe una respuesta de error en el intervalo 4xx, inspeccione el objeto ErrorResponse para identificar la causa del error y resolver el problema antes de volver a enviar la solicitud.

Operaciones de conversación

Use estas operaciones para crear conversaciones, enviar mensajes (actividades) y administrar el contenido de las conversaciones.

Important

No todos los canales admiten todos los puntos de conexión. Sin embargo, todos los canales deben admitir la respuesta al punto de conexión de actividad.

Por ejemplo, solo Direct Line y Chat en web admiten el punto de conexión obtener conversaciones.

Operation Description
Crear conversación Crea una nueva conversación.
Eliminar actividad Elimina una actividad existente.
Eliminar miembro de conversación Quita un miembro de una conversación.
Obtener miembros de la actividad Obtiene los miembros de la actividad especificada dentro de la conversación especificada.
Obtener miembro de conversación Obtiene detalles sobre un miembro de una conversación.
Obtener miembros de conversación Obtiene los miembros de la conversación especificada.
Obtener miembros paginados de conversación Obtiene los miembros de la conversación especificada una página a la vez.
Obtener conversaciones Obtiene una lista de conversaciones en las que ha participado el bot.
Responder a la actividad Envía una actividad (mensaje) a la conversación especificada, como respuesta a la actividad especificada.
Enviar historial de conversaciones Carga una transcripción de actividades pasadas en la conversación.
Enviar a la conversación Envía una actividad (mensaje) al final de la conversación especificada.
Actividad de actualización Actualiza una actividad existente.
Cargar datos adjuntos en el canal Carga datos adjuntos directamente en el almacenamiento de blobs de un canal.

Crear conversación

Crea una nueva conversación.

POST /v3/conversations
Contenido Description
Cuerpo de la solicitud Un objeto ConversationParameters
Devolución Un objeto ConversationResourceResponse

Eliminar actividad

Algunos canales permiten eliminar una actividad existente. Si se ejecuta correctamente, esta operación quita la actividad especificada de la conversación especificada.

DELETE /v3/conversations/{conversationId}/activities/{activityId}
Contenido Description
Cuerpo de la solicitud n/a
Devolución Código de estado HTTP que indica el resultado de la operación. No se especifica nada en el cuerpo de la respuesta.

Eliminar miembro de conversación

Quita un miembro de una conversación. Si ese miembro era el último miembro de la conversación, la conversación también se eliminará.

DELETE /v3/conversations/{conversationId}/members/{memberId}
Contenido Description
Cuerpo de la solicitud n/a
Devolución Código de estado HTTP que indica el resultado de la operación. No se especifica nada en el cuerpo de la respuesta.

Obtener miembros de la actividad

Obtiene los miembros de la actividad especificada dentro de la conversación especificada.

GET /v3/conversations/{conversationId}/activities/{activityId}/members
Contenido Description
Cuerpo de la solicitud n/a
Devolución Matriz de objetos ChannelAccount

Obtener conversaciones

Obtiene una lista de conversaciones en las que ha participado el bot.

GET /v3/conversations?continuationToken={continuationToken}
Contenido Description
Cuerpo de la solicitud n/a
Devolución Un objeto ConversationsResult

Obtener miembro de conversación

Obtiene detalles sobre un miembro específico de una conversación específica.

GET /v3/conversations/{conversationId}/members/{memberId}
Contenido Description
Cuerpo de la solicitud n/a
Devolución Objeto ChannelAccount para el miembro.

Obtener miembros de la conversación

Obtiene los miembros de la conversación especificada.

GET /v3/conversations/{conversationId}/members
Contenido Description
Cuerpo de la solicitud n/a
Devolución Matriz de objetos ChannelAccount para los miembros de la conversación.

Obtener miembros paginados de conversación

Obtiene los miembros de la conversación especificada una página a la vez.

GET /v3/conversations/{conversationId}/pagedmembers?pageSize={pageSize}&continuationToken={continuationToken}
Contenido Description
Cuerpo de la solicitud n/a
Devolución Un objeto PagedMembersResult

Responder a la actividad

Envía una actividad (mensaje) a la conversación especificada, como respuesta a la actividad especificada. La actividad se agregará como respuesta a otra actividad, si el canal lo admite. Si el canal no admite respuestas anidadas, esta operación se comporta como Enviar a conversación.

POST /v3/conversations/{conversationId}/activities/{activityId}
Contenido Description
Cuerpo de la solicitud Un objeto Activity
Devolución Un objeto ResourceResponse

Enviar historial de conversaciones

Carga una transcripción de actividades pasadas en la conversación para que el cliente pueda representarlas.

POST /v3/conversations/{conversationId}/activities/history
Contenido Description
Cuerpo de la solicitud Un objeto Transcript .
Devolución Un objeto ResourceResponse.

Enviar a la conversación

Envía una actividad (mensaje) a la conversación especificada. La actividad se anexará al final de la conversación según la marca de tiempo o la semántica del canal. Para responder a un mensaje específico dentro de la conversación, use Responder a la actividad en su lugar.

POST /v3/conversations/{conversationId}/activities
Contenido Description
Cuerpo de la solicitud Un objeto Activity
Devolución Un objeto ResourceResponse

Actividad de actualización

Algunos canales permiten editar una actividad existente para reflejar el nuevo estado de una conversación de bot. Por ejemplo, puede quitar botones de un mensaje de la conversación después de que el usuario haya realizado clic en uno de los botones. Si se ejecuta correctamente, esta operación actualiza la actividad especificada dentro de la conversación especificada.

PUT /v3/conversations/{conversationId}/activities/{activityId}
Contenido Description
Cuerpo de la solicitud Un objeto Activity
Devolución Un objeto ResourceResponse

Cargar datos adjuntos en el canal

Carga datos adjuntos para la conversación especificada directamente en el almacenamiento de blobs de un canal. Esto le permite almacenar datos en un almacén compatible.

POST /v3/conversations/{conversationId}/attachments
Contenido Description
Cuerpo de la solicitud Un objeto AttachmentData .
Devolución Un objeto ResourceResponse. La propiedad id especifica el identificador de datos adjuntos que se puede usar con la operación Obtener información de datos adjuntos y la operación Obtener datos adjuntos .

Operaciones de datos adjuntos

Use estas operaciones para recuperar información sobre los datos adjuntos, así como los datos binarios del propio archivo.

Operation Description
Obtener información de datos adjuntos Obtiene información sobre los datos adjuntos especificados, incluido el nombre de archivo, el tipo de archivo y las vistas disponibles (por ejemplo, originales o miniaturas).
Obtener datos adjuntos Obtiene la vista especificada de los datos adjuntos especificados como contenido binario.

Obtener información de datos adjuntos

Obtiene información sobre los datos adjuntos especificados, incluido el nombre de archivo, el tipo y las vistas disponibles (por ejemplo, originales o miniaturas).

GET /v3/attachments/{attachmentId}
Contenido Description
Cuerpo de la solicitud n/a
Devolución Un objeto AttachmentInfo

Obtener datos adjuntos

Obtiene la vista especificada de los datos adjuntos especificados como contenido binario.

GET /v3/attachments/{attachmentId}/views/{viewId}
Contenido Description
Cuerpo de la solicitud n/a
Devolución Contenido binario que representa la vista especificada de los datos adjuntos especificados

Operaciones de estado (en desuso)

El servicio de estado de Microsoft bot Framework se retirará a partir del 30 de marzo de 2018. Anteriormente, los bots creados en Servicio de Bot de Azure AI o en el SDK Bot Builder tenían una conexión predeterminada con este servicio hospedado por Microsoft para almacenar los datos de estado del bot. Los bots se deberán actualizar para usar su propio almacenamiento del estado.

Operation Description
Set User Data Almacena los datos de estado de un usuario específico en un canal.
Set Conversation Data Almacena datos de estado para una conversación específica en un canal.
Set Private Conversation Data Almacena datos de estado para un usuario específico dentro del contexto de una conversación específica en un canal.
Get User Data Recupera los datos de estado que se han almacenado previamente para un usuario específico en todas las conversaciones de un canal.
Get Conversation Data Recupera los datos de estado que se han almacenado previamente para una conversación específica en un canal.
Get Private Conversation Data Recupera los datos de estado que se han almacenado previamente para un usuario específico en el contexto de una conversación específica en un canal.
Delete State For User Elimina los datos de estado que se han almacenado previamente para un usuario.

Schema

El esquema de Bot Framework define los objetos y sus propiedades que el bot puede usar para comunicarse con un usuario.

Objeto Description
Activity (objeto) Define un mensaje que se intercambia entre el bot y el usuario.
AnimationCard (objeto) Define una tarjeta que puede reproducir GIF animados o vídeos cortos.
Attachment (objeto) Define información adicional que se va a incluir en el mensaje. Un archivo adjunto puede ser un archivo multimedia (por ejemplo, audio, vídeo, imagen, archivo) o una tarjeta enriquecida.
AttachmentData (objeto) Describe los datos adjuntos.
AttachmentInfo (objeto) Describe los datos adjuntos.
AttachmentView (objeto) Define un objeto que representa una vista disponible para los datos adjuntos.
AudioCard (objeto) Define una tarjeta que puede reproducir un archivo de audio.
CardAction (objeto) Define una acción que se va a realizar.
CardImage (objeto) Define una imagen que se va a mostrar en una tarjeta.
ChannelAccount (objeto) Define un bot o una cuenta de usuario en el canal.
ConversationAccount (objeto) Define una conversación en un canal.
ConversationMembers (objeto) Define los miembros de una conversación.
ConversationParameters (objeto) Definición de parámetros para crear una nueva conversación
ConversationReference (objeto) Define un punto determinado en una conversación.
ConversationResourceResponse (objeto) Define una respuesta a Crear conversación.
ConversationsResult (objeto) Define el resultado de una llamada a Obtener conversaciones.
Entity (objeto) Define un objeto de entidad.
Error (objeto) Define un error.
ErrorResponse (objeto) Define una respuesta de API HTTP.
Fact (objeto) Define un par clave-valor que contiene un hecho.
GeoCoordinates (objeto) Define una ubicación geográfica mediante coordenadas del sistema geodético mundial (WSG84).
HeroCard (objeto) Define una tarjeta con una imagen grande, un título, un texto y botones de acción.
InnerHttpError (objeto) Objeto que representa un error HTTP interno.
Objeto MediaEventValue Parámetro complementario para eventos multimedia.
Objeto MediaUrl Define la dirección URL en el origen de un archivo multimedia.
Mention (objeto) Define un usuario o bot que se mencionó en la conversación.
MessageReaction (objeto) Define una reacción a un mensaje.
PagedMembersResult (objeto) Página de miembros devueltos por Obtener miembros paginados de conversación.
Place (objeto) Define un lugar que se mencionó en la conversación.
ReceiptCard (objeto) Define una tarjeta que contiene un recibo de una compra.
ReceiptItem (objeto) Define un elemento de línea dentro de un recibo.
ResourceResponse (objeto) Define un recurso.
SemanticAction (objeto) Define una referencia a una acción mediante programación.
SignInCard (objeto) Define una tarjeta que permite a un usuario iniciar sesión en un servicio.
SuggestedActions (objeto) Define las opciones desde las que un usuario puede elegir.
TextHighlight (objeto) Hace referencia a una subcadena de contenido dentro de otro campo.
ThumbnailCard (objeto) Define una tarjeta con una imagen en miniatura, un título, un texto y botones de acción.
ThumbnailUrl (objeto) Define la dirección URL en el origen de una imagen.
Transcript (objeto) Colección de actividades que se van a cargar mediante Enviar historial de conversaciones.
VideoCard (objeto) Define una tarjeta que puede reproducir vídeos.

Activity (objeto)

Define un mensaje que se intercambia entre el bot y el usuario.

Propiedad Tipo Description
action String Acción que se va a aplicar o que se aplicó. Use la propiedad type para determinar el contexto de la acción. Por ejemplo, si el tipo es contactRelationUpdate, el valor de la propiedad action se agregaría si el usuario agregó el bot a su lista de contactos o quitará si quitó el bot de su lista de contactos.
attachmentLayout String Diseño de los datos adjuntos de la tarjeta enriquecida que incluye el mensaje. Uno de estos valores: carrusel, list. Para obtener más información sobre los datos adjuntos de tarjetas enriquecidas, vea Agregar datos adjuntos de tarjetas enriquecidas a los mensajes.
Accesorios Datos adjuntos[] Matriz de objetos Attachment que define información adicional que se va a incluir en el mensaje. Cada archivo adjunto puede ser un archivo (por ejemplo, audio, vídeo, imagen) o una tarjeta enriquecida.
callerId String Cadena que contiene un IRI que identifica al autor de la llamada de un bot. Este campo no está diseñado para transmitirse a través de la conexión, sino que se rellena mediante bots y clientes en función de los datos verificables criptográficamente que aserten la identidad de los autores de llamada (por ejemplo, tokens).
channelData Objeto Un objeto que contiene contenido específico del canal. Algunos canales proporcionan características que requieren información adicional que no se puede representar mediante el esquema de datos adjuntos. En esos casos, establezca esta propiedad en el contenido específico del canal tal como se define en la documentación del canal. Para obtener más información, consulte Implementación de la funcionalidad específica del canal.
channelId String Un ID que identifica de forma única el canal. Establezca por el canal.
código String Código que indica por qué finalizó la conversación.
conversation ConversationAccount Objeto ConversationAccount que define la conversación a la que pertenece la actividad.
deliveryMode String Sugerencia de entrega para indicar a los destinatarios rutas de entrega alternativas para la actividad. Uno de estos valores: normal, notificación.
Entidades objeto[] Matriz de objetos que representa las entidades mencionadas en el mensaje. Los objetos de esta matriz pueden ser cualquier objeto Schema.org . Por ejemplo, la matriz puede incluir objetos Mention que identifican a alguien que se mencionó en la conversación y objetos Place que identifican un lugar mencionado en la conversación.
expiration String La hora en la que se debe considerar que la actividad debe ser "expirada" y no debe presentarse al destinatario.
from ChannelAccount Objeto ChannelAccount que especifica el remitente del mensaje.
historyDisclosed Boolean Marca que indica si se divulga o no el historial. El valor predeterminado es Falso.
id String Identificador que identifica de forma única la actividad en el canal.
importance String Define la importancia de una actividad. Uno de estos valores: bajo, normal y alto.
inputHint String Valor que indica si el bot acepta, espera o ignora la entrada del usuario después de que el mensaje se entregue al cliente. Uno de estos valores: acceptingInput, expectingInput, ignoreingInput.
label String Etiqueta descriptiva para la actividad.
listenFor Cadena[] Lista de frases y referencias que los sistemas de preparación de voz e idioma deben escuchar.
localización String Configuración regional del idioma que se debe usar para mostrar texto dentro del mensaje, con el formato <language>-<country>. El canal usa esta propiedad para indicar el idioma del usuario, de modo que el bot pueda especificar cadenas para mostrar en ese idioma. El valor predeterminado es en-US.
localTimestamp String Fecha y hora en que se envió el mensaje en la zona horaria local, expresado en formato ISO-8601 .
localTimezone String Contiene el nombre de la zona horaria local del mensaje, expresado en formato de base de datos de zona horaria de IANA. Por ejemplo, Estados Unidos/Los_Angeles.
membersAdded ChannelAccount[] Matriz de objetos ChannelAccount que representa la lista de usuarios que se unieron a la conversación. Presente solo si el tipo de actividad es "conversationUpdate" y los usuarios se han unido a la conversación.
membersRemoved ChannelAccount[] Matriz de objetos ChannelAccount que representa la lista de usuarios que dejaron la conversación. Presente solo si el tipo de actividad es "conversationUpdate" y los usuarios abandonaron la conversación.
name String Nombre de la operación que se va a invocar o el nombre del evento.
reaccionesAdded MessageReaction[] Colección de reacciones agregadas a la conversación.
reaccionesRemoved MessageReaction[] Colección de reacciones eliminadas de la conversación.
recipient ChannelAccount Objeto ChannelAccount que especifica el destinatario del mensaje.
relatesTo ConversationReference Objeto ConversationReference que define un punto determinado en una conversación.
replyToId String Identificador del mensaje al que responde este mensaje. Para responder a un mensaje enviado por el usuario, establezca esta propiedad en el identificador del mensaje del usuario. No todos los canales admiten respuestas en subprocesos. En estos casos, el canal omitirá esta propiedad y usará la semántica ordenada de tiempo (marca de tiempo) para anexar el mensaje a la conversación.
semanticAction SemanticAction Objeto SemanticAction que representa una referencia a una acción mediante programación.
serviceUrl String Dirección URL que especifica el punto de conexión de servicio del canal. Establezca por el canal.
hablar String Texto que va a hablar el bot en un canal habilitado para voz. Para controlar varias características de la voz del bot, como voz, velocidad, volumen, pronunciación y tono, especifique esta propiedad en formato de lenguaje de marcado de síntesis de voz (SSML).
suggestedActions SuggestedActions Objeto SuggestedActions que define las opciones desde las que el usuario puede elegir.
summary String Resumen de la información que contiene el mensaje. Por ejemplo, para un mensaje que se envía en un canal de correo electrónico, esta propiedad puede especificar los primeros 50 caracteres del mensaje de correo electrónico.
text String Texto del mensaje que se envía del usuario al bot o bot al usuario. Consulte la documentación del canal para conocer los límites impuestos sobre el contenido de esta propiedad.
textFormat String Formato del texto del mensaje. Uno de estos valores: Markdown, plain, xml. Para obtener más información sobre el formato de texto, consulte Crear mensajes.
textHighlights TextHighlight[] Colección de fragmentos de texto que se resaltarán cuando la actividad contiene un valor replyToId .
timestamp String Fecha y hora en que se envió el mensaje en la zona horaria UTC, expresado en formato ISO-8601 .
topicName String Tema de la conversación a la que pertenece la actividad.
type String Tipo de actividad. Uno de estos valores: message, contactRelationUpdate, conversationUpdate, typing, endOfConversation, event, invoke, deleteUserData, messageUpdate, messageDelete, installationUpdate, messageReaction, suggestion, trace, handoff. Para obtener más información sobre los tipos de actividad, consulte la especificación del protocolo de actividad.
valor Objeto Valor con extremo abierto.
valueType String Tipo del objeto de valor de la actividad.

Volver a la tabla de esquema

AnimationCard (objeto)

Define una tarjeta que puede reproducir GIF animados o vídeos cortos.

Propiedad Tipo Description
aspecto Boolean Relación de aspecto del marcador de posición miniatura/multimedia. Los valores permitidos son "16:9" y "4:3".
autoloop Boolean Marca que indica si se va a reproducir la lista de GIF animados cuando finaliza el último. Establezca esta propiedad en true para reproducir automáticamente la animación; de lo contrario, false. El valor predeterminado es true.
inicio automático Boolean Marca que indica si se reproduce automáticamente la animación cuando se muestra la tarjeta. Establezca esta propiedad en true para reproducir automáticamente la animación; de lo contrario, false. El valor predeterminado es true.
botones CardAction[] Matriz de objetos CardAction que permiten al usuario realizar una o varias acciones. El canal determina el número de botones que puede especificar.
duration String Longitud del contenido multimedia, en formato de duración ISO 8601.
image ThumbnailUrl Objeto ThumbnailUrl que especifica la imagen que se va a mostrar en la tarjeta.
Elementos multimedia MediaUrl[] Matriz de objetos MediaUrl . Cuando este campo contiene más de una dirección URL, cada dirección URL es un formato alternativo del mismo contenido.
que se puede compartir Boolean Marca que indica si la animación se puede compartir con otros usuarios. Establezca esta propiedad en true si se puede compartir la animación; de lo contrario, false. El valor predeterminado es true.
subtítulo String Subtítulo que se mostrará bajo el título de la tarjeta.
text String Descripción o aviso para mostrar en el título o el subtítulo de la tarjeta.
título String Título de la tarjeta.
valor Objeto Parámetro complementario para esta tarjeta.

Volver a la tabla de esquema

Objeto Attachment

Define información adicional que se va a incluir en el mensaje. Un archivo adjunto puede ser un archivo (como una imagen, audio o vídeo) o una tarjeta enriquecida.

Propiedad Tipo Description
contenido Objeto Contenido de los datos adjuntos. Si los datos adjuntos son una tarjeta enriquecida, establezca esta propiedad en el objeto de tarjeta enriquecida. Esta propiedad y la propiedad contentUrl son mutuamente excluyentes.
contentType String Tipo de medio del contenido de los datos adjuntos. En el caso de los archivos multimedia, establezca esta propiedad en tipos de medios conocidos, como image/png, audio/wav y video/mp4. Para tarjetas enriquecidas, establezca esta propiedad en uno de estos tipos específicos del proveedor:
  • application/vnd.microsoft.card.adaptive: tarjeta enriquecida que puede contener cualquier combinación de texto, voz, imágenes, botones y campos de entrada. Establezca la propiedad content en un objeto AdaptiveCard .
  • application/vnd.microsoft.card.animation: una tarjeta enriquecida que reproduce animación. Establezca la propiedad content en un objeto AnimationCard .
  • application/vnd.microsoft.card.audio: tarjeta enriquecida que reproduce archivos de audio. Establezca la propiedad content en un objeto AudioCard .
  • application/vnd.microsoft.card.hero: una tarjeta prominente. Establezca la propiedad content en un objeto HeroCard .
  • application/vnd.microsoft.card.receipt: una tarjeta de recibo. Establezca la propiedad content en un objeto ReceiptCard .
  • application/vnd.microsoft.card.signin: una tarjeta de inicio de sesión de usuario. Establezca la propiedad content en un objeto SignInCard .
  • application/vnd.microsoft.card.thumbnail: una tarjeta miniatura. Establezca la propiedad content en un objeto ThumbnailCard .
  • application/vnd.microsoft.card.video: tarjeta enriquecida que reproduce vídeos. Establezca la propiedad content en un objeto VideoCard .
contentUrl String Dirección URL del contenido de los datos adjuntos. Por ejemplo, si los datos adjuntos son una imagen, puede establecer contentUrl en la dirección URL que representa la ubicación de la imagen. Los protocolos admitidos son: HTTP, HTTPS, Archivo y Datos.
name String Nombre de los datos adjuntos.
thumbnailUrl String Dirección URL a una imagen en miniatura que el canal puede usar si admite el uso de una forma alternativa, más pequeña de contenido o contentUrl. Por ejemplo, si establece contentType en application/word y establece contentUrl en la ubicación del documento de Word, puede incluir una imagen en miniatura que represente el documento. El canal podría mostrar la imagen en miniatura en lugar del documento. Cuando el usuario hace clic en la imagen, el canal abriría el documento.

Volver a la tabla de esquema

AttachmentData (objeto)

Describe los datos de los datos de los datos adjuntos.

Propiedad Tipo Description
name String Nombre de los datos adjuntos.
originalBase64 String Contenido adjunto.
thumbnailBase64 String Contenido de miniatura de datos adjuntos.
type String Tipo de contenido de los datos adjuntos.

Volver a la tabla de esquema

AttachmentInfo (objeto)

Metadatos de datos adjuntos.

Propiedad Tipo Description
name String Nombre de los datos adjuntos.
type String Tipo de contenido de los datos adjuntos.
views AttachmentView[] Matriz de objetos AttachmentView que representan las vistas disponibles para los datos adjuntos.

Volver a la tabla de esquema

AttachmentView (objeto)

Define un objeto que representa una vista disponible para los datos adjuntos.

Propiedad Tipo Description
tamaño Number Tamaño del archivo.
viewId String Id. de vista.

Volver a la tabla de esquema

AudioCard (objeto)

Define una tarjeta que puede reproducir un archivo de audio.

Propiedad Tipo Description
aspecto String Relación de aspecto de la miniatura especificada en la propiedad image . Los valores válidos son 16:9 y 4:3.
autoloop Boolean Marca que indica si se va a reproducir la lista de archivos de audio cuando finaliza la última. Establezca esta propiedad en true para reproducir automáticamente los archivos de audio; de lo contrario, false. El valor predeterminado es true.
inicio automático Boolean Marca que indica si se va a reproducir automáticamente el audio cuando se muestra la tarjeta. Establezca esta propiedad en true para reproducir automáticamente el audio; de lo contrario, false. El valor predeterminado es true.
botones CardAction[] Matriz de objetos CardAction que permiten al usuario realizar una o varias acciones. El canal determina el número de botones que puede especificar.
duration String Longitud del contenido multimedia, en formato de duración ISO 8601.
image ThumbnailUrl Objeto ThumbnailUrl que especifica la imagen que se va a mostrar en la tarjeta.
Elementos multimedia MediaUrl[] Matriz de objetos MediaUrl . Cuando este campo contiene más de una dirección URL, cada dirección URL es un formato alternativo del mismo contenido.
que se puede compartir Boolean Marca que indica si los archivos de audio se pueden compartir con otros usuarios. Establezca esta propiedad en true si se puede compartir el audio; de lo contrario, false. El valor predeterminado es true.
subtítulo String Subtítulo que se mostrará bajo el título de la tarjeta.
text String Descripción o aviso para mostrar en el título o el subtítulo de la tarjeta.
título String Título de la tarjeta.
valor Objeto Parámetro complementario para esta tarjeta.

Volver a la tabla de esquema

CardAction (objeto)

Define una acción que se puede hacer clic con un botón.

Propiedad Tipo Description
channelData String Datos específicos del canal asociados a esta acción.
texto para mostrar String Texto que se mostrará en la fuente de chat si se hace clic en el botón.
image String Dirección URL de imagen que aparecerá en el botón, junto a la etiqueta de texto.
text String Texto de la acción.
título String Descripción del texto que aparece en el botón.
type String Tipo de acción que se va a realizar. Para obtener una lista de valores válidos, consulte Adición de datos adjuntos de tarjetas enriquecidas a mensajes.
valor Objeto Parámetro complementario para la acción. El comportamiento de esta propiedad variará según el tipo de acción. Para obtener más información, vea Agregar datos adjuntos de tarjetas enriquecidas a mensajes.

Volver a la tabla de esquema

CardImage (objeto)

Define una imagen que se va a mostrar en una tarjeta.

Propiedad Tipo Description
Alt String Descripción de la imagen. Debe incluir la descripción para admitir la accesibilidad.
puntee CardAction Objeto CardAction que especifica la acción que se va a realizar si el usuario pulsa o hace clic en la imagen.
url String Dirección URL al origen de la imagen o al binario base64 de la imagen (por ejemplo, data:image/png;base64,iVBORw0KGgo...).

Volver a la tabla de esquema

ChannelAccount (objeto)

Define un bot o una cuenta de usuario en el canal.

Propiedad Tipo Description
aadObjectId String Identificador de objeto de esta cuenta dentro de Microsoft Entra ID.
id String Identificador único para el usuario o bot en este canal.
name String Nombre descriptivo del bot o usuario.
role String Rol de la entidad detrás de la cuenta. Usuario obot.

Volver a la tabla de esquema

ConversationAccount (objeto)

Define una conversación en un canal.

Propiedad Tipo Description
aadObjectId String Identificador de objeto de esta cuenta dentro de Microsoft Entra ID.
conversationType String Indica el tipo de conversación en canales que distinguen entre los tipos de conversación (por ejemplo, grupo o personal).
id String Identificador que identifica la conversación. El identificador es único por canal. Si el canal inicia la conversación, establece este identificador; De lo contrario, el bot establece esta propiedad en el identificador que obtiene en la respuesta cuando inicia la conversación (consulte Crear conversación).
isGroup Boolean Marca para indicar si la conversación contiene más de dos participantes en el momento en que se generó la actividad. Establézcalo en true si se trata de una conversación de grupo; de lo contrario, false. El valor predeterminado es false.
name String Nombre para mostrar que se puede usar para identificar la conversación.
role String Rol de la entidad detrás de la cuenta. Usuario obot.
tenantId String Identificador de inquilino de esta conversación.

Volver a la tabla de esquema

ConversationMembers (objeto)

Define los miembros de una conversación.

Propiedad Tipo Description
id String El identificador de conversación.
members ChannelAccount[] Lista de miembros de esta conversación.

Volver a la tabla de esquema

ConversationParameters (objeto)

Define parámetros para crear una nueva conversación.

Propiedad Tipo Description
actividad Actividad Mensaje inicial que se va a enviar a la conversación cuando se crea.
bot ChannelAccount Información de la cuenta de canal necesaria para enrutar un mensaje al bot.
channelData Objeto Carga específica del canal para crear la conversación.
isGroup Boolean Indica si se trata de una conversación de grupo.
members ChannelAccount[] Información de la cuenta de canal necesaria para enrutar un mensaje a cada usuario.
tenantId String Identificador de inquilino en el que se debe crear la conversación.
topicName String Tema de la conversación. Esta propiedad solo se usa si un canal lo admite.

Volver a la tabla de esquema

ConversationReference (objeto)

Define un punto determinado en una conversación.

Propiedad Tipo Description
activityId String Identificador que identifica de forma única la actividad a la que hace referencia este objeto.
bot ChannelAccount Objeto ChannelAccount que identifica el bot en la conversación a la que hace referencia este objeto.
channelId String Identificador que identifica de forma única el canal en la conversación a la que hace referencia este objeto.
conversation ConversationAccount Objeto ConversationAccount que define la conversación a la que hace referencia este objeto.
serviceUrl String Dirección URL que especifica el punto de conexión de servicio del canal en la conversación a la que hace referencia este objeto.
usuario ChannelAccount Objeto ChannelAccount que identifica al usuario en la conversación a la que hace referencia este objeto.

Volver a la tabla de esquema

ConversationResourceResponse (objeto)

Define una respuesta a Crear conversación.

Propiedad Tipo Description
activityId String Identificador de la actividad, si se envía.
id String Identificador del recurso.
serviceUrl String punto final de servicio donde se pueden realizar operaciones relacionadas con la conversación.

Volver a la tabla de esquema

ConversationsResult (objeto)

Define el resultado de Obtener conversaciones.

Propiedad Tipo Description
conversaciones ConversationMembers[] Los miembros de cada una de las conversaciones.
continuationToken String Token de continuación que se puede usar en llamadas posteriores a Get Conversations.

Volver a la tabla de esquema

Objeto Entity

Objeto de metadatos que pertenece a una actividad.

Propiedad Tipo Description
type String Tipo de esta entidad (RFC 3987 IRI).

Volver a la tabla de esquema

objeto de error

Objeto que representa información de error.

Propiedad Tipo Description
código String Código de error.
innerHttpError InnerHttpError Objeto que representa el error HTTP interno.
Mensaje String Descripción del error.

Volver a la tabla de esquema

ErrorResponse (objeto)

Define una respuesta de API HTTP.

Propiedad Tipo Description
error Error Objeto Error que contiene información sobre el error.

Volver a la tabla de esquema

Fact (objeto)

Define un par clave-valor que contiene un hecho.

Propiedad Tipo Description
key String Nombre del hecho. Por ejemplo, Check-in. La clave se usa como etiqueta al mostrar el valor del hecho.
valor String Valor del hecho. Por ejemplo, 10 de octubre de 2016.

Volver a la tabla de esquema

GeoCoordinates (objeto)

Define una ubicación geográfica mediante coordenadas del sistema geodético mundial (WSG84).

Propiedad Tipo Description
elevación Number Elevación de la ubicación.
latitude Number Latitud de la ubicación.
longitude Number Longitud de la ubicación.
name String Nombre de la ubicación.
type String Tipo de este objeto. Siempre se establece en GeoCoordinates.

Volver a la tabla de esquema

HeroCard (objeto)

Define una tarjeta con una imagen grande, un título, un texto y botones de acción.

Propiedad Tipo Description
botones CardAction[] Matriz de objetos CardAction que permiten al usuario realizar una o varias acciones. El canal determina el número de botones que puede especificar.
imágenes CardImage[] Matriz de objetos CardImage que especifica la imagen que se va a mostrar en la tarjeta. Una tarjeta prominente contiene solo una imagen.
subtítulo String Subtítulo que se mostrará bajo el título de la tarjeta.
puntee CardAction Objeto CardAction que especifica la acción que se va a realizar si el usuario pulsa o hace clic en la tarjeta. Puede ser la misma acción que uno de los botones o una acción diferente.
text String Descripción o aviso para mostrar en el título o el subtítulo de la tarjeta.
título String Título de la tarjeta.

Volver a la tabla de esquema

InnerHttpError (objeto)

Objeto que representa un error HTTP interno.

Propiedad Tipo Description
statusCode Number Código de estado HTTP de la solicitud con error.
cuerpo Objeto Cuerpo de la solicitud con error.

Volver a la tabla de esquema

Objeto MediaEventValue

Parámetro complementario para eventos multimedia.

Propiedad Tipo Description
cardValue Objeto Parámetro de devolución de llamada especificado en el campo de valor de la tarjeta multimedia que originó este evento.

Volver a la tabla de esquema

Objeto MediaUrl

Define la dirección URL en el origen de un archivo multimedia.

Propiedad Tipo Description
profile String Sugerencia que describe el contenido del medio.
url String Dirección URL al origen del archivo multimedia.

Volver a la tabla de esquema

Mention (objeto)

Define un usuario o bot que se mencionó en la conversación.

Propiedad Tipo Description
mencionado ChannelAccount Objeto ChannelAccount que especifica el usuario o el bot que se mencionó. Algunos canales, como Slack, asignan nombres por conversación, por lo que es posible que el nombre mencionado del bot (en la propiedad recipient del mensaje) sea diferente del identificador que especificó al registrar el bot. Sin embargo, los identificadores de cuenta para ambos serían los mismos.
text String El usuario o bot tal como se mencionó en la conversación. Por ejemplo, si el mensaje es "@ColorBot elegirme un nuevo color", esta propiedad se establecería en @ColorBot. No todos los canales establecen esta propiedad.
type String Tipo de este objeto. Establezca siempre en Mencion.

Volver a la tabla de esquema

MessageReaction (objeto)

Define una reacción a un mensaje.

Propiedad Tipo Description
type String Tipo de reacción. Como oplusOne.

Volver a la tabla de esquema

PagedMembersResult (objeto)

Página de miembros devueltos por Obtener miembros paginados de conversación.

Propiedad Tipo Description
continuationToken String Token de continuación que se puede usar en llamadas posteriores a Obtener miembros paginados de conversación.
members ChannelAccount[] Matriz de miembros de conversación.

Volver a la tabla de esquema

Place (objeto)

Define un lugar que se mencionó en la conversación.

Propiedad Tipo Description
address Objeto Dirección de un lugar. Esta propiedad puede ser una cadena o un objeto complejo de tipo PostalAddress.
geo GeoCoordinates Objeto GeoCoordinates que especifica las coordenadas geográficas del lugar.
hasMap Objeto Asignar al lugar. Esta propiedad puede ser una cadena (URL) o un objeto complejo de tipo Map.
name String Nombre del lugar.
type String Tipo de este objeto. Siempre se establece en Place.

Volver a la tabla de esquema

ReceiptCard (objeto)

Define una tarjeta que contiene un recibo de una compra.

Propiedad Tipo Description
botones CardAction[] Matriz de objetos CardAction que permiten al usuario realizar una o varias acciones. El canal determina el número de botones que puede especificar.
Hechos Fact[] Matriz de objetos Fact que especifican información sobre la compra. Por ejemplo, la lista de hechos de un recibo de estancia del hotel puede incluir la fecha de registro de entrada y la fecha de salida. El canal determina el número de hechos que puede especificar.
items ReceiptItem[] Matriz de objetos ReceiptItem que especifican los elementos comprados
puntee CardAction Objeto CardAction que especifica la acción que se va a realizar si el usuario pulsa o hace clic en la tarjeta. Puede ser la misma acción que uno de los botones o una acción diferente.
impuestos String Cadena con formato de moneda que especifica la cantidad de impuestos aplicados a la compra.
título String Título que se muestra en la parte superior del recibo.
total String Cadena con formato de moneda que especifica el precio total de compra, incluidos todos los impuestos aplicables.
iva String Cadena con formato de moneda que especifica la cantidad de impuesto sobre el valor añadido (IVA) aplicado al precio de compra.

Volver a la tabla de esquema

ReceiptItem (objeto)

Define un elemento de línea dentro de un recibo.

Propiedad Tipo Description
image CardImage Objeto CardImage que especifica la imagen en miniatura que se va a mostrar junto al elemento de línea.
precio String Cadena con formato de moneda que especifica el precio total de todas las unidades compradas.
cantidad String Cadena numérica que especifica el número de unidades compradas.
subtítulo String Subtítulo que se mostrará bajo el título del elemento de línea.
puntee CardAction Objeto CardAction que especifica la acción que se va a realizar si el usuario pulsa o hace clic en el elemento de línea.
text String Descripción del elemento de línea.
título String Título del elemento de línea.

Volver a la tabla de esquema

ResourceResponse (objeto)

Define una respuesta que contiene un identificador de recurso.

Propiedad Tipo Description
id String Identificador que identifica de forma única el recurso.

Volver a la tabla de esquema

SemanticAction (objeto)

Define una referencia a una acción mediante programación.

Propiedad Tipo Description
Entidades Objeto Objeto donde el valor de cada propiedad es un objeto Entity .
id String Identificador de esta acción.
estado String Estado de esta acción. Valores permitidos: start, continue, done.

Volver a la tabla de esquema

SignInCard (objeto)

Define una tarjeta que permite a un usuario iniciar sesión en un servicio.

Propiedad Tipo Description
botones CardAction[] Matriz de objetos CardAction que permiten al usuario iniciar sesión en un servicio. El canal determina el número de botones que puede especificar.
text String Descripción o aviso para incluir en la tarjeta de inicio de sesión.

Volver a la tabla de esquema

SuggestedActions (objeto)

Define las opciones desde las que un usuario puede elegir.

Propiedad Tipo Description
actions CardAction[] Matriz de objetos CardAction que definen las acciones sugeridas.
to Cadena[] Matriz de cadenas que contiene los identificadores de los destinatarios a los que se deben mostrar las acciones sugeridas.

Volver a la tabla de esquema

TextHighlight (objeto)

Hace referencia a una subcadena de contenido dentro de otro campo.

Propiedad Tipo Description
ocurrencia Number Repetición del campo de texto dentro del texto al que se hace referencia, si existen varios.
text String Define el fragmento de texto que se va a resaltar.

Volver a la tabla de esquema

ThumbnailCard (objeto)

Define una tarjeta con una imagen en miniatura, un título, un texto y botones de acción.

Propiedad Tipo Description
botones CardAction[] Matriz de objetos CardAction que permiten al usuario realizar una o varias acciones. El canal determina el número de botones que puede especificar.
imágenes CardImage[] Matriz de objetos CardImage que especifican imágenes en miniatura que se van a mostrar en la tarjeta. El canal determina el número de imágenes en miniatura que puede especificar.
subtítulo String Subtítulo que se mostrará bajo el título de la tarjeta.
puntee CardAction Objeto CardAction que especifica la acción que se va a realizar si el usuario pulsa o hace clic en la tarjeta. Puede ser la misma acción que uno de los botones o una acción diferente.
text String Descripción o aviso para mostrar en el título o el subtítulo de la tarjeta.
título String Título de la tarjeta.

Volver a la tabla de esquema

ThumbnailUrl (objeto)

Define la dirección URL en el origen de una imagen.

Propiedad Tipo Description
Alt String Descripción de la imagen. Debe incluir la descripción para admitir la accesibilidad.
url String Dirección URL al origen de la imagen o al binario base64 de la imagen (por ejemplo, data:image/png;base64,iVBORw0KGgo...).

Volver a la tabla de esquema

Transcript (objeto)

Colección de actividades que se van a cargar mediante Enviar historial de conversaciones.

Propiedad Tipo Description
actividades array Matriz de objetos Activity . Cada uno debe tener un identificador único y una marca de tiempo.

Volver a la tabla de esquema

VideoCard (objeto)

Define una tarjeta que puede reproducir vídeos.

Propiedad Tipo Description
aspecto String Relación de aspecto del vídeo. 16:9 o 4:3.
autoloop Boolean Marca que indica si se va a reproducir la lista de vídeos cuando finaliza la última. Establezca esta propiedad en true para reproducir automáticamente los vídeos; de lo contrario, false. El valor predeterminado es true.
inicio automático Boolean Marca que indica si se reproducen automáticamente los vídeos cuando se muestra la tarjeta. Establezca esta propiedad en true para reproducir automáticamente los vídeos; de lo contrario, false. El valor predeterminado es true.
botones CardAction[] Matriz de objetos CardAction que permiten al usuario realizar una o varias acciones. El canal determina el número de botones que puede especificar.
duration String Longitud del contenido multimedia, en formato de duración ISO 8601.
image ThumbnailUrl Objeto ThumbnailUrl que especifica la imagen que se va a mostrar en la tarjeta.
Elementos multimedia MediaUrl[] Matriz de MediaUrl. Cuando este campo contiene más de una dirección URL, cada dirección URL es un formato alternativo del mismo contenido.
que se puede compartir Boolean Marca que indica si los vídeos se pueden compartir con otros usuarios. Establezca esta propiedad en true si se pueden compartir los vídeos; de lo contrario, false. El valor predeterminado es true.
subtítulo String Subtítulo que se mostrará bajo el título de la tarjeta.
text String Descripción o aviso para mostrar en el título o el subtítulo de la tarjeta.
título String Título de la tarjeta.
valor Objeto Parámetro complementario para esta tarjeta

Volver a la tabla de esquema