Получить список отправленных 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 часов).
image

для вставки большого изображения в пуш-уведомление параметр "image" должен содержать JSON строку вида {"name":"test.jpg","data":"file_content"}, где "test.jpg" - имя изображения, а "file_content" - base64_encode(содержимое файла), которое, например в PHP, можно получить через "file_get_contents";

*изображение должно быть файлом JPG, PNG, GIF до 200KB

icon

для вставки пользовательской картинки стандартного размера, данный параметр должен содержать строку json такого вида {"name":"icon.jpg","data":"base64_file_content"}
где "icon.jpg" — имя изображения, а "base64_file_content" — его содержимое

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