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 Web para executar operações para criar, ler, atualizar e excluir em todas as tabelas do Microsoft Dataverse a partir de páginas da Web. Por exemplo, você pode criar uma nova conta, atualizar um contato, sem usar um formulário ou um formulário de várias etapas por meio da API da Web de portais.
Importante
- Sua versão do site do Power Pages deve ser 9.3.3.x ou posterior para que este recurso funcione.
- 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. Também não há suporte para o uso da API da Web dos portais para integração com outros sites do Power Pages.
- As operações de API Web estão limitadas a tabelas relacionadas a dados. Por exemplo, contas, contatos ou tabelas personalizadas. A API Web de portais não dá suporte à configuração de metadados da tabela ou dados da tabela de configuração do portal. Por exemplo, configurar tabelas de portais, como adx_contentsnippet, adx_entityform ou adx_entitylist. Para obter uma lista completa, acesse as tabelas de configuração não compatíveis, mais adiante neste tópico.
- Os portais da API Web se beneficiam de cache do servidor, tornando as chamadas subsequentes para a API Web mais rápidas do que as chamadas iniciais. Observe que 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, chamadas de API Web feitas por usuários anônimos contam na capacidade do usuário anônimo. As chamadas de API Web feitas por usuários autenticados (internos ou externos) não contam em exibições de página, mas exigem licenças de capacidade do usuário autenticado aplicáveis. Para obter mais informações: Perguntas frequentes sobre licenciamento do Power Pages
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. Mantivemos o formato da 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
- Leia os registros de uma tabela
- Criar um registro em uma tabela
- Atualizar e excluir registros em uma tabela
- Associar e desassociar tabelas
Configurações do site para a API Web
É necessário habilitar a configuração do site para habilitar a API Web de portais para o seu portal. Você também pode configurar a API Web em nível de campo que determina os campos da tabela que podem ou não ser modificados com a API Web de portais.
Observação
Usar a tabela nome lógico para essas configurações (por exemplo conta).
Nome da configuração do site | Descrição |
---|---|
Webapi/<table name>/enabled | Habilita ou desabilita a API Web para <table name>. Padrão: False Valores válidos: True , False |
Webapi/<table name>/fields | Define a lista de atributos separados por vírgulas que podem ser modificados com a API Web. Valores possíveis: - Todos os atributos: * - Atributos específicos: attr1,attr2,attr3 Observação: o valor deve ser um asterisco (*) ou uma lista de nomes de campos separados por vírgulas. 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 |
Webapi/<table name>/disableodatafilter | Habilita ou desabilita o filtro OData. Padrão: False Valores válidos: True , False Consulte problemas conhecidos para obter mais informações. A configuração do site está disponível na versão do portal 9.4.10.74 ou posterior. |
Observação
As configurações do site devem ser definidas como Ativas para que as alterações entrem em vigor.
Por exemplo, para expor a API Web da tabela de Casos em que usuários autenticados podem executar operações de criação, atualização e exclusão nesta entidade, as configurações do site são exibidas na seguinte tabela.
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
É possível configurar a segurança baseada em registros para registros individuais em portais usando as 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
Você não precisa incluir um código de autenticação porque a autenticação e a autorização são gerenciadas pela sessão do aplicativo. Todas as chamadas da API Web devem incluir um token de solicitação intersite forjada (CSRF).
Uso de EntitySetName
Ao se referir a tabelas do Dataverse que usam a API Web de portais em seu código, você precisa usar o EntitySetName, por exemplo, para acessar o tabela conta, a sintaxe do código usará o EntitySetName de contas; /_api/accounts()
.
Observação
Usar a tabela nome lógico para configurações do site (por exemplo conta).
Você pode determinar EntitySetName de tabelas específicas seguindo estas etapas:
Acessar o https://make.powerapps.com
Selecione a guia Dataverse no painel lateral e selecione a tabela.
Selecione ... (opção Comandos) e escolha Avançado, Ferramentas e Copiar nome do conjunto para copiar EntitySetName da tabela para a área de transferência.
Leis e regulamentos de privacidade
Todos os cabeçalhos de solicitação terão uma ID de contato passada para fins de auditoria. Para um usuário anônimo, isso será transmitido como 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.
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 receberão um erro CDS se chamarem uma GET
Solicitação de API Web para tabelas que têm vários níveis de 1 para muitos ou muitos para muitospermissões de tabela quando os escopos Primário, Contato ou Conta incluem condições adicionais à query.
Para resolver esse problema, a solução recomendada é usar FetchXML na consulta OData.
Outra opção é definir Webapi/<table name>/disableodatafilter como True
.
Importante
Alterar a configuração do site Webapi/<table name>/disableodatafilter para True
pode resultar em desempenho mais lento para chamadas GET
da API Web.
A configuração do site está disponível na versão do portal 9.4.10.74 ou posterior.
Próxima etapa
Consultar dados usando portais API Web