Ура! Больше новостей от девблога для разработчиков сайтов. В этот раз мы поговорим о рыночных данных.

Скажем сразу начистоту: мы НЕ считаем, что это убьет такие веб-сайты как EVE Central и не пытаемся это сделать. Формат нынешних данных не очень удобен для многих приложений. И данные не лучшим образом оптимизированы, если вы пытаетесь получить их в большом объеме о разных вещах и для различных регионов. Веб-сайты, такие как EVE Central и их API будут на связи еще долгое время. И мы надеемся, что EVEMon также не перестанет «выскабливать» кэш в дальнейшем.

Организация рынка

Когда приходится иметь дело с рыночными данными, одна из важных вещей - это знать какие типы вещей там имеются, чтобы получить информацию о них. Для этого случая у нас есть MarketTypes - ресурс, доступный по следующему маршруту: /market/types/

Мы также сделаем доступным ресурс MarketType. MarketTypes это собрание всех возможных ресурсов MarketType. Вы можете получить доступ к личным ресурсам MarketType по следующему пути: /market/types/<typeID:int>/

MarketTypes могут быть выведены с результатом до 1,000 на страницу. C 11,273 типами доступными в это время на рынке, записанными на 12 страницах.

Вы также можете отфильтровать MarketTypes указывая группу, которую можно взять из ресурса MarketGroups, находящихся по следующему маршруту: /market/groups/

MarketTypes принимает параметр группы и ожидает, что это будет ссылка (href) к MarketGroup.

Пример:

GET /market/types/?group=http://public-crest-sisi.testeveonline.com/market/groups/2/ HTTP/1.1
Host: public-crest-sisi.testeveonline.com
Accept: application/vnd.ccp.eve.MarketTypeCollection-v1+json

Вселенная

Из-за технических решений в дни ранней Евы, данные рынка оказались разделены по регионам. Это значит, что вам необходима региональная информация из CREST, если вы хотите иметь возможность получать все рыночные данные из CREST без наведения справок о регионах в SDE. По этой причине, мы взяли и привели в порядок некоторые ресурсы вселенной и сделали их доступными. Теперь вам могут быть доступны ресурсы Регионов, Региона, Созвездий, Солнечных систем и Планет (Regions, Region, Constellation, SolarSystem, and Planet resources).

Начиная с Регионов находящихся по адресу /regions/ вы можете получить список всех регионов в игре. Из этого следует, что вы можете пройти к индивидуальным ресурсам Региона по адресу - /regions/<regionID:int>/ который даст вам всю информацию о регионе, включая созвездия этого региона. Я думаю, вы можете догадаться к чему это ведет. К тому, что вы можете пройти по ссылкам на каждое созвездие, затем на каждую солнечную систему и в, конце концов, на каждую планету.

Это позволит увидеть полную картину вселенной.

Это один из ключевых элементов, однако, этого вернемся к ресурсу Регион. Каждый Регион предоставляет подробную информацию для региона, такую как имя, X, Y, Z, и созвездиям, также дающим две других ссылки к ресурсам MarketBuyOrders и MarketSellOrders — ордера на покупку и ордера на продажу для текущего региона.

Сделаем это вместе

Важно помнить, что одна из идей стоящих за CREST, это то, что приложения не должны создавать URIs (унифицированные индикаторы ресурсов) сами. Для получения дополнительной информации, я настоятельно рекомендую вам посмотреть эту презентацию. Итак, запомнив все это, первый шаг - получить URI к тем типам рыночных ордеров, которые вам необходимы. Если вам просто необходимы все типы рынка - вы можете взять их из корня в MarketTypes. Каждый элемент в этом ресурсе будет иметь href для соответствующего типа.

Далее, если вы хотите получить рыночные ордера для каждого региона в игре, вы должны перейти от корня к Регионам, следуя по ссылке для каждого элемента к индивидуальному ресурсу Региона и взять href на MarketBuyOrders.

С href для каждого регионального MarketBuyOrders и href для всех типов, вы можете послать запрос GET к региональным MarketBuyOrders с дополнительным параметром типа, который включает href этого типа.

Делая так, как описано выше, во время указания заголовка Accept означает, что если мы когда-нибудь изменим пути или формат любого из ресурсов, ваше приложение будет продолжать работать, и я не буду против перемещения данных со всей вселенной в /universe/regions/ вместо простого /regions/.

Пример:

GET /market/10000002/orders/buy/?type=https://api-sisi.testeveonline.com/types/683/ HTTP/1.1
Host: https://api-sisi.testeveonline.com
Authorization: Bearer jKVB8oaN9qboU5kQG4sWSoWxzSUaFkQaUyeisy8jWU3apRfYSgYsKpZGNbLh41xXEzuy-NDBX1FohEdEadaukQ2
Accept: application/vnd.ccp.eve.MarketOrderCollection-v1+json

Получение доступа

Ресурсы для групп рынка и типов рынка вместе со всеми данными вселенной будут представлены через общий CREST(public CREST). На самом деле это все есть на Sisi прямо сейчас: public-crest-sisi.testeveonline.com

Ресурсы ордеров покупок и продаж не будут доступны через public CREST. Для этого есть несколько причин, но на самом деле это хорошо для вас, парни. Поскольку этого ресурса не будет в public CREST, мы все же хотим, чтобы вы получили к ним доступ, и поэтому нам необходимо дать вам индивидуальный/требующий авторизации CREST (Authed CREST). Authed CREST к тому же имеет более высокий предел скорости. Это потребует создания приложений здесь, на сайте разработчиков и выбора ограничений доступных данных. Да, это не означает, что будет, в принципе, невозможно получить эти данные прямо из authed CREST в такие вещи как Excel, Google Docs, отправляя обычные заголовки вместе с потоком личных данных. Однако использование authed CREST дает нам больше уверенности в предоставлении открытых ресурсов, и подготовке к использованию authed CREST, сохраняющего конфиденциальные данные, а также позволит нам более эффективно контролировать/наблюдать за людьми, использующими его.

Работа по улучшению сайта разработчиков, чтобы позволить вам создавать приложения и использовать эти возможности в настоящее время продолжается, и должна быть закончена к выходу Реи. На данный момент, однако, уверен, многие из вас хотя протестировать эти возможности на Sisi; напишите в девблог, прокомментировав эту тему и включив имя вашего приложения и ID клиента. Затем, я обновлю приложение, чтобы получить обновленные токены, задав им определенные границы возможностей. Т.к. все это будет сделано вручную, пожалуйста поймите, если это будет немного медленно :)

Вывод

Вот и все. Я ожидаю сайт, копирующий пользовательский интерфейс рынка в ближайшее время, парни. У вас есть история рынка и информация об рыночных ордерах уже сейчас. Я должен отметить, что идет обсуждение создания ресурсов истории рынка, работающих как рыночные ордера с параметром.

Мы будем держать вас в курсе того, как это продвигается.

- CCP FoxFour

Перевод © zima

[#] 27.11.2014 @ 08:17 by looooser
+ -1 -
есть недочеты по тексту небольшие, по переводу и формировании предложений ответить
- [#] 27.11.2014 @ 18:02 by .up
+ 0 -
Напиши автору через форум, поправим ответить
[#] 28.11.2014 @ 07:14 by Topachka
+ -1 -
Этот человек говорит об "формировании" предложений? Выскочка, тфу на тебя, человек-гавно.
Если уж ты используешь слово "формирование" то склоняй его хотя бы правильно: - "по переводу и формированиЮ"! ответить
- [#] 28.11.2014 @ 09:11 by looooser
+ -1 -
ну тут сыграл сыграл свою злую шутку человеческий фактор - банальная очепятка. А кто из говно, тут еще подумать надо. ответить
[#] 28.11.2014 @ 23:43 by bezeus
+ 0 -
Человек-пук-в-лужу здесь ты. Допустимо использование "о формировании", но не "об формировании". Чтобы больше так не позориться - пиши автору в личку ответить
[#] 27.11.2014 @ 18:28 by Arc34
+ -1 -
Много специализированной какой-то информации, мне мало что пояснило, можно просто и понятно получить ответ на самый главный вопрос жизни, вселенной и всего основного: в ингейм маркете я смогу видеть товары во всех регионах Эдема или нет?? ответить
- [#] 27.11.2014 @ 18:30 by Arc34
+ 0 -
*остального ответить
[#] 27.11.2014 @ 20:59 by bezeus
+ 0 -
42 ответить
[#] 27.11.2014 @ 21:01 by bezeus
+ 0 -
Расшифрую свой предыдущий ответ: В ингейм - нет. В сторонних приложениях, работающих через CREST - да. ответить
[#] 27.11.2014 @ 19:00 by x362L
+ 1 -
Уже есть такой http://evemarket.freeiz.com/ ответить
- [#] 27.11.2014 @ 21:02 by bezeus
+ 0 -
Отличный ты ресурс линканул: Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in / home/ a3914567/ public_html/ mysql. php on line 2 ответить

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