GOLOS API 2.0 или API с человеческим лицом.
Всем привет! На связи @captain Как я и писал уже, мне очень не хватает человеческого лица у API голоса - документированности и понятности. Очень здорово, что есть наработки под Erlang, например, но для меня это так же далеко как Луна, совсем не мой стек. Поэтому я решил сделать более простое API. Для его использования нужно только что-то, что умеет отсылать GET запросы over HTTP. А если вы работаете с Интернет-технологиями, то такое умеет любая из них.
Пока что я только 1 метод реализовал на пробу. Хочется обратной связи - нужно оно в таком виде или нет, что добавить, что изменить. Ну и куда дальше плыть.
Цепляется все это дело к БД Golos SQL и выкачивает оттуда информацию вам на радость. Можете поднимать у себя, можете пользоваться моим сервером, лицензия MIT.
Работа с API
- Обращаться к API нужно по адресу http://185.203.243.142/api/
- Каждый запрос содержит ряд GET параметров. Обязательный параметр только один, это method
- Результат возвращается в виде массива в формате json
- Пример запроса:
http://185.203.243.142/api/?method=getdiscussions&count=20&author=captain&tags=ru--golos&ignore_body
- Можно вернуть в том числе и сам текст SQL запроса, указав параметр sql
Описание методов
getdiscussions
Метод возвращает посты верхнего уровня. Все параметры не обязательные. По умолчанию возвращается 100 последних записей.
Параметры метода:
- count - количество возвращаемых записей, не более 100.
- offset - количество пропускаемых записей
- order - порядок сортировки. Может принимать значения id, tx_id, author, title, timestamp с модификатором desc в том числе.
- author - ник автора постов
- title - заголовок поста полностью или его часть
- search - поисковая фраза, по которой будет произведен поиск в заголовке и теле поста. В выдачу попадут только те посты в которых найдена указанная фраза. Не забывайте экранировать этот параметр
- from - дата в формате YYYY-MM-DD H:i:s начиная с которой будут выводиться посты
- to - дата в формате YYYY-MM-DD H:i:s по которую будут выводиться посты
- category - набор тэгов через запятую, которые являются основной категорией поста. Будут выбраны только те посты, в которых указана данная категория
- exclude_category - набор тэгов через запятую, которые являются основной категорией поста. Будут выбраны только те посты, в которых не указана данная категория
- tags - набор тэгов через запятую. Будут выбраны только те посты, в которых есть хотя бы один из этих тэгов.
- exclude_tags - набор тэгов через запятую. Будут исключены те посты, в которых есть хотя бы один из этих тэгов. Имеет приоритет над набором tags
- ignore_body - не добавляет в результаты выдачи тело поста