Product
Nouvelle Events API, suivi détaillé des emails et recherche
Nous sommes ravis d’annoncer la sortie de notre dernière API pour faciliter la vie de l’équipe de développement. Notre Events API entièrement remaniée permet de déterminer facilement et rapidement ce qui est arrivé exactement à chacun de vos emails. Tout comme FedEx vous fournit un numéro de suivi qui vous permet de suivre l’ensemble du processus d’expédition, notre Events API vous permet de suivre chaque événement associé à votre email, même ceux qui se produisent après sa livraison.
Nous avons également mis à jour l’onglet Rapports de notre panneau de configuration pour utiliser l’Events API, vous y trouverez donc également des informations plus détaillées. Vous verrez désormais les événements qui se produisent une fois l’email remis, comme les ouvertures et les clics. Vous pouvez également effectuer des recherches plus approfondies, comme rechercher tous les événements liés à un message particulier à l’aide de l’identifiant du message (message-id).
Ces journaux détaillés sont disponibles sans frais supplémentaires pour la clientèle de Mailgun. Les comptes en essai gratuit bénéficieront d’au moins 2 jours de stockage des événements, et les comptes payants d’au moins 30 jours.
Passons maintenant aux raisons pour lesquelles cette nouvelle API nous enthousiasme tant :
Puissance
La clientèle de Mailgun envoie régulièrement des millions d’emails par mois. Trouver le statut d’un email spécifique peut donc s’apparenter à chercher une aiguille dans une botte de foin. Pour vous aider, nous avons ajouté plusieurs paramètres de filtrage et vous permettons de combiner des filtres pour créer des requêtes complexes. Nous avons également amélioré la méthode d’interrogation de l’API. Auparavant, notre Events API ne disposait que de simples paramètres « skip » (ignorer) et « limit » (limite) pour spécifier quelles parties des journaux vous souhaitiez récupérer. Cela était fastidieux et entraînait de mauvaises performances. Avec la nouvelle Events API, nous avons fourni des paramètres qui vous permettent de définir une période de temps en plus de pouvoir spécifier un ordre croissant ou décroissant. Nous fournissons également des URL dans la réponse pour récupérer les pages suivantes et précédentes, ce qui vous permet de parcourir facilement les données des journaux, quel que soit le nombre d’enregistrements renvoyés. Si la date de fin de la période n’est pas spécifiée et que le parcours est croissant (vers l’avant dans le temps), vous finirez par recevoir une page vide (c’est-à-dire la fin du jeu de données). Vous pouvez utiliser la même URL ultérieurement, et le résultat contiendra les entrées de journal écrites depuis la requête précédente.
Performance
Nous avons conçu l’API pour qu’elle soit extrêmement performante, même avec des dizaines de millions d’entrées de journal. Pour ce faire, nous avons développé l’API sur ElasticSearch, un framework open source pour la création de recherches et de statistiques en temps réel. Nous publierons un prochain article sur les détails de l’architecture.
Vous trouverez ci-dessous les paramètres et quelques exemples d’utilisation de l’API.
Paramètres de l’API

Paramètres de filtrage des champs

Vous pouvez créer des requêtes complexes en combinant des paramètres :

Voici quelques exemples : le sujet est « Plus qu’un jour pour en profiter ! » ET le destinataire est « customer@example.com » OU « 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
La taille du message est supérieure à 25 Mo ET le nom de la pièce jointe est « design-final.pdf » (remarque : la taille du message est en octets)
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
Découvrez tous les événements !
Auparavant, nous n’enregistrions que les informations relatives à votre email jusqu’à ce qu’il soit accepté par le serveur de messagerie du destinataire ou rejeté. L’Events API vous permet de rechercher tous les événements, y compris ceux qui se produisent après que l’email a été livré. La liste complète des événements est disponible ci-dessous :

Quand dois-je utiliser l’Events API ?
Pour remplacer ou compléter nos webhooks d’événements
Si votre question ressemble à « qu’est-il arrivé à mon email », Mailgun a toujours proposé une solution simple pour y répondre : webhooks. Il vous suffisait de configurer un webhook pour le type d’événement qui vous intéressait (par exemple, livré, ouvert, clic, etc.), et d’écouter les événements. À chaque email, nous déclenchons un webhook. Cependant, cela vous oblige à stocker un volume important de données de votre côté. De plus, bien que nous fassions de nouvelles tentatives pour la plupart des webhooks qui ont échoué, de longues pannes sur votre système peuvent entraîner des pertes de données. Enfin, si vous envoyez un grand nombre d’emails, cela signifie de nombreuses requêtes vers vos points de terminaison, ce qui peut surcharger votre serveur.
Notre nouvelle API de journaux vous permet de répondre à la question « qu’est-il arrivé à mon email » en utilisant une méthode « pull » (interrogation de l’Events API) par opposition à la méthode « push » des webhooks.
Indiquer le statut d’un email en particulier
Une grande partie de notre clientèle utilise l’email pour des notifications urgentes. Nous avons déjà expliqué sur notre blog comment le produit Cloud Monitoring de Rackspace utilise Mailgun pour envoyer des notifications à sa clientèle en cas de problème avec leur site web ou leur application. PagerDuty et Exceptional Error Tracking sont d’autres clients reconnus de Mailgun pour lesquels livraison d’emails et la capacité à suivre cette livraison est primordiale. Dans ces cas-là, il n’est pas rare d’entendre la base d’utilisateurs dire : « Je n’ai pas reçu l’email ». Eh bien, vous pouvez désormais simplement interroger l’Events API à l’aide de l’identifiant du message (message-ID) et obtenir un statut pour chaque message. Nous vous indiquerons clairement si le message a été livré et vous pourrez fournir ce statut à votre clientèle à la demande, ou même l’intégrer directement à votre propre interface. Fini les on-dit. Place aux données concrètes.
Voilà l’Events API en résumé ! N’hésitez pas à consulter la documentation complète pour plus d’informations !
Bons envois !
L’équipe Mailgun