Push-рассылки

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

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

https://mailer-api.i.bizml.ru/push/tasks

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

Параметр Тип Описание Обязательность
limit int Количество возвращаемых записей  необязательный
offset int Смещение выдачи необязательный
from string Дата начала выбранного промежутка в формате YYYY-mm-dd H:i:s необязательный
to string Дата окончания промежутка в формате YYYY-mm-dd H:i:s необязательный
website_id int ID сайта, для которого запрашивается статистика необязательный

Ограничение на количество получаемых записей в ответ: до 100 за раз. Для получения списков необходимо использовать параметр offset для смещения по результатам.

Пример URL-запроса (вывести 10 записей, начиная со второй):

https://mailer-api.i.bizml.ru/push/tasks/?limit=10&offset=2

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

[
  {
    "id": 121,
    "title": "push title",
    "body": "push text",
    "website_id": 53,
    "from": "2015-11-17 14:44:47",
    "to": "2015-12-23 19:42:27",
    "status": 13
  }
]

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

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

https://mailer-api.i.bizml.ru/push/websites/total

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

{
  "total": 2
}

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

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

https://mailer-api.i.bizml.ru/push/websites/

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

Параметр Тип Описание Обязательность
limit int Количество записей, которое нужно взять необязательный
offset int Смещение выдачи необязательный

Ограничение на количество получаемых записей в ответ: до 100 за раз. Для получения списков необходимо использовать параметр offset для смещения по результатам.

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

https://mailer-api.i.bizml.ru/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://mailer-api.i.bizml.ru/push/websites/{id}/variables

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

Параметр Тип Описание Обязательность
id int ID сайта обязательный

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

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

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

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

https://mailer-api.i.bizml.ru/push/websites/{id}/subscriptions

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

Параметр Тип Описание Обязательность
id int ID сайта обязательный
limit int Количество записей, которое нужно взять необязательный
offset int Смещение выдачи необязательный
subscription_date_from string Фильтр по дате добавления подписчиков (указывается дата и время с и по такой-то промежуток времени) задается в формате Y-m-d (Пример: 2018-03-11) необязательный
subscription_date_to string Фильтр по дате добавления подписчиков (указывается дата и время с и по такой-то промежуток времени) задается в формате Y-m-d (Пример: 2018-03-11) необязательный

Ограничение на количество получаемых записей в ответ: до 100 за раз. Для получения списков необходимо использовать параметр offset для смещения по результатам.

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

https://mailer-api.i.bizml.ru/push/websites/37731/subscriptions/?subscription_date_from%3D2018-09-04%2001%3A54%3A00%26subscription_date_to%3D2018-09-04%2017%3A00%3A00

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

[
    {
        "id": 311003743,
        "browser": "Firefox",
        "lang": "en",
        "os": "Linux",
        "country_code": "UA",
        "city": "Dnipro",
        "variables": [],
        "subscription_date": "2018-08-13 14:27:11",
        "status": 1
    },
    {
        "id": 311008277,
        "browser": "Opera",
        "lang": "en",
        "os": "Linux",
        "country_code": "UA",
        "city": "Dnipro",
        "variables": [],
        "subscription_date": "2018-08-13 14:33:51",
        "status": 1
    }
]

Статусы подписчиков:

Статус Описание
0 Deactivated
1 Active
6 Unsubscribed

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

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

https://mailer-api.i.bizml.ru/push/websites/{id}/subscriptions/total

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

Параметр Тип Описание Обязательность
id int ID сайта обязательный

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

{
  "total": 2
}

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

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

https://mailer-api.i.bizml.ru/push/websites/info/{id} 

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

Параметр Тип Описание Обязательность
id int ID сайта обязательный

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

{
    "id": 111111,
    "url": "yoursite.com",
    "status": "active",
    "icon": "https://login.sendpulse.com/img/my/push/push-default-icons/icon.png",
    "add_date": "2017-11-09 13:08:37",
    "total_subscribers": 1081,
    "unsubscribed": 30,
    "subscribers_today": 10,
    "active_subscribers": 1051
}

Получить JS-код для сайта

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

https://mailer-api.i.bizml.ru/push/websites/{id}/code 

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

Параметр Тип Описание Обязательность
id int ID сайта обязательный

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

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

https://mailer-api.i.bizml.ru/push/subscriptions/state

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

Параметр Тип Описание Обязательность
id int ID подписчика обязательный
state int Тригер переключения состояния подписчика, 1 – активен, 0 – деактивирован обязательный

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

{
  "result": true
}

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

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

https://mailer-api.i.bizml.ru/push/tasks

Ограничение по отправке push-уведомлений для сайта — 1 сообщение в 15 минут.

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

Параметр Тип Описание Обязательность
title string Заголовок обязательный
website_id int ID сайта обязательный
body string Тело рассылки обязательный
ttl int Время жизни push-рассылки, указывается в секундах. Максимум: 86400 сек (24 часа) обязательный
link string Ссылка для перехода, если не указана будет взята ссылка сайта необязательный
filter_lang string Фильтрация подписчиков по языку (например, ru) необязательный
filter_browser string Фильтрация по браузеру, может принимать несколько значений разделенных запятой (например, Chrome, Safari) необязательный
filter_region string Фильтр по региону, принимает JSON-строку с перечнем кодов стран, например, ["UA"] необязательный
filter_url  string

Фильтр по ссылке, принимает JSON-строку вида {"type":"include","search":"pu"}.

type может иметь три значения: direct, include и exclude.

Если type равен direct, search является массивом ссылок, в противном случае  search является обычной строкой для поиска

необязательный

filter_subscription_date_from string Фильтр по дате добавления подписчиков (указывается дата и время с и по такой-то промежуток времени) задается в формате "Y-m-d" (пример: "2018-03-11") необязательный
filter_subscription_date_to string Фильтр по дате добавления подписчиков (указывается дата и время с и по такой-то промежуток времени) задается в формате "Y-m-d" (пример: "2018-03-11") необязательный
filter object Сегментация по одной из переменных необязательный
stretch_time int Время, в течение которого рассылается push-рассылка. Указывается в секундах. Если не указано, используется время по умолчанию (5 часов). необязательный
send_date string Запланировать рассылку на конкретную дату на конкретное время: Y-m-d H:i:s, например 2020-09-11 16:19:10 необязательный
buttons string Добавление кнопок к push-рассылке, принимает JSON-строку с перечнем кнопок и их значений, например, [{"text":"Button1","link":"link1"}] необязательный
image string

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

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

необязательный

icon string

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

необязательный

Возможно добавление максимум 10 фильтров в одной рассылке.

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

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

где:

Параметр Тип Описание
variable_name string Имя переменной
operator string Соединяющий оператор, может принимать значения только or или and
conditions array Массив условий
condition Может принимать такие значения:
equal Полностью равно
notequal Полностью не равно
greaterthan Больше чем
lessthan Меньше чем
startwith Начинается с
endwith Заканчивается этим значением
likewith Содержит в себе
notlikewith Не содержит в себе
value Значение переменной

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

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

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

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

https://mailer-api.i.bizml.ru/push/tasks/{id}

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

Параметр Тип Описание Обязательность
id int 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
}

Таблица статусов рассылки:

Код статуса Описание
0 Новая рассылка
2 Отправляется
3 Рассылка отправлена
8 Тестовая рассылка отправлена
12 Нет активных получателей
13 Рассылка в процессе создания — копирование подписок
15 Рассылка ожидает итога A/B тестирования
16 Рассылка отменена пользователем
30 Рассылка в архиве