Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Las aplicaciones empresariales de Dynamics 365 Customer Engagement son aplicaciones modulares y especialmente diseñadas que proporcionan funcionalidad basada en roles relevante para un área de trabajo determinada. Estas aplicaciones facilitan a los usuarios encontrar rápidamente las cosas que necesitan hacer todos los días al proporcionar una interfaz simple e intuitiva. Por ejemplo, la aplicación de Ventas proporciona un sitemap más simple y pequeño con solo el conjunto adecuado de formularios, vistas, paneles y flujos de procesos que son relevantes para los vendedores.
Los administradores de sistemas y los personalizadores pueden proporcionar a los usuarios acceso a estas aplicaciones empresariales mediante roles de seguridad; Los usuarios solo pueden acceder a las aplicaciones para las que tienen permiso.
Nota:
Las aplicaciones empresariales personalizadas de Dynamics 365 Customer Engagement son las mismas que las aplicaciones basadas en modelos de Power Apps; Ambos se basan en la misma plataforma subyacente. Más información: ¿Qué son las aplicaciones basadas en modelo?
Además de crear aplicaciones empresariales personalizadas con el diseñador de aplicaciones, puede crear y administrar aplicaciones empresariales personalizadas mediante programación en Dynamics 365 Customer Engagement (on-premises).
Importante
No tienes que escribir código para crear aplicaciones empresariales personalizadas si no es necesario. El diseñador de aplicaciones proporciona una experiencia más sencilla e intuitiva para crear aplicaciones empresariales personalizadas sin tener que escribir código, ya que proporciona una estructura de información basada en iconos y una interfaz simplificada. Compruébalo aquí: Diseño de aplicaciones empresariales personalizadas mediante el diseñador de aplicaciones
La creación de una aplicación empresarial personalizada implica los siguientes pasos:
- Crea una instancia de AppModule Entity para definir tu aplicación y sus propiedades.
- Agregar o quitar componentes de la aplicación como la entidad, el mapa del sitio y otros componentes de su aplicación personalizada mediante las acciones AddAppComponents y RemoveAppComponents.
- Comprueba la aplicación para ver si faltan componentes necesarios mediante la ValidateApp función.
- Publicar la aplicación.
- Asocie los roles de seguridad adecuados a la aplicación empresarial personalizada para proporcionar acceso a los usuarios.
Crea tu aplicación empresarial y define sus propiedades
Para poder crear una aplicación debe disponer del rol de seguridad de Administrador del sistema o de Personalizador del sistema o permisos equivalentes.
Especifique como mínimo las siguientes propiedades para crear una aplicación:
- name: Único para la aplicación
- uniquename: puede ser diferente del nombre de la aplicación y solo puede tener caracteres en inglés y números. Al crear esta aplicación, el nombre se antepone automáticamente con su prefijo de editor de soluciones (por ejemplo, 'new_').
- webresourceid: identificador de los recursos web que desea establecer como el icono de imagen de la aplicación. El sistema proporciona un recurso web predeterminado (identificador: 953b9fac-1e5e-e611-80d6-00155ded156f) que puede usar como icono de la aplicación.
La siguiente solicitud de API web crea un tipo de interfaz unificada de una aplicación:
POST [Organization URI]/api/data/v9.1/appmodules HTTP/1.1
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
{
"name": "SDKTestApp",
"uniquename":"SDKTestApp",
"webresourceid":"953b9fac-1e5e-e611-80d6-00155ded156f"
}
El encabezado OData-EntityId de respuesta contiene el URI de la aplicación creada.
HTTP/1.1 204 No Content
OData-Version: 4.0
OData-EntityId: [Organization URI]/api/data/v9.1/appmodules(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
Agregar o quitar componentes de la aplicación empresarial
Puede agregar o eliminar componentes de una aplicación, como el mapa del sitio, la entidad, el panel, los flujos de procesos empresariales, las vistas y los formularios, que desee incluir en la aplicación empresarial. Para obtener información detallada sobre los componentes que se pueden agregar a una aplicación empresarial, consulte Agregar o editar componentes de aplicación en el diseñador de aplicaciones.
Use la AddAppComponents acción o el AddAppComponentsRequest mensaje para agregar componentes a la aplicación empresarial. La acción requiere que especifique lo siguiente:
- AppId: ID de la aplicación a la que desea agregar componentes
- Components Una colección de componentes que se va a agregar. Debe especificar el ID y el tipo de entidad del componente que desea agregar. Para obtener una lista de los tipos de entidad en la API web de Customer Engagement, consulte Web API Entity Type Reference.
La siguiente solicitud de la API web agrega una vista (savedquery) y un formulario (systemform) a la aplicación:
POST [Organization URI]/api/data/v9.1/AddAppComponents HTTP/1.1
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
{
"AppId":"00001111-aaaa-2222-bbbb-3333cccc4444",
"Components":[
{
"savedqueryid":"00000000-0000-0000-00aa-000000666000",
"@odata.type":"Microsoft.Dynamics.CRM.savedquery"
},
{
"formid":"c9e7ec2d-efca-4e4c-b3e3-f63c4bba5e4b",
"@odata.type":"Microsoft.Dynamics.CRM.systemform"
}
]
}
Para quitar un componente de una aplicación, utilice la acción RemoveAppComponents o el mensaje RemoveAppComponentsRequest. Esta acción tiene el mismo conjunto de parámetros que la acción AddAppComponents.
La siguiente solicitud de la API web quita una vista (savedquery) de la aplicación:
POST [Organization URI]/api/data/v9.1/RemoveAppComponents HTTP/1.1
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
{
"AppId":"00001111-aaaa-2222-bbbb-3333cccc4444",
"Components":[
{
"savedqueryid":"00000000-0000-0000-00aa-000000666000",
"@odata.type":"Microsoft.Dynamics.CRM.savedquery"
}
]
}
Valida tu aplicación empresarial
La validación de una aplicación implica comprobar si hay dependencias de los componentes que ha agregado en la aplicación empresarial para asegurarse de que la aplicación funciona correctamente. Esto es lo mismo que hacer clic en Validar en el diseñador de aplicaciones. Más información: Validar la aplicación
Utilice la función ValidateApp o el mensaje ValidateAppRequest para validar la aplicación. En la siguiente solicitud de API web se muestra cómo validar la aplicación empresarial con el ID: 00001111-aaaa-2222-bbbb-3333cccc4444:
GET [Organization URI]/api/data/v9.1/ValidateApp(AppModuleId=00001111-aaaa-2222-bbbb-3333cccc4444)
Si no hay ningún error de validación, la respuesta es la siguiente:
HTTP/1.1 200 OK
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.1/$metadata#Microsoft.Dynamics.CRM.ValidateAppResponse",
"AppValidationResponse": {
"ValidationSuccess": true,
"ValidationIssueList": []
}
}
Si hay problemas de validación en la aplicación, la respuesta muestra errores o advertencias en la colección ValidationIssueList:
HTTP/1.1 200 OK
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.1/$metadata#Microsoft.Dynamics.CRM.ValidateAppResponse",
"AppValidationResponse": {
"ValidationSuccess": false,
"ValidationIssueList": [
{
"ErrorType": "Error",
"Message": "App does not contain Site Map",
"DisplayName": null,
"ComponentId": "00000000-0000-0000-0000-000000000000",
"ComponentType": 0,
"ComponentSubType": 0,
"ParentEntityId": "00000000-0000-0000-0000-000000000000",
"ParentEntityName": null,
"CRMErrorCode": -2147155684,
"RequiredComponents": []
},
{
"ErrorType": "Warning",
"Message": "Account doesn’t reference a form or view. App users will see all forms and views.",
"DisplayName": null,
"ComponentId": "00000000-0000-0000-0000-000000000000",
"ComponentType": 0,
"ComponentSubType": 0,
"ParentEntityId": "00000000-0000-0000-0000-000000000000",
"ParentEntityName": null,
"CRMErrorCode": -2147155691,
"RequiredComponents": []
}
]
}
}
Publica tu aplicación empresarial
Una vez que haya agregado los componentes necesarios a la aplicación empresarial personalizada y la haya validado, debe publicarla para que esté disponible para los usuarios.
Utilice la PublishXml acción o el PublishXmlRequest mensaje para publicar su aplicación empresarial personalizada. En la siguiente solicitud se muestra cómo publicar la aplicación empresarial con el ID: 00001111-aaaa-2222-bbbb-3333cccc4444:
POST [Organization URI]/api/data/v9.1/PublishXml HTTP/1.1
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
{
"ParameterXml":"<importexportxml><appmodules><appmodule>00001111-aaaa-2222-bbbb-3333cccc4444</appmodule></appmodules></importexportxml>"
}
Administrar el acceso a la aplicación empresarial mediante roles de seguridad
Para proporcionar a los usuarios acceso a sus aplicaciones para que puedan acceder a ellas desde su área Configuración>Mis aplicaciones o la página principal de Dynamics 365 Customer Engagement (on-premises), puede asociar roles de seguridad a sus aplicaciones empresariales. Los usuarios asignados a los roles de seguridad asociados y pueden ver y usar sus aplicaciones empresariales en Customer Engagement.
Use la propiedad de navegación appmoduleroles_association de la entidad AppModule Entity para asociar una aplicación empresarial a un rol de seguridad. En la siguiente solicitud se muestra cómo asociar una aplicación empresarial a un rol de seguridad:
POST [Organization URI]/api/data/v9.1/appmodules(00001111-aaaa-2222-bbbb-3333cccc4444)appmoduleroles_association/$ref HTTP/1.1
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
{
"@odata.id":"[Organization URI]/api/data/v9.1/roles(<roleId>)"
}
Para desvincular un rol de seguridad de una aplicación de negocio, use la solicitud DELETE con la misma propiedad de navegación. Por ejemplo:
DELETE [Organization URI]/api/data/v9.1/appmodules(00001111-aaaa-2222-bbbb-3333cccc4444)/appmoduleroles_association/$ref?$id=[Organization URI]/api/data/v9.1/roles(<roleId)
Administre las aplicaciones de su empresa y sus componentes
En esta sección se ofrece información acerca de cómo recuperar las aplicaciones, actualizar las propiedades de la aplicación, recuperar los componentes de la aplicación y eliminar aplicaciones.
Recuperar aplicaciones publicadas
Para recuperar las aplicaciones publicadas, utilice la solicitud siguiente:
GET [Organization URI]/api/data/v9.1/appmodules?$select=name
Recuperar aplicaciones no publicadas
Para recuperar aplicaciones no publicadas, utilice la función RetrieveUnpublishedMultiple. Por ejemplo:
GET [Organization URI]/api/data/v9.1/appmodules/Microsoft.Dynamics.CRM.RetrieveUnpublishedMultiple()?$select=name
Recuperar componentes en una aplicación empresarial publicada
Para recuperar componentes de una aplicación empresarial, use la RetrieveAppComponents función o el RetrieveAppComponentsRequest mensaje. Por ejemplo:
GET [Organization URI]/api/data/v9.1/RetrieveAppComponents(AppModuleId=00001111-aaaa-2222-bbbb-3333cccc4444)
Recuperar los roles de seguridad asociados a la aplicación de negocio publicada
Para recuperar los roles de seguridad asociados con la aplicación de negocio, utilice la opción consulta del sistema $expand
con la propiedad de navegación appmoduleroles_association. Por ejemplo, esta es la solicitud para recuperar todos los roles de seguridad asociados a una aplicación empresarial con el ID: 00001111-aaaa-2222-bbbb-3333cccc4444:
GET [Organization URI]/api/data/v9.1/appmodules(00001111-aaaa-2222-bbbb-3333cccc4444)?$expand=appmoduleroles_association&$select=name,appmoduleroles_association
Eliminar aplicaciones empresariales
Use la solicitud DELETE para eliminar una aplicación empresarial. Por ejemplo:
DELETE [Organization URI]/api/data/v9.1/appmodules(00001111-aaaa-2222-bbbb-3333cccc4444)
Compatibilidad con API de cliente para aplicaciones empresariales
Puede usar las siguientes API de cliente para trabajar con aplicaciones empresariales:
Consulte también
Diseño de aplicaciones empresariales personalizadas mediante el diseñador de aplicaciones