Compartir a través de


Compilación de extensiones de mensaje mediante la API

Nota:

Las extensiones de mensaje basadas en API solo admiten comandos de búsqueda.

Las extensiones de mensaje creadas mediante API (basada en API) usan un servicio web para administrar las solicitudes y respuestas de los usuarios y no requieren un registro de bot. Puede configurar e implementar extensiones de mensajes basadas en API mediante el Portal para desarrolladores para Teams y teams Toolkit para Visual Studio Code, la interfaz de línea de comandos (CLI) o Visual Studio. Las extensiones de mensajes basadas en API ayudan a las aplicaciones a interactuar directamente con datos, aplicaciones y servicios de terceros, lo que mejora sus funcionalidades. Con la extensión de mensaje basada en API, puede hacer lo siguiente:

  • Recupere información en tiempo real, como la cobertura de noticias más reciente en el lanzamiento de un producto.
  • Recupere información basada en conocimientos, por ejemplo, los archivos de diseño de mi equipo en Figma.

Puede crear una extensión de mensaje basada en API mediante un documento de descripción de OpenAPI (OAD ). Después de crear un documento de descripción de OpenAPI, use el documento Descripción de OpenAPI para generar e integrar el código de cliente en el proyecto de la aplicación. Create o genere una plantilla de representación de respuesta para administrar las respuestas de la API.

Vea el vídeo para obtener más información sobre la creación de una extensión de mensaje basada en API mediante el kit de herramientas de Teams:

Requisitos previos

Antes de empezar, asegúrese de cumplir los siguientes requisitos:

Descripción de OpenAPI

La descripción de OpenAPI (OAD) es la especificación estándar del sector que detalla la estructura y el esquema de los archivos OpenAPI. Es un formato legible y independiente del lenguaje para describir las API. Tanto los humanos como las máquinas pueden leer y escribir fácilmente la descripción de openAPI. El esquema es legible por máquina y se puede representar en YAML o JSON. Se requiere un documento de descripción de OpenAPI antes de crear una extensión de mensaje controlada por API.

Plantilla de representación de respuesta

Una plantilla de representación de respuesta asigna respuestas JSON a una tarjeta de vista previa y una tarjeta adaptable. Cuando un usuario selecciona un resultado de búsqueda, las tarjetas de vista previa aparecen como resultados. A continuación, la tarjeta de vista previa se expande en una tarjeta adaptable en el cuadro de redacción del mensaje.

Cada comando de búsqueda debe tener una plantilla de representación de respuesta correspondiente y cada comando debe corresponder a una operación en la descripción de OpenAPI. Sin embargo, no todas las operaciones definidas en una descripción de OpenAPI deben ser un comando. La plantilla de representación de respuesta consta de una plantilla de tarjeta adaptable, una plantilla de tarjeta de vista previa y metadatos y debe cumplir el esquema de plantilla de representación de respuesta hospedado en https://developer.microsoft.com/json-schemas/teams/vDevPreview/MicrosoftTeams.ResponseRenderingTemplate.schema.json.

Actualizar el manifiesto de la aplicación

Actualice el manifiesto de aplicación (anteriormente denominado manifiesto de aplicación de Teams) con la composeExtensions propiedad . El código siguiente es un ejemplo del manifiesto de aplicación con la composeExtensions propiedad :

{
  "composeExtensions": [
    {
      "composeExtensionType": "apiBased",
      "apiSpecificationFile": "aitools-openapi.yml",
      "commands": [
        {
          "id": "searchTools",
          "type": "query",
          "context": [
            "compose",
            "commandBox"
          ],
          "title": "search for AI tools",
          "description": "search for AI tools",
          "parameters": [
            {
              "name": "search",
              "title": "search query",
              "description": "e.g. search='tool to create music'"
            }
          ],
          "apiResponseRenderingTemplateFile": "response-template.json"
        }
      ]
    }
  ]
}

Captura de pantalla que muestra el flujo de descripción de OpenAPI del usuario a Teams y de vuelta al usuario.

Paso siguiente