Различия

Здесь показаны различия между двумя версиями данной страницы.

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
comet:ws-api [2018/06/03 05:58]
levhav
comet:ws-api [2019/12/18 01:58] (текущий)
Строка 4: Строка 4:
  
 Комет сервер отправляет данные в формате json Комет сервер отправляет данные в формате json
-С версии 4.1 будет принимать тоже большую часть запросов в json формате,​ а пока принимает в текстовом формате. 
- 
  
 ====== Авторизация ====== ====== Авторизация ======
Строка 51: Строка 49:
  
  
 +====== Подписка на события ======
  
 +Для подписки на события надо отправить текстовое сообщение следующего вида
 +<​code>​
 +subscription
 +pipe1
 +pipe2
 +pipe3
 +</​code>​
  
 +Ключевое слово subscription потом \n а потом список каналов на которые подписываемся разделённые переносом строки \n
  
 +Обратите внимание что подписка осуществляется на канал. Имена событий которые мы ожидаем отправлять не надо. ​
 +
 +Ответ на этот запрос не предусмотрен.
 +
 +Для того чтобы отписаться от некоторых каналов надо отправить заново список каналов на которые мы подписаны за исключением тех на которые мы не подписаны.
 +
 +Подписываться на канал msg не надо. Личные сообщения доходят всегда если мы авторизованны.
 +
 +====== Отправка сообщений в канал ======
 +
 +Чтобы отправить сообщение в канал аналогично функции web_pipe_send из JavaScript апи надо отправить сообщение какого вида:
 +
 +<​code>​
 +web_pipe2\nPipe_name\nEvent_name\n*\nMessage
 +</​code>​
 +
 +  * web_pipe2 - ключевое слово
 +  * Pipe_name - имя канала
 +  * Event_name - имя события
 +  * *  - всегда так отправляем так как этот параметр устарел и в дальнейшем не будет поддерживаться
 +  * Message - само сообщение (можно закодировать его в json)
 +
 +====== Получение последних сообщений из канала ====== ​
 +
 +Чтобы получить несколько последних сообщений из канала аналогично функции get_pipe_log из JavaScript апи надо отправить сообщение какого вида:
 +
 +<​code>​
 +pipe_log\nPipe_name\nMarker\n
 +</​code>​
 +
 +  * pipe_log - ключевое слово
 +  * Pipe_name - имя канала
 +  * Marker - случайное число из 10 символов. Ответ на этот запрос тоже будет содержать поле marker с этим числом для того чтоб вы могли понять на какой из запросов пишёл ответ. ​
 +
 +<note tip>​Поле marker везде себя ведёт так же как и тут. Оно используется чтоб при получении ответа вы знали на что именно пришёл ответ</​note>​
 +
 +====== Получение количества подписчиков в канале ====== ​
 +
 +Аналог функции count_users_in_pipe из JavaScript апи ​
 +
 +<​code>​
 +pipe_count\nPipe_name\nMarker\n
 +</​code>​
  
 +  * pipe_count - ключевое слово
 +  * Pipe_name - имя канала
 +  * Marker - случайное число из 10 символов.