Привет капсулёрам!

Эта статья написана для разработчиков стороннего программного обеспечения, связанного с EVE. Если Вы работаете с XML API или CREST - то эта статья для Вас.

Чертежи

Многие из Вас уже давно этого ожидали, и мы пообещали сделать это к середине августа. Что ж, 26-ое число достаточно близко к середине, если вы пользуетесь функцией CCP_ROUND(). :)

Все просто. мы добавили две директории, char/Blueprints и corp/Blueprints, откуда можно получить полный список всех Ваших чертежей. Ну... почти: стоит ограничение на 200,000 штук, так что если кто-нибудь наберет больше... что ж, продайте лишнее. По крайней мере эти 200,000 больше, чем те 30,000, которые отображает клиент.

Для доступа к директориям необходим корпоративный/персональный ключ с доступом к списку активов (asset list). Пример вывода:

<eveapi versi>
    <currentTime>2014-08-21 10:56:59</currentTime>
    <result>
        <rowset name="blueprints" key="itemID" columns="itemID,locationID,typeID,typeName,flagID,quantity,timeEfficiency,materialEfficiency,runs">
            <row itemID="1000000012211" locati>
                <row itemID="1000000029372" locati>
                <itemID="1000000029375" locati>
                <row itemID="1000000029377" locati>
            </rowset>
    </result>
    <cachedUntil>2014-08-21 10:57:59</cachedUntil>
</eveapi>

В этом примере у нас несколько интересных вещей:

  • Первый предмет, 1000000012211, — это использованный однажды оригинал чертежа. Это видно по количеству запусков, равному −1.
  • Второй предмет, 1000000029372, — стек из 497 чертежей Аватара-Титана (известно, что только неиспользованные ни разу чертежи можно складывать в стек).
  • Третий предмет, 1000000029375, — максимально изученный по материалам чертеж, и число −1 опять же означает, что это оригинал.
  • Четвертый предмет, 1000000029377, — это копия чертежа Prophecy Blood Raider Edition на 20,000 запусков.

Надеюсь, что все понятно. :)

CharacterInfo

Здесь все действительно просто. Набор строчек, содержащий историю членства в корпорациях в директории CharacterInfo был обновлен добавлением записи corporationName. Это должно уменьшить количество вызовов для различных простейших вариантов использования.

Ну и куда же без примера:

<eveapi versi>
    <currentTime>2014-08-21 11:03:44</currentTime>
    <result>
        <characterID>90000001</characterID>
        <characterName>One One</characterName>
        <race>Gallente</race>
        <bloodline>Gallente</bloodline>
        <corporationID>98000001</corporationID>
        <corporation>One One Corporation</corporation>
        <corporationDate>2014-04-28 14:23:00</corporationDate>
        <securityStatus>0</securityStatus>
        <rowset name="employmentHistory" key="recordID" columns="recordID,corporationID,corporationName,startDate">
            <row recordID="7735" corporati>
            <row recordID="7734" corporati>
        </rowset>
    </result>
    <cachedUntil>2014-08-21 11:04:44</cachedUntil>
</eveapi>

Проблема с кэшированием IndustryJobs

Мы сделали два изменения в директории IndustryJobs. Первое касается только директорий corp/IndustryJobs and corp/IndustryJobsHistory. Здесь неправильно возвращаются значения cachedUtil. Информация действительно кэшируется с нашей стороны, но мы часто не возвращаем значение cachedUtil, что не совсем хорошо отражается на приложениях, использующих этот параметр. Сейчас все должно быть в порядке и возвращать правильные значения.

Чиним вероятности в IndustyJobs

Из-за моей оплошности есть некое недопонимание того, что поля вероятности в IndustryJobs возвращают только 0 или 1. Это большей частью из-за того, что я пытался преобразовать значения, возвращаемые базой данных, в байтовые значения вместо предоставления их сразу в готовом виде. Согласен, моя ошибка - починил. Теперь Вам должно отображаться действительное значение вероятности (обычно около 0.5) при запросе хотя бы одной из этих четырех поддиректорий.

Конечно же, пример:

<eveapi versi>    
<currentTime>2014-08-21 11:09:25</currentTime>
    <result>
        <rowset name="jobs" key="jobID" columns="jobID,installerID,installerName,facilityID,solarSystemID,solarSystemName,stationID,activityID,blueprintID,blueprintTypeID,blueprintTypeName,blueprintLocationID,outputLocationID,runs,cost,teamID,licensedRuns,probability,productTypeID,productTypeName,status,timeInSeconds,startDate,endDate,pauseDate,completedDate,completedCharacterID">
            <row jobID="136" installerID="90000001" installerName="One One" facilityID="1000000012417" solarSystemID="30000380" solarSystemName="Polaris" stationID="1000000012143" activityID="8" blueprintID="1000000012865" blueprintTypeID="2455" blueprintTypeName="Hobgoblin I Blueprint" blueprintLocationID="1000000012417" outputLocati>
        </rowset>
    </result>
    <cachedUntil>2014-08-21 11:10:25</cachedUntil>
</eveapi>

Все эти изменения уже вступили в силу на тестовом сервере Singularity.

Ну и наконец самое вкусное

Мы изменили кэширование CREST. Как его пользователю, Вам не нужно ничего другого — он предоставляет Вам больше возможностей кэширования и контроля. В результате — меньше кэш-промахов, быстрее ответы.

Ну и совсем-совсем последнее

Если Вы являетесь пользователем экспорта изображений, как мы это называем — IEC, я предлагаю Вам испробовать его как только запустим Гиперион. Мне кажется, что Вы найдете новые интересные изображения, возможно — по тематике производства, ISIS, умений и т.д. и т.п..

Выражаю огромную благодарность всем тем, кто помогал нам выискивать ошибки в API и был терпелив, пока мы их исправляли.

CCP FoxFour
@RegnerBA

Перевод © esselesse


Написать комментарий
 
EVE Online and the EVE logo are the registered trademarks of CCP hf. All rights are reserved worldwide. All other trademarks are the property of their respective owners. EVE Online, the EVE logo, EVE and all associated logos and designs are the intellectual property of CCP hf. All artwork, screenshots, characters, vehicles, storylines, world facts or other recognizable features of the intellectual property relating to these trademarks are likewise the intellectual property of CCP hf. CCP hf. has granted permission to EVE-RU to use EVE Online and all associated logos and designs for promotional and information purposes on its website but does not endorse, and is not in any way affiliated with, EVE-RU. CCP is in no way responsible for the content on or functioning of this website, nor can it be liable for any damage arising from the use of this website.