Topic API Libraries for Programming Languages
Cyaga
Nazjatar
Cyaga
MVP
85 Tauren Druid
4135
Edited by Cyaga on 11/3/12 8:10 PM (PDT)
My goal for this thread is to keep an up-to-date list of tools for different programming languages that facilitate accessing the World of Warcraft Community Platform API. If you'd like your project listed, just reply to the thread! Alternatively, follow the instructions at https://github.com/BinaryMuse/wow-api-projects#readme (which I use to maintain this list and generate the markup).

The D3 version of this thread can be found at http://us.battle.net/d3/en/forum/topic/6307731317

.NET
  • BATTLE.NET - SDK by Asesjix
    http://battlenetsdk.codeplex.com/


ActionScript 3


C#



  • WCPAL (Warcraft Community Platform API Library) by Daegren
    https://github.com/daegren/WCPAL




ColdFusion


Java



JavaScript




PHP
  • Battle.net Api by Khepri
    https://github.com/jelte/blizzard-api

  • bnetlib by coss
    https://github.com/coss/bnetlib


  • Php-WowApi by Dancannon
    https://github.com/dancannon/Php-WowApi



Python



  • WoWthon (Python 3) by JonGoodger
    https://github.com/JonGoodger/WoWThon


Ruby

________________________________________________
MVP, Web and API
Libraries for the Community Platform API: http://us.battle.net/wow/en/forum/topic/2369882588
Libraries for the Community Platform API: http://us.battle.net/d3/en/forum/topic/6307731317
Sixen
Black Dragonflight
Sixen
MVP
58 Blood Elf Death Knight
500
Edited by Sixen on 4/19/11 9:05 PM (PDT)
Great idea, Cyaga! And in case anyone is wondering, there are currently have no plans to support anything other than realm status, character profiles, guild profiles, arena team profiles and auction house data dumps, according to Straton. Also going to stick this mini Q&A he conducted in here as well because... There's nowhere else to put it, ;).

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.
________________________________________________
The Chat Gem Lives!
Mature
Deathwing
Mature
90 Blood Elf Death Knight
16265
You may now add ColdFusion to the list of technologies which implements a wrapper to the WoW CP API. I've produced one, WoWColdFusionAPI, which can be found here:

https://github.com/Hanzo55/WoWColdFusionAPI

Enjoy.
Cheevos
Uther
Cheevos
85 Goblin Warrior
710
Two extras for you:

python: https://github.com/dhask/PyWoW


from pywow import Realms, Realm

for realm in Realms(region = 'kr'):
print realm

for realm in Realms("Chants éternels", "Aggramar", region = 'eu'):
print realm.name, realm.status and "is UP" or "is DOWN"

print Realm("Uther")


javascript: https://github.com/dhask/JSWoW


<!doctype html>
<head>
<script src="/js/jswow.js"></script>
</head>
<body>
<script>
var jw = new JSWoW();
jw.region = 'eu';
jw.realms('Chants éternels', function(realms) {
alert(realms[0].name);
});
jw.realms('Борейская тундра', 'Aggramar', function(realms) {
alert(realms[0].status && realms[1].status ? 'Both up' : 'One or both down');
});
</script>
</body>


Both versions attempt to convert names to slugs. I don't think there's a decent definition of the slug translation; the Python version normalizes to NFKD then strips combining characters (effectively, removes accents). Javascript doesn't offer that many tools, so there's a strict transliteration from a set of accented characters to a set of unaccented characters. The following character map sufficient for all European realms:

"àáäâèéëêìíïîòóöôùúüûñçй" to "aaaaeeeeiiiioooouuuuncи"
Daegren
Sentinels
Daegren
85 Human Paladin
4890
Added my library through the fork method, also for reference it is here too : https://github.com/daegren/WCPAL
Spamcaster
Bloodhoof
Spamcaster
85 Human Warlock
2865
I've started an ActionScript 3 library as well. You can find it here:
https://github.com/Spamcaster/WowActions
Femor
Thunderhorn
Femor
90 Undead Mage
8685
New library in .net

https://code.google.com/p/n-battle-net-api/

Supports authentication when they add it
Straton
Straton
Web & Mobile Team
07/07/2011 06:36 PMPosted by Femor
Supports authentication when they add it


Authentication is implemented right now. If you, or any other library developers, want a key for testing then please email api-support@blizzard.com.
Taunkah
Doomhammer
Taunkah
85 Worgen Warrior
2150
Another .NET API: http://wowapi.codeplex.com/
Cyaga
Nazjatar
Cyaga
MVP
85 Tauren Druid
4135
Thanks, Taunkah. Are you the author of that project?

I think everything else should be up to date from forum posts and pull requests. Thanks, everyone, for adding your projects!
Nissel
Ner'zhul
Nissel
85 Blood Elf Mage
2715
Didn't see this linked anywhere, maybe I'm blind, but here's the official PHP SDK: https://github.com/Blizzard/BlizzardSDK-PHP/
Osundir
Osundir
Web & Mobile Team
Nissel,

That repo was a proof-of-concept that was not for public consumption - it must have been flagged public inadvertently and that has been rectified.
Nissel
Ner'zhul
Nissel
85 Blood Elf Mage
2715
Oh whoops. So messaging the author with a bug was a bad idea? What I saw and cloned seemed to be licensed fairly freely, is it okay if I either A) use it for personal use, or B) make my own project of it on github?
Sixen
Black Dragonflight
Sixen
MVP
58 Blood Elf Death Knight
500
I doubt it's a bad idea, I'm sure he'll want to know there's a bug, :P.
________________________________________________
The Chat Gem Lives!
Fansite Administrator: DiabloFans, SC2Mapster, SC2Replayed
Grendizer
Misha
Grendizer
2 Tauren Druid
0
Kindly add my library (.NET and Silverlight written in C#)

http://wowsharp.codeplex.com/
http://us.battle.net/wow/en/forum/topic/2973023467
Growar
Misha
Growar
1 Dwarf Warrior
0
Edited by Growar on 8/16/11 6:50 AM (PDT)
It appears this list is no longer maintained. I've added as requested a week ago, but still no update.

But here is my contribution:
I've been working on this for quite some time, but due to my main account is in EU region I haven't been able to post here yet.

http://sourceforge.net/projects/wowarmoryapi/

### Features ###
* Extract all information from Battle.net armory
* Handles guilds, characters and items.
* WoWHead integration for extracting remaining information like achievement names
* WoWHead integration for easy tool tip links
* Full cache to limit connections and ensure speedy information
* Generates emblems based on guild tabard design
* Add your guild level to the emblem
* Built in sorting and filtering
and much much more..

Please let me know what you think of this and give me ideas on how to improve.

Br,
Gro
Borvoh
Duskwood
Borvoh
90 Night Elf Priest
14120
I have created a Java library:

https://github.com/chalverson/wowjavaapi

There is only one small external dependency and it's in the documentation. The API is fairly well documented.
Timetick
Malygos
Timetick
90 Worgen Death Knight
7075
I forked the Battle.net Api by Khepri repo and adapted it for PHP 5.2 for those who are using hosts that have not / cannot yet convert to 5.3:

https://github.com/jfaucher/blizzard-api-5-2

It requires some adaptation, but its a start

~Timetick
Mortawa
Nazjatar
Mortawa
MVP
85 Tauren Death Knight
7495
08/16/2011 06:49 AMPosted by Growar
It appears this list is no longer maintained. I've added as requested a week ago, but still no update.


My apologies for this! The past couple months have been crazy for me--moving to a new place and starting a new job. But, I am back to having a development machine again and I hope to keep up with this list a bit better.

I'll try to make it a point to catch the projects listed in this thread that I've missed, but the best way to get your project on the list is to fork the repository listed and send me a pull request on GitHub.

Happy coding!

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.

Click here to view the Forums Code of Conduct.

Report Post # written by
Reason
Explain (256 characters max)

Reported!

[Close]