Оповещения указанным пользователям

Для отправки оповещений пользователям по идентификаторам используйте методы API Одноклассников:

  • notifications.sendSimple — чтобы отправить оповещение одному пользователю по его идентификатору.
  • notifications.sendList — чтобы отправить массив оповещений разным пользователям по их идентификаторам одним запросом.

Подробнее о работе с API Одноклассников — в разделе Вызовы API на стороне сервера.

Отправить оповещение одному пользователю

Чтобы отправить одно оповещение конкретному пользователю по его идентификатору в Одноклассниках, используйте метод notifications.sendSimple.

Ограничения

  • В запросе можно отправить только одно оповещение.
  • Одному пользователю можно отправить не более 5 оповещений в сутки.
  • Оповещения получат только пользователи, которые запускали приложение не более 14 дней назад.
  • У пользователя может отображаться только одно оповещение от приложения, поэтому новое оповещение заменит предыдущее, если оно ещё не закрыто.

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

При обращении к API Одноклассников также необходимо передать общие параметры запроса.

Поле
Тип
Описание
text
string
Обязательное поле. Текст оповещения. Максимум 100 символов. Допускается не более 5 спецсимволов или эмодзи.
uid
integer
Обязательное поле. Идентификатор пользователя, которому будет отправлено оповещение.
custom_button_key
string
Ключ кнопки действия в оповещении. По умолчанию button_launch (Начать играть).

Пример

Отправить оповещение «Вашему другу нужна помощь» пользователю с идентификатором 123456789. В оповещении отобразится кнопка «Подробнее».

Если запрос выполнен успешно, в результате вернётся ответ true.

CURL

Bash
curl 'https://api.ok.ru/fb.do' \ -X POST \ -F 'application_key=<публичный_ключ>' \ -F 'method=notifications.sendSimple' \ -F 'uid=123456789' \ -F 'text=Вашему другу нужна помощь' \ -F 'custom_button_key=button_more' \ -F 'sig=<подпись_запроса>'

JavaScript (Node.js)

JavaScript
const params = { uid: '123456789', text: 'Вашему другу нужна помощь', custom_button_key: 'button_more' }; callAPI('notifications.sendSimple', params) .then(data => console.log(data));

Пример функции callAPI с формированием подписи запроса описан в разделе Работа с API Одноклассников.

Отправить массив оповещений разным пользователям

Чтобы отправить одним запросом массив оповещений пользователям по их идентификаторам в Одноклассниках, используйте метод notifications.sendList.

Ограничения 

  • Метод принимает массив оповещений не более 100 элементов.
  • Одному пользователю можно отправить не более 5 оповещений в сутки.
  • Оповещения получат только пользователи, которые запускали приложение не более 14 дней назад.
  • У пользователя может отображаться только одно оповещение от приложения, поэтому новое оповещение заменит предыдущее, если оно ещё не закрыто.

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

При обращении к API Одноклассников также необходимо передать общие параметры запроса.

Поле
Тип
Описание
notifications
NotificationList
Обязательное поле. Массив оповещений. Максимум 100 элементов.

NotificationList содержит объекты с полями:

Поле
Тип
Описание
message
string
Обязательное поле. Текст оповещения. Максимум 128 символов.
user_id
integer
Обязательное поле. Идентификатор пользователя, которому будет отправлено оповещение.
fragment
string
Дополнительный параметр, который будет добавлен в хеш оповещения и передан в приложение.
button
string
Ключ кнопки действия в оповещении. По умолчанию button_launch (Начать играть).

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

Поле
Тип
Описание
user_id
string
Идентификатор пользователя, который получил оповещение.
notification_result
string
Статус получения оповещения: OK

Пример 

Отправить два оповещения разным пользователям:

  • Пользователю 123456789 отправить сообщение «Заберите подарок» с кнопкой «Принять»; передать в приложение произвольный параметр gift.
  • Пользователю 555666777 отправить сообщение «Вас ждёт бонус» с кнопкой «Начать играть».

Если запрос выполнен успешно, в результате вернётся ответ в формате:

JSON
{ "notifications": [ { "user_id": 123456789, "notification_result": "OK" }, { "user_id": 555666777, "notification_result": "OK" } ] }

CURL

Bash
curl 'https://api.ok.ru/fb.do' \ -X POST \ -F 'application_key=<публичный_ключ>' \ -F 'method=notifications.sendList' \ -F 'notifications={"notifications":[{"user_id":123456789,"message":"Заберите подарок","fragment":"gift","button":"button_accept"},{"user_id":555666777,"message":"Вас ждёт бонус","button":"button_launch"}]}' \ -F 'sig=<подпись_запроса>'

JavaScript (Node.js)

JavaScript
const params = { notifications: JSON.stringify({ notifications: [ { user_id: 123456789, message: "Заберите подарок", fragment: "gift", button: "button_accept" }, { user_id: 555666777, message: "Вас ждёт бонус", button: "button_launch" } ] }) }; callAPI('notifications.sendList', params)

Пример функции callAPI с формированием подписи запроса описан в разделе Работа с API Одноклассников.

Кнопка действия в оповещении

Вы можете выбрать, какой текст будет отображаться на кнопке действия в оповещении:

  • button_join — Вступить.
  • button_accept — Принять.
  • button_attach_badge — Прикрепить.
  • button_attend — Я пойду.
  • button_close — Закрыть.
  • button_confirmFriend — Подтвердить.
  • button_decline — Отклонить.
  • button_enable — Включить.
  • button_hide — Скрыть.
  • button_install — Установить.
  • button_launch — Начать играть.
  • button_launch_app — Запустить.
  • button_more — Подробнее.
  • button_open — Посмотреть.
  • button_open_all — Посмотреть все.
  • button_pay — Оплатить.
  • button_realProlong — Продлить.
  • button_rejectRequest — Отказать.
  • button_sendPresent — Подарить.
  • button_show — Показать.
  • button_subscribe — Подписаться.
  • button_unsubscribe_cancel — Отменить.
  • button_use_coupon — Использовать купон.
  • button_view — Посмотреть, что внутри.

Материалы по теме