Documentação pública da API do desenvolvedor para Gods Unchained, um jogo de cartas colecionáveis no blockchain Ethereum.
Esta versão da API ( v0
) está em beta público limitado: se você descobrir um bug, ou se a API retornar resultados contrários à especificação, reporte aqui. Especificações de erro serão adicionadas em breve.
Aqui estão algumas ferramentas de terceiros criadas usando essas APIs. Certifique-se de perguntar em nosso servidor Discord se estiver procurando ajuda ou se estiver se perguntando o que construir.
O URL base para todas as solicitações é:
https://api.godsunchained.com
Este URL deve ter o sufixo da versão solicitada (versão atual: v0
).
https://api.godsunchained.com/v0/
Apoiamos consultas no seguinte formato:
https://api.godsunchained.com/v0/card?god=nature&god=death
Chaves de argumento duplicadas serão interpretadas disjuntivamente: esta consulta retornará cartas onde o deus é a natureza OU a morte.
Todas as solicitações que podem retornar vários objetos podem ser moldadas pelos parâmetros page
e perPage
.
https://api.godsunchained.com/v0/proto?page=3&perPage=20
Todos os endpoints paginados retornam dados no seguinte formato:
{
total: number
page: number
perPage: number
records: Array<any>
}
Onde total
é o número de registros descobertos por esta consulta.
As classificações são aplicadas a endpoints paginados usando os parâmetros de consulta sort
e order
:
https://api.godsunchained.com/v0/card?sort=mana&order=asc
Os tipos de intervalo e número podem ser ordenados por order=asc
e order=desc
, sendo o padrão asc
.
Vários parâmetros de classificação podem ser aplicados em uma consulta e serão aplicados em ordem:
https://api.godsunchained.com/v0/card?sort=mana&order=asc&sort=health&order=desc
Para consultas sem pares exatos de parâmetros de classificação e ordem (onde vários parâmetros são aplicados), é necessário marcar a ordem como null
:
https://api.godsunchained.com/v0/card?sort=mana&order=asc&sort=god&order=null&sort=health&order=desc
Atualmente, há um limite de taxa de 5 por segundo (5/s) em todos os endpoints. Isso pode mudar no futuro.
Tipos gerais:
Tipo | Descrição |
---|---|
Uma string codificada por URL. | |
Um número decimal. | |
true ou false |
Tipos de API personalizados:
Tipo | Descrição |
---|---|
Um endereço Ethereum hexadecimal, sem distinção entre maiúsculas e minúsculas. | |
Um número específico 1000 , um intervalo 1000-2000 , um mínimo 1000- ou um máximo -2000 . |
As opções válidas para os tipos de enumeração em várias APIs são definidas abaixo:
Tipo | Opções |
---|---|
luz, morte, natureza, guerra, magia, decepção | |
raro, épico, lendário, brilhante | |
comum, raro, épico, lendário, mítico | |
criatura, feitiço, arma | |
inferior, éter, atlante, viking, olímpico, anubiano, amazônico | |
simples, sombra, ouro, diamante | |
completo, cartão |
Existem vários 'tipos' de cartas em Gods Unchained:
Alguns desses endpoints retornam uma combinação dos itens acima, enquanto outros não: isso é documentado pelos endpoints individuais. Em geral, o padrão é retornar apenas cartões que possam se tornar tokens ERC721 (ou seja, cartões Token e Modelo).
As cartas protótipo , ou protos , contêm as estatísticas subjacentes a uma classe de cartas.
Método | Descrição | Status |
---|---|---|
/card/{id} | Obter cartão | |
/card | Listar cartões | |
/proto/{id} | Obtenha um proto | |
/proto | Listar protos | |
/factory/{address} | Obter fábrica | |
/factory | Obtenha uma lista de fábricas | |
/factory/{address}/purchase/{id} | Obter compra | |
/purchase | Listar fábricas | |
/factory/{address}/purchase/{id}/pack/{index} | Obter pacote | |
/pack | Pacotes de listas | |
/referral | Obtenha uma lista de referências | |
/image/{id} | Obter imagem | |
/user/{address} | Obter usuário | |
/ranking | Listar usuários classificados por cartões possuídos | |
/rarity | Obtenha estatísticas de raridade | |
/user/{address}/inventory | Obtenha o inventário de um usuário | |
/deck | Codifique um deck em uma string de deck | |
/deck/{string} | Decodifique um deck a partir de uma string de deck |
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
eu ia | ID ERC721 do cartão |
Retorna o cartão token com id id
e metadados apropriados. Atualmente está em conformidade com as especificações de metadados genéricas e Apollo.
Retorna uma lista de tokens e cartões de modelo.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
user | obter cartões pertencentes a um endereço específico | |
rarity | obtenha cartas com uma raridade específica | |
quality | obter cartões com uma qualidade específica | |
god | obter cartas com um deus específico | |
type | obter cartas com um tipo específico | |
tribe | obter cartas com uma tribo específica | |
purity | obtenha cartas com uma pureza particular | |
mana | obter cartas com uma mana específica | |
health | obtenha cartas com uma saúde específica | |
attack | obter cartas com um ataque específico | |
proto | obtenha cartões com um ID de protótipo específico |
Formato de resposta
{
"total": 1000,
"page": 1,
"perPage": 1,
"records": [
{
"id": {
"Int64": 0,
"Valid": false,
}
"proto": 319,
"purity": 59,
"user": "0xCb3562Dd15807e2BCF35092B1e873971AF0a51da"
}
]
}
Retorna o cartão protótipo com id id
.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
id | id do cartão protótipo |
Formato de resposta
{
"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"
}
Retorna uma lista de cartões protótipo.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
god | obtenha protos com um deus específico | |
rarity | obtenha protos com uma raridade específica | |
type | obter protos com um tipo específico | |
tribe | obtenha protos com uma tribo específica | |
set | obtenha protos com um conjunto específico | |
collectable | obtenha protos colecionáveis ou não | |
mana | obtenha protos com uma mana específica | |
health | obtenha protos com uma saúde específica | |
attack | obtenha protos com um ataque específico |
Formato de resposta
{
"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"
}
]
}
Retorna o pacote de fábrica no address
endereço .
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
address | endereço da fábrica |
Formato de resposta
{
"address":"0x0777f76d195795268388789343068e4fcd286919",
"type":"rare"
}
Retorna uma lista de fábricas de pacotes.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
type | tipo de pacote |
Formato de resposta
{
"total": 4,
"page": 1,
"perPage: 1,
"records": [
{
"address":"0x0777f76d195795268388789343068e4fcd286919",
"type":"rare"
}
]
}
Retorna id
de compra da fábrica do pacote no address
.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
address | endereço da fábrica | |
id | id de compra dentro da fábrica |
Formato de resposta
{
"id":0,
"user":"0x3882C6ba6475165aC5257Ddc1D8d7782E7805c28",
"count":1,
"remaining":0,
"factory":"0x000983ba1A675327F0940b56c2d49CD9c042DFBF",
"txhash":"0xda2b2956588bd642bed4b0aa8f63c979f4893662dd31c237aa58b173bf4eb223",
"type":"shiny"
}
Retorna uma lista de compras.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
type | obter compras de um tipo de pacote específico | |
user | obter compras feitas por um usuário específico | |
factory | fazer compras em uma fábrica específica | |
remaining | número de pacotes restantes para serem ativados nesta compra | |
count | número de pacotes comprados nesta compra |
Formato de resposta
{
"total": 1000,
"page": 1,
"perPage: 1,
"records": [
{
"id":0,
"user":"0x3882C6ba6475165aC5257Ddc1D8d7782E7805c28",
"count":1,
"remaining":0,
"factory":"0x000983ba1A675327F0940b56c2d49CD9c042DFBF",
"txhash":"0xda2b2956588bd642bed4b0aa8f63c979f4893662dd31c237aa58b173bf4eb223",
"type":"shiny"
}
]
}
Retorna o pacote com index
do id
de compra da fábrica do pacote com address
address .
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
address | endereço da fábrica de embalagens | |
id | id da compra | |
index | índice do pacote dentro da compra |
Formato de resposta
{
"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"
}
Retorna uma lista de pacotes.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
type | obter pacotes de um tipo específico | |
user | obter pacotes comprados por um usuário específico | |
factory | obtenha pacotes criados por uma fábrica específica | |
purchase | obtenha pacotes criados em uma compra específica | |
opened | se esses pacotes foram abertos | |
fill | se deve preencher esses pacotes com suas cartas |
Formato de resposta
{
"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"
}
]
}
Retorna uma lista de referências.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
type | obter referências com uma raridade específica | |
referrer | obter referências feitas por um usuário específico | |
purchaser | obter referências feitas para um usuário específico | |
factory | obter referências feitas em uma determinada fábrica |
Formato de resposta
{
"total": 1000,
"page": 1,
"perPage: 1,
"records": [
{
"id":0,
"referrer":"0xb08F95dbC639621DbAf48A472AE8Fce0f6f56a6e",
"purchaser":"0xE4a8dfcA175cDcA4Ae370f5b7aaff24bD1C9C8eF",
"factory":"0x1e891C587b345ab02A31b57c1F926fB08913d10D",
"value":1746000000000000000,
"count":0,
"type":"shiny"
}
]
}
Retorna uma imagem baseada no protótipo do cartão com id id
. Para obter uma imagem em formato de cartão, use os parâmetros format
e quality
.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
format | o formato em que a imagem deve ser apresentada | |
h | a altura para a qual a imagem será redimensionada | |
w | a largura para a qual a imagem será redimensionada | |
quality | a qualidade do cartão |
Obtenha um usuário.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
address | o endereço Ethereum do usuário |
Formato de resposta
{
"username": "ender",
"address": "0xC257274276a4E539741Ca11b590B9447B26A8051",
"nonce": 0
}
Para ajudar a criar aplicativos mais eficazes para nosso ecossistema, também fornecemos alguns endpoints de API úteis. Esses endpoints podem ser descontinuados em versões futuras, pois podem ser compostos a partir de endpoints existentes, mas fornecem uma interface conveniente durante o desenvolvimento de aplicativos nascentes focados em GU.
Retorna uma lista ordenada de usuários com o maior número de cartões que atendem a condições específicas.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
rarity | obtenha classificação de cartas com uma raridade específica | |
quality | obter classificação de cartas com uma qualidade específica | |
god | obter classificação de cartas com um deus específico | |
type | obter classificação de cartas com um tipo específico | |
tribe | obter classificação de cartas com uma tribo específica | |
purity | obter classificação de cartas com um limite mínimo de pureza | |
mana | obter classificação de cartas com uma mana específica | |
health | obtenha classificação de cartas com uma saúde específica | |
attack | obter classificação de cartas com um ataque específico | |
proto | obter classificação de cartas com um ID de protótipo específico |
Formato de resposta
{
"total": 10000,
"page": 1,
"perPage": 1,
"records": [
{
"user": "0xa012623C2d4EB0cfe921Bd283bb1823370Ae2737",
"count": 1585
}
]
}
Retorna informações de raridade sobre protos.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
user | obtenha informações de raridade sobre cartões pertencentes a um endereço específico | |
rarity | obter informações de raridade sobre cartas com uma raridade específica | |
quality | obtenha informações de raridade sobre cartas com uma qualidade específica | |
god | obtenha informações de raridade sobre cartas com um deus específico | |
type | obtenha informações de raridade sobre cartas com um tipo específico | |
tribe | obtenha informações de raridade sobre cartas de uma tribo específica | |
purity | obtenha informações de raridade sobre cartas dentro de uma faixa de pureza | |
mana | obter informações de raridade sobre cartas dentro de um alcance de mana | |
health | obtenha informações de raridade sobre cartas dentro de uma faixa de saúde | |
attack | obtenha informações de raridade sobre cartas com alcance de ataque | |
proto | ` | obtenha informações de raridade sobre cartões com um ID de protótipo específico |
Opções de classificação
proto
, plain
, shadow
, gold
, diamond
Formato de resposta
{
"total": 380,
"page": 1,
"perPage": 1,
"records": [
{
"proto": 1,
"plain": 1325,
"shadow": 72,
"gold": 20,
"diamond": 3
}
]
}
Retorna o inventário do usuário com address
address , incluindo token, shadow e cartões centralizados.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
rarity | obtenha cartas com uma raridade específica | |
quality | obter cartões com uma qualidade específica | |
god | obter cartas com um deus específico | |
type | obter cartas com um tipo específico | |
tribe | obter cartas com uma tribo específica | |
purity | obter cartas dentro de uma faixa de pureza | |
mana | obter cartas dentro de um alcance de mana | |
health | obter cartas dentro de uma faixa de saúde | |
attack | obter cartas com alcance de ataque | |
proto | obtenha cartões com um ID de protótipo específico |
Formato de resposta
{
"total": 380,
"page": 1,
"perPage": 1,
"records": [
{
"proto": 1,
"purities": [
"100", "200", "300", "2999"
]
}
]
}
DeckStrings é um padrão conveniente para permitir que aplicativos importem e exportem decks. As APIs a seguir fornecem uma interface conveniente para operações básicas de sequência de decks.
Codifica um deck em uma string de deck.
Corpo da Solicitação
{
"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
]
}
Formato de resposta
AQYBBhElYZgCogLLAgIMN0BQXV65AckBygH8AYkCmQLKAg==
Decodifica um deck a partir de uma sequência de deck.
Parâmetros
Formato de resposta
{
"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
]
}
Lista os modos de jogo com algumas propriedades.
Formato de resposta
[
{
"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"
}
}
]
Mostrar os resultados da partida
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
start_time | hora de início da partida (formato de época UNIX) | |
end_time | hora de término da partida (formato de época UNIX) | |
player_won | user_id de um jogador | |
player_lost | user_id de um jogador | |
game_mode | identificador game_mode |
Importante : o campo total_turns será renomeado para total_rounds em uma atualização posterior. Continuaremos a apoiá-lo enquanto garantimos que nossa comunidade esteja usando o novo nome de campo.
Formato de resposta
{
"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
}
]
}
Mostra a classificação de um jogador por modo de jogo.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
user_id | ID Apollo do usuário | |
game_mode | Modo de jogo da classificação |
Formato de resposta
{
"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
}
]
}
Mostre as propriedades dos jogadores.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
user_id | ID Apollo do usuário |
Formato de resposta
{
"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"
}
]
}
Calcula a probabilidade de uma partida com base na classificação dos jogadores (usando o algoritmo de classificação Elo)
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
user_id | ID Apollo do usuário | |
opponent_id | Apollo ID do oponente | |
game_mode | o modo de jogo da partida |
Formato de resposta
0.6717130465747431
As APIs de qualidade fornecem dados sobre as qualidades e sua composição visual utilizadas pelos sistemas públicos.
Mostra todas as definições de classe de qualidade ativas e informações relacionadas. Usado principalmente para sistemas de suporte, como relacionamentos de nome e ID ou substituições de metadados.
Formato de resposta
[
{
"class_key": "quality",
"class_value": "2",
"class_properties": {
"name": "gold"
},
"class_type": "card",
"game_id": 1
},
...
]
Mostra a definição da classe de qualidade especificada e informações relacionadas. Usado principalmente para sistemas de suporte, como relacionamentos de nome e ID ou substituições de metadados.
Parâmetros
Nome | Tipo | Descrição |
---|---|---|
quality | ID de qualidade |
Formato de resposta
{
"class_key": "quality",
"class_value": "2",
"class_properties": {
"name": "gold"
},
"class_type": "card",
"game_id": 1
}
Mostra todos os dados de composição gráfica necessários para gerar recursos visuais para as combinações especificadas de proto e qualidade para arte NFT usada em Gods Unchained. Atualmente suporta apenas arte de cartão.
Parâmetros
Nome | Tipo | Descrição | Exemplo |
---|---|---|---|
pairs | Proto e Qualidade definidos com um separador @ | 1234@5 |
Formato de resposta
[
{
"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"
]
}
}
]