New feature: APIs to integrate Power Embedded into your application

New feature: APIs to integrate Power Embedded into your application

Como obter a Chave de API para autenticação as requisições

O primeiro passo, é obter a chave da API na tela de configurações para autenticar:

Com essa chave, você já consegue autenticar as requisições à API.


Gerenciando usuários pela API

Chamada para realizar uma listagem de usuários do sistema:

Resposta do servidor:

Aonde o array reports retorna o ID dos relatórios que o usuário tem acesso.

Você também pode filtrar a lista de usuário por nome e/ou e-mail:

Para criar um novo usuário no sistema, utilize a chamada abaixo:

Onde as roles são:
1 = Administrador
2 = Contribuidor
3 = Visualizador

Para apagar um usuário do sistema, utilize a chamada abaixo:


Controlando permissões em relatórios pela API

Você também pode dar permissão para um usuário acessar um determinado relatório, informando o e-mail do usuário e uma lista com os ID’s dos relatórios:

Para remover a permissão de um usuário em um relatório, utilize a chamanda abaixo:

 

Listando os Relatórios existentes no Power Embedded

Você também pode listar os relatórios existentes para recuperar alguns metadados, como o ID do relatório:

Também é possível filtrar o relatório pelo nome, workspace ou tipo:

 

Row-Level Security (RLS) utilizando a API

Você também pode listar o nome das roles que um relatório possui, para criar a associação Relatório X Usuário X Role (RLS), onde o parâmetro da chamada é o ID do relatório:

Para listar esse mapeamento entre Relatório x Usuário x Role, você pode utilizar a chamada abaixo, e poderá filtrar os dados pelo ID do usuário, Id do relatório ou nome da role:

Para atribuir uma permissão de RLS, você irá passar uma lista de e-mails que vão ser adicionados na regra do RLS, o ID do relatório e o nome da role que os usuários serão adicionados.

Para remover a permissão RLS, você vai mudar somente a URL da requisição, pois são os mesmos parâmetros para adicionar:

 

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

Você também pode utilizar a API para acessar o log de auditoria de relatórios e conseguir consultar todos os acessos a relatórios que foram realizados pelos usuários do Power Embedded.

Você pode aplicar filtros na requisição por vários campos:

 

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

Para conseguir gerar o token de acesso e renderizar os relatórios na sua aplicação, você deverá primeiro obter o token usando a chamada abaixo:

E o servidor irá retornar o token de uso ÚNICO para chamar as API’s (cada requisição deverá solicitar um novo token):

Agora podemos fazer a chamada da API que renderiza o relatório, informando como parâmetros:

  • A URL base do portal de visualização (Ex: https://relatorios.powerembedded.com.br – Caso utilize um domínio personalizado, aqui você utilizaria https://bi.suaempresa.com.br/, por exemplo)
  • O token gerado no passo anterior (Ex: 2506b719-5a7e-789b-812f-c64013cc617f)
  • O ID da organização (ID fixo para cliente do Power Embedded – Está na URL da tela de configurações – Ex: 12201800-1a46-491a-bfe3-6ee5590e372e)
  • O ID do relatório que será embeddado (Ex: a4ee7a1e-6c65-44e7-9a38-06dd8514483c)

 

Com isso, você irá abrir um iframe com a seguinte URL:
https://relatorios.powerembedded.com.br/integration/tokenauth?token={token_gerado}&embed=true&returnUrl=/Organization/{Id_da_Organizacao}/Report/{Id_Relatorio}

Exemplo com as variáveis preenchidas:
https://relatorios.powerembedded.com.br/integration/tokenauth?token=98b6e796-3b1f-4f2f-abfe-aa2a8a1eadb8&embed=true&returnUrl=/Organization/12201800-1a46-491a-bfe3-6ee5590e372e/Report/a4ee7a1e-6c65-44e7-9a38-06dd8514483c

Como o token é de uso ÚNICO, essa URL só pode ser acessada uma única vez. Caso você queira embeddar o relatório novamente, terá que gerar um novo token de acesso para o e-mail informado.

Como o token é para o usuário específico, ao acessar um relatório, o Power Embedded sabe quem é o usuário que está acessando e faz as devidas validações se esse usuário possui acesso ao relatório que está sendo embeddado e aplica as regras de RLS, caso o relatório possua.

 

Docs

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)

Leave a Reply

Your email address will not be published. Required fields are marked *

Power Embedded
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.