Проект «Мафия онлайн» предоставляет интерфейс для получения из БД некоторой информации, которая может оказаться полезной для создания различных сторонних приложений. Данный интерфейс нельзя назвать API в классическом смысле этого слова, т.к. готовых библиотек классов и функций пока нет. Однако всё необходимое для получения информации с сервера здесь будет описано. Обёртка представленной здесь информации в код на вашем любимом языке программирования остаётся лишь делом техники. Поэтому, с поправкой на вышесказанное, будем гордо наименовать данный документ полным «справочником» по API «Мафии онлайн». 🙂
Актуальная на данный момент версия — 1.1.0 (06.08.2020)
Запрос к API
Для выполнения запроса к API необходимо осуществить вызов скрипта https://www.mafiaonline.ru/api/api.php, которому методом GET необходимо передать следующие аргументы:
action* — вызываемый метод API;param— необязательный параметр, используется в некоторых методах в качестве аргумента.
Ответ API
На данный момент API предоставляет информацию в формате JSON, в кодировке utf-8.
Доступные методы API
action=ver
Возвращает информацию о текущей версии API.action=userlist
Возвращает список незаблокированных пользователей, достигших первого уровня, вместе с их ID.action=info
В качестве параметраparam=принимает ник игрока.Возвращает информацию об игроке: id, уровень, точное написание ника, пол, дату регистрации, значок Авторитета, значок семьи, текущее расположение (локацию), дату рождения, информацию о статистике игрока (С-В-П, кол-во очков, рейтинг), информацию о текущем наказании игрока. Если такого игрока не существует, выводится соответствующее сообщение.
Дополнительные опции конфигурации:- возможен запрос без получения статистики — для этого к запросу нужно добавить параметр
stat=no - возможно запросить содержимое дополнительной информации о персонаже — для этого к запросу нужно добавить параметр
i=yes - возможно запросить сумеречные «статы» игрока — для этого к запросу нужно добавить параметр
s=yes; если игрок в паспорте — все статы будут возвращены равными-1 - возможно запросить перечень ачивок персонажа — для этого к запросу нужно добавить параметр
a=yes - возможно запросить перечень подарков персонажа — для этого к запросу нужно добавить параметр
g=yes
- возможен запрос без получения статистики — для этого к запросу нужно добавить параметр
action=avtparam=list
Возвращает список Авторитетов: id персонажа, пол, ник, id отдела, ранг внутри отдела (цифрой от 1 до 6), имя файла значка (относительноhttps://st.mafiaonline.ru/images/moder/), текущую локацию Авторитета, текст должности — и отделов (парами id — название).
action=famparam=list
Возвращает список семей и заявок на регистрацию (id семьи, дата регистрации, название, URL-адрес сайта, id значка семьи, состояние заявки, id персонажа Главы семьи, тип (расширение) значка)param=members
Возвращает список игроков, состоящих в семье, id которой передан посредством параметраid. При передаче неверного параметра выводится соответствующее сообщение.
action=logparam=info
Принимает номер партии в качестве аргументаid=.
Возвращает краткую информацию о партии: id, дату и время завершения (UNIX timestamp), локацию партии, флаг VIP-клуба, результат партии, массив игроков партии: состояние игрока на конец партии, роль, ник игрока, id игрока (либо-1, если он был в паспорте), полparam=log
Принимает номер партии в качестве аргументаid=. Возвращает полную информацию о партии: то же, что и предыдущий метод, плюс краткий лог игры и полный лог чата.param=list
Принимает в качестве аргументаdate=дату в форматеYYYYMMDD.
Возвращает список партий, сыгранных в указанную дату. Данные по каждой партии аналогичны методуparam=info, за исключением списка игроков.param=current
Не принимает аргументов. Возвращает список текущих партий: id, дату и время начала, локацию правил партии, признак VIP-клуба, массив словарей «id игрока – ник» (если игрок использует поддельный паспорт, в качестве id будет значение-1).
action=giftsparam=sections
Возвращает информацию о разделах магазина подарковparam=gifts
Возвращает информацию о подарках, доступных для покупки в магазине подарков.
action=stats
Возвращает статистику сервера: количество зарегистрированных незаблокированных пользователей; количество сыгранных партий (всего, побед мафии, побед честных, ничьих, остановленных); количество игроков онлайн в данный момент.