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

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

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

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

Параметр Тип Описание
email object Сериализованный объект с данными письма

Параметры массива письма:

Параметр Тип Описание
html* string HTML версия письма, закодированная в base64
text* string Текстовая версия письма
template* object id string/int ID нужного шаблона загруженного в сервис. Получить идентификаторы шаблона можно при помощи метода «Получить список шаблонов в аккаунте» (можно использовать параметры ответа real_id или id)
variables object Включает названия и значения переменных  вида  {"название переменной": "значение переменной"}
auto_plain_text boolean Автоматическая генерация текстовой части сообщения text/plain если его нет; по умолчанию false
subject string Тема письма
from object Объект с именем и адресом отправителя
to array Массив получателей
attachments object Сериализованный объект, в котором ключ - это имя файла, а значение - содержание файла (необязательный параметр) {"название":"содержимое"}
attachments_binary object Сериализованный объект, в котором ключ - это имя файла, а значение - содержание файла,  закодированная в base64 (необязательный параметр)

*Чтобы отправить свой шаблон напрямую в запросе, используйте параметры 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 Количество записей
offset int Смещение для выборки
from string Начальная дата для выборки
to string Максимальная дата для выборки
sender string Отправитель
recipient string Получатель
country string Если "off", то страна не будет указана в ответе

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

   {
        "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 письма

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

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

Получить список баунсов за сутки

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

https://api.sendpulse.com/smtp/bounces/day

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

Параметр Тип Описание
date string Дата, на которую нужно получить список баунсов. Формат даты YYYY-MM-DD
limit int Количество записей, которое нужно взять
offset int Смещение для выборки

Пример 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 адресов

Пример структуры массива 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"]

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

{
   "result": true
}

Получить список отписавшихся

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

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

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

Параметр Тип Описание
date string Дата, на которую нужно получить список отписавшихся. Формат даты YYYY-MM-DD
limit int Количество записей, которое нужно взять
offset int Смещение для выборки

Пример 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 адрес отправителя

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

{
   "result": true
}

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

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

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

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

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

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

[
  "@sendpulse.com"
]

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