Referencia: esquema de manifiesto para Microsoft Teams
El Teams describe cómo se integra la aplicación en el Microsoft Teams producto. El manifiesto debe cumplir con el esquema hospedado en https://developer.microsoft.com/json-schemas/teams/v1.11/MicrosoftTeams.schema.json . También se admiten las versiones anteriores 1.0, 1.1,..., y 1.11 (con "v1.x" en la dirección URL).
Para obtener más información sobre los cambios realizados en cada versión, vea registro de cambios de manifiesto.
En el ejemplo de esquema siguiente se muestran todas las opciones de extensibilidad:
Manifiesto completo de ejemplo
{
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.11/MicrosoftTeams.schema.json",
"manifestVersion": "1.11",
"version": "1.0.0",
"id": "%MICROSOFT-APP-ID%",
"packageName": "com.example.myapp",
"localizationInfo": {
"defaultLanguageTag": "en-us",
"additionalLanguages": [
{
"languageTag": "es-es",
"file": "en-us.json"
}
]
},
"developer": {
"name": "Publisher Name",
"websiteUrl": "https://website.com/",
"privacyUrl": "https://website.com/privacy",
"termsOfUseUrl": "https://website.com/app-tos",
"mpnId": "1234567890"
},
"name": {
"short": "Name of your app (<=30 chars)",
"full": "Full name of app, if longer than 30 characters (<=100 chars)"
},
"description": {
"short": "Short description of your app (<= 80 chars)",
"full": "Full description of your app (<= 4000 chars)"
},
"icons": {
"outline": "A relative path to a transparent .png icon — 32px X 32px",
"color": "A relative path to a full color .png icon — 192px X 192px"
},
"accentColor": "A valid HTML color code.",
"configurableTabs": [
{
"configurationUrl": "https://contoso.com/teamstab/configure",
"scopes": [
"team",
"groupchat"
],
"canUpdateConfiguration": true,
"context":[
"channelTab",
"privateChatTab",
"meetingChatTab",
"meetingDetailsTab",
"meetingSidePanel",
"meetingStage"
],
"sharePointPreviewImage": "Relative path to a tab preview image for use in SharePoint — 1024px X 768",
"supportedSharePointHosts": [
"sharePointFullPage",
"sharePointWebPart"
]
}
],
"staticTabs": [
{
"entityId": "unique Id for the page entity",
"scopes": [
"personal"
],
"context":[
"personalTab",
"channelTab"
],
"name": "Display name of tab",
"contentUrl": "https://contoso.com/content (displayed in Teams canvas)",
"websiteUrl": "https://contoso.com/content (displayed in web browser)",
"searchUrl": "https://contoso.com/content (displayed in web browser)"
}
],
"bots": [
{
"botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
"scopes": [
"team",
"personal",
"groupchat"
],
"needsChannelSelector": false,
"isNotificationOnly": false,
"supportsFiles": true,
"supportsCalling": false,
"supportsVideo": true,
"commandLists": [
{
"scopes": [
"team",
"groupchat"
],
"commands": [
{
"title": "Command 1",
"description": "Description of Command 1"
},
{
"title": "Command 2",
"description": "Description of Command 2"
}
]
},
{
"scopes": [
"personal",
"groupchat"
],
"commands": [
{
"title": "Personal command 1",
"description": "Description of Personal command 1"
},
{
"title": "Personal command N",
"description": "Description of Personal command N"
}
]
}
]
}
],
"connectors": [
{
"connectorId": "GUID-FROM-CONNECTOR-DEV-PORTAL%",
"scopes": [
"team"
],
"configurationUrl": "https://contoso.com/teamsconnector/configure"
}
],
"composeExtensions": [
{
"canUpdateConfiguration": true,
"botId": "%MICROSOFT-APP-ID-REGISTERED-WITH-BOT-FRAMEWORK%",
"commands": [
{
"id": "exampleCmd1",
"title": "Example Command",
"type": "query",
"context": [
"compose",
"commandBox"
],
"description": "Command Description; e.g., Search on the web",
"initialRun": true,
"fetchTask": false,
"parameters": [
{
"name": "keyword",
"title": "Search keywords",
"inputType": "text",
"description": "Enter the keywords to search for",
"value": "Initial value for the parameter",
"choices": [
{
"title": "Title of the choice",
"value": "Value of the choice"
}
]
}
]
},
{
"id": "exampleCmd2",
"title": "Example Command 2",
"type": "action",
"context": [
"message"
],
"description": "Command Description; e.g., Add a customer",
"initialRun": true,
"fetchTask": true,
"parameters": [
{
"name": "custinfo",
"title": "Customer name",
"description": "Enter a customer name",
"inputType": "text"
}
]
},
{
"id": "exampleCmd3",
"title": "Example Command 3",
"type": "action",
"context": [
"compose",
"commandBox",
"message"
],
"description": "Command Description; e.g., Add a customer",
"fetchTask": false,
"taskInfo": {
"title": "Initial dialog title",
"width": "Dialog width",
"height": "Dialog height",
"url": "Initial webview URL"
}
}
],
"messageHandlers": [
{
"type": "link",
"value": {
"domains": [
"mysite.someplace.com",
"othersite.someplace.com"
]
}
}
]
}
],
"permissions": [
"identity",
"messageTeamMembers"
],
"devicePermissions": [
"geolocation",
"media",
"notifications",
"midi",
"openExternal"
],
"validDomains": [
"contoso.com",
"mysite.someplace.com",
"othersite.someplace.com"
],
"webApplicationInfo": {
"id": "AAD App ID",
"resource": "Resource URL for acquiring auth token for SSO",
"applicationPermissions": [
"TeamSettings.Read.Group",
"ChannelSettings.Read.Group",
"ChannelSettings.Edit.Group",
"Channel.Create.Group",
"Channel.Delete.Group",
"ChannelMessage.Read.Group",
"TeamsApp.Read.Group",
"TeamsTab.Read.Group",
"TeamsTab.Create.Group",
"TeamsTab.Edit.Group",
"TeamsTab.Delete.Group",
"Member.Read.Group",
"Owner.Read.Group",
"Member.ReadWrite.Group",
"Owner.ReadWrite.Group"
]
},
"showLoadingIndicator": false,
"isFullScreen": false,
"activities": {
"activityTypes": [
{
"type": "taskCreated",
"description": "Task created activity",
"templateText": "<team member> created task <taskId> for you"
},
{
"type": "userMention",
"description": "Personal mention activity",
"templateText": "<team member> mentioned you"
}
]
},
"defaultBlockUntilAdminAction": true,
"publisherDocsUrl": "https://website.com/app-info",
"defaultInstallScope": "meetings",
"defaultGroupCapability": {
"meetings": "tab",
"team": "bot",
"groupchat": "bot"
},
"configurableProperties": [
"name",
"shortDescription",
"longDescription",
"smallImageUrl",
"largeImageUrl",
"accentColor",
"developerUrl",
"privacyUrl",
"termsOfUseUrl"
],
"subscriptionOffer": {
"offerId": "publisherId.offerId"
}
}
El esquema define las siguientes propiedades:
$schema
Cadena opcional, pero recomendada
La https:// url que hace referencia al esquema JSON para el manifiesto.
manifestVersion
Required—string
La versión del esquema de manifiesto que usa este manifiesto. Debe ser 1.10.
version
Required—string
La versión de una aplicación específica. Al actualizar algo en el manifiesto, la versión también debe incrementarse. De este modo, cuando se instala el nuevo manifiesto, se sobrescribe el existente y el usuario recibe la nueva funcionalidad. Cuando esta aplicación se envió a la tienda, el nuevo manifiesto debe volver a enviarse y revalidarse. Los usuarios de la aplicación reciben el nuevo manifiesto actualizado automáticamente en pocas horas después de que se apruebe el manifiesto.
Si cambian las solicitudes de permisos de la aplicación, se pedirá a los usuarios que actualicen y vuelvan a realizar la actualización a la aplicación.
Esta cadena de versión debe seguir el estándar de semver (MAJOR. MINOR. PATCH).
id
Obligatorio:Id. de aplicación de Microsoft
El identificador es un identificador único generado por Microsoft para la aplicación. Tienes un identificador si el bot está registrado a través del Microsoft Bot Framework. Tienes un identificador si la aplicación web de la pestaña ya inicia sesión con Microsoft. Debe escribir el identificador aquí. De lo contrario, debe generar un nuevo identificador en el Portal de registro de aplicaciones de Microsoft. Use el mismo identificador si agrega un bot.
Nota
Si vas a enviar una actualización a la aplicación existente en AppSource, no se debe modificar el identificador del manifiesto.
developer
Required—object
Especifica información sobre su empresa. Para las aplicaciones enviadas a la Teams, estos valores deben coincidir con la información de la descripción de la tienda. Para obtener más información, consulte las Teams de publicación del almacén de almacenamiento.
| Nombre | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|
name |
32 caracteres | ✔ | Nombre para mostrar del desarrollador. |
websiteUrl |
2048 caracteres | ✔ | La https:// url del sitio web del desarrollador. Este vínculo debe llevar a los usuarios a su empresa o página de aterrizaje específica del producto. |
privacyUrl |
2048 caracteres | ✔ | La https:// url a la directiva de privacidad del desarrollador. |
termsOfUseUrl |
2048 caracteres | ✔ | La https:// url a los términos de uso del desarrollador. |
mpnId |
10 caracteres | Opcional Id. de red de partners de Microsoft que identifica la organización asociada que está creando la aplicación. |
name
Required—object
El nombre de la experiencia de la aplicación, que se muestra a los usuarios en la Teams usuario. Para las aplicaciones enviadas a AppSource, estos valores deben coincidir con la información de la entrada AppSource. Los valores de short y full deben ser diferentes.
| Nombre | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|
short |
30 caracteres | ✔ | El nombre para mostrar corto de la aplicación. |
full |
100 caracteres | El nombre completo de la aplicación, que se usa si el nombre completo de la aplicación supera los 30 caracteres. |
description
Required—object
Describe la aplicación a los usuarios. Para las aplicaciones enviadas a AppSource, estos valores deben coincidir con la información de la entrada AppSource.
Asegúrese de que su descripción describe su experiencia y ayuda a los clientes potenciales a comprender lo que hace su experiencia. Debe tener en cuenta en la descripción completa, si se requiere una cuenta externa para su uso. Los valores de short y full deben ser diferentes. La descripción corta no se puede repetir dentro de la descripción larga y no debe incluir ningún otro nombre de aplicación.
| Nombre | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|
short |
80 caracteres | ✔ | Una breve descripción de la experiencia de la aplicación, que se usa cuando el espacio es limitado. |
full |
4000 caracteres | ✔ | Descripción completa de la aplicación. |
packageName
Optional—string
Un identificador único para la aplicación en la notación de dominio inverso; por ejemplo, com.example.myapp. Longitud máxima: 64 caracteres.
localizationInfo
Opcional—object
Permite la especificación de un idioma predeterminado y proporciona punteros a más archivos de idioma. Para obtener más información, vea localización.
| Nombre | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|
defaultLanguageTag |
✔ | La etiqueta de idioma de las cadenas de este archivo de manifiesto de nivel superior. |
localizationInfo.additionalLanguages
Una matriz de objetos que especifica más traducciones de idioma.
| Nombre | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|
languageTag |
✔ | Etiqueta de idioma de las cadenas del archivo proporcionado. | |
file |
✔ | Una ruta de acceso de archivo relativa al archivo .json que contiene las cadenas traducidas. |
iconos
Required—object
Iconos usados dentro de la Teams aplicación. Los archivos de icono deben incluirse como parte del paquete de carga. Para obtener más información, vea Iconos.
| Nombre | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|
outline |
32 x 32 píxeles | ✔ | Una ruta de acceso de archivo relativa a un icono de esquema PNG transparente de 32 x 32. |
color |
192 x 192 píxeles | ✔ | Una ruta de acceso de archivo relativa a un icono PNG de color completo de 192 x 192. |
accentColor
Obligatorio:código de color Hexadecimal HTML
Color que se usará y como fondo para los iconos de esquema.
El valor debe ser un código de color HTML válido a partir de '#', por ejemplo #4464ee .
configurableTabs
Opcional—array
Se usa cuando la experiencia de la aplicación tiene una experiencia de pestaña de canal de grupo que requiere una configuración adicional antes de agregarla. Las pestañas configurables solo se admiten en los ámbitos and y team puede configurar las mismas groupchat pestañas varias veces. Sin embargo, solo puede definirlo en el manifiesto una vez.
| Nombre | Tipo | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|---|
configurationUrl |
string | 2048 caracteres | ✔ | La https:// url que se va a usar al configurar la pestaña. |
scopes |
matriz de enumeraciones | 1 | ✔ | Actualmente, las pestañas configurables solo admiten team los groupchat ámbitos y. |
canUpdateConfiguration |
booleano | Valor que indica si el usuario puede actualizar una instancia de la configuración de la pestaña después de su creación. Valor predeterminado: true. | ||
context |
matriz de enumeraciones | 6 | Conjunto de contextItem ámbitos donde se admite una pestaña. Valor predeterminado: [channelTab, privateChatTab, meetingChatTab, meetingDetailsTab]. |
|
sharePointPreviewImage |
string | 2048 | Una ruta de acceso de archivo relativa a una imagen de vista previa de tabulación para su uso en SharePoint. Tamaño 1024x768. | |
supportedSharePointHosts |
matriz de enumeraciones | 1 | Define cómo la pestaña está disponible en SharePoint. Las opciones son sharePointFullPage y sharePointWebPart |
staticTabs
Opcional—array
Define un conjunto de pestañas que se pueden "anclar" de forma predeterminada, sin que el usuario las agregue manualmente. Las pestañas estáticas declaradas en el ámbito siempre se anclan a la experiencia personal personal de la aplicación. Actualmente no se admiten las pestañas estáticas declaradas team en el ámbito.
Este elemento es una matriz (máximo de 16 elementos) con todos los elementos del tipo object . Este bloque solo es necesario para las soluciones que proporcionan una solución de tabulación estática.
| Nombre | Tipo | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|---|
entityId |
string | 64 caracteres | ✔ | Identificador único para la entidad que muestra la pestaña. |
name |
string | 128 caracteres | ✔ | Nombre para mostrar de la pestaña en la interfaz de canal. |
contentUrl |
string | ✔ | Dirección URL https:// que apunta a la interfaz de usuario de la entidad que se va a mostrar en el Teams usuario. | |
websiteUrl |
string | La https:// dirección URL que se debe apuntar si un usuario opta por ver en un explorador. | ||
searchUrl |
string | La https:// dirección URL que se va a apuntar a las consultas de búsqueda de un usuario. | ||
scopes |
matriz de enumeraciones | 1 | ✔ | Actualmente, las pestañas estáticas solo admiten el ámbito, lo que significa que solo se puede aprovisionar como personal parte de la experiencia personal. |
context |
matriz de enumeraciones | 2 | Conjunto de contextItem ámbitos donde se admite una pestaña. |
Nota
La característica searchUrl no está disponible para los desarrolladores de terceros. Si las pestañas requieren información dependiente del contexto para mostrar contenido relevante o para iniciar un flujo de autenticación, para obtener más información, vea Get context for your Microsoft Teams tab.
bots
Opcional—array
Define una solución de bot, junto con información opcional, como las propiedades de comando predeterminadas.
El elemento es una matriz (máximo de un solo elemento actualmente solo se permite un bot por aplicación) con todos los — elementos del tipo object . Este bloque solo es necesario para las soluciones que proporcionan una experiencia de bot.
| Nombre | Tipo | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|---|
botId |
string | 64 caracteres | ✔ | El ID. de aplicación de Microsoft único para el bot, registrado con Bot Framework. El identificador puede ser el mismo que el identificador general de la aplicación. |
scopes |
matriz de enumeraciones | 3 | ✔ | Especifica si el bot ofrece una experiencia en el contexto de un canal en un team, en un chat de grupo (groupchat) o una experiencia específica para un solo usuario (personal). Estas opciones no son exclusivas. |
needsChannelSelector |
booleano | Describe si el bot usa o no una sugerencia de usuario para agregar el bot a un canal específico. Valor predeterminado: false |
||
isNotificationOnly |
booleano | Indica si un bot es un bot unidireccional de solo notificación o un bot de conversación. Valor predeterminado: false |
||
supportsFiles |
booleano | Indica si el bot es compatible con la capacidad para cargar y descargar archivos en chat personal. Valor predeterminado: false |
||
supportsCalling |
booleano | Valor que indica dónde un bot admite llamadas de audio. IMPORTANTE: Esta propiedad es actualmente experimental. Es posible que las propiedades experimentales no estén completas y que se someten a cambios antes de estar totalmente disponibles. La propiedad se proporciona solo con fines de prueba y exploración y no debe usarse en aplicaciones de producción. Valor predeterminado: false |
||
supportsVideo |
booleano | Valor que indica dónde un bot admite videollamadas. IMPORTANTE: Esta propiedad es actualmente experimental. Es posible que las propiedades experimentales no estén completas y que se someten a cambios antes de estar totalmente disponibles. La propiedad se proporciona solo con fines de prueba y exploración y no debe usarse en aplicaciones de producción. Valor predeterminado: false |
bots.commandLists
Una lista opcional de comandos que el bot puede recomendar a los usuarios. El objeto es una matriz (máximo de dos elementos) con todos los elementos de tipo; debe definir una lista de comandos independiente para cada ámbito object compatible con el bot. Para obtener más información, vea Menús bot.
| Nombre | Tipo | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|---|
items.scopes |
matriz de enumeraciones | 3 | ✔ | Especifica el ámbito para el que la lista de comandos es válida. Las opciones son team, personal y groupchat. |
items.commands |
matriz de objetos | 10 | ✔ | Una matriz de comandos que el bot admite:title: el nombre de comando del bot (cadena, 32)description: una descripción sencilla o un ejemplo de la sintaxis del comando y su argumento (cadena, 128). |
bots.commandLists.commands
| Nombre | Tipo | Tamaño máximo | Necesario | Description |
|---|---|---|---|---|
| title | string | 12 | ✔ | Nombre del comando bot. |
| description | string | 128 caracteres | ✔ | Una descripción de texto simple o un ejemplo de la sintaxis del comando y sus argumentos. |
conectores
Opcional—array
El connectors bloque define un Office 365 connector para la aplicación.
El objeto es una matriz (máximo de un elemento) con todos los elementos de tipo object . Este bloque solo es necesario para las soluciones que proporcionan un conector.
| Nombre | Tipo | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|---|
configurationUrl |
string | 2048 caracteres | ✔ | La https:// url que se va a usar al configurar el conector. |
scopes |
matriz de enumeraciones | 1 | ✔ | Especifica si connector ofrece una experiencia en el contexto de un canal en un , o una experiencia ámbito a un team usuario individual solo ( personal ). Actualmente, solo se team admite el ámbito. |
connectorId |
string | 64 caracteres | ✔ | Identificador único del conector que coincide con su identificador en el Panel de desarrolladores de conectores. |
composeExtensions
Opcional—array
Define una extensión de mensajería para la aplicación.
Nota
El nombre de la característica se cambió de "extensión de redacción" a "extensión de mensajería" en noviembre de 2017, pero el nombre del manifiesto sigue siendo el mismo para que las extensiones existentes sigan funcionando.
El elemento es una matriz (máximo de un elemento) con todos los elementos de tipo object . Este bloque solo es necesario para las soluciones que proporcionan una extensión de mensajería.
| Nombre | Tipo | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|---|
botId |
string | 64 | ✔ | El identificador único de la aplicación de Microsoft para el bot que hace una copia de seguridad de la extensión de mensajería, tal como se registró con Bot Framework. El identificador puede ser el mismo que el identificador general de la aplicación. |
commands |
matriz de objetos | 10 | ✔ | Matriz de comandos que admite la extensión de mensajería. |
canUpdateConfiguration |
booleano | Valor que indica si el usuario puede actualizar la configuración de una extensión de mensajería. Valor predeterminado: false. | ||
messageHandlers |
matriz de objetos | 5 | Una lista de controladores que permiten invocar aplicaciones cuando se cumplen determinadas condiciones. | |
messageHandlers.type |
string | El tipo de controlador de mensajes. Debe ser "link". |
||
messageHandlers.value.domains |
matriz de cadenas | Matriz de dominios para los que se puede registrar el controlador de mensajes de vínculo. |
composeExtensions.commands
La extensión de mensajería debe declarar uno o más comandos con un máximo de 10 comandos. Cada comando aparece en Microsoft Teams como una interacción potencial desde el punto de entrada basado en la interfaz de usuario.
Cada elemento de comando es un objeto con la siguiente estructura:
| Nombre | Tipo | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|---|
id |
string | 64 caracteres | ✔ | El identificador del comando. |
title |
string | 32 caracteres | ✔ | Nombre de comando fácil de usar. |
type |
string | 64 caracteres | Tipo del comando. Uno de query o action . Valor predeterminado: consulta. |
|
description |
string | 128 caracteres | La descripción que se muestra a los usuarios para indicar el propósito de este comando. | |
initialRun |
booleano | Un valor booleano indica si el comando se ejecuta inicialmente sin parámetros. El valor predeterminado es false. | ||
context |
matriz de cadenas | 3 | Define desde dónde se puede invocar la extensión de mensaje. Cualquier combinación de compose , commandBox , message . El valor predeterminado es ["compose","commandBox"]. |
|
fetchTask |
booleano | Valor booleano que indica si debe capturar el módulo de tareas dinámicamente. El valor predeterminado es false. | ||
taskInfo |
object | Especifique el módulo de tareas que se debe cargar previamente al usar un comando de extensión de mensajería. | ||
taskInfo.title |
string | 64 caracteres | Título del cuadro de diálogo inicial. | |
taskInfo.width |
string | Ancho del cuadro de diálogo: un número en píxeles o un diseño predeterminado como "grande", "mediano" o "pequeño". | ||
taskInfo.height |
string | Alto del cuadro de diálogo: un número en píxeles o un diseño predeterminado como "grande", "mediano" o "pequeño". | ||
taskInfo.url |
string | Dirección URL de vista web inicial. | ||
parameters |
matriz de objeto | 5 elementos | ✔ | La lista de parámetros que toma el comando. Mínimo: 1; máximo: 5. |
parameters.name |
string | 64 caracteres | ✔ | Nombre del parámetro tal como aparece en el cliente. El nombre del parámetro se incluye en la solicitud de usuario. |
parameters.title |
string | 32 caracteres | ✔ | Título fácil de usar para el parámetro. |
parameters.description |
string | 128 caracteres | Cadena fácil de usar que describe el propósito de este parámetro. | |
parameters.value |
string | 512 caracteres | Valor inicial del parámetro. Actualmente no se admite el valor | |
parameters.inputType |
string | 128 caracteres | Define el tipo de control que se muestra en un módulo de tareas para fetchTask: true . Uno de text, textarea, number, date, time, toggle, choiceset . |
|
parameters.choices |
matriz de objetos | 10 elementos | Las opciones de elección para choiceset el archivo . Use solo cuando parameter.inputType es choiceset . |
|
parameters.choices.title |
string | 128 caracteres | ✔ | Título de la elección. |
parameters.choices.value |
string | 512 caracteres | ✔ | Valor de la elección. |
permissions
Opcional:matriz de cadenas
Una matriz de , que especifica qué permisos solicita la aplicación, que permiten a los usuarios string finales saber cómo funciona la extensión. Las siguientes opciones no son exclusivas:
identityRequiere información de identidad de usuario.messageTeamMembersRequiere permiso para enviar mensajes directos a los miembros del equipo.
Al cambiar estos permisos durante la actualización de la aplicación, los usuarios repiten el proceso de consentimiento después de ejecutar la aplicación actualizada. Para obtener más información, consulta Actualizar la aplicación.
devicePermissions
Opcional:matriz de cadenas
Proporciona las características nativas en el dispositivo de un usuario al que la aplicación solicita acceso. Las opciones son:
geolocationmedianotificationsmidiopenExternal
validDomains
Opcional, excepto Requerido cuando se indica.
Una lista de dominios válidos para sitios web que la aplicación espera cargar en el Teams cliente. Las listas de dominios pueden incluir caracteres comodín, por ejemplo, *.example.com . El dominio válido coincide exactamente con un segmento del dominio; si necesita hacer a.b.example.com coincidir, use *.*.example.com . Si la interfaz de usuario de contenido o configuración de pestañas navega a cualquier otro dominio que no sea la configuración de tabulación, este dominio debe especificarse aquí.
No incluyas los dominios de los proveedores de identidades que quieras admitir en la aplicación. Por ejemplo, para autenticar con un identificador de Google, es necesario redirigir a accounts.google.com, sin embargo, no debe incluir accounts.google.com en validDomains[] .
Teams aplicaciones que requieren que sus propias direcciones SHAREPOINT funcionen correctamente, incluye "{teamsitedomain}" en su lista de dominios válida.
Importante
No agregue dominios que estén fuera del control, ya sea directamente o a través de caracteres comodín. Por ejemplo, yourapp.onmicrosoft.com es válido, sin embargo, *.onmicrosoft.com no es válido.
El objeto es una matriz con todos los elementos del tipo string .
webApplicationInfo
Opcional—object
Proporcione su Azure Active Directory de aplicación (AAD) e información de Microsoft Graph para ayudar a los usuarios a iniciar sesión sin problemas en la aplicación. Si la aplicación está registrada en AAD, debes proporcionar el identificador de la aplicación. Los administradores pueden revisar fácilmente los permisos y conceder el consentimiento en Teams centro de administración.
| Nombre | Tipo | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|---|
id |
string | 36 caracteres | ✔ | AAD id. de aplicación de la aplicación. Este identificador debe ser un GUID. |
resource |
string | 2048 caracteres | ✔ | Dirección URL de recurso de la aplicación para adquirir token de autenticación para SSO. NOTA: Si no usa SSO, asegúrese de escribir un valor de cadena ficticia en este campo en el manifiesto de la aplicación, por ejemplo, para evitar https://notapplicable una respuesta de error. |
applicationPermissions |
matriz de cadenas | 128 caracteres | Especifique el consentimiento específico del recurso pormenorizados. |
showLoadingIndicator
Optional—boolean
Indica si se va a mostrar el indicador de carga cuando se carga una aplicación o una pestaña. El valor predeterminado es false.
Nota
Si seleccionas como true en el manifiesto de la aplicación, para cargar la página correctamente, modifica las páginas de contenido de las pestañas y los módulos de tareas como se describe en Mostrar un documento de indicador de carga showLoadingIndicator nativo.
isFullScreen
Optional—boolean
Indica dónde se representa una aplicación personal con o sin una barra de encabezado de pestaña. El valor predeterminado es false.
Nota
isFullScreensolo funciona con SharePoint pestañas y aplicaciones de almacenamiento.
activities
Opcional—object
Define las propiedades que usa la aplicación para publicar una fuente de actividad de usuario.
| Nombre | Tipo | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|---|
activityTypes |
matriz de objetos | 128 elementos | Proporciona los tipos de actividades que la aplicación puede publicar en una fuente de actividad de usuarios. |
activities.activityTypes
| Nombre | Tipo | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|---|
type |
string | 32 caracteres | ✔ | Tipo de notificación. Vea a continuación. |
description |
string | 128 caracteres | ✔ | Breve descripción de la notificación. Vea a continuación. |
templateText |
string | 128 caracteres | ✔ | Ex: "{actor} created task {taskId} for you" |
{
"activities":{
"activityTypes":[
{
"type":"taskCreated",
"description":"Task Created Activity",
"templateText":"{actor} created task {taskId} for you"
},
{
"type":"teamMention",
"description":"Team Mention Activity",
"templateText":"{actor} mentioned team"
},
{
"type":"channelMention",
"description":"Channel Mention Activity",
"templateText":"{actor} mentioned channel"
},
{
"type":"userMention",
"description":"Personal Mention Activity",
"templateText":"{actor} mentioned user"
},
{
"type":"calendarForward",
"description":"Forwarding a Calendar Event",
"templateText":"{actor} sent user an invite on behalf of {eventOwner}"
},
{
"type":"calendarForward",
"description":"Forwarding a Calendar Event",
"templateText":"{actor} sent user an invite on behalf of {eventOwner}"
},
{
"type":"creatorTaskCreated",
"description":"Created Task Created",
"templateText":"The Creator created task {taskId} for you"
}
]
}
}
defaultInstallScope
Opcional : cadena
Especifica el ámbito de instalación definido para esta aplicación de forma predeterminada. El ámbito definido será la opción que se muestra en el botón cuando un usuario intente agregar la aplicación. Las opciones son:
personalteamgroupchatmeetings
defaultGroupCapability
Opcional : objeto
Cuando se selecciona un ámbito de instalación de grupo, se definirá la funcionalidad predeterminada cuando el usuario instale la aplicación. Las opciones son:
teamgroupchatmeetings
| Nombre | Tipo | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|---|
team |
string | Cuando el ámbito de instalación seleccionado es team , este campo especifica la funcionalidad predeterminada disponible. Opciones: tab bot , o connector . |
||
groupchat |
string | Cuando el ámbito de instalación seleccionado es groupchat , este campo especifica la funcionalidad predeterminada disponible. Opciones: tab bot , o connector . |
||
meetings |
string | Cuando el ámbito de instalación seleccionado es meetings , este campo especifica la funcionalidad predeterminada disponible. Opciones: tab bot , o connector . |
configurableProperties
Opcional : matriz
El configurableProperties bloque define las propiedades de la aplicación que Teams los administradores pueden personalizar. Para obtener más información, consulta Habilitar la personalización de la aplicación. La característica de personalización de aplicaciones no se admite en aplicaciones personalizadas o lob.
Nota
Debe definirse un mínimo de una propiedad. Puede definir un máximo de nueve propiedades en este bloque.
Puede definir cualquiera de las siguientes propiedades:
name: nombre para mostrar de la aplicación.shortDescription: descripción breve de la aplicación.longDescription: descripción larga de la aplicación.smallImageUrl: icono de esquema de la aplicación.largeImageUrl: icono de color de la aplicación.accentColor: color que se usará y un fondo para los iconos de esquema.developerUrl: la dirección URL HTTPS del sitio web del desarrollador.privacyUrl: la dirección URL HTTPS de la directiva de privacidad del desarrollador.termsOfUseUrl: la dirección URL HTTPS de los términos de uso del desarrollador.
defaultBlockUntilAdminAction
Optional—boolean
Cuando defaultBlockUntilAdminAction la propiedad se establece en true, la aplicación se oculta a los usuarios de forma predeterminada hasta que el administrador lo permita. Si se establece en true, la aplicación está oculta para todos los inquilinos y usuarios finales. Los administradores de inquilinos pueden ver la aplicación en el Teams de administración y realizar acciones para permitir o bloquear la aplicación. El valor predeterminado es False. Para obtener más información sobre el bloqueo de aplicaciones predeterminado, consulta Ocultar Teams aplicación hastaque el administrador apruebe .
publisherDocsUrl
Opcional : cadena
Tamaño máximo: 128 caracteres
La propiedad depende de defaultBlockUntilAdminAction . Cuando la propiedad se establece en true, la dirección URL HTTPS proporciona una página de información para que los administradores obtengan directrices antes de permitir una aplicación, que defaultBlockUntilAdminAction está bloqueada de forma publisherDocsUrl predeterminada.
subscriptionOffer
Opcional : objeto
Especifica la oferta SaaS asociada a la aplicación.
| Nombre | Tipo | Tamaño máximo | Necesario | Descripción |
|---|---|---|---|---|
offerId |
string | 2.048 caracteres | ✔ | Un identificador único que incluye el identificador Publisher y el identificador de oferta, que puede encontrar en el Centro de partners. Debe dar formato a la cadena como publisherId.offerId . |