World of Warcraft API for Drupal¶
A modular suite that brings Battle.net and World of Warcraft data into your Drupal site. Use as much or as little as you need — every submodule is optional, every capability is pluggable.
Mental model¶
Blizzard Battle.net APIs
│
BattleNetClient (auth, rate limit, retry)
│
Per-domain submodules (Api → Sync → Entities → Dashboard)
│
Drupal site (entities, taxonomies, Views, your code)
Three kinds of data flow in:
- Reference data — realms, classes, races, factions → stored as taxonomy terms.
- Catalogs — achievements, mounts, pets, titles, toys, creatures, quests → stored as content entities.
- Profiles — per-character and per-guild state → stored as owner-agnostic junction entities.
See Architecture overview for the full 3-layer model.
Where to start¶
You're installing the suite¶
- Installation
- Configuration (Battle.net credentials)
- Battle.net login if you want players to sign in
You want to use it¶
- Usage overview — the capability matrix
- Recipe: character tracking — public player pages
- Recipe: guild dashboard — guild profile + crest (roster/achievements ship as extension points only)
- Recipe: achievement planner — browsable catalog with progress
You're an operator¶
- Dashboard — admin status + one-click actions
- Drush commands
- Syncing data — cadence, batching, the 30-day TTL
You're extending or integrating¶
- Plugin system — DashboardSectionProvider + CharacterDataProvider + SearchableDataProvider
- Adding submodules
- Character data providers
- Dashboard providers
- Search providers
- API compliance — Blizzard ToS, the 30-day TTL, rate limits
You want the full inventory¶
- Module reference
- Entity reference
- Service reference
- Blizzard API coverage — what's wired, what's partial, what's not
At a glance¶
| Capability | Module | Status |
|---|---|---|
| Battle.net OAuth login | wow_battlenet_login |
Stable |
| Characters (profile + media) | wow_character |
Stable |
| Guilds (profile + crest) | wow_guild |
Stable |
| Achievement catalog + progress | wow_achievement |
Stable |
| Mount / pet / title / toy collections | wow_mount wow_pet wow_title wow_toy |
Stable |
| Reputation factions + standings | wow_reputation |
Stable |
| Item catalog (on-demand) | wow_item |
Partial — see API coverage |
| Creature catalog (on-demand) | wow_creature |
Stable |
| Quest catalog (batch sync) | wow_quest |
Stable |
| Reference data (realms, classes, races, etc.) | wow_realm, wow_playable_*, wow_power_type |
Stable |
| CKEditor 5 WoW link insertion | wow_editor |
Stable |
| Equipment, Mythic+, PvP, professions | — | Not started |
Localization¶
Taxonomy-based reference data respects the site's installed locales; when available, Blizzard's localized names are used directly. See Configuration.
License and attribution¶
This module is maintained under Drupal's license. Data is sourced from the Blizzard Battle.net API — see API compliance for Blizzard's terms and how the suite implements them (30-day TTL, rate limits, deletion on de-link, credential safety).