Мы уже некоторое время готовим новый движок для Виртономики. Основная концепция этого механизма - разделение предоставления данных и их представления. То есть, реализуется некоторый интерфейс (API) который позволяет получать данные из игры, не зависимо от их представления в разметке HTML в вашем браузере.
Я пока не готов дать доступ ко всем функциям нового движка, но могу его предоставить к наиболее необходимым методам, для того, чтобы вы могли разрабатывать скрипты, которые не чувствительны к изменениям дизайна Виртономики. Все данные будут предоставляются в формате JSON.
В этой теме вы можете оставлять свои пожелания: какие функции необходимы в первую очередь для реализации полезных скриптов для нашей игры.
Я не гарантирую, что своевременно буду удовлетворять желания наших уважаемых разработчиков скриптов, так как наши ресурсы для разработки весьма ограничены.
- список категорий продуктов product/categories
- список продуктов product/browse
- список розничных продуктов product/goods
два последних метода могут принимать параметр category_id в качестве фильтра
Наверное, самый ожидаемый метод.
Если вы авторизованы в игре, то можно просматривать информацию о своих предприятиях запросом:
unit/summary?id=<unit_id> - где unit_id это id предприятия
- информация о компании my/company
список предприятий своей компании:
company/units?id=<company_id>
можно передавать параметры pagesize и pagenum для постраничного получения данных
Во всех методах, которые возвращают списки, можно передавать в параметрах к этому запросу, необходимые значения полей в качестве фильтров. Например, запрос: company/units?id=<company_id>&unit_type_id=1817 вернет только офисы.
список контрактов:
по поставщикам unit/sale/contracts?id=<unit_id>
по закупкам unit/supply/contracts?id=<unit_id>
можно передавать product_id в качестве фильтра
финансовый отчет по компании:
company/report/finance/byitem?id=<company_id>
Если вы изменили данные предприятия в виртономике через интерфейс пользователя, то необходимо актуализировать данные предприятия, которые вы получали через API, так как для получения данных в самой виртономике и в новом движке используются разные механизмы кэширования.
Чтобы актуализировать данные предприятия, надо выполнить POST запрос: unit/refresh
в POST данных надо передать id=<unit id> и token=<post token>.
Post token нужно получить с помощью GET запроса token
- информация по зарплатам в городах geo/salary
- информация по трудовым ресурсам geo/labors
Оба запроса могут принимать фильтр geo=<country_id>[/<region_id>[/<city_id>]]. Например, geo=7060 - Казахстан, geo=7060/7063 или geo=0/7063 - регион: Южный Казахстан, geo=0/0/422189 - город Гавана.
- транспорт и стоимость доставки geo/transport
Запрос должен принимать параметры city_id - город отправки или назначения, product_id - товар и geo (аналогично параметру geo для запроса geo/salary) - пункт назначения или отправки.
- различные бонусы в странах geo/country/bonus
- таможенные, экспортные и импортные пошлины geo/country/duty Принимает параметр country_id.
- значения ЕНВД для региона geo/region/envd
- стоимость энергии для региона geo/region/energy
Запросы должны принимать параметр region_id
Здравствуйте, есть необходимость через API назначить доставку товара на свое предприятие. В запросе unit/supply/set фигурирует параметр offer_id, это чей ID и как его можно получить ?
Здравствуйте, есть необходимость через API назначить доставку товара на свое предприятие. В запросе unit/supply/set фигурирует параметр offer_id, это чей ID и как его можно получить ?
Получаешь список поставщиков через unit/supply/offers, в ответе в массиве data ищешь своё предприятие-поставщика, там в поле "id" будет значение offer_id. Так же offer_id являются ключами в самом массиве data.
Кто подскажет правильный формат параметра "units_ids" в запросе company/equipment/repair?
Часто видел в полях xxxx_ids идентификатор в фигурных скобках, но сам по себе метод очень странный: не указаны никакие другие параметры, кроме идентификаторов. Подразумевается, что он отремонтирует всё без лишних вопросов или что? Лучше использовать unit/equipment/update для этих целей.
Кто подскажет правильный формат параметра "units_ids" в запросе company/equipment/repair?
Часто видел в полях xxxx_ids идентификатор в фигурных скобках, но сам по себе метод очень странный: не указаны никакие другие параметры, кроме идентификаторов. Подразумевается, что он отремонтирует всё без лишних вопросов или что? Лучше использовать unit/equipment/update для этих целей.
Когда ремонт производим через интерфейс, то в запросе получается строка типа unit[111111]=1515&unit[222222]=1515
где в скобках передаются id ремонтируемых юнитов (в данном случае офисы), а 1515 это id компьтеров. А как это в API передавать непонятно
Кто подскажет правильный формат параметра "units_ids" в запросе company/equipment/repair?
Часто видел в полях xxxx_ids идентификатор в фигурных скобках, но сам по себе метод очень странный: не указаны никакие другие параметры, кроме идентификаторов. Подразумевается, что он отремонтирует всё без лишних вопросов или что? Лучше использовать unit/equipment/update для этих целей.
Когда ремонт производим через интерфейс, то в запросе получается строка типа unit[111111]=1515&unit[222222]=1515
где в скобках передаются id ремонтируемых юнитов (в данном случае офисы), а 1515 это id компьтеров. А как это в API передавать непонятно
Можно гадать до бесконечности, но лучше не тратить на это время, если есть альтернатива. Но метод интересный, может быть, sergo нам подскажет.
Кто подскажет правильный формат параметра "units_ids" в запросе company/equipment/repair?
Если ещё интересно, то параметр нужно писать с добавлением квадратных скобок. Получится так: ”units_ids[]”:”6119543”. Чтобы добавить ещё ID – добавляешь ещё один параметр: ”units_ids[]”:”611954X”.