Наиболее свежие апдейты API уже достаточно давно присутствуют на http://apitest.eveonline.com/, а интерфейс управления ключами доступен тут: http://supporttest.eveonline.com/. Большая часть API-программистов уже и без того до мельчайших деталей знает, как работают новые игрушки, но я всё же намерен проговорить детали вслух, для гарантии ясности.

Настраиваемые API-ключи

Вы их просили — так вот, они есть. Новая система ключей API предоставляет спектр новых возможностей, которые (мы надеемся) наполнят радостью, светом и маленькими пушистыми котятами как разработчиков сторонних приложений, так и пользователей этих приложений.

  • Вплоть до десяти ключей на аккаунт
  • Настраиваемый доступ к API + шаблоны
  • Опциональность «срока жизни»
  • Разделённый доступ к информации персонажа и корпорации
  • Ключи с пространством доступа «персонаж» или «аккаунт»

Суть идеи в том, чтобы иметь полный контроль над тем, какая информация (и насколько долго) будет доступна через API с помощью этого конкретного ключа. Например, вы хотите дать директору вашей корпорации доступ к вашему кошельку, но только на сегодня. Вы можете создать ключ, который отдаёт только эту информацию, и истекает завтра. Когда вы выйдете из корпорации — вы вправе ограничить все каналы доступа к вашим API-данным, которые могли быть у вашего босса, и не создавать при этом новый ключ для тех сторонних приложений, которые вы используете.

Помимо того вы также можете настроить доступ к этим данным, исходя из персонажей. Если вы выберете одного из персонажей, ключ будет работать только для него, иначе — для всех ваших персонажей. Если у вас есть персонаж-CEO или директор — вы можете сделать корпоративный ключ, который открывает информацию этой корпорации.

Под шаблонами мы имеем в виду, что разработчики сторонних предложений смогут давать пользователям линки на форму генерации API с предопределённой маской доступа, которая определяет, что нужно для корректной работы данного приложения, и требуемые страницы API будут выделены в форме автоматически.

Веб-интерфейс управления ключами переехал на сайт поддержки. Старый интерфейс, впрочем, останется открытым, и пока что вы можете создавать и использовать старые ключи. Мы не знаем в точности, когда избавимся от них; мы хотим дать разработчикам достаточно времени для переключения на новый формат и для информирования пользователей об изменениях. Но это время измеряется в неделях, и ориентировочно находится где-то в районе 4–8 недель. Мы будем смотреть за использованием ключей, и сообщим вам о переключении заранее, до того, как «дёрнем рубильник».

Чтобы использовать новые ключи, вы можете отбросить старые параметры userID и apiKey, и использовать вместо них keyID и vCode. Вы можете найти keyID в первой колонке (той, что называется ID) на соответствующем сайте, vCode означает Verification Code и отображается в той же таблице для каждого ключа.

Техническая информация из соответствующего девблога CCP Stillman всё ещё актуальна. По ссылке вы можете найти некоторые примеры того, как использовать эти ключи в системе, и как создать шаблон/предопределённый линк.

Контракты

Это — другой часто встречающийся запрос от сообщества. Я постил девблог, в котором объяснял стратегию, которой мы будем придерживаться. Вкратце: мы решили придерживаться этой стратегии.

Мы создали три новых страницы для отображения контрактной информации. ОК, на самом деле три пары страниц, поскольку вы можете отдельно запросить информацию о персонаже и о корпорации.

/char/Contracts.xml.aspx: содержит контракты, выставленные в течение последнего месяца, и — кроме того — все контракты, помеченные как «незавершенные» или «текущие». С помощью параметра ContractID можно получить одиночный контракт. У каждого элемента списка есть следующие атрибуты:

  • contractID
  • issuerID: Персонаж — создатель контракта.
  • issuerCorpID: Корпорация, к которой принадлежал создатель контракта на момент создания этого контракта.
  • assigneeID: Персонаж или корпорация, которой был переуступлён контракт, 0 если отсутствует.
  • acceptorID: Персонаж, принявший контракт, 0 если отсутствует.
  • startStationID
  • endStationID
  • type: Может быть «ItemExchange», «Auction», «Loan» или «Courier».
  • status: Может быть «Outstanding», «InProgress», «CompletedByIssuer», «CompletedByContractor», «Completed», «Cancelled», «Rejected», «Failed», «Deleted» или «Reversed».
  • title: Оставленное игроком описание. Странное название, мы в курсе.
  • forCorp: 1 если контракт выставлен от лица корпорации, 0 в противном случае.
  • availability: Может быть «Public» или «Private». Доступность может быть установлена как «My Corporation», в этом случае доступность тут — «Private» а assigneeID — корпорация, к которой принадлежал создатель контракта на момент создания этого контракта.
  • dateIssued
  • dateExpired
  • dateAccepted: Пусто, если контракт не был принят.
  • numDays: Количество дней на завершение контракта.
  • dateCompleted: Пусто, если контракт не был завершен.
  • price
  • reward
  • collateral
  • buyout
  • volume

/char/ContractItems.xml.aspx: Содержит список предметов конкретного контракта, используйте параметр contractID чтобы указать на контракт. Прошу заметить: для курьерских контрактов предметы не отображаются. Каждый предмет в списке имеет следующие атрибуты:

  • recordID: Уникальный ключ.
  • typeID: Тип предмета.
  • quantity: Действительно присутствующее количество предмета.
  • rawQuantity: Этот атрибут показывается, если количество — отрицательное число в базе данных. Отрицательные значения на самом деле коды, -1 означает, что предмет — «одиночка» (не может быть в стеке). Если это чертёж, то -1 — оригинал, а -2 — копия.
  • singleton: 1 если это «одиночка», 0 если нет.
  • included: 1 если создатель контракта вложил этот предмет в контракт, 0 если он хочет получить этот предмет контрактом.

/char/ContractBids.xml.aspx: Содержит последние ставки, которые были сделаны на недавних аукционах. Первый запрос содержит все ставки, сделанные на аукционах в последние месяцы, но последующие запросы отображают только те ставки, которые были сделаны с момента последнего запроса. Атрибуты в данном случае прямолинейны и говорят сами за себя:

  • bidID: Уникальный ключ.
  • contractID
  • bidderID
  • dateBid
  • amount

Эти страницы доступны с помощью ключей персонажа. Папка /corp содержит точно такие же страницы, доступные через корпоративные ключи. Изъятие данных может чуть отличаться, но возвращаемые API данные — такие же, как и в папке /char

Прочее

  • Предметы в AssetList (и в ContractItems) теперь содержат атрибут rawQuantity, если количество в базе данных отрицательно. Отрицательные значения на самом деле коды, -1 означает, что предмет — «одиночка» (не может быть в стеке). Если это чертёж, то -1 — оригинал, а -2 — копия. Для дальнейших справок по поводу негативных значений — смотрите сюда.
  • MarketOrders.xml.aspx теперь будет возвращать все активные ордера, и кроме того — все ордера, выставленные в последние 7 дней. Опциональный параметр «orderID» может быть добавлен, чтобы выделить любой ордер, принадлежащий вашей корпе/персонажу.
  • CharacterInfo.xml.aspx теперь включает историю найма (список корпораций, в которых был персонаж).
  • WalletJournal.xml.aspx больше не должно вызывать Скотти, если rowCount высок.

Титры

Я считаю: стоит заметить, что CCP Prism X и CCP Stillman сделали львиную долю работы по созданию настраиваемых API-ключей. Всё, что я сделал — это повосхищался их работой, и добавил пару мелких усовершествований к ней.

Это всё. Спасибо за внимание. Я знаю, текст был сухим и скучным (как всегда). И мне совсем не стыдно. Увидимся на форумах.

CCP Elerhino


Перевод © Clancy

[#] 10.09.2011 @ 17:37 by Arronaxe2
+ 0 -
Не станут ли эти настройки дырой в защите аккаунта? ответить
- [#] 10.09.2011 @ 19:16 by .up
+ 0 -
нет ответить
[#] 16.09.2011 @ 15:10 by Demigod
+ 0 -
ничего не станет, думаю разрабы с умом к делу подлошли. ответить

Написать комментарий
 
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.