Мы уже некоторое время готовим новый движок для Виртономики. Основная концепция этого механизма - разделение предоставления данных и их представления. То есть, реализуется некоторый интерфейс (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
Я правильно понимаю, что сюда выводятся все статьи даже если по ним был ноль и оборотов тоже не было
финансовый отчет по компании:
company/report/finance/byitem?id=<company_id>
?
В ответе нет информации о закупленных для ремонта станков. Или это отдельный будет запрос?
1. Эти запросы пока работают не для всех типов предприятий. Постепенно будем добавлять для остальных типов.
2. Это информация по заключенным контрактам, при покупке оборудования контракт не заключается.
финансовый отчет по компании:
company/report/finance/byitem?id=<company_id>
Это конечно хорошо, но немного не то что хотелось, общие цифры тоже в дело пойдут конечно, но к аналитике их сложно приплести, хотелось бы конкретики, а именно фин отчёт по подразделениям, стобы можно было оценить какие именно ресторнаы приносят больше денег и какая тенденция, из общих цифр мало что почерпнуть можно.
ну в целом конечно да. Некоторые вещи которые уже сделаны - могли бы идти десятым списком. Отчет по компании как раз туда относится.
А вот отчет по товарам/подразеделниям. Фин отчет по каждому причем с историей - куда более насущные отчеты. Хотя тоже все это не первой очереди. Что в первой было написано на первой странице
Если это не глюк браузера, хотя и обновлял через Ctrl+F5 что не учитывает кэш браузера, то тогда получается что API работает через кэш сервера. Что не совсем удобно особенно если использовать при настройках юнитов. В некоторых вещах нужна сразу свежая информация, которой похоже сейчас нет.
Всё может быть, и все быть может,
И лишь того не может быть,
Чего, быть может, быть не может -
Но и такое может быть!
Если это не глюк браузера, хотя и обновлял через Ctrl+F5 что не учитывает кэш браузера, то тогда получается что API работает через кэш сервера. Что не совсем удобно особенно если использовать при настройках юнитов. В некоторых вещах нужна сразу свежая информация, которой похоже сейчас нет.
занятно. Но возможно он работает как обычно, не все данные появляются сразу иногда надо что то в юните шевельнуть
по этому запросу браузеру должен отдаваться заголовок запрещающий кеширование, если браузер не дундук, то проблем ноу
Кэш идёт со стороны сервера, а не браузера. Что действительно сказывается весьма негативно на использовании данного типа запроса. А без кэширования запрос идёт очень долго, что не позволяет его адекватно использовать в скриптах квалы, например, поскольку в таком случае на всё про всё уходит полторы секунды в сравнении с парой сотых секунды при обработке имеющегося html. Подходит только для автоматизации действий, где время исполнения менее критично, и прогона будет достаточно один раз в день.
Есть методы AJAX стандартные через которые можно разорвать контракт на вкладке СБЫТ склада, завода?
Есть форма, через которую это можно сделать как я понимаю, НО возможно есть и способ оборвать один конкретный контракт и все.
О боги, да! Черт возьми, да! наконец можно будет автоматизировать процесс управления предприятиями используя обыкновенный крон где-то на серваке...
У меня главный вопрос: к какой дате (плюс-минус) будет реализован и описан максимально полный функционал?
p.s. Могу выделить специально обученного человека дабы помочь вам в реализации сей задачи. Разумеется, на условии благотворительных начал