Envoi unitaire de mail
- Home
- Envoi unitaire de mail
Envoyer des mails
Cette requête est utilisée pour envoyer des mails en temps réel ou en différé.
URL
POST http://api.mailpartner.fr/v1/send
Paramètres
Chaque demande d’API prend en charge les paramètres suivants :
- La plateforme n’envoie pas de mails commerciaux entre 20h et 8h en semaine et les dimanches et jours fériés (restriction légale). Si un message mail est envoyé, le message est en pause jusqu’au prochain jour ouvrable à 8h.
- Vous n’envoyez pas de mails commerciaux? contactez-nous pour désactiver cette restriction : help@mailpartner.fr
apiKey | Clé API de votre compte. Vous l’obtenez dans votre compte Mail Partner. | ||||||||
---|---|---|---|---|---|---|---|---|---|
subject | Sujet du mail | ||||||||
htmlContent | Contenu du mail en HTML.
Le tag |
||||||||
to | Vous pouvez ajouter jusqu’a 500 destinataires
|
||||||||
Paramètres optionnels | |||||||||
replyTo |
|
||||||||
variables |
Vous pouvez ajouter jusqu’a 8 variables personnalisées contenant uniquement du texte (pas de html). Ex: "variables":{"firstname":"John", "lastname": "Doe"}
Ces variables doivent être ajoutés dans le template ou dans htmlContent de cette manière: #FIRSTNAME# et #LASTNAME# |
||||||||
attachments | 3 pièces jointes Maximum. 5Mo par pièce jointe.
|
||||||||
tag | Identifiant en minuscule (sans espace) entre 3 et 20 caractères | ||||||||
scheduledDeliveryDate | Date d’envoi du mail, au format dd/mm/YYYY . A définir uniquement si vous souhaitez que les mails soient envoyés en différé. |
||||||||
time | Heure d’envoi du mail (format 0-24), obligatoire si scheduledDeliveryDate est défini. |
||||||||
minute | Minute d’envoi du mail (format 0-55, par intervalle de cinq minutes). , obligatoire si scheduledDeliveryDate est défini. |
||||||||
sandbox | Pour tester l’envoi de mail, vous pouvez utiliser le paramètre sandbox :
Aucun mail ne sera envoyé, et il n’y aura aucun débit sur votre compte. |
||||||||
_format | Format de la réponse. Vous pouvez choisir entre JSON ou XML . Par défaut, le format de réponse est JSON . |
Requête
Exemple de requête :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
<?php // Prepare data for POST request $jsonParams = "{ "apiKey": "Your API kEY", "subject": "Sujet de mon email", "sandbox":0, "htmlContent": "Mon premier <strong>email</strong>", "scheduledDeliveryDate":"25/09/2020", "time":"12", "minute":"00", "params": { "to": [ { "email": "email1", "name":"email1" }, { "email": "email2", "name":"email2" }, { "email": "email3" } ] } }" $curl = curl_init(); curl_setopt($curl, CURLOPT_URL,'http://api.mailpartner.fr/v1/send'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_TIMEOUT, 10); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonParams); $result = curl_exec($curl); curl_close($curl); // Process your response here echo $result; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
Imports System.IO Imports System.Net Module Module1 Sub Main() Dim base_url As String = "http://api.mailpartner.fr/v1/" Dim apiKey As String = "VOTRE_APIKEY" #send sms url = base_url & "send" #note : utiliser une librairie JSON en production, par exemple : #https//www.nuget.org/packages/Newtonsoft.Json/ Dim parameters As String = String.Format( "{{""apiKey"":""{0}"",""phoneNumbers"":""{1}"",""message"":""{2}""}}", apiKey, "+33XXXXXXXXX", "message de test") Console.Write(parameters) apiRequest("POST", url, parameters) End Sub Function apiRequest(method As String, url As String, parameters As String) As String Dim request As HttpWebRequest request = WebRequest.Create(url) request.Method = method request.Timeout = 10000 # timeout in ms request.ContentType = "application/json; charset=utf-8" request.ContentLength = 0 #set POST data If Not String.IsNullOrEmpty(parameters) Then request.ContentLength = parameters.Length Using reqStream As StreamWriter = New StreamWriter(request.GetRequestStream()) reqStream.Write(parameters) End Using End If #get response Dim returnValue As String = Nothing Using response As HttpWebResponse = request.GetResponse() If response.StatusCode = HttpStatusCode.OK Then Using resStream = response.GetResponseStream() If resStream IsNot Nothing Then Using reader As New StreamReader(resStream) returnValue = reader.ReadToEnd() End Using End If End Using End If End Using apiRequest = returnValue End Function End Module |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# std import logging import json from collections import OrderedDict # 3p import requests API_KEY = "MY API KEY" URL = "http://api.mailpartner.fr/v1" class SMSPartner(): def send_sms(self,phone_numbers, msg, sender = "SMSPartner"): #sender = "DEMOSMS" print(phone_numbers) data = OrderedDict([ ("apiKey", API_KEY), ("phoneNumbers", phone_numbers), ("message", msg), ("sender", sender) ]) url = URL + "/send" r = requests.post(url, data=json.dumps(data), verify=False) r_json = r.json() if r_json.get("success") == True: print(r_json) status = True else: print("SMS msg {} not delivered to {}".format(msg, phone_numbers)) status = False return status |
1 |
curl -H "Content-Type: application/json" -X POST -d '{"apiKey":"xxxxx","phoneNumbers":"xxxx","message":"test","sender":"mycompany"}' https://api.smspartner.fr/v1/send |
Réponses
1 2 3 4 5 6 7 8 9 |
{ "success": true, "code": 200, "messageId": "xxx", "nbMail": 1, "cost": 1, "currency": "EUR", "scheduledDeliveryDate": "2020-09-25 12:00:00" } |
1 2 3 4 5 6 7 8 9 10 11 |
<?xml version='1.0' encoding='UTF-8'?> <result> <entry>true</entry> <entry>200</entry> <entry>306</entry> <entry>1</entry> <entry>0.038</entry> <entry> <![CDATA[EUR]]> </entry> </result> |