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