API Discussion

May 8, 2017 Introducing the Game Data API and Profile API Throm-Ka Community Developers! Over the past year or so our goblin tinkerers and gnomish engineers have been hard at work crafting new armaments for the API war effort. Early feedback from test survivors has been positive, so we're pulling back the curtain on this new matériel: the Game Data and Profile APIs. Profile Data and Game What Now? The Game Data and Profile APIs are part of a larger strategy that makes it easier for Blizzard to share data both internally and externally. In short, it allows Blizzard teams to use a single, well defined interface to publish data into the Game Data and Profile system. Once published, a simple but powerful set of access control mechanisms allow us to share our data however we like. The difference between Game Data and Profile APIs is the type of data they handle. As you might have guessed form the names, the Game Data API stores data related to a game itself (which we call static data) while the Profile API is used to store data related to individuals, their characters, or accounts (which we call dynamic data). Game Data includes generic information like a list of abilities on a character, server status, or even the current leaderboards for a game. On the other hand, Profile data, includes the equipment on a character, an account's achievements, or a list of characters. As a rule of thumb, Profile data is more sensitive than Game Data. In order to access restricted data, you will need to request and receive approval for additional OAuth scopes. What Happened with the Initial Tests? What About the Survivors? Survivors? Oh, the field trials! Nuuh… that's not important. What's important is that the tech they tested was a rousing success! The first major API exposed with our new system was the D3 Leaderboards. These leaderboards aren't just for public consumption -- we're using them to power the leaderboards on our own D3 website. In the past our websites & APIs shared the same pipelines to access data, but through a slightly different set of APIs. With the introduction of this new system, our websites and yours will be consuming the exact same APIs. We'll get the exact same development experience as our community developers, so we're even more incentivized to keep on top of bugs and feature requests. Over the course of 2017 we're planning to continue developing these new APIs. Additionally, we'll begin migrating most of our existing (legacy) APIs over to the Game Data and Profile API system. Not all of our APIs are a perfect match for this system, though, so some endpoints (e.g. /user/account) won't follow the URL patterns covered in the next section. As we progress in our efforts, we'll continue dogfooding our APIs on our own projects and exposing them more broadly once they've been proven out. So have no fear, our tinkerers and engineers have a lot of exciting stuff coming your way! How are Game Data/Profile Different From Existing APIs? Right! Everything we've discussed so far is all well and good, but what does all this mean for you? The two biggest, most immediate differences for the grunts in the trenches are a tweaks to URL & authentication strategy. The legacy APIs use this basic URL pattern: ... Game Data and Profile APIs use slightly different URL pattern: ... Notice that the URLs for APIs exposed using the Game Data and Profile API always begin with data or profile, respectively. They also require access tokens rather than an API key. A few users on our forums have noted that API keys are not private. As such, it's technically possible for one application to make requests for public data using another application's key. Access tokens help tamp down on that by making sure the request actually came from your application. Let's do a quick review of our OAuth 2.0 authentication schemes. Most developers using our APIs are probably familiar with OAuth 2.0's Authorization Code Grant. This lets your app get a token that indicates a user has given the token holder permission to make requests on their behalf. The Client Credentials Grant does the same thing, but for applications; the token holder is given permission to make requests on behalf of your application. While you can use an authorization token to make generic requests, that might end up being more trouble than it's worth. Generally, we recommend applications use client tokens when requesting generic or public data and authorization tokens when requesting user-specific data. That’s as simple as remember to stick your enemies with the pointy end! Anything Else? We've covered a lot, but the team still has several other irons in the fire. We can't wait to share the other projects we've got cooking. No spoilers (since I don't even know what this means) but the other day I think heard someone talking about the the next API for… oh! LFR just popped, gotta run! Hope to see you all at BlizzCon 2016 ;) For the Warchief! -AndanionAndanion35 May 8, 2017
Aug 12, 2014 Intro & Documentation Welcome to the Battle.net API forum! Here you'll find links to documentation and discussions between the developers of the various APIs and the community consuming them. This forum is intended for developers interested in the services provided by Blizzard Entertainment, so be aware that the discussions may be more technical in nature than most other forums. Here's some links to point you in the right direction: Battle.net API Site - https://dev.battle.net/ Guides - https://dev.battle.net/docs Interactive API Reference - https://dev.battle.net/io-docsMagena0 Aug 12, 2014
Apr 24 [Showcase] Post your app! No result about to find a "showcase post" investigation on this forum, so I decided to create this thread. (Maybe i missed the post, hope no). First at all, this forum is dedicated to help users of the Battle.net API to perform and fix their projects for Blizzard games communities. I'm really interested to see what you guys created with the Battle.net API (Guilds feeds, Roster management, etc). Template to use: Name: App name URL: App URL or Download link Platform: Web/Mobile/etc Code: Language used (Java, PHP, etc) Functions: The main purpose of your app UPDATE: My project is no more, so I have nothing to share with you guys: <Gym81 Apr 24
May 13 Battle.net API Terms of Use FAQ (updated 2015/05/11) Throm-Ka Community Developers! You're bound to have some questions about our revised Battle.net API Terms of Use. If you do have a question, please post it in this thread and we'll pass it on to our legal team. As our legal team answers your questions, we'll keep track and build out a solid policy FAQ as a community resource. All answered questions will be summarized in this thread. 1. It seems that the previous "code which uses the API must be open-source" requirement has been removed? Correct, the open source requirement has been removed. 2. Does this mean we are not allowed to use client-side requests (such as with JSONP format), as they require the API Key to be shared with the consuming users? No. As long as your Application Secret remains private you can share the API key with consuming customers when coding requires it - for example, when utilizing OAuth, etc.Andanion20 May 13
Nov 5, 2015 Battle.net API Terms of Use (updated 2015/05/11) Throm-Ka Community Developers! I wanted to bring to your attention that we have updated our Battle.net API Policy and Terms of Use. Please take a moment and review the new Battle.net API Terms of Use, which can be found here: https://dev.battle.net/policy Additionally, if you have policy specific questions you can ask them in this thread. We'll run them past our legal department and try to get you answers as soon as possible. Thank you!Andanion0 Nov 5, 2015
May 7 Community Created Libraries & Resources (updated 2017/03/13) A number of our the developers in our community have put together resources, libraries, and other tools that you may find helpful when developing against the Battle.net APIs. API Forums erorus's RSS blue trackers for the API Discussion and Bug Report forums (post) API Tools By Language PHP Ulminia's OAuth library (post, GitHub) DaPimpShied's Sample API Calls (post) jyggen's Battle.net API lib for PHP 5.4+ (post, GitHub) Acoon's WoW Battle.net Armory API (SourceForge) KwarK's Battle.net API library (GitHub) msuBREAKER's Composer package for the Diablo III API (post, GitHub) AJH's PHPBB extension (post, GitHub) Logans' Blizzard API PHP client (post, GitHub, Packagist) Fireblade's PHP API Reader (post, GitHub) Xklusive's Battle.net API package for Laravel 5 (post, Packagist GitHub) Python Shadow's Django OAuth2 lib (post, GitHub) lockwooddev's Python World of Warcraft Community API Wrapper (Bitbucket) Dorwido's World of Warcraft API module (GitHub) Lazerhawk05's Python wrapper for the SC2 API (post, GitHub) Scala Borak's API Client lib (post, GitHub) HntD's D3 Leaderboard (maybe all-Battle.net) API library (post, GitHub) Java Raffy's WarKit lib - for all your WoW data needs (post 1, post 2, GitHub) Dementhius' OAuth 2.0 library for Android (post, GitHub) Arjun's WoW Community API library (post, GitHub) Puntr's Java wrapper for WoW APIs, wow4j (GitHub) JavaScript Billi's guide for using passport-bnet with multiple regions (post) Gewd's AngualrJS wrapper (post, GitHub) skt's Battle.net API wrapper (GitHub, npm, post) uskimptoc's World of Warcraft API wrapper (GitHub) Crowz's auth package for Meteor JS (GitHub, Atmosphere) C# / .Net KetaSwe's contributed a Battle.net module to OwinOAuthProviders (GitHub) Tok's Diablo III API Wrapper (GitHub) bpfz's strongly-typed C# library for Diablo 3 (GitHub) Hellparsley's strongly typed wrapper for the Diablo III API (site) TiaqoY0's (self-proclaimed) super awesome library (post, GitHub) roncli's strongly typed LibWowAPI (GitHub) NOT MAINTAINED Ruby Frey's Ruby wrapper for Battle.net APIs (GitHub, RubyGems) Milhouse's Ruby wrapper for Battle.net APIs (post, GitHub, RubyGems) Game-specific Resources Hearthstone vamp's hearthstoneapi.com provides a public API (post, site) World of Warcraft Eleadon's spreadsheets for pets, items, realms, spells, and more (post, GitHub) erorus's Random Enchant Suffix List (post, GitHub) erorus's shared info about Battle Pet BreedIDs (post) erorus's table of PvP ladder specs IDs to class and spec name (post) Ulminia's quick guide to exporting WoW icons (post) Ulminia's dump of spell/item icons and talent BGs for 6.0.3 (post) Talonos created a dump of all Battle Pets (post, PasteBin) Ulminia's JSON dictionary to convert enchant IDs to en_US strings (post, Gist) Gluttony's SQL table that maps enchant effectid, spellid, and itemid to slot and name (post, Gist) AresBale's list of item stats (post) MightyOrh's Item Dump (JSON & CSV) (post, DropBox) thedeadwalkk's Item Dump (TXT, SQLite 3) (post, BitBucket) erorus's 6.2 item bonus list dump (Gist, post) dos's SQL table maps enchantIds to descriptions (post, Gist) erorus' map of artifact traits and ranks to spell IDs (post, Gist) vamp's guide for tracking Mythic+ Dungeons (post) erorus' Uncommon Tooltips (post, Github) Game-specific Examples World of Warcraft Kamenitxan's forum signature generator (GitHub) Kamenitxan's HTML guild roster generator (GitHub) AresBale put together a PHP class to help get started with the WoW API (post) Vilepickle created a guild progress widget in PHP (post, GitHub) Throkwa's WordPress plugin for fetching character and Guild data (post, WordPress) Aurifex83 May 7
Jan 2 World of Warcraft Game Data APIs Preliminary Release World of Warcraft Game Data APIs Preliminary Release Greetings adventures! It is with great excitement that we come to you today with an update on the Game Data API's. Previously, we revealed Blizzard's plans moving forward on our vision for future large scale updates to our web API's in this post, and we are excited to finally release some of the data that we have been publishing to the Game Date API for the World of Warcraft franchise. If you wish to dig into the new API's now, you can start experimenting with the API Docs by selecting "World of Warcraft Game Data APIs - <region>" from the drop-down. Scope of Release: We anticipate these APIs to continue to evolve as we further define some concepts and practices, and as such, the structure and available data contained within the documents are subject to change. This release includes both data that is currently available in the World of Warcraft Community APIs, as well as new data that has not previously been released such as the WoW Token and the Mythic Keystone Leaderboards. Available APIs: Connected Realm API Realm API Region API Mythic Keystone Leaderboard API WoW Token API Documentation: Much like our existing D3 Game Data API's, and Community API's for World of Warcraft, SC2, and D3, you can experiment with the World of Warcraft Game Data API's on the API Docs by selecting "World of Warcraft Game Data APIs - <region>" from the drop-down. Along with the API Docs, there is an ongoing effort to add further documentation as well as improve existing documentation in the guides section of dev.battle.net. Along with this release, will be adding a Game Data API Overview, as well as a World of Warcraft Game Data APIs Overview on the guides section of dev.battle.net. Authorization: As outlined in the initial reveal post for the Game Data APIs, consumers will be required to use the Client Credentials OAuth Flow when consuming the World of Warcraft Game Data APIs, which requires providing an Access Token with every request. Core Concepts: With the World of Warcraft Game Data APIs we have taken a new approach to how we build, structure, and consume our APIs. Some of the core concepts are listed below, however, the World of Warcraft Game Data APIs Overview on the guides section of dev.battle.net should be referenced for more in-depth descriptions of these concepts. Document Based: Historically the World of Warcraft Community APIs have returned JSON payloads which may include references to many resources by a numeric ID or a string slug, and were a composite aggregation of multiple data sets. With the World of Warcraft Game Data APIs, we have moved to a self-discoverable document based structure where resources aim to "link" to child / related documents and resources rather than inline a unique identifier. Self Documenting and Discoverability: As mentioned above, where the World of Warcraft Community APIs have historically referenced related resources using an inline ID or other unique identifier such as a slug, the World of Warcraft Game Data APIs aim to reference related documents using a "link" object referenced by a "key" property, which will contain a href property that provides the direct URL resource that can be requested to access a related resource. WoW Community API Pattern: Given the below example of a reduced character response, if the consumer wanted to also retrieve information about the realm, they would need to URL encode the realm name, and then construct the realm request endpoint. { ... "name": "Maguthul", "realm": "Test Realm", ... } WoW Game Data API Pattern: Given the below example of a reduced character document, a consumer who wanted to retrieve information about the realm could simply access the realm.key.href value and make a request with that URL. { ... "name": "Maguthul", "realm": { "key": { "href": "http://us.api.battle.net/data/wow/realm/12345" }, "name": "Test Realm" } ... } You can read more about documents, as well as child document links on the following guide pages: Game Data API Overview World of Warcraft Game Data APIs Overview Localization: Similar to the World of Warcraft Community APIs, the World of Warcraft Game Data APIs will offer localized strings for many of the resources that are available for World of Warcraft's supported locales. New with the World of Warcraft Game Data APIs is that requests can now be made to resources without specifying a locale, which will return all of the available localizations for a resource. If a localization is provided with a request, the response will only include the strings for the requested locale, which will drastically reduce the payload size of some resource responses. A consideration of this new pattern is that based on the existence or absence of a request localization, the response object will be structured differently. You can read more about the localization strategy in the World of Warcraft Game Data APIs on the World of Warcraft Game Data APIs Overview. We are excited to hear your thoughts feedback on these new APIs, so please feel free to reply below. Lok'tar ogar!Maguthul30 Jan 2
Sep 7 Unofficial Blizzard API Discord In an effort to improve the community of 3rd party developers working with the battle.net APIs and provide a platform for more real-time discussion, I've created a Discord server. My hope is that this Discord is used for sharing our experiences with the battle.net APIs, supporting each other in building awesome things using the APIs, and generally discussing related technologies. Invite link: https://discord.gg/CVxtmes This server is not official, nor is it controlled or endorsed by Blizzard. Anybody is welcome to join though!Sapu14 Sep 7
Dec 8, 2014 Announcements & API Updates (updated 2018/04/10) This thread was created to make it easier for the community to keep track of major announcements related to the Battle.net API platform & game APIs. The API team will work to keep the post list up to date with our current announcements. Policy Updates UPDATED: Battle.net API Terms of Use on Nov. 5, 2015 UPDATED: Battle.net API Terms of Use FAQ on Nov. 5, 2015 Service Updates Introducing the Game Data API and Profile API on Oct 20, 2016 CN Region Network Migration – Thursday 5/12 PDT on May 10, 2016 Update for Mashery Local: Feb 23 (CN only) on Feb. 5, 2016 Notice: Legacy API Shutdown Test In Progress on Feb. 5, 2016 KR APIs Temporarily Offline 11/19 (KST) on Nov. 16, 2015 °˖✧◝ Shutdown Date for Legacy Endpoints ◜✧˖° on Oct. 26, 2015 Old API endpoints temporarily disabled on Oct. 26, 2015 OAuth Token endpoints now do not return accountId on July 15, 2015 /oauth/token endpoints require POST on April 30, 2015 APIs now support gzip on Dec. 8, 2014 Old API endpoints temporarily disabled (+WoD Update 2) on Nov. 6, 2014 API Call Limits on Nov.13, 2014 New Battle.net API Site and OAuth support! on July 30, 2014 WoW Updates WoW GDAPI Update: Static Namespace Aliases on Apr. 10, 2018 WoW GDAPI Update: Release PlayableClass & PlayableSpecialization on Apr. 10, 2018 WoW GDAPI Update: Mythic Challenge Mode + Mythic Keystone Leaderboard Structure Changes on Jan. 26, 2018 WoW API Update: PvP Leaderboards on May. 23, 2017 Static Render Domains Update on Nov. 15, 2016 (wow thread) Current active Web Armory Profile issues (x-post) on Sep. 7, 2016 (main thread) WoW API Update: zone & boss endpoint additions on Jan. 8, 2016 WoW API Update: zone & boss endpoint additions on Jan. 8, 2016 WoW API Update: auction house static url migration on Nov. 25, 2015 WoW API Update: battlePet endpoint deprecated on Oct. 29, 2015 WoW API Update: pet & mount endpoint additions on Oct. 29, 2015 PSA: New Changes Coming to AH/Realm Data in the APIs on July 30, 2015 WoW Talent API Spec Update on Feb. 13, 2015 WoW 6.0.2 API Updates on Nov. 6, 2014 D3 Updates Diablo 3 Patch 2.4.1 Changes on Apr. 26, 2016 Diablo 3 Leaderboard APIs Now Available! on Aug. 28, 2015 SC2 Updates StarCraft II Client API Update on Nov. 15, 2016. StarCraft II Client API Update on Oct. 7, 2016 Classic Games Classic Chat API Alpha v1 (x-post) on May 5, 2017 (main thread) Forums New MVP: unbound! on May 8, 2017Aurifex0 Dec 8, 2014
11h Diablo 3 Personal Chest Items and Kunai's Cube Extracts Just a suggestion to add to the future of the API, but to add the ability to get a list of all items that are in your chest, and all of the legendaries you have/haven't extracted in Kunai's Cube.Kuchiki7572 11h
19h Newsfeed data As we know, battle.net had implemented RSS channels with latest articles on website for every game (like in d3: http://eu.battle.net/d3/en/feed/news ) Well.. had. New website of Overwatch don't have this function (or it is well hidden), posibly becouse of website domain change and all links structure. The same thing apply to World of Warcraft website - there is no RSS channel on new domain, but in this case RSS still works on previous link ( http://eu.battle.net/wow/en/feed/news ) So my question is: Can we expect some day to refill this holes in our magnificent notification systems? ;) With RSS channels, or maybe integrated with API? It would be awsome to have a chance to download newsfeed by it.Eridor19 19h
1d SC2 EU ladder api has old data Hello, it seems Starcraft 2 EU ladder API serves incorrect (old) data once again. It has already happened in January and was reported in the following threads. It was fixed few weeks later with no official announcement/response. https://us.battle.net/forums/en/bnet/topic/20760956043 https://us.battle.net/forums/en/bnet/topic/20760956097 Currently, the highest last_played_time_stamp value found from all EU ladders is 1526594664 (05/17/2018 @ 10:04pm (UTC)). US and KR endpoints are ok. Ref. ex. https://eu.api.battle.net/data/sc2/ladder/204279?access_token=TOKEN DismalSmoke should be 7+ wins and 8+ losses (api returns 3 wins 2 losses atm)Keiras0 1d
1d Need advice about OAuth + CORS Hi all, Currently I'm buiilding an Angular Frontend that should consume all it's data entierly from battle.net API's. At least that was my intention until two days ago. Due to CORS and security, I moved the authentication + authorization to a Spring Boot backend (Currently running out of the box with @EnableOAuth2Sso). I'm completely new to OAuth so it took some time figuring that out. I now have a frontend and a backend running under two different ports. My intention now: User authorizes and authenticates himself. My backend has a session with the users token saved in the Principal. My frontend asks for the token and does its job with requesting whatever I will need from the API. But I would not be here, if I didn't get screwed by CORS again (getting real tired of this crap). My "/getToken" in the backend automatically tries to authenticate + authorize a user without a session. I'm not exactly sure if this is my Problem, but bare with me. After I completely allowed Cross Origin Access on my backend, I get this error now (I'm trying to get a Token for a followup request): ... Am I doing something essentially wrong? If more info is needed, I'm happy to provide. Thanks alot in advance, I'm about to lose my !@#$ over CORSrouce0 1d
1d Documentation for OWL api? I ran across this the other day, api.overwatchleague.com. Is this something we have documentation for? I'm able to figure out a few endpoints on my own.oneHP14 1d
2d [WOW] - Get spell cooldown Hey guys! I have a Logitech keyboard, and I would like to make the spell key fade during the cooldown. But I have no idea how to use the wow API or how to access the cooldown through LUA or C#. Can someone please help me? Thanks!RaphaelMG0 2d
4d WOW - How do I get a list of guilds on a server? I'm reading the WoW Community APIs, but can't find a way to get a list of guilds that exist in a realm, does such endpoint exist? The closest endpoint I found is to get a single guild's info. If no such endpoint exist, how would I go about getting a list of guilds on a server?boylilikoi1 4d
4d PHP Accessing Demon Hunter & Witch Doctor Hi there, I am working on a small project and having some trouble when trying to access the time played for Demon Hunter and Witch Doctor, when using the Diablo 3 profile API integrated into PHP. For example: $timeplayed = $data->timePlayed->barbarian, will work perfectly fine but $timeplayed = $data->timePlayed->demon-hunter, causes an error due to the hyphen, I assume. Does anyone know a way to acccess the demon-hunter and witch-doctor part of this array in PHP?Taibe2 4d
May 11 Update Data Hello guys, I need a help to do an update in my research before listing the data: $client = new \OAuth2\Client($client_id, $client_secret, $region, $locale, $redirect_uri); if (!isset($_GET['code'])) { $auth_url = $client->getAuthenticationUrl($client->baseurl[$client->region]['AUTHORIZATION_ENDPOINT'], $client->redirect_uri); header('Location: ' . $auth_url); die('Redirect'); } else { $params = array('code' => $_GET['code'], 'auth_flow' => 'auth_code', 'redirect_uri' => $client->redirect_uri); $response = $client->getAccessToken($client->baseurl[$client->region]['TOKEN_ENDPOINT'], 'authorization_code', $params); $client->setAccessToken($response['result']['access_token']); $response = $client->fetch('account',array('source'=>'account')); $chars = $client->fetch('wow_oauth_profile',array('source'=>'account')); } $charsFiltrados = array_filter($chars['result']['characters'], function($filtrados){ if(array_key_exists("guild", $filtrados)){ return $filtrados['guild'] === "Plunct Plact Zum"; } } ); debug($charsFiltrados); exit(); It checks if this player has any char in the guild, and if it does, it returns an array with the data. But the return (22) is wrong for more than 1 week that this char is no longer in the guild. How can I do an update before checking this data? Thank you. [ (int) 18 => [ 'name' => 'Gastter', 'realm' => 'Goldrinn', 'battlegroup' => 'Rampage', 'class' => (int) 7, 'race' => (int) 6, 'gender' => (int) 0, 'level' => (int) 110, 'achievementPoints' => (int) 17295, 'thumbnail' => 'goldrinn/2/158415106-avatar.jpg', 'spec' => [ 'name' => 'Elemental', 'role' => 'DPS', 'backgroundImage' => 'bg-shaman-elemental', 'icon' => 'spell_nature_lightning', 'description' => 'A spellcaster who harnesses the destructive forces of nature and the elements.', 'order' => (int) 0 ], 'guild' => 'Plunct Plact Zum', 'guildRealm' => 'Goldrinn', 'lastModified' => (float) 1525668763000 ], (int) 22 => [ 'name' => 'Lucimery', 'realm' => 'Goldrinn', 'battlegroup' => 'Rampage', 'class' => (int) 1, 'race' => (int) 26, 'gender' => (int) 1, 'level' => (int) 68, 'achievementPoints' => (int) 17285, 'thumbnail' => 'goldrinn/178/173772978-avatar.jpg', 'spec' => [ 'name' => 'Protection', 'role' => 'TANK', 'backgroundImage' => 'bg-warrior-protection', 'icon' => 'ability_warrior_defensivestance', 'description' => 'A stalwart protector who uses a shield to safeguard herself and her allies.', 'order' => (int) 2 ], 'guild' => 'Plunct Plact Zum', 'guildRealm' => 'Goldrinn', 'lastModified' => (float) 1525237473000 ] ]Gaster1 May 11
May 11 Reviving the Overwatch API Request Just started playing Overwatch not too long ago and wanted to start looking into some of the APIs, only to discover that there aren't any. It has been brought up in the past but looks like nothing is coming from it other than "scraping". Are there any updates that I'm missing? It's nice being able to view detailed match info from the past and also live details such as who I'm up against and their info.CrazyJabber13 May 11
May 9 Quest API to Include Chapters Just a suggestion that would be extremely helpful to Loremasters - including the chapter that a quest belongs to (or no chapter if it doesn't) would really be helpful. Most of the time, you don't know what quests are in a chapter and thus what quests you can still do to complete that chapter. I tried to search this and I didn't find anything so I thought I'd suggest it.fizzlestick0 May 9
May 9 Discordapp Bot - Ruby Edited: just in case people don't want to scroll through: I have the discordapp chat bot ready for public use. The mods of the /r/wow discord have been kind enough to accept it on the server. If you're already a member of that server, you can type "?help" to see all the commands available. If you're not a member of that Discord server, but have your own and would like to try it out you can go to: https://discordapp.com/oauth2/authorize?&client_id=169952497690083328&scope=bot&permissions=3200 It only requires 'Read Messages' and 'Send Messages', but it will require someone with the manage server permission to add it. Greetings community, I've decided to try and create a Discord bot that ties into the WoW api. Now I'm practically new to coding, and have been getting my feet wet with some easier attempts at bot making, but I figured why not bang my head against something harder. I've looked at the sticky and have found both meta_nexus and rbattlenet and have been using https://github.com/wingyu/rbattlenet . What I'm basically trying to do, at least just to start, is create a !ilvl command that will bring up a characters average item level. ex. People Input: !ilvl [Character] [Realm] ex. Bot Outputs: [Character]'s item level is [averageItemLevel] The following is what I've gotten so far, with a bit of a help from another. Any finger in the right direction would be greatly appreciated. require 'discordrb' require 'rbattlenet' bot = Discordrb::Commands::CommandBot.new token: '', application_id: '', prefix: '?' api_key = '' RBattlenet.authenticate(api_key: api_key) RBattlenet.set_region(region: "us", locale: "en_US") bot.command(:ilvl, chain_usable: false, description: "Gets ilvl for character") do |event, *text| event.respond "#{RBattlenet::Wow::Character.find(name: text[0], realm: text[1])}" end bot.runChuey17 May 9
May 8 -- --I resolved my issue--UnSeulCoup0 May 8
May 7 Laravel Oath2 Bnet Api 500 error on bnet Trying to Implement https://github.com/teamreflex/Socialite-BattleNet into laravel and I am getting a 500 error that states [quote]This page contains the following errors: error on line 1 at column 1: Document is emptysteakbbq1 May 7
May 7 Diablo 3 - timePlayed to Date? Hello folks, How can I interpret the `timePlayed` field to get a readable by humans date? :D Data from Diablo 3 API `/D3/PROFILE/{ACCOUNT}/ ` "timePlayed": { "demon-hunter": 0.448, "barbarian": 0.058, "witch-doctor": 0.333, "necromancer": 0.037, "wizard": 0.108, "monk": 1.0, "crusader": 0.197 } I want to transform timePlayed into some hours or minutes or something I may understand. Thanks!SuperRambo1 May 7
May 6 OAuth : Email information Hello guys, I'm discovering OAuth API today. There is something I 'm not able to understand. When I'm redirected to Battle.net, to authorize the API to access my Battle.net information, it's written that I'll expose my BattleTag and my email address. But, I can't find a route or any parameters to send on the /account/user URI to get the user email. Am I missing something ? Or, Blizzard API Team developers should update the showed text at authorization and remove the email part? Thanks in advance!MainCore8 May 6
May 3 How to use D3 tooltip? Hi guys. Im tired of trying to understand how to use the tooltip for diablo 3 (<script src="https://us.diablo3.com/static/js/tooltips.js"></script>) I had the file loaded in my webapp, but I don't know what more to do in order to make it run and show the tooltip. Can someone give me an example? What do I need to do with `tooltipParams` and where I place the `d3tooltip` attribute? Thanks!SuperRambo4 May 3
May 2 Can I access calendar data? Hi, I'd like to be able to progamatically get access to the guild calendar events, and wondered if this was possible or not? Would the new OAUTH allow that? I want to see who is signed up for guild raids.Whisperer57 May 2
May 2 Arena Matches List Is there any way to get a list of all Arena Matches for a specific character using the API?punk0 May 2
Apr 30 WoW Api implementation in C++? I code a lot in C++ and just heard of the wow api. Of course i got excited, although i can't get my head around how to use it in c++, if it is even possible. Could some of you guys help me out? Do i really need a website just to try out the functions of the api?Allpi2 Apr 30
Apr 29 (WoW) Azerite API data discussion I know it's probably super-early to start talking about this, considering we haven't even seen an alpha of the next expansion yet. I'd like to avoid the situation we're in with the Netherlight Crucible, where we have no data at all, so let's start talking about what the API data could/should look like for azerite-modifiable items. My initial thinking is that in the character data, an item that can be modified via the azerite/Heart of Azerite system should have an extra data block in it. Something like: "azerite": { "rank": <integer of the current azerite rank of the item> "ring1": { "spells": [<array of spell IDs that can be modified by this ring>] "selected": <integer, zero means not selected, 1+ means the index of the spell in the "spells" array that is selected> "ring2": ... "ring3": ... } I think that gives me enough information to know what spells I need to show on a calculator for an equipped piece of gear, what level that piece of gear is (so what rings to unlock), and what spells from each ring the user might or might not have selected already. Each item that can be modified by azerite could contain one of the blocks, and the absence of it would mean the item can't be modified by azerite. Does that sound reasonable?timwoj5 Apr 29
Apr 24 SC2 Match Histoy - 500 Internal Error I am unable to review my match history, as well as several of my friends. I was wondering how I can rectify this? I have played a lot of cooperative matches; however, my friends have participated in the new ladder. I still cannot retrieve their information, as it returns a 500 error. Side note, I cannot retrieve old match data, ~2013, through the in-game match history.Reeku3 Apr 24
Apr 24 Reporting an addon?! Hello, i found an addon that is using Blizzard's API to get data, but if you will get more Data and Events (That uses too Blizzard's API) than you have to pay for it. ... But : http://prntscr.com/j9m6bj Is that agains ToS or is that Not against ToS ?Alerius17010 Apr 24
Apr 23 Official Mythic+ Leaderboards Glitch (+25 Timed Run not there) I'm writing to report a glitch with recording our +25 Mythic+ Darkheart Thicket. We completed a +26 run, depleted the key and then completed a +25 in time. Unfortunately the +25 is not showing up in the top 100 list on any of the servers that the players were from. It is very disheartening to see a mythic+ run of that level not being recorded anywhere and as you may know it also means that the scores on WowProgress and Raider.IO are not going to be updated either. I am hoping there is some sort of way to sort this out before the week is over and the lists are reset. Fortunately one of the group members was streaming at the time and we have logs to provide proof if need be as well. The members of the group were: Except-TarrenMill, Tharatiel-Blackmoore, Инсейшн-СвежевательДуш, Йоске-РевущийФьорд, Мирксимонк-ЯсеневыйЛес. The run happened on 22nd of April at ~21:01 (UTC+3) Thanks in advance for the help I hope you can help sort this out.Except4 Apr 23
Apr 22 D3 Clans' members Hello guys, I started today to play with the D3 APIs and I'm a little bit confused. I would like to know if there is any way to get all the data related to a clan. I'm planning to develop a web app for our clan and I want to get all the members of our clan. is possible? Or will be? Thanks!SuperRambo3 Apr 22
Apr 20 WoW - Incomplete Character's Title List from EU API I've used the link below to bring back a list of a players titles. He's confirmed that the PvE titles are there, but most, if not all PvP titles are missing. https://eu.api.battle.net/wow/character/dragonblight/Casval?fields=titles&locale=en_GB&apikey= Is this a bug or an expected result? I've confirmed with them that the following titles are visible on the Character Casval in game. "it's missing Lord of War, all the Nemesis ones (Gnomebane, Draenei Distroyer etc), the Prestigious, Spear of Vol'Jin (pvp rep), and even Warlord of Draenor (garrison building pvp achi) and Patron of War." - Many Thankscuddlywookie3 Apr 20
Apr 19 Fetching WoW boss media possible? Howdo I'm currently doing a little personal project and experimenting with the Blizzard API, and very much having fun munching through the data! I've hit a point where I've got all the information for all the bosses I need via 'https://eu.api.battle.net/wow/boss/?locale=en_GB&apikey=************************' That said I was wondering if there was a way to access some imagery for each boss such as a portrait? I've had a dig through the documentation but can't quite find any information on what kind of images are available. Thanks in advance!Shiko5 Apr 19
Apr 18 More "metadata" in the API Docs Hello, With my university class we had the idea to make a "Personalize my WoW experience" web app, where based on a survey we'll give the players a tailor made "to-get" list of cosmetic items. For example if the user indicated he likes mounts, the color pink and works at NASA we'll recommend him getting the Big Love Rocket. So to my point, it would have been nice if the API provided us with some metadata, for example for mounts - color, family (tiger, bear, wolf); for pets - it's size, etc., so we can make some fun stuff out of this data :) With best regards, XpressionXpression0 Apr 18
Apr 18 What software do you use for creating your 3d worlds Hi I want to get into game design and want to know what software is used to create worlds is it maya?Beargaming0 Apr 18
Apr 17 Diablo III Community API Changes Well Met, Community Developers! We have released changes to the Diablo III Community APIs. The documentation for the new / changed endpoints can be found at https://dev.battle.net/io-docs under D3 Community API - <Region> and Community APIs - CN The following are some of the changes to the API: General descriptionHtml is a new field containing the html used on the Diablo III website. Acts Act index now contains quests for each act. Individual act requests are done via /act/{number}, rather than /act/act-{number}. Classes and Skills Runes are no longer contained under each skill in the characterClass response, but instead in the skill response. Items /item-type/ is a new endpoint listing the item types from the game. /item-type/{slug} lists out the items belonging to that item type. Items now have support for one-of affixes. Artisans and Recipes Artisans no longer list recipes by levels within tiers. Each level of training contains lists for both trained and learned recipes. Single recipe requests now require /artisan/{artisanSlug}/recipe/{recipeSlug}. Recipe responses no longer contain all the item details for the resulting item. That data can be found via an item request. Account and Hero A hero's items are no longer supported via /item/{hash}, but instead there is a new items page for each hero contained at profile/{BattleTag}/hero/{ID}/items. The above change also applies to a hero's followers at profile/{BattleTag}/hero/{ID}/follower-items. classSlug is a new field under profile/{BattleTag}/ that contains the lowercase English text. tooltipParams now contains the path of the base item. Number values should have cleaner decimals. damage now contains the text for both damage and attacks per second. dps is now a text field. Some values used to have min/max fields. These values should only contain one field now. slots should only display the slot that the player has the item equipped. attributes no longer contain color or affixType. attributesHtml is a new field containing the html used on the Diablo III website. This field includes the enchant / transmog information. attributesRaw has been deprecated. set now has a text description of the items and bonuses. The data returned by the API endpoints should match the data on the web profiles. We have worked closely with the the Diablo III game team to ensure that the data presented on the website and API matches the data in the game. Please continue to report website/API bugs if you notice that the profiles are not matching what you see in the game as it relates to stats, kills, etc. Thanks! ♪┏(・o・)┛♪┗ ( ・o・) ┓♪┏(・o・)┛♪┗ ( ・o・) ┓♪ -LaddLadd18 Apr 17
Apr 16 Q: API for Online/Offline users of Battle.net? Hi, thanks for this API, but I have question - is now some how possible or will be possible in the future to determine whether the user of Battle.net is online/offline, and whether playing a game? and which a game? Thank youEdoras34 Apr 16
Apr 15 Blizzard Forum Design Discussion Hi, I'm not sure if this is the right place to discuss this but I'm making a forum right now for one of my classes and I am currently working on the ux/ui right now. I find the blizzard forums very user friendly and gorgeous so I modeled some of my own design off of it. One thing I really like is the New Topic on the Overwatch Forum. Link here: https://us.forums.blizzard.com/en/overwatch/c/competitive-discussion. I currently have an Href to another page to get to my New Topic page. My question is, how would I even start to get that kind of modal design for my forum. Would I need to use JQuery? For a little insight on the languages I am using, they are PHP, html, css, and I need to implement JQuery into my project. I am using MySQL for my database. I'm sorry if this is really off-topic but I really look up to Blizzard as a whole and I would really like to learn how to make a better User Experience in my own website.STallahassee4 Apr 15
Apr 14 Blizzard RSS Feed For Discord Im trying to setup a Discord server and have it feed relevant info to myself and my members and I was wondering if Blizz had an RSS feed? Ive tried looking and found an older thread but the link to the RSS no longer works. If it doesnt exist thats cool, I wont lose sleep but if it does can someone please post the link. ThanksHockeyBalboa1 Apr 14
Apr 13 Very new here! Looking for Advice on how to get started! Howdy all my name is Ian. I am currently going to school for computer game science and I have just started getting into my more involved classes. One of our classes requires we create a Capstone project, using Java, where we create a desktop application using JavaFX. An idea I have is to somehow retrieve and then analyze and display data from the WoW API like informational graphs of possibly the race/class composition of a guild, among other things. I have seen something called JSONP everywhere here I need to learn more about, and I have even seen a lot of community Java API's as well. Anyone have some advice on how I could get started, or if what I am thinking is even doable? Thanks in advance! -IanRelreo2 Apr 13
Apr 13 Hearthstone player profiles Dear API developers, As this game is 1.5 years old now, isn't it the time to open possibility to create some nice community websites with player profiles data, like seasonal rankings? P.S. I'm developing https://www.heroprogress.com - Hearthstone rankings database.Kernel38 Apr 13
Apr 11 WoW Game Data API Update: Release PlayableClass & PlayableSpecialization Greetings adventurers, We have completed migration of two additional resources to the WoW Game Data API, PlayableClass and PlayableSpecialization. The documents are available via the static namespaces (ex: static-7.3.5_25875-us) . Examples: PlayableClass Index: " class="bml-link-private">https://us.api.battle.net/data/wow/playable-class/?namespace=static-us&locale=en_US&access_token=<your_access_token> PlayableClass: " class="bml-link-private">https://us.api.battle.net/data/wow/playable-class/1?namespace=static-us&locale=en_US&access_token=<your_access_token> PlayableSpecialization Index: " class="bml-link-private">https://us.api.battle.net/data/wow/playable-specialization/?namespace=static-us&locale=en_US&access_token=<your_access_token> PlayableSpecialization " class="bml-link-private">https://us.api.battle.net/data/wow/playable-specialization/262?namespace=static-us&locale=en_US&access_token=<your_access_token> With the completion of this migration, the playable-specialization links referenced via the MythicLeaderboards documents will now also correctly resolve. Example: " class="bml-link-private">https://us.api.battle.net/data/wow/connected-realm/11/mythic-leaderboard/197/period/641?namespace=dynamic-us&access_token=<your_access_token> { ... "leading_groups": [ { "ranking": 1, "duration": 1739046, "completed_timestamp": 1523393797000, "keystone_level": 20, "members": [ { ... "specialization": { "key": { "href": "https://us.api.battle.net/data/wow/playable-specialization/71?namespace=static-7.3.5_25875-us" }, "id": 71 } } ] } ] ... } We have also updated the documentation on dev.battle.net/io-docs. Known issues: - PvP talent links cannot be resolved - PvP talents do not include data related to row, column, or honor unlock level - Talent links cannot be resolved Please let us know if you experience any issues or have any questions.Maguthul1 Apr 11
Apr 10 WoW Data Data API Update: Static Namespace Aliases Greeting adventures, We have released an update to the WoW Game Data API documents that now aliases between static evergreen namespaces, and the latest static namespace, per region. static-us aliases to static-7.3.5_25875-us static-eu aliases to static-7.3.5_25875-eu static-kr aliases to static-7.3.5_25875-kr static-tw aliases to static-7.3.5_25875-tw As new WoW patches are released and new static namespaces are published, we will update these evergreen namespaces to reference the latest static namespace. Please let us know if your experience any issues.Maguthul0 Apr 10
Apr 10 OAuth Issue. Hey guys, I am trying to make web app that will help people find other people to play with. I want my clients to register to that web app via battlenet inorder to get their btag. I am currently using this api: https://github.com/Ulminia/blizzard-api-oauth after i run the php page that is provided in the API (index.php) with all of my settings, it just redirects me back to my site with a code attached to the url, for example: https://mydomain.com/?code=g68dznb93ayuf8rpjjzyqyuk I have no clue what this code is, im guessing its the Authorization code, but i don't know how to get the client btag from this. any help and suggestions?DangerZone13 Apr 10
Apr 9 Quick question regarding titles Is there an endpoint that returns all the achievable titles in the game?(not the one that retrieves someone's titles) Thanks in advance!HugoStiglitz4 Apr 9
Apr 9 WoW Community API Updated for Patch 7.3 Hi All, We wanted to take a moment to let you know that the WoW Community API has been updated with new data to include patch 7.3 resources, such as the "Antorus, the Burning Throne" raid. Example: " class="bml-link-private">http://us.api.battle.net/wow/zone/8638?apikey=<YOUR_KEY_HERE> Please let us know if you experience any difficulties with this new data, and happy coding! :)Maguthul2 Apr 9
Apr 8 SC2 Client API Request https://us.battle.net/forums/en/sc2/topic/20748195420 I'm hoping for some additions to this API, such as the MMR values for each player or the battletags.Ophidian4 Apr 8