mcpField
W
wow-api-currency-economy

wow-api-currency-economy

github.com/jburlison開発4641 回インストール37 週間前に更新
リポジトリ

wow-api-currency-economy について

Retail版 World of Warcraft のアドオンやスクリプト開発者向けAPIリファレンスです。Patch 12.0.0の通貨、オークション、ショップ、取引、メール関連APIを扱います。

主な機能

  1. 01通貨量、上限、追跡状態の確認
  2. 02オークションの検索、入札、出品
  3. 03WoW Tokenの市場価格の確認
  4. 04Trading Postとブラックマーケット情報の参照
  5. 05プレイヤー取引とメール情報の取得

活用シーン

  1. 01通貨量や週間上限の表示機能の開発
  2. 02オークション検索・出品アドオンの作成
  3. 03Trading Postの商品や報酬の確認
  4. 04取引・メール関連アドオンの開発

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/jburlison/wowaddonapiagents --skill wow-api-currency-economy

インストール後、Claude Code で/wow-api-currency-economyを入力して読み込まれたか確認します。

詳細

通貨・経済 API(リテール — パッチ 12.0.0)

通貨、オークションハウス、ショップ、トークン、トレーディング・ポスト、メール、取引 API の包括的なリファレンスです。

出典: https://warcraft.wiki.gg/wiki/World_of_Warcraft_API 2026 年 1 月 28 日時点: パッチ 12.0.0(ビルド 65655) 対象範囲: リテールのみ。


対象範囲

  • C_CurrencyInfo — 通貨データ、追跡、バックパック表示
  • オークションハウス — 出品、入札、購入、販売、商品
  • C_WowTokenPublic / C_WowTokenUI — WoW トークン市場
  • AccountStore / StorePublic — ゲーム内ショップ
  • CatalogShop — カタログショップシステム
  • C_PerksProgram — トレーディング・ポスト(トレーダーズ・テンダー)
  • BlackMarket — ブラックマーケット・オークションハウス
  • TradeInfo — プレイヤー間取引
  • MailInfo — メールボックスシステム

C_CurrencyInfo — 通貨システム

通貨データ
関数戻り値説明
C_CurrencyInfo.GetCurrencyInfo(currencyType)currencyInfo種類別の通貨情報
C_CurrencyInfo.GetCurrencyInfoFromLink(link)currencyInfoハイパーリンクから取得
C_CurrencyInfo.GetCurrencyIDFromLink(link)currencyIDハイパーリンクから ID を取得
C_CurrencyInfo.GetCurrencyLink(currencyType, amount)link通貨のハイパーリンク
C_CurrencyInfo.GetCurrencyListSize()sizeエントリ数
C_CurrencyInfo.GetCurrencyListInfo(index)infoインデックス位置のエントリ
C_CurrencyInfo.GetCurrencyListLink(index)linkインデックス位置のリンク
通貨情報のフィールド
  • name — 通貨名
  • description — 説明文
  • currencyID — 一意の ID
  • iconFileID — アイコンテクスチャ
  • quantity — 現在の数量
  • maxQuantity — 最大上限(0 = 上限なし)
  • canEarnPerWeek — 週間上限があるか
  • quantityEarnedThisWeek — 今週獲得した数量
  • maxWeeklyQuantity — 週間上限
  • totalEarned — これまでの累計獲得数
  • isTradeable — 取引可能か
  • quality — アイテム品質
  • isDiscovered — 発見済みか
  • isShowInBackpack — バックパックに表示されるか
バックパックと追跡
関数戻り値説明
C_CurrencyInfo.GetBackpackCurrencyInfo(index)currencyDataバックパックのスロット
C_CurrencyInfo.GetNumBackpackCurrencies()numSlotsバックパックのスロット数
C_CurrencyInfo.SetCurrencyBackpack(index, backpack)—バックパック表示を切り替え
C_CurrencyInfo.IsCurrencyTracked(currencyID)isTracked追跡中か
C_CurrencyInfo.SetCurrencyTracked(currencyID, tracked)—追跡状態を設定
通貨リストの管理
関数戻り値説明
C_CurrencyInfo.ExpandCurrencyList(index, expand)—見出しを展開/折りたたみ
C_CurrencyInfo.IsCurrencyHeader(index)isHeader見出しか
C_CurrencyInfo.GetFactionGrantedByCurrency(currencyID)factionID関連する勢力
C_CurrencyInfo.DoesCurrentFilterPassFilter(currencyID)passesフィルターを通過するか
ゴールド関数(グローバル)
関数戻り値説明
GetMoney()copperプレイヤーの所持金(銅貨)
GetCoinTextureString(copper)text金貨・銀貨・銅貨の文字列
GetMoneyString(copper, ...)text書式設定された金額の文字列

オークションハウス

閲覧と検索
関数戻り値説明
C_AuctionHouse.SearchForItemKeys(itemKeys, sorts)—アイテムキーで検索
C_AuctionHouse.SendBrowseQuery(query)—閲覧クエリ
C_AuctionHouse.SendSearchQuery(itemKey, sorts, separateOwnerItems)—アイテム検索
C_AuctionHouse.GetBrowseResults()browseResults閲覧結果
C_AuctionHouse.GetNumItemSearchResults(itemKey)numResults検索結果数
C_AuctionHouse.GetItemSearchResultInfo(itemKey, index)resultInfo検索結果情報
C_AuctionHouse.RefreshItemSearchResults(itemKey)—検索結果を更新
C_AuctionHouse.GetFilterGroups()filterGroups利用可能なフィルター
商品
関数戻り値説明
C_AuctionHouse.SendSellSearchQuery(itemKey, sorts, separateOwnerItems)—商品検索
C_AuctionHouse.GetCommoditySearchResultInfo(itemID, index)resultInfo商品の検索結果
C_AuctionHouse.GetNumCommoditySearchResults(itemID)numResults商品の検索結果数
C_AuctionHouse.StartCommoditiesPurchase(itemID, quantity)—商品の購入を開始
C_AuctionHouse.ConfirmCommoditiesPurchase()—商品の購入を確定
C_AuctionHouse.CancelCommoditiesPurchase()—商品の購入をキャンセル
C_AuctionHouse.GetCommodityQuote(itemID)quote価格見積もり
出品と販売
関数戻り値説明
C_AuctionHouse.PostItem(itemLocation, duration, quantity, bid, buyout)—アイテムを出品
C_AuctionHouse.PostCommodity(itemLocation, duration, quantity, unitPrice)—商品を出品
C_AuctionHouse.GetItemKeyInfo(itemKey)keyInfoアイテムキー情報
C_AuctionHouse.MakeItemKey(itemID, itemLevel, itemSuffix, battlePetSpeciesID)itemKeyアイテムキーを作成
C_AuctionHouse.GetAvailablePostCount(itemLocation)count出品できる数
C_AuctionHouse.CalculateItemDeposit(itemLocation, duration, quantity)deposit預託金
C_AuctionHouse.GetQuoteDurationRemaining()seconds見積もりの残り時間
入札と購入
関数戻り値説明
C_AuctionHouse.PlaceBid(auctionID, bidAmount)—入札
C_AuctionHouse.GetBidInfo(index)bidInfo入札情報
C_AuctionHouse.GetNumBids()numBids有効な入札数
C_AuctionHouse.HasFavorite(itemKey)isFavoriteお気に入り登録済みか
C_AuctionHouse.SetFavoriteItem(itemKey, isFavorite)—お気に入りを設定
C_AuctionHouse.GetFavoriteItems()itemKeysすべてのお気に入り
自分のオークション
関数戻り値説明
C_AuctionHouse.GetNumOwnedAuctions()numAuctions自分のオークション数
C_AuctionHouse.GetOwnedAuctionInfo(index)auctionInfo自分のオークション情報
C_AuctionHouse.CancelAuction(auctionID)—オークションをキャンセル
C_AuctionHouse.QueryOwnedAuctions(sorts)—自分のオークションを照会
オークションハウスの状態
関数戻り値説明
C_AuctionHouse.IsAuctionHouseAvailable()isAvailableAH が利用可能か
C_AuctionHouse.CloseAuctionHouse()—AH を閉じる
C_AuctionHouse.GetAuctionHouseTimeLeftBand(timeLeftEnum)seconds残り時間
C_AuctionHouse.ReplicateItems()—AH 全体をスキャン
C_AuctionHouse.GetNumReplicateItems()count複製アイテム数
C_AuctionHouse.GetReplicateItemInfo(index)info複製アイテム情報

C_WowTokenPublic — WoW トークン

関数戻り値説明
C_WowTokenPublic.GetCurrentMarketPrice()priceゴールド価格
C_WowTokenPublic.GetGuaranteedPrice()price保証価格
C_WowTokenPublic.UpdateMarketPrice()—更新をリクエスト
C_WowTokenPublic.GetCommerceSystemStatus()statusシステムの状態
C_WowTokenPublic.BuyToken()—トークンを購入(ゴールド)
C_WowTokenPublic.SellToken(auctionID)—トークンを売却

AccountStore / StorePublic — ゲーム内ショップ

関数戻り値説明
C_StorePublic.IsEnabled()enabledショップは有効ですか?
C_StorePublic.IsDisabledByParentalControls()disabled保護者による使用制限でブロックされていますか?
C_StorePublic.DoesGroupHavePurchaseableProducts(group)hasPurchaseable購入可能な商品がありますか?

C_PerksProgram — トレーディング・ポスト

関数戻り値説明
C_PerksProgram.GetAvailableActivities()activities現在のアクティビティ
C_PerksProgram.GetPendingChestRewards()rewards未受け取りの報酬
C_PerksProgram.GetTimeRemaining()secondsローテーション終了までの残り時間
C_PerksProgram.GetCurrencyAmount()amount旅人の手形
C_PerksProgram.GetVendorItemInfo(perksVendorItemID)itemInfoベンダーアイテム
C_PerksProgram.GetAvailableVendorItemIDs()itemIDs現在のローテーション
C_PerksProgram.GetFrozenPerksVendorItemInfo()info凍結中のアイテム
C_PerksProgram.RequestPurchase(perksVendorItemID)—アイテムを購入
C_PerksProgram.RequestRefund(perksVendorItemID)—アイテムを払い戻し
C_PerksProgram.GetDraggedPerksVendorItemInfo()itemInfoドラッグ中のアイテム
C_PerksProgram.IsFrozenItem(perksVendorItemID)isFrozen凍結されていますか?
C_PerksProgram.SetFrozenPerksVendorItem(perksVendorItemID)—アイテムを凍結
C_PerksProgram.ClearFrozenPerksVendorItem()—凍結を解除
C_PerksProgram.GetPerksVendorCategoryIDs()categoryIDsカテゴリー ID
C_PerksProgram.GetPerksVendorCategoryInfo(categoryID)categoryInfoカテゴリー情報

ブラックマーケット

関数戻り値説明
C_BlackMarket.GetNumItems()numItems現在の BMAH アイテム数
C_BlackMarket.GetItemInfoByIndex(index)infoBMAH アイテム情報
C_BlackMarket.GetHotItem()info本日の注目アイテム
C_BlackMarket.ItemPlaceBid(index, amount)—BMAH に入札
C_BlackMarket.RequestItems()—アイテム一覧をリクエスト
C_BlackMarket.IsViewOnly()isViewOnly閲覧専用モードですか?

取引(プレイヤー間)

関数戻り値説明
InitiateTrade(unit)—取引を開始
AcceptTrade()—取引を承諾
CancelTrade()—取引をキャンセル
AddTradeMoney()—ゴールドの提示額を追加
SetTradeMoney(copper)—ゴールド額を設定
GetTargetTradeMoney()copper相手のゴールド提示額
GetPlayerTradeMoney()copper自分のゴールド提示額
GetTradeTargetItemInfo(slotIndex)name, texture, quantity, quality, isUsable, enchant相手のアイテム
GetTradePlayerItemInfo(slotIndex)name, texture, quantity, quality, isUsable, enchant自分のアイテム
ClickTradeButton(slotIndex)—取引スロットをクリック
GetNumTradeItems()numPlayerItems, numTargetItemsアイテム数

メールシステム

機能戻り値説明
GetInboxNumItems()numItems, totalItems受信トレイの件数
GetInboxHeaderInfo(index)packageIcon, stationeryIcon, sender, subject, money, CODAmount, daysLeft, hasItem, wasRead, wasReturned, textCreated, canReply, isGMメールヘッダー
GetInboxText(index)bodyText, stationeryBG, stationeryBGR, stationeryBGG, stationeryBGB, colorメール本文
GetInboxItem(index, itemIndex)name, itemID, texture, count, quality, canUse添付アイテム
GetInboxItemLink(index, itemIndex)link添付アイテムのリンク
TakeInboxItem(index, itemIndex)—添付アイテムを受け取る
TakeInboxMoney(index)—ゴールドを受け取る
TakeInboxTextItem(index)—テキストアイテムを受け取る
DeleteInboxItem(index)—メールを削除する
ReturnInboxItem(index)—メールを返送する
AutoLootMailItem(index)—すべて自動取得する
InboxItemCanDelete(index)canDelete削除可能か
SendMail(recipient, subject, body)—メールを送信する
SetSendMailMoney(copper)—送信するゴールドを設定する
SetSendMailCOD(copper)—代金引換の金額を設定する
GetSendMailPrice()cost送信費用
GetSendMailItem(index)name, texture, count, quality添付アイテム
GetSendMailItemLink(index)link添付アイテムのリンク
ClickSendMailItemButton(itemIndex, clearItem)—添付アイテムを追加/削除する
SendMailCanSend()canSend送信可能か

よく使われるパターン

上限付きで通貨を表示する
local function ShowCurrency(currencyID)
    local info = C_CurrencyInfo.GetCurrencyInfo(currencyID)
    if info then
        local text = info.name .. ": " .. info.quantity
        if info.maxQuantity > 0 then
            text = text .. " / " .. info.maxQuantity
        end
        if info.canEarnPerWeek and info.maxWeeklyQuantity > 0 then
            text = text .. " (Weekly: " .. info.quantityEarnedThisWeek .. "/" .. info.maxWeeklyQuantity .. ")"
        end
        print(text)
    end
end
オークションハウスで検索する
-- Register for results
local f = CreateFrame("Frame")
f:RegisterEvent("ITEM_SEARCH_RESULTS_UPDATED")
f:SetScript("OnEvent", function(self, event, itemKey, ...)
    local numResults = C_AuctionHouse.GetNumItemSearchResults(itemKey)
    for i = 1, numResults do
        local result = C_AuctionHouse.GetItemSearchResultInfo(itemKey, i)
        if result then
            print(result.buyoutAmount, "copper -", result.quantity, "available")
        end
    end
end)

-- Initiate search
local itemKey = C_AuctionHouse.MakeItemKey(12345) -- itemID
C_AuctionHouse.SendSearchQuery(itemKey, {}, false)
WoW トークンの価格を確認する
C_WowTokenPublic.UpdateMarketPrice()

local f = CreateFrame("Frame")
f:RegisterEvent("TOKEN_MARKET_PRICE_UPDATED")
f:SetScript("OnEvent", function()
    local price = C_WowTokenPublic.GetCurrentMarketPrice()
    if price then
        print("WoW Token: " .. GetCoinTextureString(price))
    end
end)

主要イベント

イベントペイロード説明
CURRENCY_DISPLAY_UPDATEcurrencyType, quantity, quantityChange, quantityGainSource, quantityLostSource通貨が変更された
AUCTION_HOUSE_SHOW—AH が開いた
AUCTION_HOUSE_CLOSED—AH が閉じた
AUCTION_HOUSE_BROWSE_RESULTS_UPDATED—閲覧結果の準備完了
ITEM_SEARCH_RESULTS_UPDATEDitemKeyアイテム検索の準備完了
COMMODITY_SEARCH_RESULTS_UPDATEDitemID商品検索の準備完了
AUCTION_HOUSE_NEW_RESULTS_RECEIVEDitemKey新しい結果
ITEM_SEARCH_RESULTS_ADDEDitemKey結果が追加された
AUCTION_HOUSE_AUCTION_CREATEDauctionIDオークションが出品された
AUCTION_CANCELEDauctionIDオークションがキャンセルされた
TOKEN_MARKET_PRICE_UPDATEDresultトークン価格が更新された
TOKEN_STATUS_CHANGED—トークンの状態が変更された
PERKS_PROGRAM_CURRENCY_REFRESH—トレーダーズ・テンダーが更新された
PERKS_PROGRAM_PURCHASE_SUCCESS—トレーディング・ポストで購入された
PERKS_PROGRAM_SET_FROZEN_ITEM—アイテムが凍結された
MAIL_INBOX_UPDATE—受信トレイが更新された
MAIL_SEND_SUCCESS—メールが送信された
MAIL_SHOW—メールボックスが開いた
MAIL_CLOSED—メールボックスが閉じた
TRADE_SHOW—取引ウィンドウが開いた
TRADE_CLOSED—取引が終了した
TRADE_ACCEPT_UPDATEplayerAccept, targetAccept承諾状態
TRADE_MONEY_CHANGED—ゴールドの提示額が変更された
TRADE_PLAYER_ITEM_CHANGEDslotIndexプレイヤーのアイテムが変更された
TRADE_TARGET_ITEM_CHANGEDslotIndex相手のアイテムが変更された
BLACK_MARKET_ITEM_UPDATE—BMAH のアイテムが更新された
BLACK_MARKET_OUTBID—BMAH で入札額を上回られた

注意点と制限事項

  1. オークションハウスのハードウェアイベント — 出品、購入、入札にはハードウェアイベント(ユーザーのクリック)が必要です。
  2. 商品とアイテムの違い — 商品(スタック可能なアイテム)は、装備品やユニークアイテムとは異なる API パスを使用します。
  3. AH のスロットリング — 検索にはレート制限があります。短時間にクエリを繰り返すと、サーバーによってスロットリングされます。
  4. COD メール — COD メールは、添付ファイルを受け取るとゴールドが自動的に差し引かれます。InboxItemCanDelete() を使ってテストしてください。
  5. GetMoney() は銅貨を返します — 銀貨にするには 100 で、金貨にするには 10000 で割ります。
  6. 通貨の上限 — 進捗を表示する前に、必ず maxQuantity と maxWeeklyQuantity を確認してください。
  7. WoW Token の価格は非同期です — UpdateMarketPrice() を呼び出してから、TOKEN_MARKET_PRICE_UPDATED を待ちます。
  8. ReplicateItems() は時間がかかります — AH の全件スキャンは負荷が高いため、使用は控えめにし、結果を段階的に処理してください。

コメント