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

Для просмотра списка отправленных push кампаний отправляется GET запрос по ссылке

https://api.sendpulse.com/push/tasks

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

limit количество записей которое нужно взять
offset смещение

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

https://api.sendpulse.com/push/tasks/?limit=10&offset=2

Взять 10 записей, начиная со второй

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

[
  {
    "id": "121",
    "title": "push title",
    "body": "push text",
    "website_id": "53",
    "send_date": "2015-12-17 14:44:47",
    "status": "13"
  }
]
 

Получить общее количество сайтов

Для просмотра общего количества сайтов отправляется GET запрос по ссылке

https://api.sendpulse.com/push/websites/total

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

{
  "total": 2
}
 

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

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

https://api.sendpulse.com/push/websites/

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

limit количество записей которое нужно взять
offset смещение

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

https://api.sendpulse.com/push/websites/?limit=10&offset=2

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

[
  {
    "id": "53",
    "url": "www.test-site.com",
    "add_date": "2015-11-23 14:42:37",
    "status": "1"
  }
]
 

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

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

https://api.sendpulse.com/push/websites/{id}/variables

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

{id} идентификатор сайта

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

[
  {
    "id": "97",
    "name": "uname",
    "type": "string"
  }
]
 

Получить список подписчиков сайта

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

https://api.sendpulse.com/push/websites/{id}/subscriptions

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

{id} идентификатор сайта (обязательный)
limit количество записей которое нужно взять
offset смещение

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

https://api.sendpulse.com/push/websites/{id}/subscriptions/?limit=10&offset=2

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

[
  {
    "id": "1",
    "browser": "Chrome",
    "lang": "ru",
    "variables": [],
    "status": "0"
  }
]
 

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

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

https://api.sendpulse.com/push/websites/{id}/subscriptions/total

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

{id} идентификатор сайта (обязательный)

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

{
  "total": 2
}
 

Активировать/Деактивировать подписчика

Для того, чтобы активировать или деактивировать подписчика, нужно отправить POST запрос по ссылке

https://api.sendpulse.com/push/subscriptions/state

Параметры запроса (обязательные):

{id} идентификатор подписчика
state тригер переключения состояния подписчика, 1 – активен, 0 – деактивирован

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

{
  "result": true
}
 

Создать новую push-рассылку

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

https://api.sendpulse.com/push/tasks

Обязательные параметры запроса:

title заголовок
website_id идентификатор сайта
body тело рассылки
ttl время жизни push рассылки

Необязательные параметры запроса:

link ссылка для перехода, если не указана будет взята ссылка сайта
filter_lang фильтрация подписчиков по языку (пример ru)
filter_browser фильтрация по браузеру, может принимать несколько значений разделенных запятой (пример – Chrome,Safari)
filter сегментация по одной из переменных
stretch_time время, в течение которого рассылается push-рассылка. Указывается в секундах. Если не указано, используется время по умолчанию (5 часов).

Пример структуры параметра filter:

{
  "variable_name": "uname",
  "operator": "or",
  "conditions": [
    {
      "condition": "likewith",
      "value": "a"
    },
    {
      "condition": "notequal",
      "value": "b"
    }
  ]
}

где:

variable_name имя переменной
operator соединяющий оператор, может принимать значения только or или and
conditions массив условий
condition может принимать следующие значения
equal полностью равно
notequal полностью не равно
greaterthan больше чем
lessthan меньше чем
startwith начинается с
endwith заканчивается этим значением
likewith содержит в себе
notlikewith не содержит в себе

Пример ответа сервера при успешном создании кампании:

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

Статистика по отправленным рассылкам

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

https://api.sendpulse.com/push/tasks/{id}

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

{id} id push рассыки

Пример ответа сервера при успешном получении статистики:

{
"id": "36",
"message": {
"title": "s",
"text": "s",
"link": "http://aaa.aaa" 
},
"website": "www.google.com",
"website_id": 53,
"status": 3,
"send": "21",
"delivered": "14",
"redirect": "13" 
}
 

Коды ошибок и их описание

Код ошибки Описание
8 Отсутствуют данные
10 Отсутствует e-mail адрес отправителя
11 Не указаны получатели
13 Отсутствует контент email сообщения
14 Email адрес с заданным значением ID не найден
17 Email адрес не найден
19 Такой email адрес уже существует
20 Пожалуйста, не используйте бесплатные почтовые сервисы
21 На активации нет указанного email адреса
97 Недопустимый тип email адреса. Использовать аккаунты бесплатных почтовых сервисов не рекомендуется.
201 Отсутствует название адресной книги
203 Адресная книга с указанным именем уже существует
303 Отсутствуют email адреса в адресной книге
400 Не существует такого пользователя SMTP. Вам необходимо создать аккаунт в SMTP сервисе.
502 Не найден email адрес
602 Кампания не найдена. Возможно, она была уже отправлена.
701 Отсутствует email адрес или имя отправителя
703 Не найдена адресная книга
704 Не найден отправитель
707 Недостаточно средств на счету
711 Вам следует подождать 15 минут перед повторной попыткой отправки на данную адресную книгу
720 Не указана тема письма
721 Отсутствует контент email сообщения
722 Не указано ID адресной книги
799 Неправильный формат даты. Должен быть в формате Y-m-d H:i:s и не может быть меньше текущей даты
800 Недопустимое действие
802 Кампания не найдена
901 Не указано имя отправителя
902 Выбранный email адрес уже занят
903 Не указан email адрес отправителя
904 Email адрес найден в черном списке
905 Достигнут лимит доступного количества адресов отправителя
906 Ошибка в email адресе
1101 Не указан email адрес
1003 Указанного отправителя не существует
1004 Код активации был отправлен. Вам следует подождать 15 минут перед повторной попыткой.
1005 Ошибка при отправке подтверждения
1104 Отсутствует код активации