AJAX-API форума Миста.ру

Движок форума Миста.ру местами поддерживает ajax-вызовы. Тут перечислены некоторые функции с примерами вызовов. Ajax-api может быть использовано как в пользовательских скриптах, так и для доступа к материалам форума с других сайтов, а в перспективе, и к созданию альтернативных клиентов.

Получение данных

/api/topic.php (/ajax_index.php) - список тем форума

параметры:

  • topics - число тем, которые нужно вернуть (по умолчанию - 20);
  • utime - время (в формате unixtime) после которого надо вернуть ветки;
  • callback - если указано, то ответ заворачивается в вызов функции, имя которой передано в параметре (реализация JSONP);
  • forum - раздел форума (1c|it|life);
  • section_short_name=politic - отбор по краткому имени секции
  • mytopics=1 - отбор только своих тем
  • user_id - отбор тем пользователя

возвращаемое значение:

массив в формате json. каждый элемент массива соответствует теме форума. порядок элементов в массиве соответствует порядку тем. поля элемента массива:

  • id - идентификатор темы, число;
  • forum - название раздела форума, строка;
  • sect1 - краткое наименование секции (если есть), строка;
  • sect2 - код секции (если есть);
  • closed - 1, если тема закрыта;
  • down - 1, если тема утоплена;
  • text - заголовок темы, строка;
  • user0 - ник создателя ветки, строка;
  • user - ник последнего ответившего, строка;
  • utime - время последнего ответа в формате unixtime, число;
  • is_voting - 1 если голосование
  • answ - число сообщений в ветке.

/ajax_gettopic.php - информация о ветке

параметры:

  • id - идентификатор (topic_id) темы (!)
  • callback - если указано, то ответ заворачивается в вызов функции, имя которой передано в параметре (реализация JSONP).

возвращаемое значение:

структура в формате json.

  • id - topic_id
  • text - заголовок
  • forum - одно из {'1c','it','life','moder'}
  • section - секция ветки
  • created - дата/время создания ветки
  • user_id - user_id автора ветки
  • user_name - ник автора ветки
  • updated - дата/время обновления ветки
  • updated_name - ник обновившего ветки
  • answers_count - количество ответов
  • down - 1 если ветка утоплена
  • closed - 1 если ветка закрыта
  • deleted - 1 если ветка удалена
  • is_voting - 1 если голосование
  • voting - массив вариантов голосования:
  • * select - вариант ответа
  • * result - количество голосов

/api/message.php (/ajax_topic.php) - список сообщений темы.

параметры:

  • id - идентификатор (topic_id) темы (!)
  • from - с какого сообщения. если не указан, то с первого
  • to - до какого сообщения. если не указан, то from+10
  • callback - если указано, то ответ заворачивается в вызов функции, имя которой передано в параметре (реализация JSONP).

возвращаемое значение:

массив в формате json. каждый элемент массива соответствует сообщению темы форума. порядок элементов в массиве соответствует порядку сообщений. поля элемента массива:

  • id - идентификатор сообщения;
  • n - номер сообщения;
  • text - текст сообщения;
  • user - ник пользователя.
  • utime - время отправки сообщения в формате unixtime.
  • vote - выбранный пункт голосования

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

/ajax_login.php - авторизация пользователя.

параметры:

  • username - логин (ник) пользователя (!);
  • password - пароль пользователя (!);
  • callback - если указано, то ответ заворачивается в вызов функции, имя которой передано в параметре (реализация JSONP);

возвращаемое значение:

хеш-массив (структура) в формате json. поля структуры:

  • userid - идентификатор пользователя или 0, число
  • error - описание ошибки авторизации или пустая строка

/api/users.php - список пользователей.

параметры:

  • name - логин (ник) пользователя. Поиск по первым символам;
  • count - количество значений в выдаче (по-умолчанию 20);
  • from - начиная с какого значения (по-умолчанию 0);
  • callback - если указано, то ответ заворачивается в вызов функции, имя которой передано в параметре (реализация JSONP);

возвращаемое значение:

массив структур в формате json. поля структуры:

  • id - идентификатор пользователя, число;
  • name - логин (ник) пользователя;