to post messages and comments.

HTTP API

Запросы GET (для чтения) и POST (для написания сообщений / комментариев) на http://api.juick.com.

Для GET-запросов возвращается результат в формате JSON / JSONP; имя callback-функции для JSONP – в параметре callback.

Блоги

Список последних сообщений:

http://api.juick.com/messages

Поиск по сообщениям:

http://api.juick.com/messages?search=запрос

Фильтрация по тегу:

http://api.juick.com/messages?tag=тег

Фильтрация по типу контента:

http://api.juick.com/messages?media=all
http://api.juick.com/messages?media=photo
http://api.juick.com/messages?media=video

Последние сообщения пользователя:

http://api.juick.com/messages?uname=nick
http://api.juick.com/messages?uname=nick&tag=тег

Для списков сообщений выводится одна «страница». Для вывода дополнительных «страниц»: параметр before_mid

http://api.juick.com/messages?before_mid=id последнего загруженного сообщения

Просмотр сообщения с комментариями:

http://api.juick.com/thread?mid=message ID

Приватные сообщения (чаты)

Последние сообщения чата:

http://api.juick.com/pm?uname=ugnich

Отправить сообщение (POST):

http://api.juick.com/pm?uname=ugnich&body=hello+world

Пользователи

Получение информации о пользователе по нику или JabberID (не более 20 за один вызов):

http://api.juick.com/users?uname=ugnich&uname=test&jid=jid@example.net&jid=i@example.com

Блоги, которые читает пользователь:

http://api.juick.com/users/read?uname=ugnich

Подписчики пользователя:

http://api.juick.com/users/readers?uname=ugnich

Блоги, которые читает текущий аутентифицированный пользователь:

http://api.juick.com/users/read

Подписчики текущего аутентифицированного пользователя:

http://api.juick.com/users/readers

Список тегов

Популярные теги:

http://api.juick.com/tags

Все теги пользователя:

http://api.juick.com/tags?user_id=uid

Прочее

Аватары:

Аватар пользователя с UID=123 доступен по адресу:
http://i.juick.com/a/123.png — 96x96px
http://i.juick.com/as/123.png — 32x32px

Аватар пользователя с ником ugnich доступен по адресу:
http://api.juick.com/avatar?uname=ugnich
http://api.juick.com/avatar?uname=ugnich&size=32

Все аватары хранятся в формате PNG.

WebSocket

Все публичные посты:

ws://ws.juick.com/_all

Ответы во всех публичных постах:

ws://ws.juick.com/_replies

Публичные сообщения пользователя:

ws://ws.juick.com/ugnich/

Комментарии к публичному сообщению:

ws://ws.juick.com/1234567

Соединение с сервером WebSocket и обмен данными осуществляются в формате, описанном в RFC 6455.

Если клиент ничего не передавал серверу через websocket соединение в течение 60 секунд, то сервер отправит ему текстовое сообщение состоящее из одного символа пробела. Если клиент ничего не передавал серверу в течение 3-х минут, то сервер разорвет соединение. Чтобы поддерживать длительные соединения, желательно отвечать на "пинги" сервера. Например, следующим кодом на JavaScript:

websocket.onmessage=function(event) {  
  if(event.data==' ') {
    websocket.send(' ');
  } else {
    // ...
  }
};

Push уведомления

Google Cloud Messaging:
http://api.juick.com/android/register?regid=...
http://api.juick.com/android/unregister?regid=...
Microsoft Push Notification Service:
http://api.juick.com/winphone/register?url=...
http://api.juick.com/winphone/unregister?url=...