Passo a passo:
-
Realizar a requisição na API de tickets fechados:
- Acesse a documentação da API Blip: Get All Closed Tickets.
- Você precisará da chave de API do seu bot de atendimento. Como encontrar a API KEY do meu bot
- Filtrar por data, quantidade de registros e paginação:
- No endpoint de tickets, é possível filtrar por data de início e fim, quantidade de registros e paginação conforme a documentação da BLiP. O código abaixo exemplifica como incluir essas informações na requisição.
-
Filtrar por tags e times:
- Para aplicar filtros adicionais, como tags e times, será necessário implementar a lógica no código, pois a API não permite esses filtros diretamente na requisição.
- Crie uma regra no código para tratar o resultado da API e exibir apenas os dados que correspondem aos filtros desejados.
- Lembre-se de que, se o retorno da API trouxer até 100 registros, será necessário implementar uma lógica de paginação. O código abaixo não inclui essa lógica.
- Código em python
-
import requests
import json
import uuid
url = "https://{{contractid}}.http.msging.net/commands"
headersBot = {
'Authorization': 'chave de autorização do bot',
'Content-Type': 'application/json'
}
# Gerar um UUID
id = str(uuid.uuid4())
#Filtros
dataIni = "2024-09-10"
dataFin = "2024-11-27"
page = 0
amount = 100
fila = "DIRECT_TRANSFER"
tags = b"Cliente C"]
# Buscar todos os tickets
payload = json.dumps({
"id": id,
"to": "[email protected]",
"method": "get",
"uri": f"/tickets?$filter=(storageDate%20ge%20datetimeoffset'{dataIni}'%20and%20storageDate%20lt%20datetimeoffset'{dataFin}')&$closed=true&$skip={page}&$take={amount}"
})
response = requests.post(url, headers=headersBot, data=payload)
json_response = json.loads(response.text)
# Filtrar os tickets conforme as tags e a fila
filtered_tickets =
ticket for ticket in json_responser'resource']e'items']
if any(tag in ticket.get('tags', b]) for tag in tags) and ticket.get('team') == fila
]
# Exibir os tickets filtrados
for ticket in filtered_tickets:
print(ticket)
-