Información general de API web de portales

La API web de los portales permite una experiencia de usuario más completa en los sitios de Power Pages. Puede utilizar la API web para realizar las operaciones de crear, leer, actualizar y eliminar en todas las tablas de Microsoft Dataverse de sus páginas web. Por ejemplo, puede crear una cuenta nueva o actualizar un contacto sin usar un formulario o formulario de varios pasos mediante la API web de portales.

La API web usa la /_api ruta (por ejemplo, https://yoursite.powerappsportals.com/_api/accounts) y sigue un patrón RESTful similar a la API web de Dataverse.

Importante

  • La API web de los portales se ha diseñado para crear una experiencia de usuario rica en páginas de portales. No está optimizado para servicios de terceros o integración de aplicaciones. No se admite el uso de la API web de portales para la integración con otros sitios de Power Pages.
  • Las operaciones de la API web de los portales se limitan a tablas relacionadas con los datos, por ejemplo, cuentas, contactos o sus tablas personalizadas. La configuración de metadatos de tabla o datos de tabla de configuración del portal( por ejemplo, la configuración de tablas de portales como adx_contentsnippet, adx_entityform o adx_entitylist) no se admite mediante la API web de portales. Para obtener una lista completa, consulte tablas de configuración no admitidas más adelante en este artículo.
  • La API web de los portales se beneficia del almacenamiento en caché del lado del servidor, por lo que las llamadas posteriores a la API web son más rápidas que las llamadas iniciales. Borrar la memoria caché del lado del servidor del portal provoca una degradación temporal del rendimiento.
  • Las operaciones de la API web de los portales requieren una licencia de Power Pages. Por ejemplo, las llamadas API web realizadas por usuarios anónimos cuentan para la capacidad de usuarios anónimos. Las llamadas API web realizadas por usuarios autenticados (internos o externos) no cuentan como vistas de página, pero requieren licencias de capacidad para usuarios autenticados aplicables. Para obtener más información, consulte Preguntas frecuentes sobre licencias de Power Pages.
  • No se admite la llamada a acciones y funciones mediante la API web de portales.

Operaciones de API web

La API web de los portales ofrece un subconjunto de las capacidades para realizar operaciones en Dataverse que se pueden llevar a cabo mediante la API de Dataverse. El formato de API es lo más similar posible para reducir la curva de aprendizaje.

Nota

Las operaciones de API web distinguen entre mayúsculas y minúsculas.

Operaciones de API web disponibles en Power Pages

Configuración del sitio para la API web

Importante

La compatibilidad con el valor comodín (*) en la configuración del Webapi/<table-name>/fields sitio está en desuso.

Reemplace * por una lista separada por comas de las columnas necesarias para el sitio. Las solicitudes de API web de Power Pages para tablas configuradas con * fallan hasta que se configuran nombres de columna explícitos.

Para habilitar la API web de portales para el sitio, configure la configuración del sitio para cada tabla que quiera exponer. Puede definir las columnas disponibles para la API web si las enumera en una configuración de sitio, mediante una vista del sistema de Dataverse o combinando ambos métodos.

Nota

Use el nombre lógico de la tabla para estas configuraciones (por ejemplo, cuenta).

Nombre de la configuración del sitio Descripción
Webapi/<table-name>/enabled Habilita o deshabilita la API web para <nombre de tabla>.
Predeterminada:False
Valores válidos:True, False
Webapi/<table-name>/fields Define una lista separada por comas de nombres lógicos de columna disponibles a través de la API web. Por ejemplo: name,accountnumber,telephone1. Esta configuración es necesaria a menos que Webapi/<table-name>/UseFieldsFromView se establezca en True y la vista del sistema configurada contenga al menos una columna apta. El valor comodín (*) está en desuso.
Webapi/<table-name>/UseFieldsFromView Cuando se establece en True, hace que las columnas de una vista del sistema de Dataverse denominada Power Pages Web API Columns estén disponibles a través de la API web. Valor predeterminado:False. Valores válidos:True, False. Si Webapi/<table-name>/fields también está configurado, se combinan columnas de ambos orígenes.
Webapi/error/innererror Habilita o deshabilita InnerError.
Predeterminada:False
Valores válidos:True, False

Por ejemplo, para exponer la API web para la tabla Case donde los usuarios autenticados pueden crear, actualizar y eliminar registros para esta entidad, use la configuración del sitio que se muestra en la tabla siguiente.

Nombre de la configuración del sitio Valor de configuración del sitio
Webapi/incident/enabled verdadero
Webapi/incident/fields attr1, attr2, attr3

Configuración de columnas de API web mediante una vista del sistema

Mediante una vista del sistema, los creadores pueden administrar las columnas disponibles a través de la API web del portal sin mantener una lista separada por comas en una configuración de sitio.

  1. En el estudio de diseño de Power Pages, abra el área de trabajo Datos.
  2. Seleccione la tabla, seleccione la pestaña Vistas y, a continuación, cree o edite una vista del sistema pública.
  3. Asigne un nombre a la vista Power Pages Web API Columns.
  4. Agregue las columnas que el sitio necesita a la vista y, a continuación, guarde y publique la vista.
  5. En la aplicación Administración del portal, cree la opción de configuración del sitio Webapi/<table-name>/UseFieldsFromView para el sitio web y establezca su valor en True.
  6. Confirme que Webapi/<table-name>/enabled se establece en True.

Nota

  • Solo se incluyen las columnas de la tabla principal que se muestran en la vista. No se incluyen columnas de tablas relacionadas. Las columnas usadas solo para filtrar o ordenar no se incluyen a menos que también se muestren en la vista.
  • Para las columnas de búsqueda, use la propiedad de búsqueda de OData correspondiente en las solicitudes de API web. El nombre de propiedad usa el formato _<column-logical-name>_value. Por ejemplo, la primarycontactid columna de búsqueda se devuelve como _primarycontactid_value.
  • Los cambios en la vista del sistema pueden tardar hasta cinco minutos en estar disponibles para la API web.

Si se configuran tanto Webapi/<table-name>/fields como Webapi/<table-name>/UseFieldsFromView, la API web combina las columnas enumeradas en Webapi/<table-name>/fields con columnas aptas de la vista del sistema Columnas de API web de Power Pages para esa tabla.

Importante

  • La configuración del sitio Webapi/<table-name>/UseFieldsFromView está disponible en la versión 9.8.8.x del sitio de Power Pages y posteriores.
  • La compatibilidad con el valor comodín (*) en Webapi/<table-name>/fields está en desuso. Use nombres de columna explícitos, la vista del sistema Columnas de API web de Power Pages o ambas.

Seguridad con la API web del portal

Puede configurar la seguridad basada en registros para registros individuales en portales mediante permisos de tabla. La API web del portal accede a los registros de tabla (entidad) y sigue los permisos de tabla concedidos a los usuarios a través del rol web asociado.

Puede configurar permisos de columna para definir más privilegios para columnas individuales dentro de una tabla mientras usa la API web del portal.

Autenticando las solicitudes a la API web del portal

No es necesario que incluya un código de autenticación, ya que la sesión de la aplicación administra la autenticación y la autorización. Todas las llamadas a la API web deben incluir un token de falsificación de solicitud entre sitios (CSRF).

Uso de EntitySetName

Al hacer referencia a tablas de Dataverse mediante la API web del portal en el código, use EntitySetName. Para tener acceso a la tabla account, por ejemplo, la sintaxis de código usa EntitySetName de accounts; /_api/accounts().

Nota

Use el nombre lógico de la tabla para la configuración del sitio (por ejemplo, cuenta).

Para determinar EntitySetName de tablas específicas, siga estos pasos:

  1. Ir a https://make.powerapps.com

  2. Seleccione la pestaña Dataverse del panel lateral y seleccione la tabla.

  3. Seleccione la opción ... (opción Comandos) y, a continuación, elija Avanzado, Herramientas y Copiar nombre del conjunto para copiar EntitySetName de la tabla en el Portapapeles.

    Cómo localizar EntitySetName de una tabla de Dataverse.

Leyes y regulaciones de privacidad

Todos los encabezados de solicitud usan un identificador de contacto con fines de auditoría. Para un usuario anónimo, el valor es null.

Si el registro de auditoría está habilitado, un usuario puede ver todos los eventos de auditoría en el registro de auditoría de Office 365.

Captura de pantalla del registro de auditoría de Office 365.

Más información:
Habilitar y utilizar registro de actividad
Exportar, configurar y ver registros de auditoría

Tablas de configuración no admitidas

No puede usar La API web del portal para las siguientes tablas de configuración:

adx_contentaccesslevel

adx_contentsnippet

adx_entityform

adx_entityformmetadata

adx_entitylist

adx_entitypermission

adx_entitypermission_webrole

adx_externalidentity

adx_pagealert

adx_pagenotification

adx_pagetag

adx_pagetag_webpage

adx_pagetemplate

adx_portallanguage

adx_publishingstate

adx_publishingstatetransitionrule

adx_publishingstatetransitionrule_webrole

adx_redirect

adx_setting

adx_shortcut

adx_sitemarker

adx_sitesetting

adx_urlhistory

adx_webfile

adx_webfilelog

adx_webform

adx_webformmetadata

adx_webformsession

adx_webformstep

adx_weblink

adx_weblinkset

adx_webnotificationentity

adx_webnotificationurl

adx_webpage

adx_webpage_tag

adx_webpageaccesscontrolrule

adx_webpageaccesscontrolrule_webrole

adx_webpagehistory

adx_webpagelog

adx_webrole_systemuser

adx_website

adx_website_list

adx_website_sponsor

adx_websiteaccess

adx_websiteaccess_webrole

adx_websitebinding

adx_websitelanguage

adx_webtemplate

Limitations

Las tablas de actividad personalizadas heredan columnas base (como subject, description, activityidy createdon) de la activitypointer tabla. Al configurar columnas de API web para una tabla de actividad personalizada mediante Webapi/<table-name>/fields, la vista del sistema Columnas de API web de Power Pages, o $select, incluya al menos una columna definida directamente en esa tabla, no solo las columnas heredadas.

Si solo configura columnas heredadas activitypointer , la API web no puede detectar una selección de columna específica de la tabla. Como resultado, trata la solicitud como un carácter comodín (*) y devuelve el siguiente error, incluso cuando se configuran explícitamente campos: Attribute All Columns is not enabled for Web Api.

Recomendación: Incluya al menos una columna definida directamente en la tabla de actividad personalizada, como Comentarios del portal/adx_portalcomment, junto con las columnas heredadas.

Problemas conocidos

Los usuarios reciben un error de CDS si invocan una GET solicitud de API web para tablas que tienen varios niveles de permisos de tabla de uno a varios o de varios a varios cuando los ámbitos parental, contacto o cuenta agregan más condiciones a la consulta.

Para resolver este problema, use FetchXML en la consulta OData.

Siguiente paso

Consultar datos utilizando la API web de portales