API
Функции HTTP-API BnW дублируют команды красноглазого интерфейса (используются только длинные версии команд и аргументов). Взаимодействие с сервером происходит с помощью GET или POST запросов (на выбор пользователя), ответы выдаются в виде JSON.
В зависимости от успешности выполнения запроса, параметр ok в ответе принимает значения true или false. Если запрос неуспешен, то параметр desc будет содержать причину ошибки. Если функция требует авторизации, необходимо передать параметр login равный loginkey пользователя, который можно получить, отправив боту команду login.
Примеры запросов
Команда |
URL запроса |
Ответ |
Список команд |
https://bnw.im/api/ |
{"commands": ["feed", "comment", "show", "clubs", "tags", "recommend", "subscriptions/del", "today", "pm", "stat", "subscriptions", "update", "blacklist", "passlogin", "interface", "post", "vcard", "on", "search", "subscriptions/add", "off", "register", "userlist", "delete"], "ok": true} |
Создание поста |
https://bnw.im/api/post?text=пук+уау&login=1234567890abcdef |
{"ok": true, "id": "0XYNTA", "desc": "Message #0XYNTA has been delivered to 0 users. https://bnw.im/p/0XYNTA"} |
Показать пост |
https://bnw.im/api/show?message=ZG24XK |
{"messages": [{"tags": ["simplified"], "text": "Все команды жуйкоинтерфейса теперь нечувствительны к регистру", "anoncomments": "", "date": 1342214311.7753761, "clubs": ["@", "bnw"], "replycount": 4, "user": "stiletto", "anonymous": "", "recommendations": [], "indexed": true, "id": "ZG24XK"}], "cache_public": true, "cache": 5, "ok": true, "format": "messages"} |
Подписка на пост |
https://bnw.im/api/subscriptions/add?message=ZG24XK&login=1234567890abcdef |
{"ok": true, "desc": "Subscribed (4 replies)."} |
Примеры ошибочных запросов
Команда |
URL запроса |
Ответ |
Несуществующая команда |
https://bnw.im/api/kkk |
{"ok": false, "desc": "unknown command"} |
Попытка рекомендации несуществующий поста |
https://bnw.im/api/recommend?message=ABC&login=1234567890abcdef |
{"ok": false, "desc": "No such message."} |
Не указан/неправильный loginkey |
https://bnw.im/api/pm?user=stiletto&text=oh+hai |
{"ok": false, "desc": "Only for registered users"} |