Отправить письмо

Чтобы отправить письмо, отправьте POST запрос по ссылке:

https://api.sendpulse.com/smtp/emails

Параметры запроса:

Параметр Тип Описание
email 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
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.

В случае успешного запроса вы получите ответ:

{
    "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"
   }
]

Получить список IP-адресов отправителя

Чтобы получить список IP-адресов отправителя, отправьте GET запрос по ссылке:

https://api.sendpulse.com/smtp/ips

В случае успешного запроса вы получите ответ:

[
  "127.0.0.1"
]

Получить список адресов отправителя

Чтобы получить список IP-адресов отправителя, отправьте GET запрос по ссылке:

https://api.sendpulse.com/smtp/senders

В случае успешного запроса вы получите ответ:

[
    "sender@domain.com"
]

Получить список разрешенных доменов

Чтобы получить список разрешенных доменов,  отправьте GET запрос по ссылке:

https://api.sendpulse.com/smtp/domains

В случае успешного запроса вы получите ответ:

[
  "@sendpulse.com"
]

Добавить домен

Чтобы добавить домен, отправьте POST запрос по ссылке:

https://api.sendpulse.com/smtp/domains

Параметр запроса:

Параметр Тип Описание
email string Email адрес отправителя required

В случае успешного запроса вы получите ответ:

{
   "result": true
}

Верификация нового домена

Чтобы активировать и подтвердить новый домен, отправьте GET запрос по ссылкe:

https://api.sendpulse.com/domains/{email}

Параметр запроса:

Параметр Тип Описание
email string Email адрес отправителя required

В случае успешного запроса вы получите ответ:

[
  "@sendpulse.com"
]

Дополнительно, на указанный почтовый ящик будет отправлено письмо с кодом для верификации нового домена.