API для SMTP сервиса
Отправить письмо
Чтобы отправить письмо, отправьте POST запрос по ссылке:
https://api.sendpulse.com/smtp/emails |
Параметры запроса:
Параметр | Тип | Описание | |
object | Сериализованный объект с данными письма | required |
Параметры массива письма:
Параметр | Тип | Описание | ||||
html | string | HTML версия письма, закодированная в base64 | required* | |||
text | string | Текстовая версия письма | required* | |||
template | object | Шаблон: | required* | |||
id | string/int | ID нужного шаблона загруженного в сервис. Получить идентификаторы шаблона можно при помощи метода «Получить список шаблонов в аккаунте» (можно использовать параметры ответа real_id или id ) |
required | |||
variables | object | Включает названия и значения переменных вида {"название переменной": "значение переменной"} |
required | |||
auto_plain_text | boolean | Автоматическая генерация текстовой части сообщения text/plain если его нет; по умолчанию false |
required | |||
subject | string | Тема письма | required | |||
from | object | Объект с именем и адресом отправителя | required | |||
to | array | Массив получателей | required | |||
cc | array | Массив получателей, которые получат копии письма. Получатели увидят, кому отправили копию письма. | optional | |||
bcc | array | Массив получателей, которые получат скрытую копию письма. Получатели не увидят, кому отправили копию письма. | optional | |||
attachments | object | Сериализованный объект, в котором ключ — это имя файла, а значение — содержание файла {"название":"содержимое"} |
optional | |||
attachments_binary | object | Сериализованный объект, в котором ключ — это имя файла, а значение — содержание файла, закодированная в base64 | optional |
*Чтобы отправить свой шаблон напрямую в запросе, используйте параметры html
и text.
Используйте параметр template
для отправки статичного шаблона, загруженного ранее в сервис, и передавайте значения переменных (заданных ранее в шаблоне) через параметр variables
.
Пример запроса с отправкой своего шаблона:
{
"email": {
"html": "PHA+RXhhbXBsZSB0ZXh0PC9wPg==",
"text": "Example text",
"subject": "Example subject",
"from": {
"name": "Example name",
"email": "sender@example.com"
},
"to": [
{
"name": "Recipient1 name",
"email": "recipient1@example.com"
}
]
}
}
Пример запроса с отправкой письма по шаблону сервиса c кастомными переменными:
{
"email": {
"subject": "Test",
"template": {
"id": 123456,
"variables": {
"name": "Владислав",
"code": "123456"
}
},
"from": {
"name": "Mike",
"email": "mike.johnson@domain.com"
},
"to": [
{
"email": "recipient1@example.com",
"name": "Владислав"
}
]
}
}
В данном примере вместо параметров html
и text
используется параметр template
.
Пример запроса с отправкой копий письма:
{
"email": {
"html":"dGVzdCBBUEk=",
"text": "text",
"subject": "subject",
"from": {
"name": "test",
"email": "test@test.com"
},
"to": [
{
"name": "recipient 1",
"email": "recipient1@test.com"
}
],
"cc":[
{
"name":"recipient 2",
"email":"recipient2@test.com"
}
],
"bcc":[
{
"name":"recipient 3",
"email":"recipient3@test.com"
}
]
}
}
В случае успешного запроса вы получите ответ:
{
"result": true,
"id": "pzkic9-0afezp-fc" // ID отправленного письма
}
Получить список писем
Чтобы получить список всех отправленных писем, отправьте GET запрос по ссылке:
https://api.sendpulse.com/smtp/emails |
Параметры запроса:
Параметр | Тип | Описание | |
limit | int | Количество записей | optional |
offset | int | Смещение для выборки | optional |
from | string | Начальная дата для выборки | optional |
to | string | Максимальная дата для выборки | optional |
sender | string | Отправитель | optional |
recipient | string | Получатель | optional |
country | string | Если off , то страна не будет указана в ответе |
optional |
В случае успешного запроса вы получите ответ:
{
"id": "pzkic9-0afezp-fc",
"sender": "tech@yourdream.com",
"total_size": 1175,
"sender_ip": "173.212.198.158",
"smtp_answer_code": 250,
"smtp_answer_code_explain": "Delivered",
"smtp_answer_subcode": "",
"smtp_answer_data": "anna-maria@gmail.com H=gmail-smtp-in.l.google.com [64.233.165.27] X=TLSv1.2:ECDHE-RSA-CHACHA20-POLY1305:256 CV=yes K C=\"250 2.0.0 OK s129-v6si13409556lja.72 - gsmtp\"",
"used_ip": "78.41.200.153",
"recipient": "anna-maria@gmail.com",
"subject": "Template test",
"send_date": "2018-10-10 12:54:45",
"tracking": {
"click": 1,
"open": 1,
"link": [
{
"url": "wikia.com",
"browser": "Firefox 64.0",
"os": "Linux",
"screen_resolution": "1920x1080",
"ip": "77.222.152.150",
"action_date": "2018-12-12 11:54:55"
}
],
"client_info": [
{
"browser": "Firefox 11.0viaggpht.comGoog",
"os": "Windows",
"ip": "66.102.9.17",
"action_date": "2018-12-12 11:54:54"
}
]
}
}
Получить общее количество отправленных писем
Чтобы получить общее количество отправленных писем, отправьте GET запрос по ссылке:
https://api.sendpulse.com/smtp/emails/total |
В случае успешного запроса вы получите ответ:
{
"total": 25408
}
Получить информацию по конкретному письму
Чтобы получить информации по конкретному письму, отправьте GET запрос по ссылке:
https://api.sendpulse.com/smtp/emails/{id} |
Параметр запроса:
Параметр | Тип | Описание | |
id | string | ID письма | required |
В случае успешного запроса вы получите ответ:
{
"id": "pzkic9-0afezp-fc",
"sender": "JohnDoe@test.com",
"total_size": 1128,
"sender_ip": "127.0.0.1",
"smtp_answer_code": 250,
"smtp_answer_subcode": "0",
"smtp_answer_data": "Bad recipients",
"used_ip": "5.104.224.87",
"recipient": null,
"subject": "SendPulse :: Email confirmation",
"send_date": "2013-12-17 10:33:53",
"tracking": {
"click": 1,
"open": 1,
"link": [
{
"url": "http://some-url.com",
"browser": "Chrome 29.0.1547.57",
"os": "Linux",
"screen_resolution": "1920x1080",
"ip": "46.149.83.86",
"country": "Ukraine",
"action_date": "2013-09-30 11:27:40"
}
],
"client_info": [
{
"browser": "Thunderbird 17.0.8",
"os": "Linux",
"ip": "46.149.83.86",
"country": "Ukraine",
"action_date": "2013-09-30 11:27:49"
}
]
}
}
Получить информацию по списку писем
Чтобы получить информацию по списку писем, отправьте POST запрос по ссылке:
https://api.sendpulse.com/smtp/emails/info |
Параметры запроса:
Параметр | Тип | Описание | |
emails | array | Массив с идентификаторами письма, максимальное количество адресов за раз - 500. Пример: ["qj7rpf-0q8ru6-ou","qj7rmw-0alndz-r6","qj7rgo-0ejrg3-d2"] |
required |
Получить список баунсов за сутки
Чтобы получить список баунсов за сутки, отправьте GET запрос по ссылке:
https://api.sendpulse.com/smtp/bounces/day |
Параметры запроса:
Параметр | Тип | Описание | |
date | string | Дата, на которую нужно получить список баунсов. Формат даты YYYY-MM-DD |
optional |
limit | int | Количество записей, которое нужно взять | optional |
offset | int | Смещение для выборки | optional |
Пример URL, который получить 10 записей начиная с 20:
https://api.sendpulse.com/smtp/bounces/day?limit=10&offset=20 |
Баунсы получаются только за сутки, начиная с текущего момента. Например сегодня - 2016-04-28 14:34:00, следовательно записи будут получены за период с 2016-04-27 14:34:00 по 2016-04-28 14:34:00
Пример ответа баунсов на определенный день:
{
"total": 2,
"emails": [
{
"email_to": "gverb2016@yandex.ru",
"sender": "no-reply@boomstream.com",
"send_date": "2019-03-25 19:05:02",
"subject": "[Boomstream] Покупка доступа к видео контенту",
"smtp_answer_code": 550,
"smtp_answer_subcode": "5.1.1",
"smtp_answer_data": "gverb2016@yandex.ru H=mx.yandex.ru [93.158.134.89] X=TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128 CV=yes: SMTP error from remote mail server after RCPT TO:<gverb2016@yandex.ru>: 550 5.7.1 No such user!"
},
{
"email_to": "1934a1a621@mailboxy.fun",
"sender": "no-reply@boomstream.com",
"send_date": "2019-03-25 15:58:00",
"subject": "Your video files has been deleted",
"smtp_answer_code": 552,
"smtp_answer_subcode": "5.7.1",
"smtp_answer_data": "1934a1a621@mailboxy.fun H=mx5.mailboxy.fun [165.227.245.168] X=TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128 CV=no: SMTP error from remote mail server after RCPT TO:<1934a1a621@mailboxy.fun>: 552 Mailbox limit exeeded for this email address"
}
],
"request_limit": 1000,
"found": 2
}
Получить общее количество баунсов
Чтобы получить отбщее количество баунсов, отправьте GET запрос по ссылке:
https://api.sendpulse.com/smtp/bounces/day/total |
В случае успешного запроса вы получите ответ:
{
"total": 3
}
Отписать получателя
Чтобы отписать подписчика от получения рассылки, отправьте POST запрос по ссылке:
https://api.sendpulse.com/smtp/unsubscribe |
Параметр запроса:
Параметр | Тип | Описание | |
emails | array | Сериализованный массив email адресов | required |
Пример структуры массива emails
:
[
{
"email": "badUser1@mailserver.com",
"comment": "comment1"
},
{
"email": "badUser2@mailserver.com",
"comment": "comment2"
}
]
В случае успешного запроса вы получите ответ:
{
"result": true
}
Удалить из списка отписавшихся
Чтобы удалить подписчика, который отказался получать рассылку, из списка отписавшихся, отправьте DELETE запрос по ссылке:
https://api.sendpulse.com/smtp/unsubscribe |
Параметр запроса:
Параметр | Тип | Описание | |
emails | array | Сериализованный массив адресов ["badUser1@mailserver.com","badUser2@mailserver.com"] |
required |
В случае успешного запроса вы получите ответ:
{
"result": true
}
Получить список отписавшихся
Чтобы получить список отписавшихся, отправьте GET запрос по ссылке:
https://api.sendpulse.com/smtp/unsubscribe |
Параметры запроса:
Параметр | Тип | Описание | |
date | string | Дата, на которую нужно получить список отписавшихся. Формат даты YYYY-MM-DD |
optional |
limit | int | Количество записей, которое нужно взять | optional |
offset | int | Смещение для выборки | optional |
Пример URL, который получить 10 записей начиная с 20:
https://api.sendpulse.com/smtp/unsubscribe?limit=10&offset=20 |
Если указано date
, то выгрузка будет за 1 день. Пример URL с датой:
https://api.sendpulse.com/smtp/unsubscribe?date=2016-03-05 |
В случае успешного запроса вы получите ответ:
[
{
"email":"4090797@mail.ru",
"unsubscribe_by_link":1,
"unsubscribe_by_user":0,
"spam_complaint":1,
"date":"2018-11-24 19:19:01"
},
{
"email":"4lik@rambler.ru",
"unsubscribe_by_link":1,
"unsubscribe_by_user":0,
"spam_complaint":1,
"date":"2019-03-20 16:47:01"
}
]
Заново подписать получателя
Чтобы отправить контакту письмо для повторной подписки на получение уведомлений, отправьте POST запрос по ссылке:
https://api.sendpulse.com/smtp/resubscribe |
Параметр запроса:
Параметр | Тип | Описание | |
string | Email адрес получателя | required | |
sender | string | Email адрес отправителя | required |
lang | string | Язык письма подтверждения, может принимать значения ru , en , ua , tr , es , pt . По умолчанию: en |
optional |
Обратите внимание, что в течение 24 часов с одного аккаунта вы можете отправить не более 5 писем с запросом повторной подписки.
Пример запроса:
{
"email":"test@test.com",
"sender":"my_sender@test.com",
"lang":"en"
}
В случае успешного запроса вы получите ответ:
{
"result": true,
"id": "pzkic9-0afezp-fc" // ID отправленного письма
}
Получить список IP-адресов отправителя
Чтобы получить список IP-адресов отправителя, отправьте GET запрос по ссылке:
https://api.sendpulse.com/smtp/ips |
В случае успешного запроса вы получите ответ:
[
"127.0.0.1"
]
Получить список адресов отправителя
Чтобы получить список всех отправителей в SMTP сервисе, отправьте GET запрос по ссылке:
https://api.sendpulse.com/smtp/senders |
В случае успешного запроса вы получите ответ:
[
"sender@domain.com"
]
Получить список разрешенных доменов
Чтобы получить список разрешенных доменов, отправьте GET запрос по ссылке:
https://api.sendpulse.com/v2/email-service/smtp/sender_domains |
Обратите внимание, что 17.05.2023 изменилась ссылка на получение списка разрешенных доменов для отправки.
В случае успешного запроса вы получите ответ:
{
"data":{
"result":true,
"data":[
{
"id":37857,
"user_id":7043663,
"service_type":3,
"service_value":"example.com",
"status":0,
"expire_date":null,
"auto_free_prolong":0,
"currency":"",
"is_default":true,
"ssl_type":0,
"ssl_expired":null,
"ssl_generated":null,
"checks":{
"check_dkim":false,
"check_spf":false,
"check_dmarc":false,
"all_checks":false,
"spf_txt_needed":"v=spf1 include:mxsspf.sendpulse.com +a +mx -all"
}
}
]
}
}
Параметры ответа:
Параметр | Тип | Описание | |
id | int | Идентификатор отправителя | |
user_id | int | Идентификатор пользователя | |
service_type | int | Тип сервиса, который отвечает за домен отправки. Всегда равен 3 |
|
service_value | string | Значение домена | |
status | int | Статус домена отправки. Принимает значения: 0 — в случае неактивного статуса, 1 — в случае активного |
|
is_default | boolean | Указывает на домен по умолчанию | |
ssl_type | int | Тип сертификата. Принимает значения: 0 — SSL отсутствует 1 — сертификат SSL сгенерирован SendPulse2 — сертификат SSL сгенерирован пользователем |
|
ssl_expired | null|datetime | Дата и время, до которых действителен SSL сертификат пользователя | |
ssl_generated | null|int | Метка сервиса SendPulse о генерации сертификата SSL | |
checks | object | Объект проверки статуса домена |
Добавить отправителя
Чтобы добавить отправителя, отправьте POST запрос по ссылке:
https://api.sendpulse.com/senders |
Адреса отправителей для Email и SMTP сервиса объеденины. Адресам, которые вы будете добавлять после 17.05.2023 в Email сервис, будут также доступны для отправки и в SMTP сервисе.
Параметры запроса:
Параметр | Тип | Описание | |
string | Email адрес отправителя | required | |
name | string | Имя отправителя | required |
Пример запроса:
{
"email": "sender@example.com",
"name": "Sender"
}
В случае успешного запроса вы получите ответ:
{
"result": true
}
Добавить домен
Чтобы добавить домен, отправьте POST запрос по ссылке:
https://api.sendpulse.com/v2/email-service/smtp/sender_domains/{{mydomain.com}} |
Обратите внимание, что 17.05.2023 изменилась ссылка на добавление доменов для отправки. Также был удален метод верификации домена.
Параметр запроса в URL:
Параметр | Тип | Описание | |
mydomain.com | string | Ваш домен отправителя | required |
Пример запроса:
https://api.sendpulse.com/v2/email-service/smtp/sender_domains/mydomain.com |
В случае успешного запроса вы получите ответ:
{
"data":{
"result":true,
"error":null
}
}
Регистрация через соцсети
Войти через Facebook Войти через Google