Development

Utiliser l’API HTTP pour envoyer des e-mails

Présentation de l’envoi et du suivi d’e-mails sans codes supplémentaires.

April 12 2017

Les technologies de communication ont évolué au point qu’aujourd’hui, un ou deux canaux ne sont plus suffisants. Le fait est que chaque canal de communication a ses avantages et ses inconvénients. Vous utilisez peut-être les options push pour atteindre des utilisateurs dans une zone particulière. Les gens lisent leurs SMS. Viber est interactif et convivial. L’e-mail respecte l’agenda du client.

Dans tous les cas, l’écosystème d’aujourd’hui est centré sur le consommateur et exige d’adapter ses stratégies de communication aux besoins du client. La plupart d’entre eux ont déjà leur plateforme de choix. Ils utilisent Gmail Facebook Messenger ou Viber et Outlook, ainsi qu’un certain nombre d’applis. Le facteur déterminant est qu’ils utilisent chacun ces canaux dans un but bien précis.

Par exemple, certains utilisent Messenger pour converser en temps réel tout en recevant des newsletters de leurs marques préférées sur Gmail. Certains préfèrent être contactés par SMS, qui reste le moyen de communication le plus fiable à ce jour. D’autres préfèrent recevoir des appels pour les alertes importantes. En résumé, votre base de clients est diverse en ce qui concerne la manière dont elle souhaite être contactée.

POURQUOI L’E-MAIL?

Parce que de par sa nature unique, le courriel est un chaînon essentiel de la communication omnicanal. C’est l’un des moyens les moins coûteux et les moins envahissants, ce qui en fait en général le choix de prédilection des utilisateurs pour leurs communications avec une marque. Nous avons mentionné les newsletters, mais il existe une multitude de cas dans lesquels l’e-mail est aussi efficace : des e-mails pour la vérification ou la récupération d’un compte, ou encore la réinitialisation du mot de passe.

C’est la raison pour laquelle les e-mails génèrent des milliards et milliards de messages par jour. Selon Ericsson, d’ici 2020, 70 % de la population mondiale se servira de smartphones, et 90 % sera couverte par un réseau mobile. Il est également important de noter que plus de 50 % des e-mails sont ouverts sur un téléphone mobile plutôt que sur un ordinateur, et ce chiffre est en hausse. Cela signifie que les utilisateurs pourront accéder à leurs comptes e-mail à n’importe quel moment.

Notre API HTTP propose d’envoyer des e-mails simples et complexes. Vous pourrez les envoyer en HTML avec des pièces jointes, ainsi que visualiser les accusés de réception et relevés. Cependant, avant de commencer à les envoyer, il vous faut un compte Infobip valide.

COMMENT CRÉER UN COMPTE

Si vous avez utilisé nos autres services API, vous bénéficiez déjà d’un compte Infobip valide, et vous pouvez utiliser le même compte pour envoyer vos e-mails.

Songez à l’avenir en ce qui concerne votre domaine, car la réputation de l’émetteur est étroitement liée au nom de votre domaine, ainsi qu’à l’adresse IP. Les problèmes surviennent quand se profile l’éventualité d’être un « mauvais » émetteur, ce qui peut grandement affecter votre domaine. Si vous devenez un mauvais émetteur, il sera difficile de regagner la confiance du client. Il est donc une bonne idée de séparer les domaines en fonction des types de message que vous envoyez.

Si vous n’êtes pas encore sûr du plan à adopter pour votre domaine, ne vous inquiétez pas. Vous pouvez utiliser notre domaine test pour essayer le service, et créer votre propre domaine plus tard. Après avoir choisi votre domaine préféré, vous pouvez contacter votre gestionnaire de compte pour lui demander de l’intégrer à notre plateforme. Après avoir reçu les instructions complémentaires relatives à la configuration DNS et comment établir un canal de communication clair entre votre domaine et votre plateforme, vous serez en mesure de commencer à suivre les étapes suivantes pour envoyer vos e-mails avec succès.

Pour en savoir plus, n’hésitez pas à nous contacter sur support@infobip.com.

ENVOYONS UN E-MAIL

Après avoir créé votre compte, vous êtes prêt ! Vous pouvez envoyer un e-mail simple ou complexe. Décider d’envoyer un e-mail simple signifie que vous n’envoyez qu’un seul e-mail à une seule adresse destinataire, avec une demande:


curl -s --user user:password \
https://api.infobip.com/email/1/send \
-F from='company@somecompany.com' \
-F to='john.smith@somedomain.com' \
-F subject='Mail subject text' \
-F text='Mail body text'

Ou bien vous pouvez envoyer un e-mail complexe représentant un message comprenant une ou des pièces jointes et pouvant être envoyé à plus d’adresses:

curl -s --user user:password \
https://api.infobip.com/email/1/send \
-F from='Jane Smith ' \
-F to='john.smith@somedomain.com' \
-F to='tom.smith@somedomain.com' \
-F subject='Mail subject text' \
-F text='Mail body text' \
--form-string html='<h1>Html body</h1><p>Rich HTML message body.</p>' \
-F attachment=@files/image1.jpg

Avec une réponse:

{
 "messages": [
   {
     "to": "john.smith@somecompany.com",
     "messageCount": 1,
     "messageId": "9129e972-be85-49ed-b0e9-f51fbd2b27c0",
     "status": {
       "groupId": 1,
       "groupName": "PENDING",
       "id": 7,
       "name": "PENDING_ENROUTE",
       "description": "Message sent to next instance"
     }
   },
   {
     "to": "tom.smith@somecompany.com",
     "messageCount": 1,
     "messageId": "cd0c5682-42e2-481a-be95-15ed72450646",
     "status": {
       "groupId": 1,
       "groupName": "PENDING",
       "id": 7,
       "name": "PENDING_ENROUTE",
       "description": "Message sent to next instance"
     }
   }
 ]
}

Voici l’exemple d’un e-mail comprenant une pièce jointe et envoyé à deux adresses de destination. Si vous souhaitez l’envoyer avec plus d’une pièce jointe, il suffit d’ajoutez les paramètres des pièces jointes multiples dans la demande.

L’intitulé de réponse du code statut HTTP pour chaque demande réussie sera 200 OK, et si vous tentez d’envoyer un message sans autorisation, vous recevrez le message d’erreur 401 Unauthorized.

ACCUSÉS DE RÉCEPTION ET RELEVÉS

ACCUSÉS DE RÉCEPTION

Après avoir envoyé votre e-mail, vous pouvez demander un accusé de réception ponctuel. Les accusés de réception confirment que l’e-mail a bien été reçu. Ceux-ci ne peuvent être obtenus qu’une seule fois.

Vous pouvez utiliser des paramètres pour recevoir des accusés de réception, mais vous pouvez également faire une demande sans paramètre de requête:


GET /email/1/reports HTTP/1.1
Host: api.infobip.com
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Accept: application/json

Résultats:

{
 "results": [
   {
     "messageId": "bbcc6960-1fcb-497c-b7ea-83ccba41492e",
     "to": "recipient@infobip.com",
     "sentAt": "2016-08-31T13:25:18.477+0000",
     "doneAt": "2016-08-31T13:25:50.893+0000",
     "messageCount": 1,
     "price": {
       "pricePerMessage": 0,
       "currency": "UNKNOWN"
     },
     "status": {
       "groupId": 3,
       "groupName": "DELIVERED",
       "id": 5,
       "name": "DELIVERED_TO_HANDSET",
       "description": "Message delivered to handset"
     },
     "error": {
       "groupId": 0,
       "groupName": "OK",
       "id": 0,
       "name": "NO_ERROR",
       "description": "No Error",
       "permanent": false
     },
     "channel": "EMAIL"
   }
 ]
}

Un accusé de réception sans paramètre vous donnera des informations détaillées sur les e-mails que vous avez envoyés tels que le statut, l’identifiant message, la date et l’heure d’envoi, les informations sur les erreurs, etc.

Vous pouvez également obtenir un accusé de réception grâce à l’identifiant du message:

GET /email/1/reports?messageId=bbcc6960-1fcb-497c-b7ea-83ccba41492e HTTP/1.1

L’autre option est de paramétrer deux accusés de réception:

GET /email/1/reports?limit=2 HTTP/1.1

Les deux demandes fournissent des détails des messages, comme une demande sans paramétrage, mais la différence est que la demande d’identifiant message récupère les informations sur ce message spécifique, ainsi que des informations sur les deux accusés de réception pour les deux messages d’origine.

RELEVÉ D’E-MAIL

Tout comme les accusés de réception, les relevés d’e-mail peuvent vous fournir des informations supplémentaires sur les messages envoyés. La principale différence est que les relevés sont disponibles pour les dernières 48h, qu’ils peuvent être sollicités autant de fois que souhaité, et que vous pouvez voir les résultats, peu importe le statut actuel.

Résultats:

{
 "results": [
   {
     "messageId": "64c98929-f160-4e2c-b156-ca88cc733547",
     "to": "recipient@infobip.com",
     "from": "sender@infobip.com",
     "text": "Test text",
     "sentAt": "2016-09-01T10:29:00.440+0000",
     "doneAt": "2016-09-01T10:29:01.130+0000",
     "price": {
       "pricePerMessage": 0.0005,
       "currency": "EUR"
     },
     "status": {
       "groupId": 3,
       "groupName": "DELIVERED",
       "id": 5,
       "name": "DELIVERED_TO_HANDSET",
       "description": "Message delivered to handset"
     },
     "channel": "EMAIL"
   }
 ]
}

La réponse contient les informations sur tous les e-mails ayant transités sur la plateforme Infobip au cours des dernières 48h. Aucune des requêtes n’est obligatoire pour ce type de demande, mais si vous souhaitez trouver un message particulier, vous pouvez utiliser les paramètres de filtrage.

Les relevés peuvent par exemple être récupérés un par un, ou, dans ce cas-ci, en sélectionnant plusieurs identifiants message:

GET /email/1/logs?messageId=64c98929-f160-4e2c-b156-ca88cc733547,60d586a1-6448-4c5f-860d-be3ddbea16da HTTP/1.1

Combiner les paramètres peut également vous aider à filtrer vos messages avec encore plus de précision:


GET /email/1/logs?sentSince=2016-08-22T17:42:05.390%2b01:00&generalStatus=DELIVERED HTTP/1.1

Cette demande a deux filtres (paramètres): sentSince et generalStatus, identifiés comme un paramètre unique, et la réponse contiendra le relevé de message comprenant tous les courriels envoyés et reçus depuis la date de la demande.

Le code de statut sera le même que pour les messages envoyés; l’intitulé de réponse du code statut HTTP pour chaque demande réussie sera 200 OK, et les relevés message et accusés de réception vous seront renvoyés, mais si vous essayez d’envoyer un message sans autorisation, vous recevrez le message d’erreur 401 Unauthorized.

Cet article devrait vous aider avec l’intégration de l’API HTTP. Si vous avez besoin d’une assistance supplémentaire, visitez notre site site de notre développeur.

COMMENCEZ À ENVOYER DES COURRIELS DÈS AUJOURD’HUI

EN SAVOIR PLUS