NAME

WoW::Armory::API - Perl interface to WoW API

SYNOPSIS

use WoW::Armory::API;

$api = WoW::Armory::API->new(Region => 'eu', Locale => 'ru_RU');

$char_data = $api->GetCharacter('realm', 'Character', 'items,pets,mounts');
$guild_data = $api->GetGuild('realm', 'Guild');

print $char_data->{items}{head}{name};
print $guild_data->{name};

use WoW::Armory::Class::Character;
use WoW::Armory::Class::Guild;

$char = WoW::Armory::Class::Character->new($char_data);
$guild = WoW::Armory::Class::Guild->new($guild_data);

print $char->items->head->name;
print $guild->name;

METHODS

Constants

WOW_CHARACTER_FIELDS

@fields = @{WOW_CHARACTER_FIELDS()};
$data = $api->GetCharacter($realmId, $characterName, join(',', @fields));

WOW_GUILD_FIELDS

@fields = @{WOW_GUILD_FIELDS()};
$data = $api->GetGuild($realmId, $guildName, join(',', @fields));

WOW_ARENA_TEAM_2

$data = $api->GetArena($realmId, WOW_ARENA_TEAM_2, $teamName);

WOW_ARENA_TEAM_3

$data = $api->GetArena($realmId, WOW_ARENA_TEAM_3, $teamName);

WOW_ARENA_TEAM_5

$data = $api->GetArena($realmId, WOW_ARENA_TEAM_5, $teamName);

Constructor

new()

$api = WoW::Armory::API->new;
$api = WoW::Armory::API->new(Region => $regionId, Locale => $locale);

General

GetRegions()

$data = WoW::Armory::API->GetRegions();
$data = $api->GetRegions();

SetRegion()

$api->SetRegion($regionId);
$api->SetRegion($regionId, $locale);

HasLocale()

$hasLocale = $api->HasLocale($locale);

SetLocale()

$api->SetLocale($locale);

GetApiHost()

$host = $api->GetApiHost();

DoApiCall()

$data = $api->DoApiCall($method, @params);

WoW API

All of these methods return the appropriate data structure or undef. See http://blizzard.github.com/api-wow-docs/ for more details.

GetAchievement()

$data = $api->GetAchievement($achievementId);

GetAuctionData()

$data = $api->GetAuctionData($realmId);

GetBattlePetAbility()

$data = $api->GetBattlePetAbility($abilityId);

GetBattlePetSpecies()

$data = $api->GetBattlePetSpecies($speciesId);

GetBattlePetStats()

$data = $api->GetBattlePetStats($speciesId);
$data = $api->GetBattlePetStats($speciesId, $level, $breedId, $qualityId);

GetChallenge()

$data = $api->GetChallenge($realmId);

GetChallengeRegion()

$data = $api->GetChallengeRegion();

GetCharacter()

$data = $api->GetCharacter($realmId, $characterName);
$data = $api->GetCharacter($realmId, $characterName, $fields);

GetItem()

$data = $api->GetItem($itemId);

GetItemSet()

$data = $api->GetItemSet($itemSetId);

GetGuild()

$data = $api->GetGuild($realmId, $guildName);
$data = $api->GetGuild($realmId, $guildName, $fields);

GetArena()

$data = $api->GetArena($realmId, $teamSize, $teamName);

GetPvpArena()

$data = $api->GetPvpArena($battleGroup, $teamSize);
$data = $api->GetPvpArena($battleGroup, $teamSize, $page, $pageSize, $asc);

GetPvpRatedbgLadder()

$data = $api->GetPvpRatedbgLadder();
$data = $api->GetPvpRatedbgLadder($page, $pageSize, $asc);

GetQuest()

$data = $api->GetQuest($questId);

GetRealmStatus()

$data = $api->GetRealmStatus();

GetRecipe()

$data = $api->GetRecipe($recipeId);

GetSpell()

$data = $api->GetSpell($spellId);

GetDataBattlegroups()

$data = $api->GetDataBattlegroups();

GetDataCharacterRaces()

$data = $api->GetDataCharacterRaces();

GetDataCharacterClasses()

$data = $api->GetDataCharacterClasses();

GetDataCharacterAchievements()

$data = $api->GetDataCharacterAchievements();

GetDataGuildRewards()

$data = $api->GetDataGuildRewards();

GetDataGuildPerks()

$data = $api->GetDataGuildPerks();

GetDataGuildAchievements()

$data = $api->GetDataGuildAchievements();

GetDataItemClasses()

$data = $api->GetDataItemClasses();

GetDataTalents()

$data = $api->GetDataTalents();

GetDataPetTypes()

$data = $api->GetDataPetTypes();

SEE ALSO

http://blizzard.github.com/api-wow-docs/

REPOSITORY

The source code for the WoW::Armory::API is held in a public git repository on Github: https://github.com/Silencer2K/perl-wow-api

AUTHOR

Aleksandr Aleshin <silencer@cpan.org>

COPYRIGHT

This software is copyright (c) 2012 by Aleksandr Aleshin.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.