Automações com APIs

Obtendo a chave de API

O primeiro passo é obter a chave da API no menu de Configurações do portal de administração.

Também é possível gerar chaves de autenticação baseadas em permissões, com o administrador podendo gerar chaves que permitirão o acesso apenas a um subconjunto dos endpoints.

Gerenciando usuários pela API

A documentação da API pode ser acessada aqui Utilizando a rota GET /api/user podemos realizar uma listagem de usuários no sistema.

Exemplo de resposta do servidor, onde a propriedade "reports" tem associado um array com todos os IDs dos relatórios que meu usuário tem acesso e "groups" aponta para um array com todos os grupos que meu usuário faz parte.

Para filtrar a lista de usuários por nome e e-mail, basta utilizar os parâmetros de consulta "name" e "email", respectivamente.

Para criar um novo usuário no sistema, utilize a rota POST /api/user. Onde a chave "role" define a função de usuário sendo:

  1. Administrador

  2. Contribuidor

  3. Visualizador

  4. Contribuidor de workspace

Para apagar um usuário do sistema, utilize a rota DELETE /api/user/{userEmail}, onde "userEmail" é o e-mail do usuário a ser excluído.

Controlando permissões em relatórios pela API

Você também pode dar permissão de acesso a um ou mais relatórios para um usuário utilizando a rota POST /api/user/link-reports. Bastar passar os IDs dos relatórios no array "reports" e o e-mail do usuário em "userEmail".

Para remover a permissão de acesso a um ou mais relatórios, basta utilizar a rota POST /api/user/unlink-reports.

Listando os relatórios existentes no Power Embedded

Além de listar usuários, também é possível listar relatórios. Dessa forma é possível ter acesso a alguns metadados, como os IDs dos relatórios. Para isso, basta utilizar a rota GET /api/report.

Exemplo de resposta do servidor.

Assim como no endpoint de usuários, também é possível filtrar o relatório através de parâmetros de consulta. No exemplo abaixo, utilizo os parâmetros "reportName" e "workspaceName".

Resposta do servidor.

Row-Level Security (RLS) utilizando a API

Para listar todas as roles vinculadas aos seus datasets, basta utilizar a rota GET /api/datasets/rls.

Resposta do servidor.

Também é possível o uso de parâmetros de consulta. No exemplo abaixo, informei o ID de um dataset no parâmetro "datasetId".

Resposta do servidor.

Para vincular uma função RLS a um usuário ou grupo, pode-se utilizar as rotas PUT /api/datasets/rls/link-users e PUT /api/datasets/rls/link-groups, respectivamente. Para desvincular, /unlink-users e /unlink-groups.

Abaixo um exemplo com PUT /api/datasets/rls/link-users.

Consultando o log de acessos de relatórios do Power Embedded via API

Você também pode utilizar a rota GET /api/report-audit para acessar o log da auditoria de relatórios, consultando todos os acessos a relatórios realizados pelos usuários do Power Embedded.

Resposta do servidor.

Também é possível filtrar por parâmetros de consulta, como "userEmail", "reportName", "pageNumber", dentre outros.

Como mostrar os relatórios do Power BI na sua aplicação

Para saber mais sobre exibição de relatórios em aplicações externas, acesse a página Mostrar relatórios no seu sistema.

Documentação

Documentação completa da API: Swagger UI (powerembedded.com.br)

Página de demonstração da API para Embeddar os relatórios: Demo – PowerPortal.IntegrationDemo (powerembedded.com.br)

Atualizado