Go Back   EN World D&D / RPG News > Non RPG-Specific Forums > Software, Computers, Video Games and D&D Utilities

Software, Computers, Video Games and D&D Utilities General discussion on computer software and hardware, PC and console games, and RPG utilities such as eTools, PC GEN, etc.

 
Share LinkBack Thread Tools Display Modes
Old 18th June 2009, 03:01 AM   #1 (permalink)
Registered User
 
Asmor's Avatar
 
Join Date: Jan 2002
Location: Right behind you!
Posts: 4,031
Asmor Bugbear Strangler (Lvl 6)
Send a message via ICQ to Asmor Send a message via AIM to Asmor
Exclusive details on the DDI API (not a repeat...)

I've figured out some exclusive details on how to programatically query the compendium. Details on my blog.

Copied and pasted, but I'm too lazy to redo it in BB code.
So to cut a short (but uninteresting) story even shorter, I stumbled onto a way to get XML results from Compendium searches, opening the door for people to run queries against the compendium programatically. For example, I’ve just updated my Monster Maker with the ability to search the compendium for monsters and import them (this was previously available, but more complicated as you had to save the monsters to an HTML file and then import that…).

So without further ado, here’s the key:

http://www.wizards.com/dndinsider/co.../KeywordSearch

You can query that URL using either GET or POST If you don’t know what those are, you’re probably best off using GET, which I’ll describe.

The two parameters which seem to be necessary are “Keywords” and “tab” (I don’t think case matters, but that’s the case I’m using and it works…). Keywords is what you’re searching for, and tab is the type of results you want.

For example, to search for mind flayers, you’d look up:

http://www.wizards.com/dndinsider/co...rs&tab=Monster

Note that the space was escaped to %20. I’m pretty sure you can NOT replace spaces with +. I haven’t tried dashes or underscores.

And that brings up a nice little XML document ready to be fed into whatever silly machinery you’re working on.

Also note that each entry has an associated ID. You can use that ID to find the page for the specific element. In the case of monsters, you use…

http://www.wizards.com/dndinsider/co...nster.aspx?id=[insert ID here]

For example, the Mind Flayer Infiltrator is ID 339, so its page is

http://www.wizards.com/dndinsider/co...er.aspx?id=339

The URLs for other elements are…

http://www.wizards.com/dndinsider/co.../race.aspx?id=
http://www.wizards.com/dndinsider/co...class.aspx?id=
http://www.wizards.com/dndinsider/co...ssary.aspx?id=
http://www.wizards.com/dndinsider/co...deity.aspx?id=
http://www.wizards.com/dndinsider/co.../item.aspx?id=
http://www.wizards.com/dndinsider/co...nster.aspx?id=
http://www.wizards.com/dndinsider/co...stiny.aspx?id=
http://www.wizards.com/dndinsider/co...npath.aspx?id=
http://www.wizards.com/dndinsider/co...itual.aspx?id=
http://www.wizards.com/dndinsider/co.../feat.aspx?id=
http://www.wizards.com/dndinsider/co...skill.aspx?id=
http://www.wizards.com/dndinsider/co...power.aspx?id=

For some info on actually running queries, check out Gaming in Code, a blog run by one of the guys working on DDI. I haven’t tested to make sure that all those filters and such actually work with this, but I strongly suspect they do.
__________________
-Author of the Encounter-a-Day blog
Asmor is offline   Reply With Quote
Old 18th June 2009, 05:58 AM   #2 (permalink)
Is this thing on?
 
darjr's Avatar
 
Join Date: Jun 2007
Location: LaVista, Nebraska
Posts: 1,293
darjr Orc Berserker (Lvl 4)
Thanks for this.
darjr is offline   Reply With Quote
Old 18th June 2009, 07:21 AM   #3 (permalink)
Registered User
 
tomBitonti's Avatar
 
Join Date: Jul 2003
Posts: 506
tomBitonti Goblin Sharpshooter (Lvl 2)
Quote:
Originally Posted by Asmor View Post
Note that the space was escaped to %20. I’m pretty sure you can NOT replace spaces with +. I haven’t tried dashes or underscores.
That %20 is the escaping of a space in a URI. See RFC 1630 for more details, or check out any of many references online (e.g. 4.1.2. Unsafe characters)

You might want to be careful before going too far down the line of figuring out the APIs. As soon as they include access protection, or if they may be considered reverse engineering, that might subject you to the DMCA. You might also have to deal with issues of unauthorized access if those aren't a part of a public API.

I'd have to do some research figure out what is allowed or not. This is probably a good opportunity to invest in understanding the DMCA, as well as finding out the WotC policy for how one is allowed to access their web site.

Thx!

TomB
tomBitonti is offline   Reply With Quote
Old 18th June 2009, 07:40 AM   #4 (permalink)
Registered User
 
Asmor's Avatar
 
Join Date: Jan 2002
Location: Right behind you!
Posts: 4,031
Asmor Bugbear Strangler (Lvl 6)
Send a message via ICQ to Asmor Send a message via AIM to Asmor
Quote:
Originally Posted by tomBitonti View Post
That %20 is the escaping of a space in a URI. See RFC 1630 for more details, or check out any of many references online (e.g. 4.1.2. Unsafe characters)
I know... That would be why I escaped it thusly.

Quote:
You might want to be careful before going too far down the line of figuring out the APIs. As soon as they include access protection, or if they may be considered reverse engineering, that might subject you to the DMCA. You might also have to deal with issues of unauthorized access if those aren't a part of a public API.

I'd have to do some research figure out what is allowed or not. This is probably a good opportunity to invest in understanding the DMCA, as well as finding out the WotC policy for how one is allowed to access their web site.

Thx!

TomB
For a variety of reasons, I'm both not worried about any legal issues and also not worried about them taking umbrage with this use. In fact, I have good reason to believe that this is exactly what they're intending.

Of course, if they do have a problem they can email me and I'll take down anything at their request. But I seriously doubt that's going to happen.
__________________
-Author of the Encounter-a-Day blog
Asmor is offline   Reply With Quote
Old 18th June 2009, 08:29 AM   #5 (permalink)
Senior Taco es Muy Loco
 
Scribble's Avatar
 
Join Date: Sep 2004
Location: San Francisco
Posts: 4,524
Scribble Gnoll Huntmaster (Lvl 5)
Send a message via AIM to Scribble
Nice work... I've been waiting for the gaming in code part two... But you beat him to it!

Also your monster make just got more awesomer.
__________________
My Campaign Wiki - Still a work in progress.

screamingcities on twitter and xbox live!

Scribble on Wizards Community!

Scribble is offline   Reply With Quote
Old 18th June 2009, 08:35 AM   #6 (permalink)
Community Supporter
 
Scott_Rouse's Avatar
 
Join Date: Apr 2007
Location: Washington State
Posts: 982
Scott_Rouse Bugbear Strangler (Lvl 6)
Quote:
Originally Posted by Scribble View Post
Nice work... I've been waiting for the gaming in code part two.

It will go up Monday
__________________
Scott Rouse
Scott_Rouse is offline   Reply With Quote
Old 18th June 2009, 08:40 AM   #7 (permalink)
Senior Taco es Muy Loco
 
Scribble's Avatar
 
Join Date: Sep 2004
Location: San Francisco
Posts: 4,524
Scribble Gnoll Huntmaster (Lvl 5)
Send a message via AIM to Scribble
Quote:
Originally Posted by Scott_Rouse View Post
It will go up Monday
Right on.
__________________
My Campaign Wiki - Still a work in progress.

screamingcities on twitter and xbox live!

Scribble on Wizards Community!

Scribble is offline   Reply With Quote
Old 18th June 2009, 11:04 AM   #8 (permalink)
I am not a number!
 
vagabundo's Avatar
 
Join Date: Sep 2007
Location: Dublin, Ireland
Posts: 1,188
vagabundo Goblin Sharpshooter (Lvl 2)
Hmm it might be time to brush up on my python.
__________________
Pablo El Vagabundo
"Mercy!? You want MERCY? I'M CHAOTIC NEUTRAL!!!"
vagabundo is offline   Reply With Quote
Old 18th June 2009, 01:21 PM   #9 (permalink)
Registered User
 
wayne62682's Avatar
 
Join Date: May 2006
Location: Tampa Bay area (Port Richey)
Posts: 693
wayne62682 Goblin Sharpshooter (Lvl 2)
I thnk wotc should publish a developer API or something. I have a really great idea fir an iPhone app for D&D gamers - the only thing stopping me from seriously working on it is that I would like to be able to query for info.

You know what I would really like? A way to have someones character info from the character builder made available via web site, like the character sheet hosting that some sites provided in 3.x. If I could prompt someone for their DDI account and then grab parts of their character info to use in my app that would be awesome.
__________________

LONG LIVE 4E

Known as ObiWayneKenobi (formerly WayneTheGame) on the Wizards forums.

This is the internet, not kindergarten. If you can't deal with what people say, get off the playground.
wayne62682 is offline   Reply With Quote
Old 18th June 2009, 03:46 PM   #10 (permalink)
Registered User
 
malraux's Avatar
 
Join Date: Sep 2004
Location: 72227
Posts: 1,549
malraux Hobgoblin Soldier (Lvl 3)
Quote:
Originally Posted by wayne62682 View Post
I thnk wotc should publish a developer API or something. I have a really great idea fir an iPhone app for D&D gamers - the only thing stopping me from seriously working on it is that I would like to be able to query for info.

You know what I would really like? A way to have someones character info from the character builder made available via web site, like the character sheet hosting that some sites provided in 3.x. If I could prompt someone for their DDI account and then grab parts of their character info to use in my app that would be awesome.
Something like http://iplay4e.appspot.com/characters
__________________
All we want to do is eat your brains
We’re not unreasonable; I mean, no one’s gonna eat your eyes
All we want to do is eat your brains
We’re at an impasse here; maybe we should compromise:
If you open up the doors
We’ll all come inside and eat your brains
malraux is offline   Reply With Quote
Old 18th June 2009, 04:53 PM   #11 (permalink)
Registered User
 
Asmor's Avatar
 
Join Date: Jan 2002
Location: Right behind you!
Posts: 4,031
Asmor Bugbear Strangler (Lvl 6)
Send a message via ICQ to Asmor Send a message via AIM to Asmor
Quote:
Originally Posted by Scott_Rouse View Post
It will go up Monday
Yay! I've been waiting for that!
__________________
-Author of the Encounter-a-Day blog
Asmor is offline   Reply With Quote
Old 18th June 2009, 04:56 PM   #12 (permalink)
Registered User
 
wayne62682's Avatar
 
Join Date: May 2006
Location: Tampa Bay area (Port Richey)
Posts: 693
wayne62682 Goblin Sharpshooter (Lvl 2)
Quote:
Originally Posted by malraux View Post
Something like iplay4e characters
Kind of like that, yes. My iPhone idea is at first a hit point tracker, so it will tell you when you're bloodied and whatnot... nothing major just something simple... I figure even if I can't sell it for money I can use it myself and learn iPhone programming

If it could read/write to 4e character builder files then it could pull your powers and function like virtual power cards; you pull up your character, tap a power and it displays your bonuses and the like with it. But that's wishful thinking on my part right now.
__________________

LONG LIVE 4E

Known as ObiWayneKenobi (formerly WayneTheGame) on the Wizards forums.

This is the internet, not kindergarten. If you can't deal with what people say, get off the playground.
wayne62682 is offline   Reply With Quote
Old 18th June 2009, 05:04 PM   #13 (permalink)
Registered User
 
Cadilon's Avatar
 
Join Date: Mar 2008
Posts: 11
Cadilon Goblin Sharpshooter (Lvl 2)
This sounds neat and all, but I am no rocket surgeon. Can you guys give me an example as to how this info from DDI would be used?
Cadilon is offline   Reply With Quote
Old 18th June 2009, 05:06 PM   #14 (permalink)
Agent of N.E.W.B.
 
Halivar's Avatar
 
Join Date: Dec 2002
Location: Augusta, GA
Posts: 1,546
Halivar Orc Berserker (Lvl 4)
My word... the possibilities. Scott, is there any way the DDI API could be public so we can make apps for DDI subscribers?

Consider the benefits: each tool made by third-parties is value-add to a DDI subscription that required no resources on WotC's part. For me, I would kill to be able to make an encounter builder that exported colored stat-blocks to PDF. And I'd do it in a heart-beat if I thought distributing such a thing was explicitly approved by WotC.
__________________
My D&D Class:
Lawful Good Human Paladin

My Robin's Laws Game Style:
100% Method Actor, 92% Storyteller, 92% Specialist (paladin), 83% Butt-Kicker, 75% Tactician, 67% Power Gamer, 17% Casual Gamer

Against the Stars - A sci-fi campaign setting for 4th Edition D&D
Halivar is offline   Reply With Quote
Old 18th June 2009, 05:09 PM   #15 (permalink)
Registered User
 
Join Date: Mar 2008
Location: Bristol, VA
Posts: 53
miscreationist Goblin Sharpshooter (Lvl 2)
Considering how legal happy things have been over the last bit, I will be interested to see getting access to the data in the next Gaming in Code article because according to the terms of use when you sign up you agree not to do this.

Wizards of the Coast
Quote:
3. Limits on Use of the Site
You agree not to engage in any of the following: (i) use any automated means, including, without limitation, agents, robots, scripts, or spiders, to access, monitor, data scrape, copy or transfer any part of the Site (including without limitation any User data, including any Member registration information, whether individually or in the aggregate); (ii) probe, scan or test the vulnerability of the Site, or breach the security or authentication measures on the Site; (iii) reverse look-up, trace or seek to trace any information on any Member or other User of the Site, including information on any Member account other than your own, to its source, or exploit the Site in any way with a purpose of revealing any information, including but not limited to personal identification or information, other than your own information; (iv) take any action that imposes an unreasonable or disproportionately large load on the infrastructure of the Site; (v) use any device, software or routine to interfere or attempt to interfere with the proper working or authorized uses of the Site or with any other person's use of the Site; (vi) forge headers or otherwise manipulate identifiers in order to disguise the origin of any message transmittal you send on or through the Site; (vii) impersonate any other individual or entity or misrepresent your identity or your affiliation with another individual or entity; (viii) use the Site in an illegal manner or for any unlawful purpose; or (ix) violate any applicable Guidelines, including without limitation any Code of Conduct.
If this is now not the case, then I hope that these terms will be amended.
miscreationist is offline   Reply With Quote
Old 18th June 2009, 05:24 PM   #16 (permalink)
Registered User
 
wayne62682's Avatar
 
Join Date: May 2006
Location: Tampa Bay area (Port Richey)
Posts: 693
wayne62682 Goblin Sharpshooter (Lvl 2)
Quote:
Originally Posted by Halivar View Post
My word... the possibilities. Scott, is there any way the DDI API could be public so we can make apps for DDI subscribers?

Consider the benefits: each tool made by third-parties is value-add to a DDI subscription that required no resources on WotC's part. For me, I would kill to be able to make an encounter builder that exported colored stat-blocks to PDF. And I'd do it in a heart-beat if I thought distributing such a thing was explicitly approved by WotC.
Exactly. WotC could really capitalize on D&DI by having a "Developer API" that we can use to create applications that make use of D&DI info; sort of like a D&D App Store.
__________________

LONG LIVE 4E

Known as ObiWayneKenobi (formerly WayneTheGame) on the Wizards forums.

This is the internet, not kindergarten. If you can't deal with what people say, get off the playground.
wayne62682 is offline   Reply With Quote
Old 18th June 2009, 05:26 PM   #17 (permalink)
Registered User
 
Join Date: Aug 2007
Posts: 141
Alikar Goblin Sharpshooter (Lvl 2)
Quote:
Originally Posted by miscreationist View Post
Considering how legal happy things have been over the last bit, I will be interested to see getting access to the data in the next Gaming in Code article because according to the terms of use when you sign up you agree not to do this.

If this is now not the case, then I hope that these terms will be amended.
That is for the site, not DDI.
__________________
Alikar is offline   Reply With Quote
Old 18th June 2009, 06:11 PM   #18 (permalink)
Registered User
 
Join Date: Mar 2008
Location: Bristol, VA
Posts: 53
miscreationist Goblin Sharpshooter (Lvl 2)
Quote:
Originally Posted by Alikar View Post
That is for the site, not DDI.
Exactly. And in the member terms of service for DDI it says in the first paragraph
that "In the event of a conflict between these Member Terms and the TOU, these Member Terms shall control."

Quote:
These Member Terms of Service (“Member Terms”) are a contract between you and Wizards of the Coast, Inc. ("Wizards"), and apply to your registration for and use of products and services (collectively the "Service") available to registered users or paying subscribers ("Members") through the Wizards website (the "Site"), and supplement the Wizards Website Terms of Use applicable to the Site ("TOU"). In the event of a conflict between these Member Terms and the TOU, these Member Terms shall control. The purchase or use of certain products and services available through the Site by Members may also be subject to certain additional terms and conditions.
There is a section under "2.User Content; Intellectual Property Ownership; Rights Granted to You":

Quote:
b. Intellectual Property Ownership; Rights Granted to You The Service is the proprietary property of Wizards or its licensors, and is protected by copyright, trademark, and other intellectual property laws. Except as otherwise provided herein, you are granted a limited, non-sublicenseable license to access and use the Service (except where specified as prohibited) for your personal, noncommercial use only; provided, that you preserve any copyright, trademark or other similar notices contained in or associated with such Service. You agree not to use the Service in an illegal manner or for any unlawful purpose. Such license is subject to these Member Terms and does not include: (a) any resale or commercial use of the Service therein; (b) modifying or otherwise making any derivative uses of the Service, or any portion thereof; or (c) any use of the Service other than for its intended purpose. Any use of the Service other than as specifically authorized herein, without the prior written permission of Wizards, is strictly prohibited and will terminate the license granted herein. This license is revocable at any time.
I am not a lawyer, but, It does not specifically allow one to automate extraction of data, so my question still stands.

My reading (I could be wrong though) indicates that you have personal use except in the case of derivative use, any use other than the intended purpose, or any resale or commercial use. I think the derivative uses clause is the most worrisome to me. I'd like some clarification that this is going to be fine. I am hoping you are right and I am giving them the benefit of the doubt (especially because Scott posted here).

Scott, can this be clarified? Is using this API going to be ok for private DDI users to use the data?
miscreationist is offline   Reply With Quote
Old 18th June 2009, 06:21 PM   #19 (permalink)
Registered User
 
Asmor's Avatar
 
Join Date: Jan 2002
Location: Right behind you!
Posts: 4,031
Asmor Bugbear Strangler (Lvl 6)
Send a message via ICQ to Asmor Send a message via AIM to Asmor
Stop getting caught up in legalese. Seriously.

As long as you're not doing it for profit, you won't get sued. I promise. Worst case scenario, they'll send you a C&D.

But just look. They've already started documenting the API themselves (which is what lead to my getting interested in it in the first place). At the end of that post on Gaming in Code, he said the next part would cover how to programatically access the data. The only issue is that it's taken to freaking long for the second part to come out.

And now The Rouse is here saying that the next part (Coincidentally? Or did I give them a kick in the butt? ) will be up Monday.

It is absolutely clear that this is what Wizards of the Coast wants people to do.
__________________
-Author of the Encounter-a-Day blog
Asmor is offline   Reply With Quote
Old 18th June 2009, 06:38 PM   #20 (permalink)
Registered User
 
Join Date: Mar 2008
Location: Bristol, VA
Posts: 53
miscreationist Goblin Sharpshooter (Lvl 2)
Quote:
Originally Posted by Asmor View Post
Stop getting caught up in legalese. Seriously.

As long as you're not doing it for profit, you won't get sued. I promise. Worst case scenario, they'll send you a C&D.

But just look. They've already started documenting the API themselves (which is what lead to my getting interested in it in the first place). At the end of that post on Gaming in Code, he said the next part would cover how to programatically access the data. The only issue is that it's taken to freaking long for the second part to come out.

And now The Rouse is here saying that the next part (Coincidentally? Or did I give them a kick in the butt? ) will be up Monday.

It is absolutely clear that this is what Wizards of the Coast wants people to do.
Yeah, I guess you are right. That is what has been done thus far is to send C&Ds. But I figured they'd go to account banning before that if you were automating the extraction of data and they didn't like it. The only reason I had not taken an interest thus far was to avoid getting my account removed for automating access to it - something I'd not like to happen if I'd paid for an extended amount of access to DDI.

Thanks for bringing up the topic. Hopefully, this is a good step and as I said, I look forward to the upcoming article about it.

Last edited by miscreationist; 18th June 2009 at 06:46 PM..
miscreationist is offline   Reply With Quote


Bookmarks

Tags
(not, details, exclusive, repeat...)

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


And yet another word from our sponsors
Visit Our Sponsors
Visit Our Sponsors... Again
Powered by vBadvanced CMPS v3.0.1

All times are GMT +1. The time now is 08:58 AM.


Site Contents © 2008 ENWorld
PHP Ajax Multimedia Web Framework © 2008 Digital Media Graphix
Powered by vBulletin® Version 3.8.0 Beta 1
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

"Vault Data" powered by VaultWiki v2.5.1.
Copyright © 2008 - 2009, Cracked Egg Studios.