Como mostrar os relatórios do Power BI na sua aplicação – /api/identity/url

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 utilizando a API.

 

Como utilizar o endpoint /api/identity/url

Para retornar a URL que você irá utilizar para acessar o portal de relatórios de forma transparente, sem passar pela tela de login, utilize a chamada POST abaixo:

 

O cabeçalho X-API-Key deve ser informado, passando como valor, o token da API gerado acima pela tela de configurações.

 

O corpo da requisição (body) possui os seguintes valores possíveis:

{
"userEmail": "[email protected]",
"baseUrl": "https://bi.minhaempresa.com.br",
"organizationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"reportId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"hideMenu": true,
"hideNavbar": true,
"hideSidebar": true,
"embed": true
}

 

Parâmetros gerais

  • userEmail: Único campo obrigatório na requisição. Deve ser informado o email da pessoa que está logada no seu sistema. Esse usuário que será gravado nas auditorias e os relatórios que esse usuário tem acesso que serão mostrados na tela. Caso o relatório tenha RLS, este será aplicado automaticamente, utilizando as regras de filtragem desse usuário informado.
  • baseUrl: Caso você esteja utilizando um sub-domínio personalizado, pode informar neste campo, para que toda a experiência seja personalizada, até mesmo se o token expirar. Caso não seja informado, irá utilizar a URL padrão (https://relatorios.powerembedded.com.br)

 

Quando os parâmetros de organizationId e reportId NÃO são informados, o portal de visualização completo será renderizado no seu sistema, assim como quando você acessa no modo tradicional (sem API), mostrando apenas os relatórios que o usuário informado possui acesso. O usuário poderá navegar livremente nos relatórios que ele possui acesso.

 

Parâmetros para controle de exibição

  • hideMenu: Oculta a barra de menus quando o relatório é aberto.

 

  • hideNavbar: Oculta a barra de navegação quando o relatório é aberto.

 

  • hideSidebar: Oculta a barra lateral na tela de navegação.

 

  • embed: É um parâmetro atalho que pode ser utilizado para definir todas as propriedades de exibição acima de uma única vez.

 

Parâmetros para exibição de um relatório apenas

Caso você queira exibir um relatório específico, você precisará informar, obrigatoriamente, os 2 parâmetros abaixo:

  • organizationId: É o ID único da sua organização no sistema. Esse ID é fixo e nunca é alterado. Esse ID você pode obter na URL da tela de “Configurações”

 

  • reportId: É o ID do relatório, onde cada relatório tem o seu ID único (é o mesmo reportId do relatório no Power BI serviço). Para obter o ID do relatório, capture o ID que fica na URL da tela de edição do relatório:

 

Retorno da API

O retorno da API é uma URL que só pode ser acessada uma única vez e caso não tenha acesso, irá expirar em 5 minutos:

 

Caso você tenha informado os outros parâmetros, como organizationId e reportId (para mostrar apenas 1 relatório) e os parâmetros de exibição, a requisição terá esse formato:

 

E a URL retornada será algo assim:

 

Com essa URL gerada, você só precisa criar um iframe utilizando ela como o exemplo abaixo:

E com isso, você já consegue mostrar os relatórios do Power BI na sua aplicação, através do Power Embedded, de forma transparente e segura.

 

Como o token da URL é de uso ÚNICO, essa URL só pode ser acessada uma única vez. Caso você queira mostrar o relatório novamente, terá que executar essa requisição novamente.

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 mostrado e aplica as regras de RLS, caso o relatório possua.