/v2/items Enabled

#1 - Sept. 25, 2014, 1:27 p.m.
Blizzard Post

Hey folks, we’ve just enabled /v2/items. Documentation isn’t quite ready yet but I’ll be talking to poke and we’ll go from there.

Querying it is identical to the other /v2 APIs.

https://api.guildwars2.com/v2/items/12138
https://api.guildwars2.com/v2/items?page=0
https://api.guildwars2.com/v2/items?page=1&page_size=200
https://api.guildwars2.com/v2/items?ids=12138,57

#7 - Sept. 25, 2014, 6:50 p.m.
Blizzard Post

I’m PRETTY sure this looks wrong: https://api.guildwars2.com/v2/items/21092

Shouldn’t that ‘upgrade_component’ property instead be a ‘details’ property?

Hmm, looks like our tests weren’t checking for that. Probably just a mapping update, but we’ll take a look.

#8 - Sept. 25, 2014, 6:51 p.m.
Blizzard Post

Documentation is now available on the wiki. For now, I’ll refer you to the v1 documentation for the type-specific properties. I’ll update that as soon as I verified whether the format changed for anything in v2.

Thanks a ton poke, sorry about the surprise launch. trying to get /v2 APIs out as fast as we finish cleaning them/making them scale, so this probably isn’t the last surprise :-\

#14 - Sept. 26, 2014, 12:48 p.m.
Blizzard Post

I’ve made this naive approach exactly to show how inconvenient it is to retrieve certain items at the moment.

The current API design somewhat encourages lots of API calls which are obviously bad both for Arena.NET and for the user. An item search API or an interface like your item_names.json would be quite a pleasure.

I’m currently caching all items in a similar structure as your item_names.json but to build this I still need to download every single item once. This is a pretty huge amount of data just to make a simple search: ~38k items = ~38k HTTP calls…

38000 items / 200 per page using pagination = 190 requests.

But yes, I agree a search API would be nice!

#15 - Sept. 26, 2014, 1 p.m.
Blizzard Post

The full documentation is now available, including all edge cases and oddities currently in the API.

This is awesome, thanks so much poke! We’ll get the upgrade_components & default_skin bugs sorted pretty soon here.

#16 - Sept. 26, 2014, 1:49 p.m.
Blizzard Post

https://api.guildwars2.com/v2/items/56

default_skin is now a number, like it should’ve been all along

https://api.guildwars2.com/v2/items/21092

UpgradeComponents now have a proper details object, like they should’ve had all along.

Sorry about the bugs! We have lots of items, some are weird XD

#23 - Sept. 28, 2014, 1:31 a.m.
Blizzard Post

Yeah, sorry about that. We’re working on a plan to clean up the Commerce listings database but obviously we’re being very careful abut it because, y’know, Commerce DB.

#25 - Oct. 20, 2014, 11:29 a.m.
Blizzard Post

Hey, is anyone else running into HTTP “speed bumps”? If I send too many requests, I start seeing HTTP 502 (Gateway Timeout) and I have to wait a minute or two before I can send new requests. Just wondering if this is a technical limitation, or if we’re being throttled.

edit

Must have been a network congestion thing. It doesn’t happen now, even though I tweaked my code to send even more requests. My best record is a full download of the items database for all languages in just under 32 seconds. I’m impressed by how well the API responds to that many concurrent requests.

:)

#27 - Oct. 20, 2014, 5:28 p.m.
Blizzard Post

xD sorry. What would be a more democratic delay between each request?

No no, I’m thrilled that you can grab it that fast.

#31 - Oct. 21, 2014, 11:39 a.m.
Blizzard Post

API talks to some of the same back end servers, but the public API frontend you hit is totally separate from game systems.

#36 - Oct. 24, 2014, 1:18 p.m.
Blizzard Post

Hey folks, we’ve just enabled /v2/items. Documentation isn’t quite ready yet but I’ll be talking to poke and we’ll go from there.

Querying it is identical to the other /v2 APIs.

https://api.guildwars2.com/v2/items/12138
https://api.guildwars2.com/v2/items?page=0
https://api.guildwars2.com/v2/items?page=1&page_size=200
https://api.guildwars2.com/v2/items?ids=12138,57

By the way, your page_size parameter seems to be ignored. X-Page-Size always return 50 when specifying pages.

RedBot and my browser agree that it’s fine.

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Encoding: gzip
Content-Language: en
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
X-Content-Type-Options: nosniff
Link: </v2/items?page=0&page_size=200>; rel=previous,
</v2/items?page=2&page_size=200>; rel=next,
</v2/items?page=1&page_size=200>; rel=self,
</v2/items?page=0&page_size=200>; rel=first,
</v2/items?page=195&page_size=200>; rel=last
X-Page-Total: 196
X-Page-Size: 200
X-Result-Total: 39108
X-Result-Count: 200
Access-Control-Allow-Origin: *
Date: Fri, 24 Oct 2014 18:15:06 GMT
Content-Length: 8706

Looks right to me.