Documentación API pública para desarrolladores de Gods Unchained, un juego de cartas coleccionables en la cadena de bloques Ethereum.
Esta versión de la API ( v0
) se encuentra en una versión beta pública limitada: si descubre un error o la API arroja resultados contrarios a la especificación, infórmelo aquí. Las especificaciones de error se agregarán pronto.
Aquí hay algunas herramientas de terceros creadas con estas API; asegúrese de preguntar en nuestro servidor de Discord si está buscando ayuda o se pregunta qué crear.
La URL base para todas las solicitudes es:
https://api.godsunchained.com
Esta URL debe tener como sufijo la versión que se solicita (versión actual: v0
).
https://api.godsunchained.com/v0/
Admitimos consultas de la siguiente forma:
https://api.godsunchained.com/v0/card?god=nature&god=death
Las claves de argumentos duplicadas se interpretarán de forma disyuntiva: esta consulta devolverá cartas en las que el dios es la naturaleza O la muerte.
Todas las solicitudes que pueden devolver varios objetos pueden estar determinadas por los parámetros page
y perPage
.
https://api.godsunchained.com/v0/proto?page=3&perPage=20
Todos los puntos finales paginados devuelven datos en el siguiente formato:
{
total: number
page: number
perPage: number
records: Array<any>
}
Donde total
es el número de registros descubiertos por esta consulta.
Las clasificaciones se aplican a puntos finales paginados utilizando los parámetros de consulta sort
y order
:
https://api.godsunchained.com/v0/card?sort=mana&order=asc
Los tipos de rango y número se pueden ordenar mediante order=asc
y order=desc
, de forma predeterminada asc
.
Se pueden aplicar varios parámetros de clasificación en una consulta y se aplicarán en orden:
https://api.godsunchained.com/v0/card?sort=mana&order=asc&sort=health&order=desc
Para consultas sin pares exactos de parámetros de clasificación y orden (donde se aplican múltiples parámetros), es necesario marcar el orden como null
:
https://api.godsunchained.com/v0/card?sort=mana&order=asc&sort=god&order=null&sort=health&order=desc
Actualmente, existe un límite de velocidad de 5 por segundo (5/s) en todos los puntos finales. Esto puede cambiar en el futuro.
Tipos generales:
Tipo | Descripción |
---|---|
Una cadena codificada en URL. | |
Un número decimal. | |
true o false |
Tipos de API personalizados:
Tipo | Descripción |
---|---|
Una dirección Ethereum hexadecimal, que no distingue entre mayúsculas y minúsculas. | |
Un número específico 1000 , un rango 1000-2000 , un mínimo 1000- o un máximo -2000 . |
Las opciones válidas para los tipos de enumeración en varias API se establecen a continuación:
Tipo | Opciones |
---|---|
luz, muerte, naturaleza, guerra, magia, engaño | |
raro, épico, legendario, brillante | |
común, raro, épico, legendario, mítico | |
criatura, hechizo, arma | |
inferior, éter, atlante, vikingo, olímpico, anubio, amazonas | |
llanura, sombra, oro, diamante | |
lleno, tarjeta |
Hay varios 'tipos' de cartas en Gods Unchained:
Algunos de estos puntos finales devuelven una combinación de lo anterior, mientras que otros no: esto está documentado por los puntos finales individuales. En general, el valor predeterminado es devolver solo tarjetas que puedan convertirse en tokens ERC721 (es decir, tarjetas Token y Modelo).
Las cartas prototipo , o protos , contienen las estadísticas subyacentes de una clase de carta.
Método | Descripción | Estado |
---|---|---|
/card/{id} | obtener tarjeta | |
/card | Tarjetas de lista | |
/proto/{id} | Obtener un prototipo | |
/proto | Lista de prototipos | |
/factory/{address} | Obtener fábrica | |
/factory | Obtener una lista de fábricas | |
/factory/{address}/purchase/{id} | Obtener compra | |
/purchase | Listar fábricas | |
/factory/{address}/purchase/{id}/pack/{index} | conseguir paquete | |
/pack | Listar paquetes | |
/referral | Obtenga una lista de referencias | |
/image/{id} | Obtener imagen | |
/user/{address} | Obtener usuario | |
/ranking | Listar usuarios clasificados por tarjetas de propiedad | |
/rarity | Obtener estadísticas de rareza | |
/user/{address}/inventory | Obtener el inventario de un usuario | |
/deck | Codificar un mazo en una cadena de mazo | |
/deck/{string} | Decodificar un mazo a partir de una cadena de mazo |
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
identificación | ERC721 identificación de la tarjeta |
Devuelve la tarjeta token con id
y los metadatos apropiados. Actualmente cumple con las especificaciones de metadatos genéricos y Apollo.
Devuelve una lista de fichas y tarjetas modelo.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
user | obtener tarjetas propiedad de una dirección específica | |
rarity | obtener tarjetas con una rareza específica | |
quality | obtener tarjetas con una calidad específica | |
god | conseguir cartas con un dios específico | |
type | obtener tarjetas con un tipo específico | |
tribe | obtener tarjetas con una tribu específica | |
purity | conseguir cartas con una pureza particular | |
mana | conseguir cartas con un maná específico | |
health | obtener tarjetas con una salud específica | |
attack | conseguir cartas con un ataque específico | |
proto | obtener tarjetas con una identificación de prototipo específica |
Formato de respuesta
{
"total": 1000,
"page": 1,
"perPage": 1,
"records": [
{
"id": {
"Int64": 0,
"Valid": false,
}
"proto": 319,
"purity": 59,
"user": "0xCb3562Dd15807e2BCF35092B1e873971AF0a51da"
}
]
}
Devuelve la tarjeta prototipo con id id
.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
id | ID de la tarjeta prototipo. |
Formato de respuesta
{
"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"
}
Devuelve una lista de tarjetas prototipo.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
god | conseguir protos con un dios específico | |
rarity | conseguir protos con una rareza específica | |
type | obtener protos con un tipo específico | |
tribe | conseguir protos con una tribu específica | |
set | obtener protos con un conjunto específico | |
collectable | conseguir protos que sean coleccionables o no | |
mana | conseguir protos con un maná específico | |
health | conseguir protos con una salud específica | |
attack | conseguir protos con un ataque específico |
Formato de respuesta
{
"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"
}
]
}
Devuelve el pack de fábrica a address
domicilio.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
address | dirección de la fábrica |
Formato de respuesta
{
"address":"0x0777f76d195795268388789343068e4fcd286919",
"type":"rare"
}
Devuelve una lista de fábricas de paquetes.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
type | tipo de paquete |
Formato de respuesta
{
"total": 4,
"page": 1,
"perPage: 1,
"records": [
{
"address":"0x0777f76d195795268388789343068e4fcd286919",
"type":"rare"
}
]
}
Devuelve id
de compra de la fábrica del paquete en address
.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
address | dirección de la fábrica | |
id | ID de compra dentro de la fábrica. |
Formato de respuesta
{
"id":0,
"user":"0x3882C6ba6475165aC5257Ddc1D8d7782E7805c28",
"count":1,
"remaining":0,
"factory":"0x000983ba1A675327F0940b56c2d49CD9c042DFBF",
"txhash":"0xda2b2956588bd642bed4b0aa8f63c979f4893662dd31c237aa58b173bf4eb223",
"type":"shiny"
}
Devuelve una lista de compras.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
type | obtener compras de un tipo de paquete específico | |
user | obtener compras realizadas por un usuario específico | |
factory | obtener compras realizadas en una fábrica específica | |
remaining | Número de paquetes que quedan por activar de esta compra. | |
count | número de paquetes adquiridos en esta compra |
Formato de respuesta
{
"total": 1000,
"page": 1,
"perPage: 1,
"records": [
{
"id":0,
"user":"0x3882C6ba6475165aC5257Ddc1D8d7782E7805c28",
"count":1,
"remaining":0,
"factory":"0x000983ba1A675327F0940b56c2d49CD9c042DFBF",
"txhash":"0xda2b2956588bd642bed4b0aa8f63c979f4893662dd31c237aa58b173bf4eb223",
"type":"shiny"
}
]
}
Devuelve el paquete con el index
de id
de compra de la fábrica del paquete con address
dirección.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
address | dirección de la fábrica de paquetes | |
id | identificación de la compra | |
index | índice del pack dentro de la compra |
Formato de respuesta
{
"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"
}
Devuelve una lista de paquetes.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
type | obtener paquetes de un tipo específico | |
user | obtener paquetes comprados por un usuario específico | |
factory | obtener paquetes creados por una fábrica específica | |
purchase | obtener paquetes creados en una compra específica | |
opened | si estos paquetes han sido abiertos | |
fill | si llenar estos paquetes con sus cartas |
Formato de respuesta
{
"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"
}
]
}
Devuelve una lista de referencias.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
type | obtener referencias con una rareza específica | |
referrer | obtener referencias hechas por un usuario específico | |
purchaser | obtener referencias hechas para un usuario específico | |
factory | obtener referencias hechas en una fábrica en particular |
Formato de respuesta
{
"total": 1000,
"page": 1,
"perPage: 1,
"records": [
{
"id":0,
"referrer":"0xb08F95dbC639621DbAf48A472AE8Fce0f6f56a6e",
"purchaser":"0xE4a8dfcA175cDcA4Ae370f5b7aaff24bD1C9C8eF",
"factory":"0x1e891C587b345ab02A31b57c1F926fB08913d10D",
"value":1746000000000000000,
"count":0,
"type":"shiny"
}
]
}
Devuelve una imagen basada en el prototipo de la tarjeta con id id
. Para obtener una imagen en forma de tarjeta, utilice los parámetros format
y quality
.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
format | el formato en el que se debe presentar la imagen | |
h | la altura a la que se cambiará el tamaño de la imagen | |
w | el ancho al que se cambiará el tamaño de la imagen | |
quality | la calidad de la tarjeta |
Consigue un usuario.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
address | la dirección Ethereum del usuario |
Formato de respuesta
{
"username": "ender",
"address": "0xC257274276a4E539741Ca11b590B9447B26A8051",
"nonce": 0
}
Para ayudar a crear aplicaciones más efectivas para nuestro ecosistema, también proporcionamos un par de puntos finales API útiles. Estos puntos finales pueden quedar obsoletos en versiones futuras, ya que se pueden componer a partir de puntos finales existentes, pero proporcionan una interfaz conveniente durante el desarrollo de aplicaciones incipientes centradas en GU.
Devuelve una lista ordenada de usuarios con la mayor cantidad de tarjetas que cumplen condiciones particulares.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
rarity | obtener rango de cartas con una rareza específica | |
quality | obtener rango de cartas con una calidad específica | |
god | obtener rango de cartas con un dios específico | |
type | obtener rango de cartas con un tipo específico | |
tribe | obtener rango de cartas con una tribu específica | |
purity | obtener rango de cartas con un límite de pureza mínimo | |
mana | obtener rango de cartas con un maná específico | |
health | obtener rango de cartas con una salud específica | |
attack | obtener rango de cartas con un ataque específico | |
proto | obtener rango de cartas con una identificación de prototipo específica |
Formato de respuesta
{
"total": 10000,
"page": 1,
"perPage": 1,
"records": [
{
"user": "0xa012623C2d4EB0cfe921Bd283bb1823370Ae2737",
"count": 1585
}
]
}
Devuelve información de rareza sobre protos.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
user | obtener información rara sobre tarjetas propiedad de una dirección específica | |
rarity | obtener información de rareza sobre cartas con una rareza específica | |
quality | obtener información de rareza sobre tarjetas con una calidad específica | |
god | obtener información de rareza sobre cartas con un dios específico | |
type | obtener información de rareza sobre tarjetas con un tipo específico | |
tribe | obtener información de rareza sobre cartas con una tribu específica | |
purity | obtener información de rareza sobre cartas dentro de un rango de pureza | |
mana | obtener información de rareza sobre cartas dentro de un rango de maná | |
health | obtener información de rareza sobre tarjetas dentro de un rango de salud | |
attack | obtener información de rareza sobre cartas con rango de ataque | |
proto | ` | obtener información de rareza sobre tarjetas con una identificación de prototipo específica |
Opciones de clasificación
proto
, plain
, shadow
, gold
, diamond
Formato de respuesta
{
"total": 380,
"page": 1,
"perPage": 1,
"records": [
{
"proto": 1,
"plain": 1325,
"shadow": 72,
"gold": 20,
"diamond": 3
}
]
}
Devuelve el inventario del usuario con address
, incluyendo token, sombra y tarjetas centralizadas.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
rarity | obtener tarjetas con una rareza específica | |
quality | obtener tarjetas con una calidad específica | |
god | conseguir cartas con un dios específico | |
type | obtener tarjetas con un tipo específico | |
tribe | obtener tarjetas con una tribu específica | |
purity | obtener cartas dentro de un rango de pureza | |
mana | obtener cartas dentro de un rango de maná | |
health | obtener tarjetas dentro de un rango de salud | |
attack | conseguir cartas con un rango de ataque | |
proto | obtener tarjetas con una identificación de prototipo específica |
Formato de respuesta
{
"total": 380,
"page": 1,
"perPage": 1,
"records": [
{
"proto": 1,
"purities": [
"100", "200", "300", "2999"
]
}
]
}
DeckStrings es un estándar conveniente para permitir que las aplicaciones importen y exporten mazos. Las siguientes API proporcionan una interfaz conveniente para operaciones básicas de cadenas de plataformas.
Codifica un mazo en una cadena de mazo.
Cuerpo de solicitud
{
"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 respuesta
AQYBBhElYZgCogLLAgIMN0BQXV65AckBygH8AYkCmQLKAg==
Decodifica un mazo a partir de una cadena de mazo.
Parámetros
Formato de respuesta
{
"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
]
}
Enumera los modos de juego con algunas propiedades.
Formato de respuesta
[
{
"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 los resultados del partido
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
start_time | hora de inicio del partido (formato de época UNIX) | |
end_time | hora de finalización del partido (formato de época UNIX) | |
player_won | user_id de un jugador | |
player_lost | user_id de un jugador | |
game_mode | identificador de modo de juego |
Importante : el campo total_turns cambiará de nombre a total_rounds en una actualización posterior; continuaremos admitiéndolo mientras nos aseguramos de que nuestra comunidad esté usando el nuevo nombre de campo.
Formato de respuesta
{
"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
}
]
}
Muestra el rango de un jugador por modo de juego.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
user_id | ID de Apollo del usuario | |
game_mode | Modo de juego del rango. |
Formato de respuesta
{
"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
}
]
}
Muestra las propiedades de los jugadores.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
user_id | ID de Apollo del usuario |
Formato de respuesta
{
"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 la probabilidad de un partido en función de la calificación de los jugadores (usando el algoritmo de calificación Elo)
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
user_id | ID de Apollo del usuario | |
opponent_id | ID de Apolo del oponente | |
game_mode | el modo de juego del partido |
Formato de respuesta
0.6717130465747431
Las API de Calidad proporcionan datos sobre las calidades y su composición visual utilizadas por los sistemas públicos.
Muestra todas las definiciones de clases de calidad activas e información relacionada. Se utiliza principalmente en sistemas de soporte, como relaciones de nombre e identificación o anulaciones de metadatos.
Formato de respuesta
[
{
"class_key": "quality",
"class_value": "2",
"class_properties": {
"name": "gold"
},
"class_type": "card",
"game_id": 1
},
...
]
Muestra la definición de clase de calidad especificada e información relacionada. Se utiliza principalmente en sistemas de soporte, como relaciones de nombre e identificación o anulaciones de metadatos.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
quality | Identificación de calidad |
Formato de respuesta
{
"class_key": "quality",
"class_value": "2",
"class_properties": {
"name": "gold"
},
"class_type": "card",
"game_id": 1
}
Muestra todos los datos de composición gráfica necesarios para generar imágenes para las combinaciones de calidad y prototipo especificadas para el arte NFT utilizado en Gods Unchained. Actualmente solo admite Card art.
Parámetros
Nombre | Tipo | Descripción | Ejemplo |
---|---|---|---|
pairs | Proto y Calidad definidos con un separador @ | 1234@5 |
Formato de respuesta
[
{
"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"
]
}
}
]