# Mostrar informe en su sistema

{% embed url="https://www.youtube.com/watch?v=jNMQy3avxLE" %}

### Cómo utilizar el endpoint /identity/url

El primer paso es obtener la clave de la API según [esta página](automatizaciones-con-apis.md#obtencion-de-la-clave-de-api). Para obtener la URL que utilizará para acceder al portal de informes de forma transparente, sin pasar por la pantalla de inicio de sesión, utilice la ruta POST /api/identity/url.

```bash
curl -X 'POST' \
  'https://api.powerembedded.com.br/api/identity/url' \
  -H 'accept: application/json' \
  -H 'X-API-Key: HNhlHXAG1g21NyIsIkFwaUtleSI6Ik' \
  -H 'Content-Type: application/json' \
  -d '{
  "userEmail": "usuario@empresa.com",
}'
```

A continuación se muestra el cuerpo de la solicitud (body) completo:

```json
{
  "userEmail": "string",
  "baseUrl": "string",
  "organizationId": "string",
  "reportId": "string",
  "hideMenu": bool,
  "hideNavbar": bool,
  "hideSidebar": bool,
  "embed": bool,
  "customFilters": [
    {
      "key": "string",
      "value": "string"
    }
  ]
}
```

### Parámetros generales

* userEmail: único campo obligatorio en la solicitud. Debe informarse el correo electrónico de la persona que tiene la sesión iniciada en su sistema. Este usuario es el que se registrará en las auditorías y los informes a los que este usuario tiene acceso son los que se mostrarán en pantalla. Si el informe tiene RLS, este se aplicará automáticamente, utilizando las reglas de filtrado del usuario informado.
* baseUrl: en este campo, debe completar con la información del subdominio configurado. Es obligatorio informar este dato para que toda la experiencia esté personalizada, incluso en caso de expiración del token.
* Cuando los parámetros organizationId y reportId NO se informan, el portal de visualización completo se renderizará en su sistema, igual que cuando accede en el modo tradicional (sin API), mostrando únicamente los informes a los que el usuario informado tiene acceso. El usuario podrá navegar libremente por los informes a los que tiene acceso.

### Parámetros para el control de visualización

* hideMenu: oculta la barra de menús cuando se abre el informe.

<figure><img src="https://docs.powerembedded.com.br/assets/hide_menu.png" alt=""><figcaption></figcaption></figure>

* hideNavbar: oculta la barra de navegación cuando se abre el informe.

<figure><img src="https://docs.powerembedded.com.br/assets/hide_navbar.png" alt=""><figcaption></figcaption></figure>

* hideSidebar: oculta la barra lateral en la pantalla de navegación.

<figure><img src="https://docs.powerembedded.com.br/assets/hide_sidebar.png" alt=""><figcaption></figcaption></figure>

* embed: es un parámetro de atajo que puede utilizarse para definir todas las propiedades de visualización anteriores de una sola vez.
* customFilters: permite abrir informes con filtros ya aplicados. Más información [aquí](filtrado-dinamico.md).

### Parámetros para mostrar un solo informe

Si desea mostrar un informe específico, deberá informar, obligatoriamente, los dos parámetros siguientes:

* organizationId: Es el identificador único de su organización en el sistema, fijo e inalterable. Para obtenerlo, acceda al menú "Configuración" y copie el ID de la URL.

<figure><img src="https://docs.powerembedded.com.br/assets/organizationId.png" alt=""><figcaption></figcaption></figure>

* reportId: Es el ID del informe; cada informe tiene su ID único (es el mismo reportId del informe en el servicio de Power BI). Para obtener el ID del informe, capture el ID que aparece en la URL de la pantalla de edición del informe.

<figure><img src="https://docs.powerembedded.com.br/assets/reportId.png" alt=""><figcaption></figcaption></figure>

### Retorno de la API

El retorno de la API es una URL con sesión única de 5 minutos.

```json
{
  "embedUrl": "https://demo.powerembedded.com.br/integration/tokenauth?token=c820f277-26ef-44f1-b8ff-46823fbf899d",
  "expiresAt": "2025-10-20T21:14:02.0429464Z"
}
```

Si informó los demás parámetros, como organizationId, reportId (para mostrar un solo informe) y los parámetros de visualización, la solicitud tendrá este formato.

```bash
curl -X 'POST' \
  'https://api.powerembedded.com.br/api/identity/url' \
  -H 'accept: application/json' \
  -H 'X-API-Key: HNhlHXAG1g21NyIsIkFwaUtleSI6Ik' \
  -H 'Content-Type: application/json' \
  -d '{
  "userEmail": "usuario@empresa.com",
  "baseUrl": "bi.minhaempresa.com",
  "organizationId": "4b532635-a0c6-48ae-bea8-a5197c63f057",
  "reportId": "cb56555d-546c-40a2-b988-b1903cbbe39c"
}'
```

Y la URL devuelta será algo así.

```json
{
  "embedUrl": "https://demo.powerembedded.com.br/integration/tokenauth?token=6e87b8e8-f25a-43b4-a8f4-694b9a80a9f0&returnUrl=/Organization/public/6e87b8e8-f25a-43b4-a8f4-694b9a80a9f0",
  "expiresAt": "2025-10-20T21:15:03.492071Z"
}
```

Con la URL generada, solo necesita crear un iframe utilizándola como en el ejemplo siguiente.

```html
<html>
    <iframe width="1200"
            height="800"
            src="https://demo.powerembedded.com.br/integration/tokenauth?token=
            6e87b8e8-f25a-43b4-a8f4-694b9a80a9f0&returnUrl=/Organization/public
            /6e87b8e8-f25a-43b4-a8f4-694b9a80a9f0">
    </iframe>
</html>
```

Y con eso, ya puede mostrar los informes de Power BI en su aplicación, a través de Power Embedded, de forma transparente y segura.

Como el token de la URL es de uso ÚNICO, esta URL solo puede accederse una única vez. Si desea mostrar el informe nuevamente, deberá ejecutar esta solicitud otra vez.

Como el token es para el usuario específico, al acceder a un informe, Power Embedded sabe quién es el usuario que está accediendo y realiza las debidas validaciones de permiso de acceso y aplica las reglas de RLS, si están configuradas.

### **Documentación**

Documentación completa de la API:\
[Swagger UI (powerembedded.com.br)](https://api.powerembedded.com.br/index.html)

Página de demostración de la API para incrustar (embeddar) los informes:\
[Demo – PowerPortal.IntegrationDemo (powerembedded.com.br)](https://dev.demoapi.powerembedded.com.br/)
