Ada.ia
Logo Base de Conhecimento

Publisher Full

Publisher Full es una funcionalidad que te permite mostrar objetos de tu proyecto BIMachine fuera de la plataforma, de forma dinámica, segura y con soporte para filtros personalizados. Esta funcionalidad es ideal para incorporar cuadros de mando, análisis, KPIs y mapas en aplicaciones externas.

A continuación encontrarás una guía completa paso a paso para configurar y utilizar Publisher Full.

1. Clave de la aplicación 🔑

Para empezar a utilizar Publisher Full, necesita crear una clave de aplicación, consulte el paso a paso a continuación o con más detalle aquí:

  • Vaya al menú Gestión de cuentas.
  • Haga clic en Nueva clave de aplicación.
  • Dale un nombre a la clave para identificarla.
  • Copie la clave generada.

Esta clave se utilizará para autenticar futuras solicitudes a la API.

2. Generación de token de autenticación 🔐

Con la clave de aplicación, puedes generar un token de autenticación de usuario, necesario para validar los accesos externos.

POST
<url_aplicação>/api/token-manager/?appKey=<chave_aplicação>

Request Body:
{
"email":"email@exemplo.com"
}

Respuesta esperada:

{
  "id": 1,
  "applicationKey": {
    "id": 1,
    "name": "NomeDaAplicacao",
    "token": "chave_da_aplicacao",
    "account": {
      "id": 1,
      "accountOwnerId": 1,
      "accountMasterId": 1,
      "applicationKeys": null,
      "name": "NomeDaConta"
    },
    "blockByDomain": false,
    "allowedDomains": null
  },
  "user": {
    "id": 1,
    "username": "usuario@dominio.com",
    "email": "usuario@dominio.com",
    "preferredLanguage": "idioma_preferido",
    "displayName": "Nome de Exibição",
    "viewTutorial": false,
    "createObject": false,
    "addData": false,
    "preferences": {
      "id": 1,
      "defaultProjectId": 0,
      "defaultCockpits": null
    },
    "phone": "(00) 0000-0000",
    "projectLinks": null,
    "members": [1],
    "avatarLink": "/avatar?user-id=1&i=0000000000000&oi=0"
  },
  "token": "token_de_autenticacao"
}

El token generado se utiliza para autenticar al usuario en el BIMachine cuando se utiliza en otras aplicaciones. Este token es único y caduca en 30 minutos, pero se renueva cada vez que se utiliza.

Ejemplo de código JAVA para la autenticación utilizando el token:

public String getToken(){
    try {
        return new SimpleTimeLimiter().callWithTimeout(new Callable<String>() {
            @Override
            public String call() throws Exception {
                String emailUser = "usuario@dominio.com";
                String appKey = "chave_da_aplicacao";
                RestTemplate restTemplate = new RestTemplate();
                URI uri = UriComponentsBuilder
                    .fromHttpUrl("https://app.bimachine.com.br/api/token-manager")
                    .queryParam("appKey", appKey)
                    .build()
                    .toUri();

                HttpEntity httpEntity = jsonEntity(new EmailToken(emailUser, appKey));
                ResponseEntity<Token> responseEntity = restTemplate.postForEntity(uri, httpEntity, Token.class);

                if (responseEntity.getStatusCode().value() == 200) {
                    return responseEntity.getBody().getToken();
                } else {
                    return null;
                }
            }
        }, 2, TimeUnit.SECONDS, true);
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}

3. Listado de proyectos y objetos 📋

Tras autenticar al usuario, puedes consultar los proyectos y objetos disponibles.

🔎 Listar proyectos de la cuenta

GET
<url_aplicação>/api/projects/list?appKey=<chave_aplicação>

🔎 Listar los objetos de un proyecto

GET
<url_aplicação>/api/projects/<id_projeto>/find-resources-for/<id_usuario>?appKey=<sua_chave_aplicacao>&addCaptions=true&addPublisher=true&filter=analysis&filter=dashboard&filter=maps&filter=kpi

4. Generación de la URL para incrustar 🔗

Para mostrar el objeto fuera de la plataforma, accede a través de BIMachine, ve al menú Publicación y copia el enlace generado. Más información.

La URL de embed se puede personalizar según los parámetros que se indican a continuación:

UriComponentsBuilder url = UriComponentsBuilder.fromHttpUrl("https://" + url_app)
    .path("/publisher/" + Files.getFileExtension(object.getPath()) + ".spr")
    .queryParam("content", object.getPath())
    .queryParam("chart", false)
    .queryParam("applyFrame", true)
    .queryParam("frameBorderColor", "%23CCCCCC")
    .queryParam("borderType", "SIMPLE")
    .queryParam("showUpdateDate", true)
    .queryParam("showTitle", true)
    .queryParam("width", width)
    .queryParam("height", height);

5. Aplicar filtros 🧩

Puede aplicar filtros personalizados a la URL de publicación del objeto. Para ello, el filtro debe estar:

  • Creado en el proyecto.
  • Seleccionado en la publicación del objeto.

Tras estos pasos, es necesario convertir el filtro o filtros deseados con la función JS que se indica a continuación:

encodeURIComponent('[{"id":<id_filtro>,"members":["[<nome_do_membro_desejado>]"]}, {"id":<id_filtro>,"members":["[<nome_do_membro_desejado>]"]}]')

Esta función devolverá una cadena que debe agruparse con el enlace generado en el editor:

<url_gerado_no_publisher(com seu appKey*)>&filter=<retorno_da_função_js>

*Recuerde reemplazar <appToken> al final de la url con su token generado previamente.

Este enlace devolverá el objeto publisher con el filtro deseado aplicado.

6. Filtrar consultas 🔍

🔸 Ver los miembros de un filtro

GET
<url_aplicação>/api/filters/<id_filtro>/members

🔸 Ver opciones de periodos dinámicos (filtros de tiempo)

GET
<url_aplicação>/api/filters/<id_filtro>/dynamic-periodicities

🔸 Ver la información completa del filtro

GET
<url_aplicação>/api/filters/<id_filtro>

Ultimos artículos

Scroll al inicio