Проект «Мафия онлайн» предоставляет интерфейс для получения из БД некоторой информации, которая может оказаться полезной для создания различных сторонних приложений. Данный интерфейс нельзя назвать 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=avt
param=list
Возвращает список Авторитетов: id персонажа, пол, ник, id отдела, ранг внутри отдела (цифрой от 1 до 6), имя файла значка (относительноhttps://st.mafiaonline.ru/images/moder/
), текущую локацию Авторитета, текст должности — и отделов (парами id — название).
action=fam
param=list
Возвращает список семей и заявок на регистрацию (id семьи, дата регистрации, название, URL-адрес сайта, id значка семьи, состояние заявки, id персонажа Главы семьи, тип (расширение) значка)param=members
Возвращает список игроков, состоящих в семье, id которой передан посредством параметраid
. При передаче неверного параметра выводится соответствующее сообщение.
action=log
param=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=gifts
param=sections
Возвращает информацию о разделах магазина подарковparam=gifts
Возвращает информацию о подарках, доступных для покупки в магазине подарков.
action=stats
Возвращает статистику сервера: количество зарегистрированных незаблокированных пользователей; количество сыгранных партий (всего, побед мафии, побед честных, ничьих, остановленных); количество игроков онлайн в данный момент.