Product
Nova Events API, rastreamento detalhado e pesquisa de e-mails
Temos a satisfação de anunciar o lançamento da nossa mais nova API para facilitar a vida da equipe de desenvolvimento. Nossa Events API totalmente refatorada torna fácil e rápido determinar exatamente o que aconteceu com todos os seus e-mails. Assim como a Fedex fornece um número de rastreamento para que você acompanhe todo o processo de envio, nossa Events API permite acompanhar cada evento associado ao seu e-mail, até mesmo os que ocorrem após a entrega.
Também atualizamos a guia Logs no nosso painel de controle para usar a Events API. Assim, você também verá informações mais detalhadas por lá. Agora, você verá os eventos que ocorrem após a entrega do e-mail, como aberturas e cliques. Você também pode fazer pesquisas mais detalhadas, como buscar todos os eventos que aconteceram com uma mensagem específica pesquisando por message-id.
Esses logs detalhados estão disponíveis sem custo adicional para os clientes do Mailgun. Clientes que usam uma conta de teste gratuito recebem pelo menos dois dias de armazenamento de eventos, e clientes com uma conta paga recebem pelo menos 30 dias.
Agora, confira os detalhes do porquê estamos tão entusiasmados com a nova API:
Poderosa
Os clientes do Mailgun costumam enviar milhões de e-mails por mês, então encontrar o status de um e-mail específico pode ser como encontrar uma agulha em um palheiro. Para ajudar com isso, adicionamos diversos parâmetros de filtragem e permitimos a combinação de filtros para criar consultas complexas. Também melhoramos o método de polling da API. Antes, nossa Events API tinha apenas parâmetros simples de skip e limit para especificar quais partes dos logs você queria buscar. Isso era trabalhoso e resultava em um desempenho ruim. Com a nova Events API, fornecemos parâmetros que permitem especificar um período de tempo, além da capacidade de definir a ordem crescente ou decrescente. Também fornecemos URLs na resposta para recuperar as páginas anteriores e seguintes, oferecendo a capacidade de navegar facilmente pelos dados de log, não importa quantos registros sejam retornados. Se a data final do intervalo de tempo não for especificada e a navegação for crescente (avançando no tempo), em algum momento você receberá uma página vazia (ou seja, o fim do conjunto de dados). Você pode usar a mesma URL posteriormente e o resultado conterá as entradas de log gravadas desde a solicitação anterior.
Alto desempenho
Criamos a API para ter alto desempenho, mesmo com dezenas de milhões de entradas de log. Para isso, criamos a API com base no ElasticSearch, um framework de código aberto para a criação de pesquisas e análises em tempo real. Faremos uma publicação posterior sobre os detalhes da arquitetura.
Abaixo estão os parâmetros e alguns exemplos de como usar a API.
Parâmetros da API

Parâmetros de campo de filtro

Você pode criar consultas complexas combinando parâmetros:

Confira alguns exemplos: o assunto é “Falta só um dia para economizar!” AND o destinatário é “customer@example.com” OR “paul@example.com”
curl -s --user api:key-3ax6xnjp29jd6fds4gc373sgvjxteol0 -G rnhttps://api.mailgun.net/v2/samples.mailgun.org/events rn --data-urlencode "subject"="Only one day left to save!" rn --data-urlencode "recipient"="customer@example.com OR paul@example.com"rn
O tamanho da mensagem é superior a 25 MB AND o nome do anexo é “design-final.pdf” (observação: o tamanho da mensagem é em bytes)
curl -s --user api:key-3ax6xnjp29jd6fds4gc373sgvjxteol0 -G rnhttps://api.mailgun.net/v2/samples.mailgun.org/events rn --data-urlencode "attachment"="design-final.pdf"rn --data-urlencode "size"=">26214400"rn
Conheça todos os eventos!
Antes, só registrávamos as informações que aconteciam com o seu e-mail até ele ser aceito pelo servidor de e-mail do destinatário ou ser descartado. A Events API permite consultar todos os eventos, incluindo os que acontecem após a entrega do e-mail. A lista completa de eventos está abaixo:

Quando eu devo usar a Events API?
Para substituir ou expandir nossos webhooks de eventos
Se a sua dúvida é alguma variação de “o que aconteceu com o meu e-mail”, o Mailgun sempre ofereceu uma maneira simples de responder a isso: webhooks. Você só precisava configurar um webhook para o tipo de evento do seu interesse (ex.: entrega, abertura, clique, etc.) e escutar os eventos. Cada vez que há um e-mail, disparamos um webhook. Porém, isso exige que você armazene uma grande quantidade de dados do seu lado. Além disso, mesmo que tentemos reenviar a maioria dos webhooks com falha, interrupções longas no seu sistema podem resultar em perda de dados. Por fim, se você envia muitos e-mails, isso significa muitos acessos aos seus endpoints, o que pode sobrecarregar o seu servidor.
Nossa nova API de logs permite que você responda à pergunta “o que aconteceu com o meu e-mail” usando um método de extração (polling da Events API) em vez do método de envio dos webhooks.
Fornecer o status de um e-mail específico
Muitos dos nossos clientes usam o e-mail para notificações que dependem do tempo. Já publicamos no blog sobre como o produto Cloud Monitoring da Rackspace usa o Mailgun para notificar os clientes quando há problemas com seu site ou aplicativo. PagerDuty e Rastreamento de erros do Exceptional são outros clientes conhecidos do Mailgun nos quais entrega de e-mail e a capacidade de rastrear essa entrega é essencial. Nesses casos, não é incomum ouvir dos usuários finais: “Não recebi o e-mail”. Bem, agora você pode simplesmente pesquisar na Events API por message-ID e obter um status para cada mensagem. Informaremos claramente se a mensagem foi entregue, e você poderá fornecer esse status ao seu cliente sob demanda, ou até mesmo integrá-lo à sua própria interface de usuário. Fim do disse me disse. Apenas dados concretos.
Resumindo, essa é a Events API! Fique à vontade para conferir a documentação completa e saber mais!
Bons envios!
Mailgunners