1

Команда для отправки уведомлений

(edited by iljakokorev 19/12/2013 15:37:44)

Topic: Команда для отправки уведомлений

Добрый день!
Не могу найти в SDK (rAPI) команду для отправки уведомления (не онлайн).
Не подскажете, где копать?
Имеется ввиду сообщение, которое будет показано пользователю при входе, даже если он на момент отправки уведомления был офлайн.

2

Команда для отправки уведомлений

Re: Команда для отправки уведомлений

Отправка онлайн уведомлений пользователям

Development Department
Gurtam
3

Команда для отправки уведомлений

Re: Команда для отправки уведомлений

При отправке такого уведомления, оно приходит только если пользователь онлайн. Если пользователь был оффлайн, то уведомление не появляется когда он логинится.

4

Команда для отправки уведомлений

Re: Команда для отправки уведомлений

Не могу найти в SDK (rAPI) команду для отправки уведомления (не онлайн).

1. Вас интересует отправка сообщения от одного пользователя другому:
--- Смотрите CMS, там есть опция. Когда пользователь зайдет в систему, он увидит такое сообщение от другого пользователя.
2. Хотите, чтобы пользователь после сработки онлайн-уведомления мог посмотреть логи уведомлений
--- Редактируйте уведомление -> выберите "Зарегистрировать событие в истории объекта" (там где выбирали "Отобразить онлайн-уведомление во всплывающем окне"). Создайте шаблон отчета "Уведомления". Добавьте в нее таблицу "События". Запускаете и смотрите всё, что происходило, пока пользователь был оффлайн.
3. Срабатывать онлайн-уведомления в оффлайн не могут. Потому они и онлайн.

Maksim
Wialon Platform QA
Gurtam
5

Команда для отправки уведомлений

Re: Команда для отправки уведомлений

mast wrote:

Не могу найти в SDK (rAPI) команду для отправки уведомления (не онлайн).

1. Вас интересует отправка сообщения от одного пользователя другому:
--- Смотрите CMS, там есть опция. Когда пользователь зайдет в систему, он увидит такое сообщение от другого пользователя.
2. Хотите, чтобы пользователь после сработки онлайн-уведомления мог посмотреть логи уведомлений
--- Редактируйте уведомление -> выберите "Зарегистрировать событие в истории объекта" (там где выбирали "Отобразить онлайн-уведомление во всплывающем окне"). Создайте шаблон отчета "Уведомления". Добавьте в нее таблицу "События". Запускаете и смотрите всё, что происходило, пока пользователь был оффлайн.
3. Срабатывать онлайн-уведомления в оффлайн не могут. Потому они и онлайн.

При чем тут CMS?
Как раз из CMS не проблема отправить уведомление/сообщение, которое будет видно (всплывает) при логине.
Меня интересует возможность отправки такого же сообщения средствами remote API. Поэтому и спрашиваю, так как не нашел описание возможности отправки такого сообщения.

6

Команда для отправки уведомлений

Re: Команда для отправки уведомлений

CMS посылает ту же самую  команду user/update_user_notification.
Как послать данной командой сообщение пользователю, которое он может прочитать как только зайдет в систему:
1. Убедиться, что есть права слать сообщения пользователю
--- Самый простой способ:  зайдите в CMS и проверьте, есть ли в таблице "Все пользователи" интересующий вас пользователь.
2. Использовать сигнатуру:  Отправка онлайн уведомлений пользователям

svc=user/update_user_notification&params={"h":"сообщение","d":"телосообщения","s":"","ttl":1387536489,"itemId":<user_id>,"id":"0","callMode":"create"}&sid=<your_sid>

P.S. Зайдите на CMS, заполните все поля для отправки сообщения пользователю, включите консоль (FireBug/ DragonFly),  отправьте сообщение, отследите команду "user/update_user_notification", возьмите оттуда параметры для проверки.
Внимание: id-поле не должно быть пустым; обратите внимание на ttl-параметр: это дата на UTC, должна быть корректной, иначе не будет сработки.
P.P.S. Проверил на своей машине. Пользователь может слать сообщения другому (разрешенному) пользователю, может послать сообщение самому себе (указать itemId текущего пользователя).

Maksim
Wialon Platform QA
Gurtam
7

Команда для отправки уведомлений

Re: Команда для отправки уведомлений

P.S. Зайдите на CMS, заполните все поля для отправки сообщения пользователю, включите консоль (FireBug/ DragonFly),  отправьте сообщение, отследите команду "user/update_user_notification", возьмите оттуда параметры для проверки.

Гениально! smile Я вообще даже не подумал об этом... Это ведь отметает миллион вопросов, можно все что нужно "подсматривать". Спасибо!

По сообщению - права есть (виден в списке). Сейчас еще раз все перепроверю. У меня почему-то user/update_user_notification срабатывает только если пользователь онлайн.

8

Команда для отправки уведомлений

Re: Команда для отправки уведомлений

Это всё ttl-параметр. Мой жил 1 час. Уже истек. Теперь срабатывает лишь онлайн (типа время жизни: сейчас).
Вот величина, которая живет 30 дней: 1390212346. Поставьте его.

Maksim
Wialon Platform QA
Gurtam
9

Команда для отправки уведомлений

Re: Команда для отправки уведомлений

mast wrote:

Это всё ttl-параметр. Мой жил 1 час. Уже истек. Теперь срабатывает лишь онлайн (типа время жизни: сейчас).
Вот величина, которая живет 30 дней: 1390212346. Поставьте его.

Спасибо!
Действительно, я ошибался с форматом времени UTC.

Добавлено спустя   8 минут  4 секунды:
Не подскажете еще один момент: если в теле (или заголовке) есть хотя бы один пробел - сообщение не уходит. В чем может быть дело?

10

Команда для отправки уведомлений

Re: Команда для отправки уведомлений

Не подскажете еще один момент: если в теле (или заголовке) есть хотя бы один пробел - сообщение не уходит. В чем может быть дело?

Отправлял запросы в Chrome. Мои пробелы автоматом подменялись на "%20".
В  HTTP-запросах следует использовать "%20" вместо пробелов. Используйте их.

Maksim
Wialon Platform QA
Gurtam
11

Команда для отправки уведомлений

Re: Команда для отправки уведомлений

%20 вместо пробела

Development Department
Gurtam