Product
Atualizações na API de estatísticas do Mailgun
Sabemos que os usuários do Mailgun querem saber o que está acontecendo com seus e-mails. Em maio, fizemos algumas atualizações significativas em nosso painel para que os usuários pudessem verificar o desempenho de entrega de seus e-mails. Hoje, temos o prazer de anunciar atualizações em nossa API de estatísticas para oferecer aos usuários a oportunidade de capturar mais dados sobre seus e-mails.
Atualizamos nossa API de estatísticas com novos recursos que ajudarão os usuários do Mailgun a rastrear o status de seus e-mails em um nível mais granular. A nova API agora pode retornar dados em ordem cronológica com uma resolução específica. As resoluções mensais, diárias e por hora agora são compatíveis.
Também expandimos a API de tags, e agora é possível fornecer uma descrição opcional a uma tag por meio da API. Com essa atualização, você também pode listar todas as tags.
A API de estatísticas para cada tag agora é compatível e mostra o número de cliques e aberturas únicos.
Principais benefícios
Com essa atualização, os usuários do Mailgun agora poderão:
- Solicitar estatísticas de um evento e tag em particular
- Fornecer uma descrição opcional para uma tag
- Visualizar estatísticas em um nível mais granular, incluindo resolução por hora
Caso de uso
Usamos a mesma API para exibir nosso painel principal no painel de controle do Mailgun. Você pode ler mais sobre isso aqui.
Por exemplo, se você quiser desenhar um gráfico como o que temos na página do painel para o domínio example.com, aqui vai uma ideia de como obter a série de dados:
import requests
def _get_stats(): """Call Mailgun API to get the domain stats.""" return requests.get( "https://api.mailgun.net/v3/example.com/stats/total", auth=("api", "YOUR_API_KEY"), params={"event": ["accepted", "delivered", "failed"], "duration": "30d"})
def get_series_for_graph(): """Returns the data series required for drawing a nice graph.""" # Make a request to the API. response = _get_stats()
# Prepare empty data series. series = {"Delivered": [], "Dropped": [], "Incoming": []}
# Iterate over all items in the response where # each item represents stats for a particular day. for item in response["stats"]: series["Delivered"].append(item["delivered"]["smtp"]) series["Dropped"].append(item["failed"]["permanent"]["total"]) series["Incoming"].append(item["accepted"]["incoming"])
return series
Informações adicionais
Confira nossa documentação e, se tiver alguma dúvida, fique à vontade para deixar um comentário!
https://documentation.mailgun.com/api-stats.html
https://documentation.mailgun.com/api-tags.html