Future API plans

90 Blood Elf Paladin
12195
What other APIs are planned? I'm assuming that character/guild info will be the next one up. Is the Remote Auction House API going to move over from the wowarmory domain? What else can you whet our appetite with? =)

Thanks for establishing this forum. It's nice to have a place to give feedback. I don't know if this is the sort of thing you want to collect, but I could write up some of my experiences working with the RAH API.
Reply Quote
Web & Mobile Team
04/14/2011 06:31 AMPosted by Osseric
What other APIs are planned?


We will definitely be rolling out character and guild feeds in the near future. Arena team feeds and general PVP feeds is something that we are interested in, but they might be a little later on.

As for the auction house, we are looking at exposing historical data in the form of regular auction house dumps for each realm periodically. We need to work out some of the details, but we should have more information somewhat soon.


04/14/2011 06:31 AMPosted by Osseric
I could write up some of my experiences working with the RAH API.


That would be great.
Reply Quote
90 Draenei Priest
9500
Would you happen to have a ETA when the new player/guild functionality will be release? Week(s)? Month(s)?

Trying to decide if I should develop for the new API or stick to the old one.
Reply Quote
Web & Mobile Team
When it's ready. (TM)

With that said, we are shooting for the weeks time-frame. Given the quantity of work in front of us, it doesn't make any sense trying to give exact dates.

It should be noted that as we roll out new APIs, the old ones will be deprecated and will eventually go away. I would strongly advise building against the new ones.
Edited by Straton on 4/14/2011 9:29 AM PDT
Reply Quote
58 Goblin Shaman
180
What about item data? That would be a big win.. :)

Also, as for deprecating the old XMl feeds, will there be a transition period between a new release and retiring the old?

Thanks for all the hard work!
Reply Quote
90 Draenei Priest
9500
Entirely understandable. I was looking for a rough estimate, which you gave me.

As far as programming for old, I currently have middleware for the character feed already, so it would only be a minor change.

I would have a feature request though... Would it be possible to setup the API to allow us to manage the guild from our web page? Promotions, Demotions, Item moves within the bank... Could even allow alts to be invited into the guild VIA the web page or something like that.

As far as security for that, I understand it would be difficult, and you most likely wouldn't want anyone setting it up without understanding the implications. But a IP Address/Token Matching system generated by the individual's accounts in order to manage characters would be pretty sweet. So you would have the IP address of the server, and a Guild Token as well as a Permitted Guild and a Character Token. All would need to be valid to link up with this system.

Maybe a "You are linking to a non-private host - Please read this security notice before proceeding" when someone links in to websites like wowstead.

Just a thought
Reply Quote
90 Draenei Priest
9500
Forgot one more question, right now it is JSON, are you planning on introducing XML or are you sticking with JSON?
Reply Quote
Web & Mobile Team
I'll try to break these down into FAQ style responses. Please let me know if I didn't answer one of the questions.

Q: Will item data be exposed through APIs?

A: It is something that we would like to do, but there are other higher priority items that need to be hammered out first.

Q: Will there be a transition period between a new release and retiring the old?

A: Yes. Once the character and guild API features are complete and launched, we will announce a deprecation time-frame.

Q: Would it be possible to setup the API to allow us to manage the guild from our web page?

A: No. We have no plans or intent to create APIs that allow any data to be modified.

Q: Are you planning on introducing XML or are you sticking with JSON?

A: We will continue with using and suggesting JSON and JSONP. We are also looking at support Protocol Buffers as a line-wire protocol. XML isn't completely out of the picture, but is lower in the list of priorities.
Reply Quote
2 Blood Elf Mage
0
1) The most interesting thing for me is the AH historical data. Thank you. Will this included historical sales? Or will like the current addons we still have to infer and guess what sold? Obviously, historical sales as well as listings would be helpful. Besides, how much server load is there with all the people running AH scans throughout the day to keep their addon up to date.

2) I am hoping for a nightly historical dump. Regardless, remember how dailies had the 3am no 4am after the DST change.Perhaps with a little planning the periodic dump would be at the same time regardless of whether DST is in effect.

3) While most anything will be appreciated, I was disappointed with the no XML option. Not so much for the data but rather what it indicates about the focus of the API. XSLT notwithstanding, JSON is probably better for easily making pretty web pages. However, my expectations at least, are that a robust, sophisticated API is much more likely to be XML.
Reply Quote
1 Tauren Druid
0
04/14/2011 10:35 PMPosted by Madammim
While most anything will be appreciated, I was disappointed with the no XML option. Not so much for the data but rather what it indicates about the focus of the API. XSLT notwithstanding, JSON is probably better for easily making pretty web pages. However, my expectations at least, are that a robust, sophisticated API is much more likely to be XML.


I don't mean to start a debate here, but I can't understand this point of view. JSON is easily a more 'robust' option when compared to XML for this project. It certainly is a simpler format, if that is what you mean by less 'sophisticated.' There is less grammar that your parser has to 'walk' through, it maps directly to common data structures (ie: arrays), you don't have to deal with custom tags or the hassles of standardization. The data we are being presented with in these API's is very structured which suits JSON well.

What would make results returned in XML more sophisticated and robust as opposed to just bloat?
Edited by Brawrz on 4/15/2011 6:57 AM PDT
Reply Quote
Web & Mobile Team
Until the auction house dumps and data services are deployed, it wouldn't be wise to give any details as they may change. I can say that providing sales history will probably not be developed and released.

JSON is because it allows client-side (browser) use of data provided through the new HTTP/REST API and can also be parsed/processed by most programming languages. It doesn't take much effort to see that there are a lot of major services using JSON as a primary protocol (Facebook, Google, etc). For developers interested in a more compact payload format, protocol buffers is an excellent and valid option.

Any further debate about JSON vs XML or why one is better than the other should be had somewhere else. Lets continue with keeping this thread about future API plans.
Reply Quote
1 Troll Rogue
0
If the character name doesn't give it away, this is Erorus speaking from TheUndermineJournal.com.

If I could have anything from the API to help feed the site, here's what I would like, in order of most-to-least:

For a given realm and faction, retrieve a snapshot of all auctions currently available. This would include auction ID, seller name, item ID, auction quantity, bid price, buyout price. The snapshot would be updated hourly.

For a given realm, faction, and UTC timestamp, retrieve a list of all auction IDs that were sold since then, by bid or buyout.

In addition to the above attributes, each auction listed in the hourly snapshot would also include a UTC timestamp of when it was posted, and whether it was a 12-, 24- or 48-hour posting.

For a given item ID, retrieve the item name, icon name, tooltip text, quality/rarity, level, class (weapon/armor/glyph/etc), subclass (Axe/cloth/meta/etc), buy-from-vendor cost, sell-to-vendor price, max stack size, equip slot, faction availability (most are "both", but items that change on faction change will show "horde"/"alliance"), and disenchantable status. This would greatly reduce my reliance on Wowhead.

No active World of Warcraft subscription required to retrieve auction data via the API. This would save me $150/month. Authentication for the API via battle.net as discussed in the stickies would be fine.

Realm Status feed also supplying each realm's time zone.

A streaming API that would continuously report auctions as they are posted, much like Twitter's streaming API. I could connect to the server with a realm and faction, and just read and store auctions as they appear. With hourly snapshots, we miss half of the auctions that last for less than an hour.. this would pick them up. Include cancellation and sales events in this streaming API, and I wouldn't need to pull the snapshots unless I fell behind. I realize this would probably be difficult since there are 582 auction houses in the US (not counting neutrals) and I'd want to monitor all of them.. but just throwing this out there for discussion.

A method to authenticate users through battle.net without asking for password directly, probably using oAuth. Look at oAuth on Google or Facebook. I would send the user to a URL at battle.net, battle.net would ask for email/password, and if successful, would send the user back to my site with a unique string identifying the user. I would never know the user's email or password but would know that it's the same user every time they login.

With the above authentication method, and if given permission by the user, my site could pass the user's unique string to battle.net, and I could receive a list of all the characters on their account.. or perhaps just some characters if you want to go down that permissions road.

With the above character info, my site could pass the user's auth string to battle.net, and a character's name and realm, and retrieve a list of all auctions posted by that character in the past week-ish, including sold and cancelled auctions, with appropriate status. The purpose being to assist the user in tracking auctions they've posted (and sold).

I could come up with more requests for characters and guilds (achievements, talents, equipment, etc) but since I'm not actively developing for those, I'll leave them to others. ;) I do know that those areas are heavily used, as well.
Edited by Ujournal on 4/15/2011 10:17 AM PDT
Reply Quote
Web & Mobile Team
As we have in the past, we will continue to develop features that we think will benifit the community as a whole. I'm happy to see the development community excited about what can come out of this.
Edited by Straton on 4/15/2011 10:50 AM PDT
Reply Quote
90 Blood Elf Paladin
12195
I've written several applications targeting the RAH API. I used Python primarily, with the Mechanize headless web browser. I've also tried to build some in .NET, but gave up on that. General thoughts:

Login + credentials: this is a pain. In Python, Mechanize was able to handle the login cookie for me; I couldn't find a good .NET equivalent and the built in CookieContainer class works... poorly. That was the sticking point for .NET development. Obviously a Battle.net login should be required to use RAH features, but it would be nice if there was a more automation-friendly way to authenticate.

Scanning posted auctions: as Erorus mentioned, being able to receive a dump or snapshot of all active auctions would be a huge improvement. The current API requires that I request it page by page; the result is that I'm sending hundreds of requests to get the full picture. I'm sure this would have to be time-throttled similar to the GetAllAuctions() call for in-game mods, but it would still be a big step up.

Items: sounds like you guys have plans in this area already, so I won't wishlist too much. One thing that I'd love for you to keep in mind is a data-friendly way to access crafting recipes: ie, 4x 2840 + 2x 20816 -> 1x 26926 (that's http://www.wowhead.com/spell=26926#recipes).

Buying and selling: for the most part, these methods work very well. The only frustration I've had is that only the first 50 items of the mailbox are accessible, which can be awkward when both buying and selling on the same character. I suspect that's outside of your domain in APIs, but maybe you can drop that feedback in the right person's ear.

Any plans to expose an API for the new chat feature, or is that going to be a strictly mobile app?
Reply Quote
90 Gnome Warrior
21230
04/15/2011 11:23 AMPosted by Osseric
Any plans to expose an API for the new chat feature, or is that going to be a strictly mobile app?

I'd like to second this. Months ago when the web chat was first announced I had visions of making a sort of guild bot, or DKP bot. I'd love it if the API could make that a possibility.
Reply Quote
Web & Mobile Team
We currently have no plans to support anything other than realm status, character profiles, guild profiles, arena team profiles and auction house data dumps.
Reply Quote
1 Troll Rogue
0
04/15/2011 11:23 AMPosted by Osseric
Login + credentials: this is a pain. In Python, Mechanize was able to handle the login cookie for me; I couldn't find a good .NET equivalent and the built in CookieContainer class works... poorly. That was the sticking point for .NET development. Obviously a Battle.net login should be required to use RAH features, but it would be nice if there was a more automation-friendly way to authenticate.


I'd assume that API functions that require authentication will be automation-friendly, unlike how we now have to pretend to be a browser and jump through multiple hoops.
Reply Quote
Web & Mobile Team
If you haven't read the authentication and registration overview sticky, please do so. It outlines the general plan for application level identification when consuming the API.

http://us.battle.net/wow/en/forum/topic/2369881359

What we are still solidifying is the plan for user-level identification within the application authentication system. It may end up being somewhat similar to how Facebook and Twitter allow applications to act on behalf of users.
Edited by Straton on 4/15/2011 1:33 PM PDT
Reply Quote
90 Blood Elf Paladin
12195
04/15/2011 01:32 PMPosted by Straton
What we are still solidifying is the plan for user-level identification within the application authentication system. It may end up being somewhat similar to how Facebook and Twitter allow applications to act on behalf of users.


That would be very cool. That's always the sticking point for any kind of Auction House++ webapp - how could I ask my hypothetical users to trust a stranger with their credentials? Sounds like you might solve that problem!

Before I get too excited, can you confirm that you guys are okay with that sort of thing? I'm optimistically interpreting you that in addition to the new big data dump, existing JSON methods for searching, getting inventory and mail will continue to be supported. I haven't looked too closely at the new Battle.net RAH, but the RESTful structure leads me to suppose that there are already appropriate URLs for buy/sell that I can POST to?
Reply Quote
90 Blood Elf Paladin
12195
Any chance of adding Battlegroup to the realm status API? It would be nice to be able to group on that.
Reply Quote

Please report any Code of Conduct violations, including:

Threats of violence. We take these seriously and will alert the proper authorities.

Posts containing personal information about other players. This includes physical addresses, e-mail addresses, phone numbers, and inappropriate photos and/or videos.

Harassing or discriminatory language. This will not be tolerated.

Forums Code of Conduct

Report Post # written by

Reason
Explain (256 characters max)
Submit Cancel

Reported!

[Close]