Ethereum ブロックチェーン上のトレーディング カード ゲーム、Gods Unchained の公開開発者 API ドキュメント。
このバージョンの API ( v0
) は限定公開ベータ版です。バグを発見した場合、または API が仕様に反する結果を返した場合は、ここに報告してください。エラー仕様は近日中に追加される予定です。
これらの API を使用して構築されたサードパーティ ツールをいくつか紹介します。ヘルプが必要な場合、または何を構築すればよいか迷っている場合は、必ず Discord サーバーで質問してください。
すべてのリクエストのベース URL は次のとおりです。
https://api.godsunchained.com
この URL には、要求されるバージョン (現在のバージョン: v0
) を接尾辞として付ける必要があります。
https://api.godsunchained.com/v0/
次の形式のクエリがサポートされています。
https://api.godsunchained.com/v0/card?god=nature&god=death
重複する引数キーは選言的に解釈されます。このクエリは、神が自然または死であるカードを返します。
複数のオブジェクトを返すことができるすべてのリクエストは、 page
とperPage
パラメーターによって形成できます。
https://api.godsunchained.com/v0/proto?page=3&perPage=20
ページ分割されたすべてのエンドポイントは、次の形式でデータを返します。
{
total: number
page: number
perPage: number
records: Array<any>
}
total
は、このクエリによって検出されたレコードの数です。
並べ替えは、 sort
およびorder
クエリ パラメーターを使用してページ分割されたエンドポイントに適用されます。
https://api.godsunchained.com/v0/card?sort=mana&order=asc
範囲型と数値型は、 order=asc
およびorder=desc
で並べ替えることができ、デフォルトはasc
です。
1 つのクエリで複数の並べ替えパラメーターを適用でき、次の順序で適用されます。
https://api.godsunchained.com/v0/card?sort=mana&order=asc&sort=health&order=desc
sort パラメーターと order パラメーターの正確な組み合わせがないクエリ (複数のパラメーターが適用される場合) の場合は、順序をnull
としてマークする必要があります。
https://api.godsunchained.com/v0/card?sort=mana&order=asc&sort=god&order=null&sort=health&order=desc
現在、すべてのエンドポイントには 1 秒あたり 5 (5/s) のレート制限があります。これは将来変更される可能性があります。
一般的なタイプ:
タイプ | 説明 |
---|---|
URL エンコードされた文字列。 | |
10 進数。 | |
true かfalse |
カスタム API タイプ:
タイプ | 説明 |
---|---|
16 進数のイーサリアム アドレス。大文字と小文字は区別されません。 | |
特定の数値1000 、範囲1000-2000 、最小値1000- または最大値-2000 。 |
さまざまな API の列挙型の有効なオプションを以下に示します。
タイプ | オプション |
---|---|
光、死、自然、戦争、魔法、欺瞞 | |
珍しい、壮大な、伝説的な、輝く | |
一般的な、珍しい、壮大な、伝説的な、神話的な | |
生き物、呪文、武器 | |
ネザー、エーテル、アトランティス、バイキング、オリンピアン、アヌビアン、アマゾン | |
プレーン、シャドウ、ゴールド、ダイヤモンド | |
フル、カード |
Gods Unchained にはいくつかの「タイプ」のカードがあります。
これらのエンドポイントの中には、上記の組み合わせを返すものもありますが、そうでないものもあります。これは、個々のエンドポイントによって文書化されています。一般に、デフォルトでは、ERC721 トークンになる可能性のあるカード (つまり、トークン カードとモデル カード) のみが返されます。
プロトタイプカード ( protos )には、カードのクラスの基礎となる統計情報が含まれています。
方法 | 説明 | 状態 |
---|---|---|
/card/{id} | カードを入手 | |
/card | リストカード | |
/proto/{id} | プロトを入手する | |
/proto | プロトをリストする | |
/factory/{address} | ファクトリーを取得 | |
/factory | 工場のリストを取得する | |
/factory/{address}/purchase/{id} | 購入する | |
/purchase | 工場の一覧表示 | |
/factory/{address}/purchase/{id}/pack/{index} | パックを入手 | |
/pack | リストパック | |
/referral | 紹介者のリストを取得する | |
/image/{id} | 画像を取得 | |
/user/{address} | ユーザーの取得 | |
/ranking | 所有するカードごとにユーザーをランク付けしてリストする | |
/rarity | 希少性の統計を取得する | |
/user/{address}/inventory | ユーザーのインベントリを取得する | |
/deck | デックをデック文字列にエンコードする | |
/deck/{string} | デック文字列からデックをデコードする |
パラメータ
名前 | タイプ | 説明 |
---|---|---|
ID | カードのERC721 ID |
ID id
と適切なメタデータを含むトークン カードを返します。現在、汎用メタデータ仕様と Apollo メタデータ仕様の両方に準拠しています。
トークンとモデル カードのリストを返します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
user | 特定の住所が所有するカードを取得する | |
rarity | 特定のレアリティのカードを入手する | |
quality | 特定の品質のカードを入手する | |
god | 特定の神のカードを入手する | |
type | 特定の種類のカードを入手する | |
tribe | 特定の部族のカードを入手する | |
purity | 特定の純度を持つカードを入手する | |
mana | 特定のマナを持つカードを入手する | |
health | 特定の健康状態のカードを入手する | |
attack | 特定の攻撃を持つカードを入手する | |
proto | 特定のプロトタイプ ID を持つカードを取得する |
応答フォーマット
{
"total": 1000,
"page": 1,
"perPage": 1,
"records": [
{
"id": {
"Int64": 0,
"Valid": false,
}
"proto": 319,
"purity": 59,
"user": "0xCb3562Dd15807e2BCF35092B1e873971AF0a51da"
}
]
}
ID id
のプロトタイプ カードを返します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
id | プロトタイプカードのID |
応答フォーマット
{
"id":300,
"name":"Guerilla Sabotage",
"effect":"Deal 4 damage to a random enemy creature. Draw a card.",
"god":"Nature",
"rarity":"Common",
"tribe":{"String":"","Valid":false},
"mana":4,
"attack":{"Int64":0,"Valid":false},
"health":{"Int64":0,"Valid":false},
"type":"Spell"
}
プロトタイプカードのリストを返します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
god | 特定の神でプロトスを入手する | |
rarity | 特定のレア度のプロトを入手する | |
type | 特定の型のプロトを取得する | |
tribe | 特定の部族でプロトを入手する | |
set | 特定のセットでプロトを取得する | |
collectable | 収集可能なプロトを取得するかどうか | |
mana | 特定のマナでプロトスを入手する | |
health | 特定の健康状態のプロトを取得する | |
attack | 特定の攻撃でプロトを入手する |
応答フォーマット
{
"total": 380,
"page": 1,
"perPage: 1,
"records": [
{
"id":300,
"name":"Guerilla Sabotage",
"effect":"Deal 4 damage to a random enemy creature. Draw a card.",
"god":"Nature",
"rarity":"Common",
"tribe":{"String":"","Valid":false},
"mana":4,
"attack":{"Int64":0,"Valid":false},
"health":{"Int64":0,"Valid":false},
"type":"Spell"
}
]
}
アドレスaddress
のパック ファクトリを返します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
address | 工場の住所 |
応答フォーマット
{
"address":"0x0777f76d195795268388789343068e4fcd286919",
"type":"rare"
}
パック ファクトリのリストを返します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
type | パックの種類 |
応答フォーマット
{
"total": 4,
"page": 1,
"perPage: 1,
"records": [
{
"address":"0x0777f76d195795268388789343068e4fcd286919",
"type":"rare"
}
]
}
address
のパック ファクトリからの購入id
を返します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
address | 工場の住所 | |
id | 工場内で購入したID |
応答フォーマット
{
"id":0,
"user":"0x3882C6ba6475165aC5257Ddc1D8d7782E7805c28",
"count":1,
"remaining":0,
"factory":"0x000983ba1A675327F0940b56c2d49CD9c042DFBF",
"txhash":"0xda2b2956588bd642bed4b0aa8f63c979f4893662dd31c237aa58b173bf4eb223",
"type":"shiny"
}
購入した商品のリストを返します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
type | 特定のパックタイプから購入物を取得する | |
user | 特定のユーザーによる購入を取得する | |
factory | 特定の工場で購入したものを取得する | |
remaining | この購入でアクティベートされる残りのパックの数 | |
count | 今回の購入で購入したパックの数 |
応答フォーマット
{
"total": 1000,
"page": 1,
"perPage: 1,
"records": [
{
"id":0,
"user":"0x3882C6ba6475165aC5257Ddc1D8d7782E7805c28",
"count":1,
"remaining":0,
"factory":"0x000983ba1A675327F0940b56c2d49CD9c042DFBF",
"txhash":"0xda2b2956588bd642bed4b0aa8f63c979f4893662dd31c237aa58b173bf4eb223",
"type":"shiny"
}
]
}
アドレスaddress
を持つパック ファクトリからの購入id
からのインデックスindex
を持つパックを返します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
address | パック工場の住所 | |
id | 購入したID | |
index | 購入したパックのインデックス |
応答フォーマット
{
"purchaseid":11665,
"purchaseindex":0,
"purchaseindices":[0,1,2,3,4],
"user":"0x62ed0960478Cd1aAA29e9e94928107D7b1E2Cef8",
"factory":"0x0777F76D195795268388789343068e4fCd286919",
"opened":true,
"cards":[
{"proto":264,"purity":600},
{"proto":38,"purity":990},
{"proto":299,"purity":549},
{"proto":347,"purity":275},
{"proto":291,"purity":850}
],
"type":"rare"
}
パックのリストを返します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
type | 特定のタイプのパックを取得する | |
user | 特定のユーザーが購入したパックを取得する | |
factory | 特定のファクトリーによって作成されたパックを取得する | |
purchase | 特定の購入で作成されたパックを取得する | |
opened | これらのパックが開封されているかどうか | |
fill | これらのパックにカードを入れるかどうか |
応答フォーマット
{
"total": 1000,
"page": 1,
"perPage: 1,
"records": [
{
"purchaseid":11665,
"purchaseindex":0,
"purchaseindices":[0,1,2,3,4],
"user":"0x62ed0960478Cd1aAA29e9e94928107D7b1E2Cef8",
"factory":"0x0777F76D195795268388789343068e4fCd286919",
"opened":true,
"cards":[
{"proto":264,"purity":600},
{"proto":38,"purity":990},
{"proto":299,"purity":549},
{"proto":347,"purity":275},
{"proto":291,"purity":850}
],
"type":"rare"
}
]
}
参照のリストを返します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
type | 特定の希少性の紹介を取得する | |
referrer | 特定のユーザーによる紹介を取得する | |
purchaser | 特定のユーザーに対して行われた紹介を取得する | |
factory | 特定の工場で作られた紹介を取得する |
応答フォーマット
{
"total": 1000,
"page": 1,
"perPage: 1,
"records": [
{
"id":0,
"referrer":"0xb08F95dbC639621DbAf48A472AE8Fce0f6f56a6e",
"purchaser":"0xE4a8dfcA175cDcA4Ae370f5b7aaff24bD1C9C8eF",
"factory":"0x1e891C587b345ab02A31b57c1F926fB08913d10D",
"value":1746000000000000000,
"count":0,
"type":"shiny"
}
]
}
ID id
のカード プロトタイプに基づいたイメージを返します。画像をカード形式で取得するには、 format
とquality
パラメーターを使用します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
format | 画像を表示する形式 | |
h | 画像のサイズが変更される高さ | |
w | 画像のサイズが変更される幅 | |
quality | カードの品質 |
ユーザーを取得します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
address | ユーザーのイーサリアムアドレス |
応答フォーマット
{
"username": "ender",
"address": "0xC257274276a4E539741Ca11b590B9447B26A8051",
"nonce": 0
}
エコシステム用のより効果的なアプリケーションの構築を支援するために、いくつかの便利な API エンドポイントも提供しています。これらのエンドポイントは既存のエンドポイントから構成できるため、将来のリリースでは非推奨になる可能性がありますが、初期の GU に焦点を当てたアプリケーションの開発中に便利なインターフェイスを提供します。
特定の条件を満たすカードを最も多く持つユーザーの順序付きリストを返します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
rarity | 特定のレアリティのカードのランクを取得する | |
quality | 特定の品質のカードのランクを取得する | |
god | 特定の神のカードのランクを取得する | |
type | 特定のタイプのカードのランクを取得する | |
tribe | 特定の部族のカードのランクを取得する | |
purity | 最小純度限界を持つカードのランクを取得する | |
mana | 特定のマナを持つカードのランクを取得する | |
health | 特定の体力を持つカードのランクを取得する | |
attack | 特定の攻撃を持つカードのランクを取得する | |
proto | 特定のプロトタイプ ID を持つカードのランクを取得する |
応答フォーマット
{
"total": 10000,
"page": 1,
"perPage": 1,
"records": [
{
"user": "0xa012623C2d4EB0cfe921Bd283bb1823370Ae2737",
"count": 1585
}
]
}
プロトに関するレアリティ情報を返します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
user | 特定のアドレスが所有するカードのレアリティ情報を取得する | |
rarity | 特定のレアリティを持つカードのレアリティ情報を取得する | |
quality | 特定の品質を持つカードのレアリティ情報を取得する | |
god | 特定の神のカードに関するレアリティ情報を取得する | |
type | 特定のタイプのカードのレアリティ情報を取得する | |
tribe | 特定の部族のカードに関するレアリティ情報を取得する | |
purity | 純度範囲内のカードに関するレアリティ情報を取得する | |
mana | マナ範囲内のカードのレアリティ情報を取得する | |
health | 体力範囲内のカードのレアリティ情報を取得する | |
attack | 攻撃範囲を持つカードのレアリティ情報を取得する | |
proto | ` | 特定のプロトタイプ ID を持つカードのレアリティ情報を取得する |
並べ替えオプション
proto
、 plain
、 shadow
、 gold
、 diamond
応答フォーマット
{
"total": 380,
"page": 1,
"perPage": 1,
"records": [
{
"proto": 1,
"plain": 1325,
"shadow": 72,
"gold": 20,
"diamond": 3
}
]
}
アドレスaddress
を持つユーザーのインベントリ (トークン、シャドウ、集中カードを含む) を返します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
rarity | 特定のレアリティのカードを入手する | |
quality | 特定の品質のカードを入手する | |
god | 特定の神のカードを入手する | |
type | 特定の種類のカードを入手する | |
tribe | 特定の部族のカードを入手する | |
purity | 純度の範囲内のカードを入手する | |
mana | マナ範囲内のカードを入手する | |
health | 体力の範囲内でカードを入手する | |
attack | 攻撃範囲のあるカードを手に入れる | |
proto | 特定のプロトタイプ ID を持つカードを取得する |
応答フォーマット
{
"total": 380,
"page": 1,
"perPage": 1,
"records": [
{
"proto": 1,
"purities": [
"100", "200", "300", "2999"
]
}
]
}
DeckStrings は、アプリケーションがデッキをインポートおよびエクスポートできるようにするための便利な標準です。次の API は、基本的なデッキ文字列操作のための便利なインターフェイスを提供します。
デックをデック文字列にエンコードします。
リクエストボディ
{
"version": 1,
"god": "deception",
"protos": [
290, 17, 201, 201, 80, 80, 93, 93, 64, 64, 185, 185, 55, 55, 97, 331, 281, 281, 252, 252, 330,
330, 280, 202, 202, 265, 265, 37, 94, 94
]
}
応答フォーマット
AQYBBhElYZgCogLLAgIMN0BQXV65AckBygH8AYkCmQLKAg==
デック文字列からデックをデコードします。
パラメータ
応答フォーマット
{
"version": 1,
"god": "deception",
"protos": [
290, 17, 201, 201, 80, 80, 93, 93, 64, 64, 185, 185, 55, 55, 97, 331, 281, 281, 252, 252, 330,
330, 280, 202, 202, 265, 265, 37, 94, 94
]
}
ゲームモードといくつかのプロパティをリストします。
応答フォーマット
[
{
"id": 2,
"name": "Constructed",
"description": "Classic Contructed",
"live": true,
"required_level": 0,
"properties": {
"type": 4,
"image_url": "https://images.godsunchained.com/misc/classic_constructed.webp"
}
}
]
試合結果を表示する
パラメータ
名前 | タイプ | 説明 |
---|---|---|
start_time | 試合の開始時刻 (UNIX エポック形式) | |
end_time | 試合の終了時刻 (UNIX エポック形式) | |
player_won | プレーヤーの user_id | |
player_lost | プレーヤーの user_id | |
game_mode | ゲームモード識別子 |
重要: total_turns フィールドの名前は、後の更新で total_rounds に変更されます。コミュニティが新しいフィールド名を使用していることを確認しながら、サポートを継続します。
応答フォーマット
{
"total": 1447,
"page": 1,
"perPage": 20,
"records": [
{
"player_won": 9127,
"player_lost": 6008,
"game_mode": 2,
"game_id": "b64865e2-682b-4a23-af11-20aad0cfd47c",
"start_time": 1560734177,
"end_time": 1560734355,
"player_info": [{"god":"nature","cards":[301,121,68,237,976,1000,973,523,910,385,494,467,905,519,907,507,919,916,906,442,386,537,471,928,475,906,454,909,945,920],"global":false,"health":30,"status":"connected","user_id":9127},{"god":"Magic","cards":[401,401,404,404,908,908,455,455,535,535,467,467,926,926,981,981,402,402,504,504,396,396,406,406,983,983,407,407,1002,1002],"global":true,"health":0,"status":"connected","user_id":6008}],
"total_turns": 6,
"total_rounds": 6
}
]
}
ゲームモードごとのプレイヤーのランクを表示します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
user_id | ユーザーの Apollo ID | |
game_mode | ランクのゲームモード |
応答フォーマット
{
"total": 543,
"page": 1,
"perPage": 20,
"records": [
{
"user_id": 9115,
"game_mode": 1,
"rating": 952,
"rank_level": 1,
"win_points": 82.849302,
"loss_points": 86.586029
},
{
"user_id": 2317,
"game_mode": 2,
"rating": 875.627936,
"rank_level": 1,
"win_points": 48.249483,
"loss_points": 89.55682
}
]
}
プレイヤーのプロパティを表示します。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
user_id | ユーザーの Apollo ID |
応答フォーマット
{
"total": 8298,
"page": 1,
"perPage": 20,
"records": [
{
"user_id": 612,
"xp_level": 0,
"total_xp": 0,
"xp_to_next": 25,
"won_matches": 0,
"lost_matches": 0,
"username": "bestplayer"
},
{
"user_id": 706,
"xp_level": 36,
"total_xp": 25850,
"xp_to_next": 350,
"won_matches": 51,
"lost_matches": 40,
"username": "broken_player"
}
]
}
プレイヤーのレーティングに基づいて試合の確率を計算します (Elo レーティング アルゴリズムを使用)
パラメータ
名前 | タイプ | 説明 |
---|---|---|
user_id | ユーザーの Apollo ID | |
opponent_id | 相手のApollo ID | |
game_mode | 試合のゲームモード |
応答フォーマット
0.6717130465747431
Quality API は、公共システムで使用される品質とその視覚的構成に関するデータを提供します。
すべてのアクティブな品質クラス定義と関連情報を表示します。主に、名前と ID の関係やメタデータのオーバーライドなどのサポート システムによって使用されます。
応答フォーマット
[
{
"class_key": "quality",
"class_value": "2",
"class_properties": {
"name": "gold"
},
"class_type": "card",
"game_id": 1
},
...
]
指定された品質クラス定義と関連情報を表示します。主に、名前と ID の関係やメタデータのオーバーライドなどのサポート システムによって使用されます。
パラメータ
名前 | タイプ | 説明 |
---|---|---|
quality | 品質ID |
応答フォーマット
{
"class_key": "quality",
"class_value": "2",
"class_properties": {
"name": "gold"
},
"class_type": "card",
"game_id": 1
}
Gods Unchained で使用される NFT アートの指定されたプロトと品質の組み合わせのビジュアルを生成するために必要なすべてのグラフィック構成データを示します。現在はカードアートのみをサポートしています。
パラメータ
名前 | タイプ | 説明 | 例 |
---|---|---|---|
pairs | @ 区切り文字で定義されたProtoとQuality | 1234@5 |
応答フォーマット
[
{
"id": 1234,
"name": "Born Again",
"effect": "Pull a creature from your void to your hand. Give it +5/+5 and ward.",
"god": "light",
"rarity": "epic",
"tribe": { "String": "", "Valid": false },
"mana": 6,
"attack": { "Int64": 0, "Valid": false },
"health": { "Int64": 0, "Valid": false },
"type": "spell",
"set": "core",
"collectable": true,
"live": "true",
"art_id": "C448",
"lib_id": "L2-235",
"composition": {
"illustration": [
"1234"
],
"frame": [
"spell",
"spell_plain"
],
"rosette": [
"light",
"light_plain"
],
"gems": [
"rarity_epic"
],
"wreath": [],
"lock": [
"lock_plain"
],
"tribe_bar": [],
"set": [
"core"
]
}
}
]