La méthode est destinée à l'envoi d'un e-mail via l'API dans les cas où la fonctionnalité des Campagnes d'envois via l'UI du Service, pour certaines raisons, ne convient pas. Les données sont transmises au format application/json.
Requête HTTP
- URL :
https://sender-solutions.com/api/emails/send-instant-email/ - Méthode HTTP : POST
- Content-Type :
application/json
Corps de la requête (JSON)
{
"SendEmail": {
"TrackingSettings": {
"TrackLinks": true,
"TrackPlainTextLinks": true,
"TrackOpen": true,
"TrackUnsubscribe": true
},
"EmailSettings": {
"InlineImages": true,
"SendAt": 1769356236,
"UseDkim": true,
"UseDkimSelector": null
},
"Email": {
"To": [
{
"Email": "cat@example.com",
"Name": "Mr Cat"
}
],
"Cc": [],
"Bcc": [],
"ReplyTo": [],
"From": {
"Email": "info@example.org",
"Name": "MyCompany Title"
},
"Headers": [
{
"Name": "X-Request-Id",
"Value": "X-abc-123"
}
],
"Html": "<!doctype html>\r <html lang=\"en\">\r <head>\r <meta charset=\"UTF-8\">\r <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r <title>Test Email<\/title>\r <\/head>\r <body>\r <h1>Hello<\/h1>\r <p>Test email content<\/p>\r <\/body>\r <\/html>",
"PlainText": "Hello\r\nIt's test email content",
"Subject": "Test Email via API",
"Attachments": [
{
"ContentBase64": "VGVzdCBGaWxlIGNvbnRlbnQ=",
"ContentId": "ec91464b58363fac4924587afecf53d0",
"Disposition": "attachment",
"Filename": "Attachment12.txt",
"Type": "text/plain"
}
]
}
}
} Exemple de requête à l'aide de cURL
curl --location 'https://sender-solutions.com/api/emails/send-instant-email/' \
--header 'Content-Type: application/json' \
--header 'Authorization: {{api-token}}' \
--data-raw '{
"SendEmail": {
"TrackingSettings": {
"TrackLinks": true,
"TrackPlainTextLinks": true,
"TrackOpen": true,
"TrackUnsubscribe": true
},
"EmailSettings": {
"InlineImages": true,
"SendAt": 1769356236,
"UseDkim": true,
"UseDkimSelector": null
},
"Email": {
"To": [
{
"Email": "cat@example.com",
"Name": "Mr Cat"
}
],
"Cc": [],
"Bcc": [],
"ReplyTo": [],
"From": {
"Email": "info@example.org",
"Name": "MyCompany Title"
},
"Headers": [
{
"Name": "X-Request-Id",
"Value": "X-abc-123"
}
],
"Html": "<!doctype html>\r <html lang=\"en\">\r <head>\r <meta charset=\"UTF-8\">\r <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r <title>Test Email<\/title>\r <\/head>\r <body>\r <h1>Hello<\/h1>\r <p>Test email content<\/p>\r <\/body>\r <\/html>",
"PlainText": "Hello\r\nIt'\''s test email content",
"Subject": "Test Email via API",
"Attachments": [
{
"ContentBase64": "VGVzdCBGaWxlIGNvbnRlbnQ=",
"ContentId": "ec91464b58363fac4924587afecf53d0",
"Disposition": "attachment",
"Filename": "Attachment12.txt",
"Type": "text/plain"
}
]
}
}
}'
Description des champs
Si dans les champs SendEmail.TrackingSettings.* ou SendEmail.EmailSettings.* on transmet la valeur null (ou on ne transmet pas du tout le champ), le système prendra lui-même la décision concernant le traitement de l'e-mail. Il est recommandé de toujours indiquer tous les champs de paramètres importants pour vous, afin que le comportement du système soit prévisible.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
SendEmail.TrackingSettings.TrackLinks | boolean | null | Le paramètre est responsable du suivi des clics sur les liens. S'il est activé, les liens dans la partie HTML de l'e-mail seront modifiés pour activer le suivi des clics. | |
SendEmail.TrackingSettings.TrackPlainTextLinks | boolean | null | Le paramètre est responsable du suivi des clics sur les liens. S'il est activé, les liens dans la partie plain/text de l'e-mail seront modifiés pour activer le suivi des clics. | |
SendEmail.TrackingSettings.TrackOpen | boolean | null | Le paramètre est responsable du suivi de l'ouverture de l'e-mail. | |
SendEmail.TrackingSettings.TrackUnsubscribe | boolean | null | Le paramètre est responsable du suivi des désabonnements de l'envoi. | |
SendEmail.EmailSettings.InlineImages | boolean | null | Si cette option est activée, la partie HTML de l'e-mail sera optimisée : les images externes seront ajoutées en tant que pièces jointes inline (il est impossible de les télécharger). L'apparence de l'e-mail ne changera pas, mais les clients de messagerie feront davantage confiance à un tel e-mail. | |
SendEmail.EmailSettings.SendAt | int | null | Date minimale d'envoi de l'e-mail (unix timestamp). Utilisée pour l'envoi différé. | |
SendEmail.EmailSettings.UseDkim | boolean | null | S'il faut utiliser la signature DKIM. Le système trouvera lui-même la clé DKIM adaptée pour cet e-mail. | |
SendEmail.EmailSettings.UseDkimSelector | string | null | Valeur du sélecteur de la clé DKIM qu'il faut utiliser pour la signature. La transmission d'une valeur non vide de ce champ fait que le système considère la propriété SendEmail.EmailSettings.UseDkim comme activée, même si elle est transmise comme false. Si aucune clé adaptée avec le sélecteur indiqué n'est trouvée, le système tentera de trouver et d'utiliser une autre clé DKIM adaptée. | |
SendEmail.Email.To | array | Tableau d'objets avec les clés Email et Name. Chaque objet correspond à un destinataire distinct de l'e-mail. Au moins un destinataire est nécessaire. | |
SendEmail.Email.CcSendEmail.Email.BccSendEmail.Email.ReplyTo | array | Tableau d'objets avec les clés Email et Name. Chaque objet correspond à une adresse email distincte et l'ajoute à l'en-tête correspondant de l'e-mail (Cc, Bcc, ReplyTo). | |
SendEmail.Email.To.*.Email | string | Adresse email du destinataire. Champ obligatoire pour chaque objet dans SendEmail.Email.To.*. | |
SendEmail.Email.To.*.Name | string | Nom du destinataire. Il est souhaitable de l'indiquer si vous connaissez cette valeur. | |
SendEmail.Email.Cc.*.EmailSendEmail.Email.Bcc.*.EmailSendEmail.Email.ReplyTo.*.Email | string | Adresse email. Champ obligatoire pour chaque élément transmis des tableaux Cc, Bcc, ReplyTo. Les tableaux eux-mêmes ne sont pas obligatoires. | |
SendEmail.Email.Cc.*.NameSendEmail.Email.Bcc.*.NameSendEmail.Email.ReplyTo.*.Name | string | Nom du destinataire. Il est souhaitable de l'indiquer si vous connaissez cette valeur. | |
SendEmail.Email.From.Email | string | Adresse email de l'expéditeur. Sur sa base est déterminé le domaine d'envoi. Le domaine doit être ajouté au projet dans le Compte personnel et confirmé. | |
SendEmail.Email.From.Name | string | Nom de l'expéditeur. Il est recommandé de l'indiquer afin que les abonnés comprennent de qui provient l'e-mail. | |
SendEmail.Email.Headers | array | Tableau d'objets avec les propriétés de type chaîne Name et Value. Ces en-têtes seront ajoutés à l'e-mail. Certains en-têtes sont protégés et ne peuvent pas être ajoutés ou redéfinis via l'API. Transmettez uniquement les en-têtes non standard réellement nécessaires. | |
SendEmail.Email.Html | string | Code HTML de l'e-mail. Peut être vide ou absent si le champ SendEmail.Email.PlainText est transmis. | |
SendEmail.Email.PlainText | string | Version texte de l'e-mail. Peut être vide ou absente si le champ SendEmail.Email.Html est transmis. | |
SendEmail.Email.Subject | string | Objet de l'e-mail. | |
SendEmail.Email.Attachments | array | Tableau d'objets, chacun correspondant à une pièce jointe. Les pièces jointes ne sont pas obligatoires, mais si elles sont transmises — tous les champs, sauf ContentId, sont obligatoires. ContentId n'est nécessaire que pour les pièces jointes avec Disposition = inline. | |
SendEmail.Email.Attachments.*.ContentBase64 | string | Contenu de la pièce jointe au format base64. | |
SendEmail.Email.Attachments.*.ContentId | string | ContentId (identifiant) de la pièce jointe, doit être unique au sein d'un même e-mail. Nécessaire pour les pièces jointes avec Disposition = inline. | |
SendEmail.Email.Attachments.*.Disposition | string | Détermine le type de la pièce jointe. Valeurs possibles : attachment — pièce jointe que l'on peut télécharger, et inline — pièce jointe à utiliser à l'intérieur de l'e-mail. | |
SendEmail.Email.Attachments.*.Filename | string | Nom de la pièce jointe. | |
SendEmail.Email.Attachments.*.Type | string | Type MIME de la pièce jointe, par exemple application/pdf. |
Exemple de réponse réussie
{
"success": true,
"SendEmail": {
"SendMessageRequestId": 49,
"MessageId": "1vb1rzxzem2naah3dxp3t9k6zoj9d4hc@sender-solutions.com"
}
} Dans le corps de la réponse, le champ SendEmail.SendMessageRequestId correspond à l'identifiant unique de la tâche d'envoi d'un e-mail. Le champ SendEmail.MessageId correspond à la valeur unique de l'en-tête Message-ID de l'e-mail.
Ces données peuvent être utiles pour exécuter d'autres requêtes vers notre API ou pour contacter le support technique.