Visão geral da API Web de portais

A API Web de portais permite uma experiência de usuário mais avançada em sites do Power Pages. Você pode usar a API da Web para executar operações de criação, leitura, atualização e exclusão em todas as tabelas do Microsoft Dataverse em suas páginas da Web. Por exemplo, você pode criar uma nova conta ou atualizar um contato sem usar um formulário ou formulário de várias etapas usando a API Web dos portais.

A API da Web usa a rota /_api (por exemplo, https://yoursite.powerappsportals.com/_api/accounts) e segue um padrão RESTful semelhante à API da Web do Dataverse.

Importante

  • A API Web de portais foi desenvolvida para criar uma experiência de usuário rica em páginas de portais. Ela não foi otimizada para integração com serviços ou aplicativos de terceiros. Não há suporte para o uso da API Web de portais para integração com outros sites Power Pages.
  • As operações da API Web do Portals limitam-se a tabelas relacionadas a dados, por exemplo, contas, contatos ou às suas tabelas personalizadas. A configuração de metadados de tabela ou dados da tabela de configuração do portal, por exemplo, a configuração de tabelas de portais, como adx_contentsnippet, adx_entityform ou adx_entitylist, não é compatível com o uso da API Web de portais. Para obter uma lista completa, consulte tabelas de configuração sem suporte posteriormente neste artigo.
  • A API Web dos portais se beneficia de cache no lado do servidor, portanto as chamadas subsequentes para a API Web são mais rápidas do que as chamadas iniciais. Limpar o cache do servidor do portal causa degradação temporária do desempenho.
  • As operações da API Web de portals exigem uma licença do Power Pages. Por exemplo, as chamadas à API Web feitas por usuários anônimos contam para a capacidade do usuário anônimo. As chamadas à API Web feitas por usuários autenticados (internas ou externas) não contam para exibições de página, mas exigem licenças de capacidade de usuário autenticadas aplicáveis. Para obter mais informações, consulte Power Pages perguntas frequentes sobre licenciamento.
  • Não há suporte para ações e funções de chamada usando a API Web dos portais.

Operações da API Web

A API Web de portais oferece um subconjunto de recursos para operações do Dataverse que você pode executar usando a API Dataverse. O formato de API é o mais semelhante possível para reduzir a curva de aprendizado.

Observação

As operações da API Web diferenciam maiúsculas de minúsculas.

Operações da API Web disponíveis no Power Pages

Configurações do site para a API Web

Importante

O suporte para o valor curinga (*) na configuração do Webapi/<table-name>/fields site foi preterido.

Substitua * por uma lista separada por vírgulas das colunas exigidas pelo site. Power Pages solicitações de API Web para tabelas configuradas com * fail até que você configure nomes de coluna explícitos.

Para habilitar a API Web de portais para seu portal, ative a configuração do site. Você também pode configurar a API Web no nível do campo que determina os campos de tabela que os usuários podem ou não modificar usando a API Web dos portais.

Observação

Use o nome lógico da tabela para essas configurações (por exemplo, conta).

Nome da configuração do site Descrição
Webapi/<nome da tabela>/habilitado Habilita ou desabilita a API Web para <table name>.
Padrão:False
Valores válidos:True, False
Webapi/<table name>/fields Define a lista separada por vírgulas de atributos que os usuários podem modificar usando a API Web.
Valores possíveis:
- Atributos específicos:attr1,attr2,attr3
Importante: esta é uma configuração de site obrigatória. Quando esta configuração estiver faltando, você verá o erro "Nenhum campo definido para esta entidade".
Webapi/error/innererror Habilita ou desabilita InnerError.
Padrão:False
Valores válidos:True, False

Por exemplo, para expor a API Web da tabela Case em que os usuários autenticados podem criar, atualizar e excluir registros dessa entidade, use as configurações de site mostradas na tabela a seguir.

Nome da configuração do site Valor de configuração do site
Webapi/incident/enabled true
Webapi/incident/fields attr1, attr2, attr3

Segurança com a API Web de portais

Você pode configurar a segurança baseada em registro para registros individuais em portais usando permissões de tabela. A API Web de portais acessa registros da tabela (entidade) e segue as permissões da tabela fornecidas a usuários por meio da função Web associada.

Você pode configurar permissões de coluna para definir ainda mais privilégios para colunas individuais em uma tabela ao usar a API Web dos portais.

Autenticação de solicitações da API Web de portais

Não é necessário incluir um código de autenticação porque a sessão do aplicativo gerencia a autenticação e a autorização. Todas as chamadas da API da Web devem incluir um token CSRF (Cross-Site Request Forgery).

Uso de EntitySetName

Ao fazer referência a tabelas do Dataverse usando a API Web de portais em seu código, use o EntitySetName. Para acessar a tabela da conta , por exemplo, a sintaxe de código usa o EntitySetName de contas; /_api/accounts().

Observação

Use o nome lógico da tabela para configurações do site (por exemplo, conta).

Para determinar o EntitySetName de tabelas específicas, siga estas etapas:

  1. Vá para https://make.powerapps.com

  2. Selecione a guia Dataverse no painel lateral e selecione a tabela.

  3. Selecione ... ( opção Comandos) e, em seguida, escolha Advanced, Tools e Copy set name para copiar o EntitySetName da tabela para sua área de transferência.

    Como localizar EntitySetName de uma tabela do Dataverse.

Leis e regulamentos de privacidade

Todos os cabeçalhos de solicitação usam uma ID de contato para fins de auditoria. Para um usuário anônimo, o valor é null.

Se o registro em log de auditoria estiver habilitado, o usuário poderá ver todos os eventos de auditoria no log de auditoria do Office 365.

Captura de tela do log de auditoria do Office 365.

Mais informações:
Habilitar e usar o log de atividades
Exportar, configurar e exibir registros do log de auditoria

Tabelas de configuração não compatíveis

A API Web de portais não pode ser usada para as seguintes tabelas de configuração:

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

Problemas conhecidos

Os usuários recebem um erro de CDS se fizerem uma GET solicitação da API Web para tabelas que tenham vários níveis de permissões de tabela um para muitos ou muitos para muitos quando os escopos Parental, **Contato ou Conta adicionam mais condições à consulta.

Para resolver esse problema, use FetchXML na consulta OData.

Próxima etapa

Consultar dados usando portais API Web