A gestão eficiente de chamados de suporte de infraestrutura é crucial para garantir a estabilidade e a disponibilidade dos serviços. Neste artigo, quero demonstrar como automatizar esse processo usando Python e interagindo com a API da Milvus. A automação não só poupa tempo, mas também permite uma análise mais precisa e eficaz dos dados de suporte.
O script em Python utiliza a biblioteca requests para fazer uma solicitação POST a uma API, especificamente a “https://apiintegracao.milvus.com.br/api/chamado/listagem”. O objetivo é obter informações sobre chamados com determinado status e dentro de um intervalo de datas.
O payload da solicitação contém informações de filtro, como o status desejado e as datas inicial e final. O cabeçalho da solicitação inclui informações de autorização. O script manipula a resposta JSON da API, verifica se a solicitação foi bem-sucedida e, se for o caso, converte os dados da resposta em um DataFrame usando a biblioteca pandas. Em seguida, seleciona e organiza as colunas desejadas, formatando as colunas de data, se necessário, e exibe o DataFrame em formato tabular.
Além disso, o script inclui verificações para garantir que as colunas necessárias estejam presentes no DataFrame retornado pela API, com uma mensagem de erro caso contrário.
Pré-requisitos:
- Python instalado (até o momento, o Power BI oferece suporte à versão 3.6 do Python )
- Bibliotecas necessárias: requests, pandas.
- Conta na API da Milvus com token de autenticação.
- Power BI Desktop instalado.
Veja aqui Como conectar script em Python no Power BI.
Nesse exemplo vamos utilizar a opção de listagem de chamados. Atualmente a API do Milvus conta com algumas limitações:
– 1000 (um mil) resultados para cada requisição realizada quando falamos de listagens com paginação.
– Cada requisição deve ser feita no período superior a 1 minuto, se realizado antes irá retornar um erro.
Nesse exemplo serão exportados os últimos 1000 registros, para chamados fechados com as seguintes colunas:
“codigo”
“cliente”
“contato”
“categoria_primaria”
“categoria_secundaria”
“tecnico”
“total_horas”
“data_criacao”
“data_solucao”
“servico_realizado
Script listagem de chamados:
import requests import pandas as pd import json # API endpoint URL url = "https://apiintegracao.milvus.com.br/api/chamado/listagem" # Add Query Param to the URL url += "?total_registros=1000" # Define payload for the API request payload = json.dumps({ "filtro_body": { "status": 4, } }) # API request headers headers = { 'Content-Type': 'application/json', 'Authorization': 'SEU_TOKEN' } # Make a POST request to the API response = requests.request("POST", url, headers=headers, data=payload) # Parse the JSON response data = response.json() # Check if the response was successful if 'lista' in data: # Convert the response data to a DataFrame df = pd.DataFrame(data['lista']) # Select and organize columns columns_to_select = ["codigo", "cliente", "contato", "categoria_primaria", "categoria_secundaria", "tecnico", "total_horas", "data_criacao", "data_solucao", "servico_realizado"] if all(col in df.columns for col in columns_to_select): df = df[columns_to_select] # Format date columns if necessary df["data_criacao"] = pd.to_datetime(df["data_criacao"]) df["data_solucao"] = pd.to_datetime(df["data_solucao"]) # Display DataFrame in tabular format print(df.to_string(index=False)) else: print("Some specified columns are not present in the DataFrame returned by the API.") # Add logic to handle the situation of missing columns if necessary. else: print("Error in API response:", data)
Explore diferentes visualizações no Power BI para obter insights valiosos e aprimorar suas análises de infraestrutura.
Seja o primeiro a comentar