Pushem. Open API. Основные положения

Open API доступен только на тарифах выше "Колибри" и дает широкие возможности для автоматизации отправки нотификаций

Базовый URL: https://pushem.ru/openapi/

Форматы передачи данных: $_GET, $_POST

Форматы ответа: json, plain text

Переменные: списки переменных запросов и ответов можно найти в инструкциях к каждому запросу

account/get

Получение данных о вашем аккаунте

Запрос:

Url: https://pushem.ru/openapi/account/get

Параметры:

  • id (Get) : ID вашего аккаунта на pushem.ru
  • key (Get) : API Ключ вашего аккаунта на pushem.ru

 

Ответ:


Формат: json

Данные:

  • token (string) : токен для виджета (он используется для вызова http виджета)
  • domain(string) : домен, к которому подключены нотификации
  • subdomain (string) : ваш субдомен вида *.pushem.ru, служит для работы нотификаций на http сайте
  • https (bool) : является ли сайт защищенным (1 - да, 0 - нет)
  • status (bool) : является ли ваш аккаунт активным (1 - активен, 0 - заблокирован)
  • plan (string) : ваш тарифный план (colibri, sokol, pelican)
  • balance (float) : баланс вашего аккаунта на pushem.ru
  • openapi (bool) : доступно ли использование openapi для вашего аккунта (true/false)

 

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


https://pushem.ru/openapi/account/get/?id=ВАШ_ID&key=ВАШ_КЛЮЧ

 

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


{

"token":"ВАШ_ТОКЕН",

"domain":"pushem.org",

"subdomain":"pushem-rg.pushem.ru",

"https":"1",

"status":"1",

"plan":"pelican",

"balance":9526.3,

"openapi":true

}

subscribers/remove

Удаляет подписчика по его ID в системе

Запрос:

Url: https://pushem.ru/openapi/subscribers/remove

Параметры:

  • id (Get) [обязательный] : ID вашего аккаунта на pushem.ru
  • key (Get) [обязательный] : API Ключ вашего аккаунта на pushem.ru
  • sub_id (Get) [обязательный] : ID подписчика в системе pushem

 

Ответ:


Формат: json

Данные:

При успешном удалении подписчика возвращает "removed"

 

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


https://pushem.ru/openapi/account/get/?id=ВАШ_ID&key=ВАШ_КЛЮЧ&sub_id=ID_подписчика

subscribers/filters

Возвращает список гео и кастомных сегментов подписчиков

Запрос:

Url: https://pushem.ru/openapi/subscribers/filters

Параметры:

  • id (Get) [обязательный] : ID вашего аккаунта на pushem.ru
  • key (Get) [обязательный] : API Ключ вашего аккаунта на pushem.ru

 

Ответ:


Формат: json

Данные:

Объект с многомерными массивами: segments, countries, cities

 

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


https://pushem.ru/openapi/subscribers/filters/?id=ВАШ_ID&key=ВАШ_КЛЮЧ

subscribers/get

Возвращает список подписчиков

Запрос:

Url: https://pushem.ru/openapi/subscribers/get

Параметры:

  • id (Get) [обязательный] : ID вашего аккаунта на pushem.ru
  • key (Get) [обязательный] : API Ключ вашего аккаунта на pushem.ru
  • segments (Get) [опциональный] : список сегментов через запятую
  • country (Get) [опциональный] : список стран через запятую
  • city (Get) [опциональный] : список городов через запятую
  • site_id (Get) [опциональный] : ID пользователя на вашем сайте

 

Ответ:


Формат: json

Данные:

Объект с многомерными массивами подписчиков со всеми их данными

 

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


https://pushem.ru/openapi/subscribers/get/?id=ВАШ_ID&key=ВАШ_КЛЮЧ

notifications/add

Создает нотификацию

Запрос:

Url: https://pushem.ru/openapi/notifications/add

Параметры:

  • id (Get) [обязательный] : ID вашего аккаунта на pushem.ru
  • key (Get) [обязательный] : API Ключ вашего аккаунта на pushem.ru
  • title (Get) [обязательный] : Заголовок нотификации (40 символов)
  • body (Get) [обязательный] : Основной текст нотификации (200 символов, plain text)
  • subscribers (Post) [обязательный] : Простой массив ID подписчиков (для php json_encode(array('id1','id2,'...) ))
  • icon (Get) [обязательный] : url изображения png желательно 128x128
  • link (Get) [обязательный] : ссылка по клику на нотификацию (формат http(s)://ваш_сайт.ru)
  • time (Get) [опциональный] : время отправки нотификации unix timestamp (UTC!)
  • Группа параметров для UTM:
    • utm_source (Get) [опциональный]
    • utm_medium (Get) [опциональный]
    • utm_campaign (Get) [опциональный]
    • utm_term (Get) [опциональный]
    • utm_content (Get) [опциональный]
  • dir (Get) [опциональный] : Положении нотификации на экране пользователя (rtl,auto,ltr)
  • language (Get) [опциональный] : язык нотфикации в формате RU
  • country (Get) [опциональный] : название страны латиницей
  • state (Get) [опциональный] : название области латиницей
  • city (Get) [опциональный] : название города латиницей
  • segments (Get) [опциональный] : парамтер отключен

 

Ответ:


Формат: json

Данные:

При успешном создании нотификации возвращает ID нотификации

 

Пример запроса (PHP):


$link = urlencode('https://ВАШ_САЙТ.ru/СТРАНИЦА_ДЛЯ_ПЕРЕХОДА');
$icon = urlencode('https://ИЗОБРАЖЕНИЕ.png');
$title = urlencode('ЗАГОЛОВОК НОТИФИКАЦИИ');
$body = urlencode('СОДЕРЖАНИЕ НОТИФИКАЦИИ');

$url='https://pushem.ru/openapi/notifications/add/?id=ВАШ_ID&key=ВАШ_КЛЮЧ_API&title='.$title.'&body='.$body.'&icon='.$icon.'&link='.$link;

$fields = array( 'subscribers' => array('Здесь_Sub_ID', 'Здесь_Sub_ID_2') );
$header = array('Content-Type:application/json');
$options = array(
'http' => array(
'method' => 'POST',
'header' => $header,
'content' => json_encode($fields)
)
);

$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);

notifications/remove

Удаляет нотификацию

Запрос:

Url: https://pushem.ru/openapi/notifications/add

Параметры:

  • id (Get) [обязательный] : ID вашего аккаунта на pushem.ru
  • key (Get) [обязательный] : API Ключ вашего аккаунта на pushem.ru
  • nid (Get) [обязательный] : ID нотфикации

 

Ответ:


Формат: json

Данные:

Возвращает removed при успешном удалении

 

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


https://pushem.ru/openapi/notifications/add/?id=ВАШ_ID&key=ВАШ_КЛЮЧ&nid=ID_НОТИФИКАЦИИ

notifications/get

Возвращает список нотификаций и все их данные

Запрос:

Url: https://pushem.ru/openapi/notifications/get

Параметры:

  • id (Get) [обязательный] : ID вашего аккаунта на pushem.ru
  • key (Get) [обязательный] : API Ключ вашего аккаунта на pushem.ru

 

Ответ:


Формат: json

Данные:

Объект с многомерными массивами нотификаций со всеми их данными

 

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


https://pushem.ru/openapi/notifications/get/?id=ВАШ_ID&key=ВАШ_КЛЮЧ

notifications/check

Проверяет находится ли нотификация в очереди на отправку или уже отправлена

Запрос:

Url: https://pushem.ru/openapi/notifications/check

Параметры:

  • id (Get) [обязательный] : ID вашего аккаунта на pushem.ru
  • key (Get) [обязательный] : API Ключ вашего аккаунта на pushem.ru
  • nid (Get) [обязательный] : ID нотфикации

 

Ответ:


Формат: json

Данные:

Возвращает объект->status со значением статус wait/sent

 

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


https://pushem.ru/openapi/notifications/check/?id=ВАШ_ID&key=ВАШ_КЛЮЧ&nid=ID_Нотификации