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 *