Метод призначений для надсилання листа через API у випадках, коли функціональність Кампаній розсилок через UI Сервісу з певних причин не підходить. Дані передаються у форматі application/json.
HTTP-запит
- URL:
https://sender-solutions.com/api/emails/send-instant-email/ - HTTP-метод: POST
- Content-Type:
application/json
Тіло запиту (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"
}
]
}
}
} Приклад запиту з використанням 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"
}
]
}
}
}'
Опис полів
Якщо в полях SendEmail.TrackingSettings.* або SendEmail.EmailSettings.* передати значення null (або не передавати поле взагалі), система самостійно прийме рішення щодо обробки листа. Рекомендується завжди вказувати всі важливі для вас поля налаштувань, щоб поведінка системи була передбачуваною.
| Поле | Тип | Обов’язкове | Опис |
|---|---|---|---|
SendEmail.TrackingSettings.TrackLinks | boolean | null | Налаштування відповідає за відстеження переходів за посиланнями. Якщо увімкнено, посилання в HTML-частині листа будуть змінені для ввімкнення відстеження переходів. | |
SendEmail.TrackingSettings.TrackPlainTextLinks | boolean | null | Налаштування відповідає за відстеження переходів за посиланнями. Якщо увімкнено, посилання в plain/text-частині листа будуть змінені для ввімкнення відстеження переходів. | |
SendEmail.TrackingSettings.TrackOpen | boolean | null | Налаштування відповідає за відстеження відкриття листа. | |
SendEmail.TrackingSettings.TrackUnsubscribe | boolean | null | Налаштування відповідає за відстеження відписок від розсилки. | |
SendEmail.EmailSettings.InlineImages | boolean | null | Якщо опцію ввімкнено, HTML-частина листа буде оптимізована: зовнішні зображення будуть додані як inline-вкладення (їх неможливо завантажити). Зовнішній вигляд листа не зміниться, але поштові клієнти будуть більше довіряти такому листу. | |
SendEmail.EmailSettings.SendAt | int | null | Мінімальна дата відправлення листа (unix timestamp). Використовується для відкладеного надсилання. | |
SendEmail.EmailSettings.UseDkim | boolean | null | Чи потрібно використовувати DKIM-підпис. Система самостійно знайде відповідний DKIM-ключ для цього листа. | |
SendEmail.EmailSettings.UseDkimSelector | string | null | Значення селектора DKIM-ключа, який необхідно використовувати для підпису. Передача непорожнього значення цього поля призводить до того, що система вважає властивість SendEmail.EmailSettings.UseDkim увімкненою, навіть якщо вона передана як false. Якщо відповідного ключа з указаним селектором не знайдено, система спробує знайти та використати інший відповідний DKIM-ключ. | |
SendEmail.Email.To | array | Масив об’єктів із ключами Email та Name. Кожен об’єкт відповідає за окремого отримувача листа. Потрібен щонайменше один отримувач. | |
SendEmail.Email.CcSendEmail.Email.BccSendEmail.Email.ReplyTo | array | Масив об’єктів із ключами Email та Name. Кожен об’єкт відповідає за окрему email-адресу та додає її у відповідний заголовок листа (Cc, Bcc, ReplyTo). | |
SendEmail.Email.To.*.Email | string | Email-адреса отримувача. Обов’язкове поле для кожного об’єкта в SendEmail.Email.To.*. | |
SendEmail.Email.To.*.Name | string | Ім’я отримувача. Бажано вказувати, якщо це значення вам відоме. | |
SendEmail.Email.Cc.*.EmailSendEmail.Email.Bcc.*.EmailSendEmail.Email.ReplyTo.*.Email | string | Email-адреса. Обов’язкове поле для кожного переданого елемента масивів Cc, Bcc, ReplyTo. Самі масиви не є обов’язковими. | |
SendEmail.Email.Cc.*.NameSendEmail.Email.Bcc.*.NameSendEmail.Email.ReplyTo.*.Name | string | Ім’я отримувача. Бажано вказувати, якщо це значення вам відоме. | |
SendEmail.Email.From.Email | string | Email-адреса відправника. На її основі визначається домен відправлення. Домен має бути доданий до проєкту в Особистому кабінеті та підтверджений. | |
SendEmail.Email.From.Name | string | Ім’я відправника. Рекомендується вказувати, щоб підписникам було зрозуміло, від кого надійшов лист. | |
SendEmail.Email.Headers | array | Масив об’єктів зі строковими властивостями Name та Value. Ці заголовки будуть додані до листа. Деякі заголовки є захищеними й не можуть бути додані або перевизначені через API. Передавайте лише дійсно необхідні нестандартні заголовки. | |
SendEmail.Email.Html | string | HTML-код листа. Може бути порожнім або відсутнім, якщо передано поле SendEmail.Email.PlainText. | |
SendEmail.Email.PlainText | string | Текстова версія листа. Може бути порожньою або відсутньою, якщо передано поле SendEmail.Email.Html. | |
SendEmail.Email.Subject | string | Тема листа. | |
SendEmail.Email.Attachments | array | Масив об’єктів, кожен з яких відповідає за вкладення. Вкладення не є обов’язковими, але якщо вони передані — всі поля, окрім ContentId, є обов’язковими. ContentId потрібен лише для вкладень із Disposition = inline. | |
SendEmail.Email.Attachments.*.ContentBase64 | string | Вміст вкладення у форматі base64. | |
SendEmail.Email.Attachments.*.ContentId | string | ContentId (ідентифікатор) вкладення, має бути унікальним у межах одного листа. Потрібен для вкладень із Disposition = inline. | |
SendEmail.Email.Attachments.*.Disposition | string | Визначає тип вкладення. Можливі значення: attachment — вкладення, яке можна завантажити, та inline — вкладення для використання всередині листа. | |
SendEmail.Email.Attachments.*.Filename | string | Назва вкладення. | |
SendEmail.Email.Attachments.*.Type | string | MIME-тип вкладення, наприклад application/pdf. |
Приклад успішної відповіді
{
"success": true,
"SendEmail": {
"SendMessageRequestId": 49,
"MessageId": "1vb1rzxzem2naah3dxp3t9k6zoj9d4hc@sender-solutions.com"
}
} У тілі відповіді поле SendEmail.SendMessageRequestId відповідає за унікальний ідентифікатор завдання на надсилання одного листа. Поле SendEmail.MessageId відповідає за унікальне значення заголовка Message-ID у листі.
Ці дані можуть бути корисними для виконання інших запитів до нашого API або для звернення до служби технічної підтримки.