Примеры server API - maks-0906/shards-of-empire GitHub Wiki

Создание нового здания

/building/new.json?building_id=(ID -здания) - Создание нового здания

Входящие парамерты:

  • building_id

Ответ:

  • при удачном улучшении, возвращается количество времени для постройки здания в секундах (finish_end_time);

  • при не удачном создании здания - статус 0

Когда остается последнее здание возращается - last_building: true;

/building/hold_improve.json?building_id=ID-здания&improve_id=ID-улучшения&personage_building_id=ID - новое внутреннее усовершенствования здания

Новое внутреннее усовершенствования здания

Входящие параметры:

  • building_id - ID-здания;

  • upgrade_id - ID-улучшения;

  • personage_building_id - ID-здания персонажа в текущем городе.

Исходящие данные:

  • при удачном улучшении, возвращается количество времени для проведения внутреннего улучшения в секундах (finish_end_time);

  • при не удачном улучшении - статус 0;

http://shards/building/upgrade_info.json?upgrade_id=1 улучшение подробнее

/building/main_info.json?building_id=ID - здания&personage_building_id=Id - получение данных о здании, которое выводится в вкладке (Общие)

Получение данных о здании, которое выводится...

Входящие данные

  • building_id - ID-здания;

  • personage_building_id - ID-здания персонажа в текущем городе.

Исходящие данные:

  • при удачном запросе массив - building;

  • при неудачном статус - 0 с текстовым описанием ошибки.

Исследования:

current.json, succeeding.json, consolidate.json Действие возможно после создания персонажа или входа в мир.

/research/current.json - предоставляет текущие данные исследований персонажа.

  • в случае успеха массив с индексом (current);

  • в случае не успешного получения данных статус - 0;

/research/succeeding.json - предоставляет данные на один уровень выше.

Запрос определяет уровень развития глобальных данных и возращает все данные на один уровень выше.

  • в случае успеха массив с индексом (succeeding);

  • в случае не успешного получения данных статус - 0;

/research/consolidate.json - добавляем в базу данных исследования персонажа

Входные параметры:

  • research_id - id исследования;

Ответ:

  • в случае успеха, статус -1;

  • в случае достижения максимального уровня, статус - 0, с текстовым уведомлением;

Во избежание преднамеренного установления своего уровня исследования пользователем, уровень на одну еденицу будет повышаться автоматически, при запросе по данной ссылке

/research/all.json - предоставляет полность все данные

  • в случае успеха, массив с индексом (all);

  • в случае не успешного получения данных статус - 0;

/resource/info.json - получению данных для модального окна свзянные с ресурсами города

       - При удачном выполнении действия возращается массивы данных (info, properties);

       - При неудачном получении данных статус - 0, с текстовым описанием ошибки;

      Ответ:
      { info[], properties[{total_number_resources - всего ресурса у персонажа,

        total_number_resource_city - всего ресурса в городе, 

        resource_consumption, 

        name_resource}]

, resource_id, name_resource, type, id_city, id_resource, personage_resource_state, number_epidemic, population, free_people, growth, happiness, tax, faith, crime, city_name, population_onflux, population_outflow}

/resource/properties.json - при клике на конкретный ресурса

  • При неудачном получении данных статус - 0, с текстовым описанием ошибки;

Входные параметры:

  • id_resource- ID ресурса;

Ответ:

{properties[{total_number_resources - всего ресурса у персонажа,

                 total_number_resource_city - всего ресурса в городе, 

                resource_consumption, 

                name_resource}]}

         Доход расчитывается по такой схеме: personage_resource_value + resource_consumption;

Карта:

map/init.json - инициализация карты

Входные параметры

  • Идентификатор мира, в котором играет персонаж: 'world_id'

  • Количество видимых ячеек по вертикали горизонтали: y_cnt и x_cnt

Ответ:

{ point, map[], pattern_list[] }

  • point - координаты персонажа

  • map - массив с данными для генерации карты

  • pattern_list - массив с данными о паттернах и их идентификации

map/get.json - инициализация карт

Входные данные:

  • Идентификатор мира, в котором играет персонаж: 'world_id'

  • Количество видимых ячеек по вертикали горизонтали: y_cnt и x_cnt

  • Координаты центрирования: center_x и center_y

Ответ:

{ point, map[], pattern_list[] }

Персонаж

Параметры от клиента при создании персонажа

Идентификатор мира, в котором создаётся персонаж: 'world_id' Идентификатор фракции, выбранной пользователем: 'fraction_id' Идентификатор образа персонажа: 'type_personage_id' Nick выбранный пользователем для персонажа: 'nick' Идентификатор религии: 'religion_id' Название первоначального города для персонажа: 'city' Статусы ответов и получение данных от сервера

Получение первоначальных данных fractions - массив с данными по фракциям types - массив с данными для образов персонажа religions - массив с данными о религиях для выбора При успешном создании персонажа получаем статус 1: status = 1 (successfully) При неправильных параметрах или требуемых параметрах общий статус 0: status = 0 (main_error) Пользователь не может создавать персонажа в мире, так как уже имеет персонажа в нём: status - 3 (user_exists) Пользователь не может создать персонажа так как такой уже существует в этом мире: status - 13 (personage_exists) URL запросы к серверу

Запрос для получения первоначальных данных: /personage/attributes.json Запрос для генерации персонажа: /personage/create.json Все действия производятся только после авторизации и если пользователь имеет в этом мире персонажа.одные участки для строительства выводится вместе с данными для основных и ресурсных зданий в массиве (free_sections) и указывает на количество оставшихся строительных участков.