Ir para o conteúdo

Power BI

Você pode levar os dados do BotCity Insights para o Power BI usando a API do BotCity Insights. Assim, os dados de tarefas, automações e Runners reportados ao Insights ficam disponíveis nos relatórios e dashboards que você já monta no Power BI.

Nesta página, você vê como:

Exemplos introdutórios

Os exemplos desta página cobrem um fluxo básico de integração com o Power BI. Para conhecer todas as rotas, parâmetros e respostas disponíveis, consulte a referência da API do BotCity Insights.

Autenticar na API

O primeiro passo para usar a API do BotCity Insights é a autenticação. A API usa um token de acesso, enviado no header de todas as requisições.

Para obter o token de acesso pelo Power BI:

  1. Abra o Power BI Desktop e crie um novo relatório.
  2. No menu Obter dados, selecione a opção Consulta em branco.
  3. Abra a consulta criada no Editor Avançado para inserir o código em Power Query M.

Animação no Power BI Desktop mostrando a criação de um novo relatório a partir da tela inicial, a seleção da opção Consulta em branco no menu Obter dados e a abertura da consulta no Editor Avançado.

O código desta etapa faz uma requisição POST para a rota de login da API, enviando os valores de login e key no corpo da requisição.

Onde encontrar login e key

Os valores de login e key ficam na página Amb. Desenvolvedor do seu workspace no Orquestrador BotCity.

() =>
    let
        // Login route
        url = "https://sua-empresa.botcity.dev/api/v2/workspace/login",
        headers = [#"Content-Type" = "application/json"],

        // Passing the workspace information in the body of the request (Dev. Environment)
        postdata = Json.FromValue(
            [
                login = "<WORKSPACE_LOGIN>",
                key = "<WORKSPACE_KEY>"
            ]
        ),
        // Getting the response
        response = Web.Contents(url, [Headers = headers, Content = postdata]),
        Data = Json.Document(response),

        access_token = Data[accessToken]
    in 
        // Returning the obtained access token
        access_token

Substitua a URL da rota de login

A URL https://sua-empresa.botcity.dev no código é apenas um exemplo. Substitua pela URL do servidor dedicado da sua empresa, a mesma que você usa para acessar o Orquestrador, mantendo a rota /api/v2/workspace/login.

Se você usa a versão Comunidade, a URL base é https://developers.botcity.dev.

Ao executar essa consulta, a API retorna um token de acesso.

Editor do Power Query no Power BI com as consultas Login e Invoked Function no painel lateral. A barra de fórmula exibe = Login() e, abaixo, o token de acesso retornado pela API aparece destacado em vermelho.

Com a função que retorna o token de acesso, você pode usá-lo como parâmetro nas demais requisições para consumir os dados dos relatórios.

Consumir os dados dos relatórios

Use os endpoints abaixo para consumir os dados dos relatórios do BotCity Insights:

BASE URL
https://sua-empresa.botcity.dev

Substitua a URL base

A URL https://sua-empresa.botcity.dev é apenas um exemplo. Substitua pela URL do servidor dedicado da sua empresa, a mesma que você usa para acessar o Orquestrador.

Se você usa a versão Comunidade, a URL base é https://developers.botcity.dev.

Tipo Rota Descrição
GET /api/v1/insights/tasks Lista os dados das tarefas executadas
GET /api/v1/insights/runners Lista os dados dos Runners do workspace
GET /api/v1/insights/automation Lista os dados das automações

No mesmo relatório, siga as etapas abaixo para consumir os dados da API do BotCity Insights:

  1. No menu Nova fonte, selecione a fonte Web para criar uma nova consulta.
  2. Na janela que abrir, marque a opção Avançadas e insira a URL base da API do BotCity Insights.

    Animação no editor do Power Query mostrando a criação de uma nova fonte do tipo Web pelo menu Nova fonte e a seleção da opção Avançadas na janela de configuração.

  3. No segundo campo das partes da URL, insira a rota que deseja usar para consumir os dados.

  4. No campo Parâmetros do cabeçalho de solicitação HTTP, insira o token obtido na etapa de autenticação e a organization do seu workspace. Todas as requisições da API do BotCity Insights exigem esses dois valores no header.

    Ao final, a configuração deve ficar semelhante a esta:

    Janela From Web do Power BI na opção Advanced, com as partes da URL https://developers.botcity.dev e /api/v1/insights/tasks, a pré-visualização da URL completa e os parâmetros de cabeçalho token, com o valor <ACCESS_TOKEN>, e organization, com o valor <ORGANIZATION_LABEL>.

Valor de organization

O valor de organization é o mesmo do campo login, disponível na página Amb. Desenvolvedor do seu workspace no Orquestrador.

Ao executar a requisição, o retorno da API aparece na janela de configuração da fonte de dados. A partir dele, você pode aplicar os tratamentos necessários para exibir os dados da forma que desejar.

Editor do Power Query exibindo a consulta tasks com os dados retornados pela API do BotCity Insights em formato de tabela, com colunas como content.id, content.state, content.finishStatus, content.activityLabel, content.repositoryLabel, content.machineId e datas de modificação e criação. No painel Query Settings aparecem as etapas aplicadas à consulta.

Usar a API de forma avançada

Deixar as requisições do Power BI dinâmicas

Ao criar a consulta no formato acima, o Power BI gera automaticamente um código em Power Query M com os dados que você preencheu.

No exemplo acima, o token de acesso foi passado manualmente. Com uma pequena alteração, você pode deixar a etapa de autenticação dinâmica.

Para isso, edite a consulta no Editor Avançado e use a função criada para obter o token.

Token gerado a cada atualização

A função que obtém o token de acesso, criada na etapa de autenticação, pode ser passada como parâmetro nas próximas requisições.

Dessa forma, um novo token é gerado sempre que a consulta for atualizada.

Editor Avançado do Power BI com o código Power Query M da consulta tasks. O trecho token = Login(), sublinhado em vermelho, mostra o parâmetro token do cabeçalho preenchido pela função Login em vez de um valor fixo.