API для email рассылок

Адресные книги

С помощью API вы можете создавать адресные книги, редактировать их, удалять и проводить другие доступные операции со списками рассылки.

Создать адресную книгу

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

https://api.sendpulse.com/addressbooks

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

Параметр Тип Описание  
bookName string Название адресной книги required

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

{
   "bookName": "My New Book"
}

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

{
   "id":422325 
}

Параметр ответа:

Параметр Тип Описание
id int ID адресной книги

Редактировать адресную книгу

Чтобы отредактировать адресную книгу, отправьте PUT запрос по ссылке:

https://api.sendpulse.com/addressbooks/{id}

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

Параметр Тип Описание  
id int ID адресной книги required
name string Новое название адресной книги required

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

{
   "name": "New Name"
}

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

{
   "result": true
}

Получить список адресных книг

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

https://api.sendpulse.com/addressbooks

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

Параметр Тип Описание  
limit int Количество возвращаемых записей optional
offset int Смещение выдачи, т.е. с какой записи начать показ книг optional

При использовании необязательных параметров формируется ссылка следующего вида:

https://api.sendpulse.com/addressbooks?limit=10&offset=5

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

[
   {
      "id":1, 
      "name":"My first book", 
      "all_email_qty":1, 
      "active_email_qty":0,
      "inactive_email_qty":1, 
      "new_phones_quantity": 0,
      "active_phones_quantity": 0,
      "exc_phones_quantity": 0,
      "creationdate":"2015-04-20 08:52:40", 
      "status":0, 
      "status_explain":"Active" 
   },
   {
      "id":2,
      "name":"My second book",
      "all_email_qty":6,
      "active_email_qty":0,
      "inactive_email_qty":6,
      "new_phones_quantity": 0,
      "active_phones_quantity": 0,
      "exc_phones_quantity": 0,
      "creationdate":"2015-04-20 09:02:39",
      "status":0,
      "status_explain":"Active"
   }
]

Параметры ответа:

Параметр Тип Описание
id int ID адресной книги
name string Название адресной книги
all_email_qty int Общее количество адресов
active_email_qty int Количество активных адресов
inactive_email_qty int Количество неактивных адресов
new_phones_quantity int Количество новых номеров телефона
active_phones_quantity int Количество активных номеров телефона
exc_phones_quantity int Количество неактивных номеров телефона
creationdate string Дата создания адресной книги
status int Код статуса адресной книги
status_explain string Описание статуса адресной книги

Возможные коды статуса адресной книги:

Код статуса Описание статуса
0 Активная адресная книга
1 Книга помечена как удаленная
3 Ожидается ответ от пользователя на уточняющий вопрос модератора
4 Адресная книга заблокирована сервисом на время загрузки в нее адресов
5 Адресная книга заблокирована демоном на время переноса из нее адресов в кампанию; после разблокирования выставляется статус «0»

Получить информацию по книге

Чтобы получить детальную информацию по одной конкретной адресной книге, отправьте GET запрос по ссылке:

https://api.sendpulse.com/addressbooks/{id}

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

Параметр Тип Описание  
id int ID адресной книги required

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

[
   {
      "id":1,
      "name":"My first book",
      "all_email_qty":1,
      "active_email_qty":0,
      "inactive_email_qty":1,
      "active_phones_quantity": 0,
      "exc_phones_quantity": 0,
      "creationdate":"2015-04-20 08:52:40",
      "status":0,
      "status_explain":"Active"
   }
]

Параметры ответа:

Параметр Тип Описание
id int ID адресной книги
name string Название адресной книги
all_email_qty int Общее количество адресов
active_email_qty int Количество активных адресов
inactive_email_qty int Количество неактивных адресов
active_phones_quantity int Количество активных номеров телефона
exc_phones_quantity int Количество неактивных номеров телефона
creationdate string Дата создания адресной книги
status int Код статуса адресной книги
status_explain string Описание статуса адресной книги

Получить список переменных для адресной книги

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

https://api.sendpulse.com/addressbooks/{id}/variables

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

Параметр Тип Описание  
id int ID адресной книги required

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

[
    {
        "name": "емейл",
        "type": "string"
    },
    {
        "name": "имя",
        "type": "string"
    },
    {
        "name": "дата",
        "type": "date"
    },
    {
        "name": "код",
        "type": "number"
    }
]

Параметры ответа:

Параметр Тип Описание
name string Название переменной
type string Тип переменной

Получить список email адресов из книги

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

https://api.sendpulse.com/addressbooks/{id}/emails

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

Параметр Тип Описание  
id int ID адресной книги required
limit  int Количество возвращаемых записей optional
offset  int Смещение выдачи, т.е. с какой записи начать показ адресов optional
active boolean При использовании этого параметра метод вернет список контактов со статусами «Активный» и «Новый» optional
not_active boolean При использовании этого параметра метод вернет список неактивных контактов. Читайте подробнее «Статусы email и их описание» optional

Метод возвращает до 100 записей, для смещения выдачи результатов используйте параметры запроса limit и offset.

Пример URL запроса при передаче дополнительных параметров:

https://api.sendpulse.com/addressbooks/{id}/emails?limit=10&offset=5

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

[
   {
      "email":"test@test.com",
      "status":0,
      "phone":"",
      "status_explain":"New",
      "variables":{
         "имя":"Евгения",
         "город":"Киев"
      }
   },
   {
      "email":"test2@test.com",
      "status":0,
      "phone":"",
      "status_explain":"New",
      "variables":[]
   }
]

Параметры ответа:

Параметр Тип Описание
email string Email адрес
status int Код статуса email адреса
phone string Номер телефона
status_explain string Описание статуса email адреса
variables array Массив переменных, например, {"имя_переменной":"значение_переменной"}

Описание статусов email адреса:

Код статуса  Название статуса Описание статуса
0 Новый Только что загруженный адрес, рассылка на него запрещена, пока адрес не будет активирован; активация проводится администрацией сервиса
1 Активный Рассылка на адрес разрешена; если адрес не активирован, рассылка на него не уходит
2 Запрошено подтверждение Письмо отправлено владельцу адреса; получателю рассылки отправлено письмо с просьбой подтвердить подписку на рассылку
3 Запрошена активация Активация адреса осуществляется через нашу панель администратора
4 Отписался от рассылки Получатель рассылки отписался от получения писем на этот адрес
5 Отключено администратором Адрес отклонен через панель администратора сервиса
6 Отписался от всех рассылок Адрес блокируется сервисом при поступлении жалоб от получателей рассылки, либо пользователь нажал на ссылку «Отписаться от всего»
7 Запрошена активация Письмо на активацию отправлено пользователю
8 Заблокирован Адрес заблокирован клиентом самостоятельно
9 Ошибка отправки На данный адрес невозможно сделать рассылку (статус выставляется при ошибке отправки на этот адрес)
10 Заблокирован Адрес заблокирован по списку хостов
11 Заблокирован Адрес заблокирован по имени пользователя
12 Заблокирован Адрес заблокирован по части адреса
13 Удален клиентом Адрес удален клиентом
14 Временно недоступен Адрес временно недоступен

Получить общее количество адресов в книге

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

https://api.sendpulse.com/addressbooks/{id}/emails/total

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

Параметр Тип Описание  
id int ID адресной книги required

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

{
   "total": 1
}

Параметр ответа:

Параметр Тип Описание
total int Общее количество адресов в книге

Получить все адреса в книге по значению переменной

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

https://api.sendpulse.com/addressbooks/{id}/variables/{variableName}/{searchValue}

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

Параметр Тип Описание  
id int ID адресной книги required
variableName string Название переменной в адресной книге, по которой необходимо искать required
searchValue string Значение переменной, которую необходимо найти во всех контактах required

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

[
    {
        "email": "a.kozlov@art-industria.ru",
        "status": 0,
        "status_explain": "New"
    },
    {
        "email": "darkling@gmail.com",
        "status": 1,
        "status_explain": "Active"
    }
]

Параметры ответа:

Параметр Тип Описание
email string Email адрес
status int Код статуса email адреса
status_explain string Описание кода статуса email адреса

Добавить email адреса в книгу (методом single-opt-in)

Чтобы добавить email адреса в книгу (методом single-opt-in), отправьте POST запрос по ссылке:

https://api.sendpulse.com/addressbooks/{id}/emails

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

Параметр Тип Описание  
id int ID адресной книги required
emails array Сериализованный массив контактов, например, ["example@gmail.com", "example@outlook.com"].

Если нужно передать не только email адрес, а и переменные, используйте следующую структуру передачи данных:
required
email string Email адрес подписчика required
variables array

Сериализованный массив переменных, например, {"имя_переменной":"значение_переменной"}. Имя переменной должно быть строковым или содержать хотя бы один строковый символ.

В имени переменной вы можете использовать следующие символы: все буквенные символы юникода (regex meta group); все цифровые символы (regex meta group); точки, запятые, вопросительный и восклицательный знаки; кавычки одинарные и двойные; дефис, знак подчеркивания; правый слеш; пробел.

Для добавления номера телефона необходимо использовать системную переменную Phone.

optional

Пример запроса без переменных:

{
   "emails":["test1@test.com", "test2@test.com"]
}

Пример запроса с переменными:

При добавлении контакта с переменными, email должен находиться только под соответствующем ключем, как в примере ниже. 

{
   "emails":[
      {
         "email":"test@test.com",
         "variables":{
            "Имя":"Елизавета",
            "Phone":"380632727700"
         }
      },
      {
         "email":"test2@test.com"         
      }
   ]
}

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

{
   "result": true
}

Добавить email адреса в книгу (методом double-opt-in)

Для того, чтобы применить double-opt-in активацию подписчика (контакт попадет в книгу только после подтверждения отправления на почту), необходимо в запрос добавить новые параметры запроса: confirmation=force и sender_email — значением которого укажите email адрес отправителя.

Обратите внимание, что email адрес отправителя должен быть подтвержденным в личном кабинете в настройках сервиса.

Чтобы добавить email адреса в книгу (методом double-opt-in), отправьте POST запрос по ссылке:

https://api.sendpulse.com/addressbooks/{id}/emails

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

Параметр Тип Описание  
id int ID адресной книги required
emails array Сериализированный массив контактов, например, ["example@gmail.com", "example@outlook.com"].

Если нужно передать не только email адрес, а и переменные, используйте следующую структуру передачи данных:
required
email string Email адрес подписчика required
variables (необязательный параметр) array

Сериализированный массив переменных, например, {"имя_переменной":"значение_переменной"}

optional

confirmation string force required
sender_email string Email адрес отправителя required
template_id string ID письма подтверждения; создается в настройках сервиса (если параметр не указывается, отправится письмо которое выбрано в настройках «по умолчанию»); например: a3e45169-7ae7-4a39-b457-72fd04401f26 optional
message_lang string Язык письма подтверждения, может принимать значения "ru", "en", "ua", "tr", "es", "pt" required

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

{
   "emails":[
      {
         "email":"test@gmail.com",
         "variables":{
            "Имя":"Алена"
         }
      }
   ],
   "confirmation":"force",
   "sender_email":"sender@sendpulse.com",
   "template_id":"a3e45169-7ae7-4a39-b457-72fd04401f2l",
   "message_lang":"ru"
}

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

{
   "result": true
}

Изменить значение телефонного номера для одного контакта

Чтобы изменить или добавить значение телефонного номера для контакта в адресной книге, отправьте PUT запрос по ссылке:

https://api.sendpulse.com/addressbooks/{{id}}/phone

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

Параметр Тип Описание  
id int ID адресной книги required
email string Связанный Email адрес контакта required
phone string Номер телефона для добавления или изменения required

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

{
    "email":" user1@example.com",
    "phone":"1234567890"
}

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

{
    "result": true
}

Удалить адреса из адресной книги

Чтобы удалить адреса из адресной книги, отправьте DELETE запрос по ссылке:

https://api.sendpulse.com/addressbooks/{id}/emails

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

Параметр Тип Описание  
id int ID адресной книги required
emails array Массив с email адресами. Вы можете указать до 100 адресов для удаления в одном запросе. required

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

{
   "emails": ["test1@test.com", "test2@test.com", "test3@test.com"]
}

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

{
   "result": true
}

Удалить адресную книгу

Чтобы удалить адресную книгу, отправьте DELETE запрос по ссылке:

https://api.sendpulse.com/addressbooks/{id}

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

Параметр Тип Описание  
id int ID адресной книги required

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

{
   "result": true
}

Рассчитать стоимость кампании, проведенной по адресной книге

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

https://api.sendpulse.com/addressbooks/{id}/cost

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

Параметр Тип Описание  
id int ID адресной книги required

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

{
   "cur":"RUR",
   "sent_emails_qty":16,
   "overdraftAllEmailsPrice":0,
   "addressesDeltaFromBalance":0,
   "addressesDeltaFromTariff":16,
   "max_emails_per_task":500,
   "result":true
}

Параметры ответа:

Параметр Тип Описание
cur string Валюта, которая используется для расчета
sent_emails_qty int Общее количество email адресов для отправки
overdraftAllEmailsPrice int Цена за превышение лимита по email адресам
addressesDeltaFromBalance int Количество email адресов, за которые будет взята плата с баланса
addressesDeltaFromTariff int Количество email адресов, которые будут сняты по тарифу
max_emails_per_task int Ограничение тарифа по email адресам
result boolean Параметр, который определяет достаточно ли средств (true или false)

Email рассылки

Создать email рассылку

Чтобы создать email рассылку, отправьте POST запрос по ссылке:

https://api.sendpulse.com/campaigns

Обратите внимание, что вы можете отправить 4 рассылки в час.

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

Параметр Тип Описание  
sender_name string Имя отправителя required
sender_email string Email адрес отправителя required
subject string Тема письма required
body1 string Тело письма, кодированное в base64 required
template_id1 int/string ID шаблона загруженного или созданного в сервисе; получить ID шаблона можно при помощи метода «Получить список всех шаблонов в аккаунте» (можно использовать параметры ответа real_id или id) required
list_id2 int/array

ID адресной книги, если нужно отправить на одну книгу или массив ID адресных книг, если нужно отправить на несколько книг (например [88891852,88891181] ). Максимальное количество книг — 10.

Если вы делаете тестовую рассылку с параметром is_test или сегментированную рассылку с параметром segment_id, вы можете указать только 1 книгу.

required
segment_id2 int ID сегмента созданного в аккаунте (можно получить в личном кабинете в адресной строке на странице созданного сегмента) required
is_test boolean Используется для отправки тестового письма на адрес отправителя, указанный в параметре sender_email optional
send_date string Запланированная дата отправки в формате: Y-m-d H:i:s (например: 2016-02-02 23:34:23); не может быть меньше текущей даты  optional
name string Название кампании  optional
use_dynamic_list boolean Используется для отправки на динамический список для запланированной рассылки. В динамический список входят контакты, которые добавились в книгу с времени создания рассылки до отправки рассылки. Параметр доступен на платном тарифе optional
attachments array Вложенные файлы; вы можете добавить до 5 элементов; ключ - имя файла, а значение - содержимое файла, например,  {"имя1.расширение":"содержимое_1_файла", "имя2.расширение":"содержимое_2_файла"}  optional
attachments_binary array Вложенные файлы; вы можете добавить до 5 элементов; ключ - имя файла, а значение - содержимое файла, например, {"имя1.расширение":"base64_от_содержимого_1_файла", "имя2.расширение":"base64_от_содержимое_2_файла"}  optional
type string Используется для создания рассылки как черновик, в значении передается draft optional
body_amp3 string Тело АМП версии письма, кодированное в base64  optional
stats object
Используется для включения сбора статистики открытий письма и переходам по ссылкам
optional
clicks
bool
Переход по ссылкам. По умолчанию true
optional
opens
bool Открытие рассылки. По умолчанию true optional
utm_campaign string Подстановка пользовательскиих UTM меток во все ссылки в рассылке для Google Analytics и Яндекс.Метрики optional

1. Для указания тела письма вы можете отправить свой шаблон напрямую в запросе, используя параметр body, или использовать шаблон, созданный в сервисе, используя параметр template_id. Один из двух параметров обязательный

2. Для указания списка получателей вы можете использовать параметр list_id или segment_id, один из двух параметров обязательный. 

3. Код тела AMP должен быть валидным и передавать его можно только после подтверждения от google и mail.ru. Подать заявку на рассмотрение можно в настройках сервиса.

Пример запроса создания рассылки с шаблоном:

{
    "sender_name":"my_sender_name",
    "sender_email":"my_sender@test.com",
    "subject":"hello customer",
    "list_id":"756589",
    "name":"my_api_campaign",
    "template_id": "775667"
}

Пример запроса создания запланированной рассылки на динамический список:

{
  "sender_name":"API_TEST",
  "sender_email":"my_sender@test.com",
  "subject":"API campaign",
  "list_id":"756589",
  "name":"api campaign",
  "body": "SmFja2llIENoYW4=",
  "send_date":"2016-02-02 23:34:23",
  "use_dynamic_list": true
}

Пример запроса создания черновика:

{
    "sender_name":"my_sender_name",
    "sender_email":"my_sender@test.com",
    "subject":"hello customer",
    "list_id":"756589",
    "name":"my_api_campaign",
    "body": "bXkgYXBpIGJvZHk=",
    "type":"draft"
}

Пример запроса создания рассылки с вложением:

{
    "sender_name":"my_sender_name",
    "sender_email":"my_sender@test.com",
    "subject":"hello customer",
    "list_id":"756589",
    "name":"my_api_campaign",
    "body": "bXkgYXBpIGJvZHk=",
    "attachments":{
        "text.txt":"my content file"
    }
}

Пример запроса создания рассылки с вложением (attachments_binary):

{
    "sender_name":"my_sender_name",
    "sender_email":"my_sender@test.com",
    "subject":"hello customer",
    "list_id":"756589",
    "name":"my_api_campaign",
    "body": "bXkgYXBpIGJvZHk=",
    "attachments_binary":{
        "text.txt":"bXkgY29udGVudCBmaWxlIGluIGJhc2U2NA=="
    }
}

Пример запроса с параметрами сбора статистики:

{
    "sender_name":"my_sender_name",
    "sender_email":"my_sender_email@test.com",
    "subject":"API campaign",
    "list_id":"89286777",
    "name":"My Campaign",
    "body": "SmFja2llIENoYW4=",
    "stats":{
        "opens":true, //включен сбор статистики по открытиям
        "clicks":false, //выключен сбор статистики по кликам
        "utm_campaign":"MY_UTM"
        }
}

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

{
  "id": 245587,
  "status": 13, 
  "count": 1,
  "tariff_email_qty": 1, 
  "overdraft_price": "0.0044", 
  "ovedraft_currency": "RUR"
}

Параметры ответа:

Параметр Тип Описание
id int ID рассылки
status int Статус задачи на отправку (13 - идёт копирование адресов для отправки, 26 - черновик)
count int Количество получателей на которое отправляется рассылка
tariff_email_qty int Количество списания писем с баланса пользователя
overdraft_price string Цена за одно письмо при превышении
overdraft_currency string Валюта списания

Редактировать запланированную email рассылку

Чтобы отредактировать запланированную email рассылку, отправьте PATCH запрос по ссылке: 

https://api.sendpulse.com/campaigns/{id}

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

Параметр Тип Описание  
id int ID созданной ранее email рассылки required
name string Имя email рассылки required
sender_name string Имя отправителя required
sender_email string Email адрес отправителя required
subject string Тема письма required
body string Тело письма, кодированное в base64 required
template_id int/string ID шаблона загруженного или созданного в сервисе; получить его можно при помощи метода «Получить список всех шаблонов в аккаунте» (можно использовать параметры ответа real_id или id) required
send_date string Запланированная дата отправки. Должна быть в формате Y-m-d H:i:s (например, 2016-02-02 23:34:23) и не может быть меньше текущей даты. optional

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

{
   "name":"my_api_campaign",
   "sender_name":"Sender",
   "sender_email":"sender@gmail.com",
   "subject":"Hello customer",
   "template_id":123348,
   "send_date":"2021-07-06 11:45:00"
}

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

{
   "result": true,
   "id": 470791
}

Параметр ответа:

Параметр Тип Описание
id int ID отредактированной рассылки

Получить информацию по email рассылке

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

https://api.sendpulse.com/campaigns/{id}

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

Параметр Тип Описание  
id int ID email рассылки required

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

{
    "id": 14973974,
    "name": "test check link",
    "is_sms": false,
    "is_viber": false,
    "message": {
        "sender_name": "test",
        "sender_email": "e.b@sendpulse.com",
        "subject": "test check link",
        "body": "<!DOCTYPE html><html>...</html>",
        "preheader": "",
        "attachments": "",
        "list_id": 89311111
    },
    "external_stat": {
        "check_open_email": true,
        "check_redirect_link": true
    },
    "status": 3,
    "all_email_qty": 2,
    "tariff_email_qty": 2,
    "paid_email_qty": 0,
    "overdraft_price": 0,
    "company_price": "0.05",
    "overdraft_currency": "UAH",
    "send_date": "2021-09-01 10:55:39",
    "permalink": "http://archive.sendpulse.com//u/NzA0MzY2sdghM34w==/8wxdgwz43q/", // постоянная ссылка на рассылку (архив)
    "statistics": {
        "general": [ // статистика которая была ранее в методе
            {
                "code": 0,
                "count": 0,
                "explain": "In queue"
            },
            {
                "code": 1,
                "count": 2, // количество отправленных
                "explain": "Sent" 
            },
            {
                "code": 2,
                "count": 2, // количество доставленных
                "explain": "Delivered" 
            },
            {
                "code": 3,
                "count": 2, // количество открытых
                "explain": "Opened"
            },
            {
                "code": 4,
                "count": 2, // количество переходов по ссылке
                "explain": "Link redirected"
            },
            {
                "code": 5,
                "count": 0,
                "explain": "User unsubscribe"
            },
            {
                "code": 6,
                "count": 0,
                "explain": "Mail server answer :: No such email"
            },
            {
                "code": 7,
                "count": 0,
                "explain": "Temporary unavailable (will be sent later)"
            },
            {
                "code": 8,
                "count": 0,
                "explain": "Unavailable"
            },
            {
                "code": 9,
                "count": 0,
                "explain": "Mail server answer :: Rejected by server as spam"
            },
            {
                "code": 10,
                "count": 0,
                "explain": "Mail server answer :: Mailbox is full"
            },
            {
                "code": 11,
                "count": 0,
                "explain": "Mail server answer :: Marked as spam by user"
            },
            {
                "code": 12,
                "count": 0,
                "explain": "Delivery failure"
            },
            {
                "code": 13,
                "count": 0,
                "explain": "Not sent"
            },
            {
                "code": 14,
                "count": 0,
                "explain": "Not such domain"
            },
            {
                "code": 15,
                "count": 0,
                "explain": "Unsubscribe from newsletter"
            },
            {
                "code": 16,
                "count": 0,
                "explain": "Not valid email"
            },
            {
                "code": 17,
                "count": 0,
                "explain": "Temporary blocked"
            },
            {
                "code": 18,
                "count": 0, // количество ошибок
                "explain": "Disable by administrator"
            },
            {
                "code": 20,
                "count": 0,
                "explain": "Already unsubscribed"
            }
        ],
        "clicks": [ // переходы по ссылкам
            {
                "url": "https://s7043663.sendpul.se/views/ru/{{CampaignId}}/{{EmailCode}}/h/e5203e703e95d001c286990chdfh45fc87ee",
                "count": 0
            },
            {
                "url": "https://habr.com/ru/all/",
                "count": 3
            },
            {
                "url": "",
                "count": 0
            },
            {
                "url": "https://sendpulse.com/ru/email-powered-by-sendpulse?sn=d3BsgjksfsfhadGVzdA%3D%3D&amp;amp;from=70474573563663",
                "count": 0
            }
        ]
    }
}

Описание статусов email рассылки:

Код статуса Описание статуса
0 Новое задание на рассылку
1 Ожидается отправка (на модерации)
2 Отправляется
3 Отправлено
4 Тестовая отправка (на email адрес пользователя)
5 Рассылка заблокирована (администрацией)
6 Рассылка помечена для удаления
7 Обновление статусов (последует статус «3»)
8 Тестовая рассылка отправлена
9 Идет отправка
10 Обрабатывается, готовится к отправке
11 Ожидается ответ от пользователя на уточняющий вопрос модератора
12 Нет активных адресов
13 Рассылка в процессе создания — адреса из адресной книги переносятся в рассылку. После окончания переноса выставляется статус «2» для адресов меньше 20-ти, или «1» в ином случае.
14 Рассылка создана и отправлена в очередь для отправки. После отправки статус изменится на «3».
15 Рассылка ожидает итога A/B тестирования
16 Отправка рассылки отменена пользователем
22 Отправляется частично
23 Отправлена частично
25 Рассылка заблокирована администрацией после частичной отправки
26 Черновик
27 Необходимо редактирование
28 Запланирована отправка по непрочитанным
33 Автосерии. Для отправки рассылки не хватило средств на балансе
36 Черновик автосерии

Описание статусов адресов email рассылки:

Код статуса Описание статуса
0 Сообщение пока ещё не отправлено и находится в очереди на отправку
1 Сообщение отправлено, но статус доставки пока неизвестен. Статус временный и может измениться
2 Сообщение доставлено. Может измениться на 3, 4 или 5.
3 Сообщение доставлено и зарегистрировано его прочтение. Может измениться на 4 или 5
4 Сообщение доставлено, прочитано и выполнен переход по одной из ссылок. Может измениться на 5
5 Сообщение доставлено и прочитано, но пользователь отписался по ссылке в письме. Статус окончательный
6 Адрес не существует, доставка не удалась. Статус окончательный
7 Временно недоступен
8 Недоступен
9 Письмо отклонено сервером как спам
10 Почтовый ящик получателя переполнен
11 Адресат считает письмо спамом
12 Доставка не удалась по иным причинам. Статус окончательный
13 Не отправлено. Статус окончательный
14 Домен не существует. Статус окончательный
15 Отписался от рассылки. Статус окончательный
16 Отправка не удалась, email адрес невалидный
17 Отправка временно запрещена
18 Отключено администратором

Получить список email рассылок

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

https://api.sendpulse.com/campaigns

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

Параметр Тип Описание  
limit int Количество записей optional
offset int Смещение выдачи, т.е. с какой записи начать показ рассылок optional
order string Параметр сортировки: asc — по возрастанию, desc — по убыванию optional
status array Список статусов email рассылки (int) optional
planed boolean Параметр, который позволяет вернуть запланированные рассылки optional

При использовании необязательных параметров ссылка имеет следующий вид:

https://api.sendpulse.com/campaigns?order=desc&status[]=3&planed=1&limit=100&offset=10

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

[
    {
        "id": 14911111,
        "name": "test check link",
        "status": 3,
        "is_sms": false,
        "is_viber": false,
        "send_date": "2021-09-01 10:55:39",
        "all_email_qty": 2,
        "tariff_email_qty": 2,
        "paid_email_qty": 0,
        "overdraft_price": 0,
        "company_price": "0.05",
        "overdraft_currency": "UAH",
        "message": {
            "sender_name": "test",
            "sender_email": "e.b@sendpulse.com",
            "subject": "test check link",
            "attachments": "",
            "list_id": 89311111
        },
        "statistics": {
            "sent": 2,
            "delivered": 2,
            "opening": 2,
            "link_redirected": 2,
            "unsubscribe": 0,
            "error": 0
        }
    }
]

Параметры ответа:

Параметр Тип Описание
id int ID email рассылки
name string Название email рассылки
is_sms boolean Параметр, который определяет является ли эта рассылка SMS рассылкой
is_viber boolean Параметр, который определяет является ли эта рассылка Viber рассылкой
send_date string Дата отправки рассылки
company_price string Цена рассылки
sender_name string Имя отправителя
sender_email string Email адрес отправителя
subject string Тема письма
list_id int ID адресной книги
attachments string Вложения
status int Код статуса email рассылки
all_email_qty int Общее количество email адресов
tariff_email_qty int Количество списания писем с баланса пользователя
paid_email_qty int Количество email адресов оплаченных с баланса сверх лимита по тарифу
overdraft_price int Цена за одно письмо при превышении
overdraft_currency string Валюта списания
sent int  Количество отправленных сообщений
delivered int  Количество доставленных сообщений
opening int  Количество открытых сообщений
link_redirected int  Количество переходов по ссылке
unsubscribe int  Количество отписаных пользователей
error int  Количество ошибок

Получить список email рассылок которые создавались по данной книге

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

https://api.sendpulse.com/addressbooks/{id}/campaigns

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

Параметр Тип Описание  
id int ID адресной книги required
limit int Количество записей optional
offset int Смещение выдачи, т.е. с какой записи начать показ optional

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

[
   {
      "task_id": 9147533,
      "task_name": "тест",
      "task_status": 3
   },
   {
      "task_id": 9156025,
      "task_name": "Campaign_6741804_UM99",
      "task_status": 3
   }
]

Параметры ответа:

Параметр Тип Описание
task_id int ID email рассылки
task_name string Название email рассылки
task_status int Код статуса email рассылки

Получить статистику по странам

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

https://api.sendpulse.com/campaigns/{id}/countries

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

Параметр Тип Описание  
id int ID email рассылки required

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

{
  "UA": 23,
  "RU": 34567
}

Параметр ответа:

Параметр Тип Описание
UA (RU) int Количество открытий по коду страны

Получить статистику по рефералам

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

https://api.sendpulse.com/campaigns/{id}/referrals

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

Параметр Тип Описание  
id int ID email рассылки required

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

[
  {
    "link": "http://first_link.com"
    "count": 123454
  },
  {
    "link": "http://second_link.com"
    "count": 5463
  }
]

Параметры ответа:

Параметр Тип Описание
link string Ссылка из письма
count int Количество переходов по ссылке

Отменить отправку email рассылки

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

https://api.sendpulse.com/campaigns/{id}

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

Параметр Тип Описание  
id int ID email рассылки required

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

{
   "result": true
}

Шаблоны

Создать шаблон

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

https://api.sendpulse.com/template

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

Параметр Тип Описание  
name string Название шаблона (необязательный параметр, в случае отсутствия будет проставлено имя вида Template YYYY.mm.dd H:i:s) required
body string Верстка шаблона, закодированная в base64 required
lang string Язык шаблона, может принимать значения "ru", "en", "ua", "tr", "es", "pt" required

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

{
   "name": "My Template",
   "body": "PGlucHV0IHR5cGU9ImVtYWlsIiBuYW1lPSJlbWFpbCIgcmVxdWlyZWQKb25pbnZhbGlkPSJ0aGlzLnNldEN1c3RvbVZhbGlkaXR5KCfQn9C+0LbQsNC70YPQudGB0YLQsCwg0L3QsNC/0LjRiNC40YLQtSBlbWFpbCDQu9Cw0YLQuNC90YHQutC40LzQuCDQsdGD0LrQstCw0LzQuCcpIiBvbmlucHV0PSJzZXRDdXN0b21WYWxpZGl0eSgnJykiIC8+",
   "lang": "ru"
}

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

{
   "result": true,
   "real_id": 1042220
}

Параметр ответа:

Параметр Тип Описание
real_id int ID созданного шаблона

Редактировать шаблон

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

https://api.sendpulse.com/template/edit/{id}

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

Параметр Тип Описание  
id int/string ID шаблона; получить ID шаблона вы можете при помощи метода «Получить список всех шаблонов» (можно использовать параметры ответа real_id или id), или в адресной строке в режиме редактирования шаблона после сохранения его в личном кабинете required
body string Верстка шаблона, закодированная в base64 required
lang string Язык шаблона optional

Обратите внимание, что язык шаблона lang нужно указывать тот, который указывался во время создания данного шаблона.

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

{
   "body": "PGlucHV0IHR5cGU9ImVtYWlsIiBuYW1lPSJlbWFpbCIgcmVxdWlyZWQKb25pbnZhbGlkPSJ0aGlzLnNldEN1c3RvbVZhbGlkaXR5KCfQn9C+0LbQsNC70YPQudGB0YLQsCwg0L3QsNC/0LjRiNC40YLQtSBlbWFpbCDQu9Cw0YLQuNC90YHQutC40LzQuCDQsdGD0LrQstCw0LzQuCcpIiBvbmlucHV0PSJzZXRDdXN0b21WYWxpZGl0eSgnJykiIC8+",
   "lang": "ru"
}

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

{
   "result" : true
}

Получить информацию по шаблону

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

https://api.sendpulse.com/template/{template_id}

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

Параметр Тип Описание  
template_id int/string ID шаблона; получить ID шаблона вы можете при помощи метода «Получить список всех шаблонов» (можно использовать параметры ответа real_id или id), или в адресной строке в режиме редактирования шаблона после сохранения его в личном кабинете required

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

{
   "id":"f3266876955c9d21e214deed49b97446",
   "real_id":1153018,
   "lang":"en",
   "name":"Webinar Speakers",
   "name_slug":"",
   "created":"2020-09-04 13:54:30",
   "full_description":"Use this template as a webinar invitation for your subscribers. Specify who is going to host the webinar and what it will be about. Remember to include the date and time of the webinar.",
   "is_structure":true,
   "category":"education",
   "category_info":{
      "id":109,
      "name":"Education",
      "meta_description":"These “Education” free email templates were developed by SendPulse for all those who wish to make their email communication colorful and unforgettable. You can use these templates to create your email campaigns in SendPulse.",
      "full_description":"",
      "code":"education",
      "sort":6
   },
   "tags":{
      "webinar":"webinar",
      "study":"study",
      "marketing":"marketing",
      "museum":"museum",
      "exhibition":"exhibition"
   },
   "owner":"sendpulse",
   "preview":"https://login.sendpulse.com/files/emailservice/userfiles/templates/preview/f3266876955c9d21e214deed49b97446_thumbnail_300.png"
}

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

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

https://api.sendpulse.com/templates

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

[
   {
      "id":"2a7c59e5bcb0db1dee02c60208fbb498",
      "real_id":1153017,
      "lang":"en",
      "name":"Offline conference",
      "name_slug":"education-events",
      "created":"2020-09-04 13:54:21",
      "full_description":"Use this template to invite your subscribers to an online or offline event. Indicate its name, date, and time. Add information about the  location if it's an offline event. Upload photos of your speakers and give a short description of their presentation. That’s it! Now you can send your email campaign!",
      "is_structure":true,
      "category":"education",
      "category_info":{
         "id":109,
         "name":"Education",
         "meta_description":"These “Education” free email templates were developed by SendPulse for all those who wish to make their email communication colorful and unforgettable. You can use these templates to create your email campaigns in SendPulse.",
         "full_description":"",
         "code":"education",
         "sort":6
      },
      "tags":{
         "digest":"digest",
         "blog":"blog",
         "exhibition":"exhibition",
         "invite":"invite"
      },
      "owner":"sendpulse",
      "preview":"https://login.sendpulse.com/files/emailservice/userfiles/templates/preview/2a7c59e5bcb0db1dee02c60208fbb498_thumbnail_300.png"
   },
   {
      "id":"abe5cbf340a0b99bf14b2aaa0358f2cd",
      "real_id":1153016,
      "lang":"en",
      "name":"Author's Email",
      "name_slug":"author_email",
      "created":"2020-09-04 13:54:13",
      "full_description":"Use this template to send email digest from your company.",
      "is_structure":true,
      "category":"business",
      "category_info":{
         "id":37,
         "name":"Business",
         "meta_description":"These “Business” free email templates were developed by SendPulse for all those who are looking for a concise and restrained tempaltes for business email communication. You can use these templates to create your email campaigns in SendPulse",
         "full_description":"",
         "code":"business",
         "sort":5
      },
      "tags":{
         "feedback":"feedback",
         "digest":"digest",
         "marketing":"marketing",
         "ecommerce":"ecommerce"
      },
      "owner":"sendpulse",
      "preview":"https://login.sendpulse.com/files/emailservice/userfiles/templates/preview/abe5cbf340a0b99bf14b2aaa0358f2cd_thumbnail_300.png"
   }
]

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

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

https://api.sendpulse.com/templates/?owner=sendpulse

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

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

https://api.sendpulse.com/templates/?owner=me

Получить шаблон по названию

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

https://api.sendpulse.com/template/slug/{name_slug}

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

Параметр Тип Описание  
name_slug string Системное название шаблона; найти его можно в ответах API по созданию или поиску шаблонов required

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

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

https://api.sendpulse.com/templates/ru/?owner=me

Отправители

Получить список всех отправителей

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

https://api.sendpulse.com/senders

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

[
    {
        "email": "user1@example.com",
        "name": "user1",
        "status": "Active",
        "is_allowed_for_smtp": true 
    },
    {
        "email": "user2@example.com",
        "name": "user2",
        "status": "Active",
        "is_allowed_for_smtp": false
    }
]

Параметры ответа:

Параметр Тип Описание
name string Имя отправителя
email string Email адрес отправителя
status string Статус отправителя
is_allowed_for_smtp boollean

Указывает, разрешено ли использовать адрес в SMTP сервисе.

Адреса отправителей для Email и SMTP сервиса объединились. К адресам, которые вы будете добавлять после 17.05.2023, в Email сервисе добавится параметр со значением true, который означает, что адрес можно использовать и в SMTP сервисе.

Добавить отправителя

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

https://api.sendpulse.com/senders

Адреса отправителей для Email и SMTP сервиса объеденины. Адресам, которые вы будете добавлять после 17.05.2023 в Email сервис, будут также доступны для отправки и в SMTP сервисе.

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

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

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

{
   "email": "sender@example.com",
   "name": "Sender"
}

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

{
   "result": true
}

Удалить отправителя

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

https://api.sendpulse.com/senders

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

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

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

{
   "email": "sender@example.com"
}

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

{
   "result": true
}

Активировать отправителя

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

https://api.sendpulse.com/senders/{email}/code

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

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

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

{
   "code": "50405325fdbb31e79759e7b8ae305ef75"
}

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

{
   "result": true,
   "email": JohnDoe@test.com
}

Параметр ответа:

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

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

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

https://api.sendpulse.com/senders/{email}/code

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

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

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

{
  "result": true,
  "email": JohnDoe@test.com
}

Параметр ответа:

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

В случае успешного запроса на почту будет выслано письмо с кодом активации.

Email адрес

Получить общую информацию по адресу

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

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

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

Параметр Тип Описание  
email string Email адрес, для которого нужно получить общую информацию required

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

[
   {
      "book_id":154441,
      "email":"test@gmail.com",
      "status":0,
      "status_explain":"New",
      "variables":[]
   },
   {
      "book_id":422325,
      "email":"test@gmail.com",
      "status":1,
      "status_explain":"Active",
      "variables":[
         {
            "name":"Name",
            "type":"string",
            "value":"Alona"
         }
      ]
   }
]

Параметры ответа:

Параметр Тип Описание
book_id int ID адресной книги, в которой находится адрес
email string Email адрес
status int Статус email адреса
status_explain string Описание статуса email адреса
variables array Массив переменных (равен [] если в адресной книге переменных нет, или у контакта переменная пустая): 
name string Название переменной
type string Тип данных переменной
value string Значение переменной

Получить детальную информацию по адресу

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

https://api.sendpulse.com/emails/{email}/details

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

Параметр Тип Описание  
email string Email адрес, для которого нужно получить детальную информацию required

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

[
    {
        "list_name": "bookname1",
        "list_id": 1375516,
        "add_date": "2017-11-21 11:45:41",
        "source": "panel"
    },
    {
        "list_name": "bookname2",
        "list_id": 1415158,
        "add_date": "2018-01-23 07:07:08",
        "source": "panel"
    },
    {
        "list_name": "subscribers",
        "list_id": 1649207,
        "add_date": "2018-04-02 13:55:38",
        "source": "form"
    }
]

Параметры ответа:

Параметр Тип Описание
list_name string Название адресной книги
list_id int ID адресной книги
add_date string Дата добавления адреса в книгу 
source string Источник добавления email адреса

Получить информацию по набору адресов

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

https://api.sendpulse.com/emails

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

Параметр Тип Описание  
emails array Массив email адресов required

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

{
   "emails": ["test1@gmail.com", "test2@gmail.com"]
}

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

{
   "test1@gmail.com":[
      {
         "book_id":154441,
         "status":0,
         "variables":[]
      },
      {
         "book_id":422325,
         "status":1,
         "variables":[
            {
               "name":"Name",
               "type":"string",
               "value":"Test"
            }
         ]
      }
   ],
   "test2@gmail.com":[
      {
         "book_id":422325,
         "status":1,
         "variables":[
            {
               "name":"Name",
               "type":"string",
               "value":"Test"
            }
         ]
      }
   ]
}

Параметры ответа:

Параметр Тип Описание
book_id int ID адресной книги, в которой находится адрес
status int Статус email адреса
variables array Массив переменных (равен [] если в адресной книге переменных нет, или у контакта переменная пустая):
name string Название переменной
type string Тип данных переменной
value string Значение переменной

Получить статистику по адресу в указанной email рассылке

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

https://api.sendpulse.com/campaigns/{id}/email/{email}

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

Параметр Тип Описание  
id int ID email рассылки required
email string Email адрес  required

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

{
    "sent_date": "2021-03-29 07:46:58",
    "global_status": 1,
    "global_status_explain": "Sent",
    "detail_status": 3,
    "detail_status_explain": "Opened"
}

Параметры ответа:

Параметр Тип Описание
sent_date string Дата отправки email рассылки
global_status int Код глобального статуса email рассылки
global_status_explain string Описание глобального статуса
detail_status int Код детального статуса email рассылки
detail_status_explain string Описание детального статуса

Получение информации по email адресу из адресной книги

Чтобы получить информацию по email адресу из адресной книги, отправьте GET запрос по ссылке:

https://api.sendpulse.com/addressbooks/{id}/emails/{email}

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

Параметр Тип Описание  
id int ID книги required
email string Email адрес required

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

{
    "email": "test@gmail.com",
    "abook_id": "422325",
    "phone": "",
    "status": 1,
    "status_explain": "Active",
    "variables": [
        {
            "name": "Name",
            "type": "string",
            "value": "Test"
        }
    ]
}

Параметры ответа:

Параметр Тип Описание
email string Email адрес
abook_id string ID адресной книги
phone string Номер телефона
status int Статус email адреса
status_explain string Описание статуса email адреса
variables array Массив переменных (равен [] если у контакта переменных нет, или переменная пустая):
name string Название переменной
type string Тип данных переменной
value string Значение переменной

Удалить адрес из всех книг

Чтобы удалить email адрес из всех книг, отправьте DELETE запрос по ссылке:

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

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

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

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

{
   "result": true
}

Получить статистику для адреса по email рассылкам и наличию в адресных книгах

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

https://api.sendpulse.com/emails/{email}/campaigns

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

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

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

{
    "statistic": {
        "sent": 9,
        "open": 2,
        "link": 0
    },
    "blacklist": false,
    "addressbooks": [
        {
            "id": 154441,
            "address_book_name": "Mailing list 1"
        },
        {
            "id": 154472,
            "address_book_name": "Mailing list 2"
        }
    ]
}

Параметры ответа:

Параметр Тип Описание
statistic object Количество отправленных рассылок (sent), открытых рассылок (open), и переходов по ссылке (link)
blacklist boolean Параметр, который определяет наличие email адреса в черном списке; может принимать значения: true — адрес находится в черном списке, false — не находится 
addressbooks array Массив адресных книг:
id int ID адресной книги, в которой находится адрес
address_book_name string Название адресной книги

Получить статистику для адресов по email рассылкам и наличию в адресных книгах

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

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

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

Параметр Тип Описание  
emails array Массив email адресов required

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

{
   "emails": ["example@yourdomain.com", "example2@yourdomain.com"]
}

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

{
   "example@yourdomain.com":{
      "sent":21,
      "open":11,
      "link":3,
      "adressbooks":[
         {
            "id":1375516,
            "name":"book1"
         },
         {
            "id":1415158,
            "name":"book3"
         },
         {
            "id":1649207,
            "name":"book10"
         }
      ],
      "blacklist":false
   },
   "example2@yourdomain.com":{
      "sent":1,
      "open":1,
      "link":0,
      "adressbooks":[
         {
            "id":1734397,
            "name":"тест1"
         }
      ],
      "blacklist":true
   }
}

Параметры ответа:

Параметр Тип Описание
sent int Количество отправленных рассылок
open int Количество открытых рассылок
link int Количество переходов по ссылке
addressbooks array Массив адресных книг:
id int ID адресной книги, в которой находится адрес
address_book_name string Название адресной книги
blacklist boolean Параметр, который определяет наличие email адреса в черном списке

Изменить значение переменной для существующего контакта

Чтобы изменить значение переменной для существующего контакта, отправьте POST запрос по ссылке:

https://api.sendpulse.com/addressbooks/{addressBook_Id}/emails/variable

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

Параметр Тип Описание  
addressBook_Id int ID адресной книги required
email string Email адрес required
variables array Массив переменных, которые нужно изменить: required
name string Название переменной required
value string Значение переменной required

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

{
   "email":"myemail@example.com",
   "variables":[
      {
         "name":"name",
         "value":"John"
      },      
      {
         "name":"date",
         "value":"2019-02-01"
      }
   ]
}

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

{
    "result": true
}

За один запрос можно изменить только один контакт.

В переменную типа string возможно установить как текстовое значение, так и значение типа number или data (YYYY-MM-DD).

В переменную типа number возможно установить только число.

В переменную типа data возможно установить только дату, которая передана в формате YYYY-MM-DD. Другие форматы не поддерживаются, например, валидный формат даты : 2017-01-01, а не валидный: 2017-1-1.

Черный список / Blacklist

Просмотреть черный список

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

https://api.sendpulse.com/blacklist

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

[
  "JohnDoe@test.com",
  "JaneDoe@test.com",
]

Добавить адрес в черный список

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

https://api.sendpulse.com/blacklist

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

Параметр Тип Описание  
emails string Строка с email адресами, разделенными запятыми, кодированная в base64 required
comment string Комментарий (необязательный параметр) required

Пример строки с email адресами (до кодировки в base64):

user1@mailserver.com,user2@mailserver.com,user3@mailserver.com

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

{
   "emails": "dXNlcjFAbWFpbHNlcnZlci5jb20sdXNlcjJAbWFpbHNlcnZlci5jb20sdXNlcjNAbWFpbHNlcnZlci5jb20=",
   "comment": "comment"
}

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

{
    "result": true
}

Отписать контакт в заданной адресной книге

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

https://api.sendpulse.com/addressbooks/{id}/emails/unsubscribe

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

Параметр Тип Описание  
id int ID адресной книги required
emails array Контакты, которые необходимо отписать от заданной адресной книги required

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

{
   "emails": ["test1@gmail.com","test2@gmail.com"]
}

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

{
    "result": true
}

Удалить адрес из черного списка

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

https://api.sendpulse.com/blacklist

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

Параметр Тип Описание  
emails string Строка с email адресами, разделенными запятыми, кодированная в base64 required

Пример строки с email адресами (до кодировки в base64):

user1@mailserver.com,user2@mailserver.com,user3@mailserver.com

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

{
   "emails": "dXNlcjFAbWFpbHNlcnZlci5jb20sdXNlcjJAbWFpbHNlcnZlci5jb20sdXNlcjNAbWFpbHNlcnZlci5jb20="
}

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

{
    "result": true
}

Баланс

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

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

https://api.sendpulse.com/balance

Необязательный параметр запроса – значение валюты.

При использовании необязательного параметра (значения валюты) ссылка будет иметь следующий вид:

https://api.sendpulse.com/balance/USD

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

{
  "currency": "USD",
  "balance_currency": 0.02
}

Получить детальную информацию по балансу

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

https://api.sendpulse.com/user/balance/detail

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

{
    "balance": {
        "main": "9.36",
        "bonus": "5.00",
        "currency": "USD"
    },
    "email": {
        "tariff_name": "Пакет 10 000 писем",
        "finished_time": "2019-04-25 08:03:02",
        "emails_left": 9914,
        "maximum_subscribers": 10000,
        "current_subscribers": 0
    },
    "smtp": {
        "tariff_name": "SMTP Free",
        "end_date": "2018-11-21 15:05:39",
        "auto_renew": 1
    },
    "push": {
        "tariff_name": "White Label",
        "end_date": "2018-11-30",
        "auto_renew": 1
    }
}

WebHooks

Подробнее о вебхуках и как их подключить в личном кабинете SendPulse, а также примеры формата получаемых вебхуков по событиям смотрите в статье «Как подключить вебхуки в email сервисе».

Также вы можете создавать, редактировать и получать информацию о вебхуках через следующие API методы:

Получить список вебхуков

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

https://api.sendpulse.com/v2/email-service/webhook

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

{
    "success": true,
    "data": [
        {
            "id": 162242,
            "user_id": 7043663,
            "url": "https://webhook.site/577e5242-bb27-4baf-8ea7-70baa6344f68",
            "action": "unsubscribe"
        },
        {
            "id": 162241,
            "user_id": 7043663,
            "url": "https://webhook.site/577e5242-bb27-4baf-8ea7-70baa6344f68",
            "action": "open"
        }
    ]
}

Получить вебхук по его ID

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

https://api.sendpulse.com/v2/email-service/webhook/{id}

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

Параметр Тип Описание  
id int ID вебхука required

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

{
    "success": true,
    "data": {
        "id": 162242,
        "user_id": 7043663,
        "url": "https://site.com/callback",
        "action": "unsubscribe"
    }
}

Создать вебхук

Чтобы создать вебхук, отправьте POST запрос по ссылке:

https://api.sendpulse.com/v2/email-service/webhook/

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

Параметр Тип Описание  
actions string/array Отслеживаемые события, например, ["open","unsubscribe"] required
url string Ссылка на обработчик, например, https://site.com/callback required

Возможные cобытия:

Событие Описание
new_emails Новый адрес
delete Удаление из книги
unsubscribe Пользователь отписался
task_status_update  Изменение статуса рассылки
open Открытие рассылки
delivered Доставлено
redirect Переход по ссылке
spam Отмечено как спам
hard_bounces Ошибка Hard Bounce
soft_bounces Ошибка Soft Bounce

Данные отправляются с типом x-www-form-urlencoded.

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

{
    "url":"https://site.com/callback",
    "actions":["delivered"]
}

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

{
    "success": true,
    "data": [
        {
            "user_id": 7043663,
            "url": "https://site.com/callback",
            "id": 162241,
            "action": "open"
        },
        {
            "user_id": 7043663,
            "url": "https://site.com/callback",
            "id": 162242,
            "action": "unsubscribe"
        }
    ]
}

Удалить вебхук

Чтобы удалить вебхук, отправьте DELETE запрос по ссылке:

https://api.sendpulse.com/v2/email-service/webhook/{id}

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

Параметр Тип Описание  
id int ID вебхука required

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

{
    "success": true,
    "data": [
        true
    ]
}

Обновить вебхук

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

https://api.sendpulse.com/v2/email-service/webhook/{id}

Данные отправляются с типом x-www-form-urlencoded.

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

Параметр Тип Описание  
id int ID вебхука required
url string Ссылка на обработчик, например, https://site.com/callback required

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

{
    "success": true,
    "data": [
        true
    ]
}