description |
---|
Documentación de la API de Dota2. |
La API se expone en el siguiente URL: https://dota-pro.netlify.app/api
- Listado de póximos torneos.
- Listado de próximos partidos.
- Listado de equipos profesionales.
- Equipo con su roster actual, mayores logros, ganancias estimadas.
- Listado actualizado de héroes.
- Listado actualizado de ítems.
Los objetos que maneja la API están definidos en los siguientes tipos:
HeroType
define un héroe.
Campo | Tipo de dato | Descripción |
---|---|---|
id |
String |
Identificador del héroe |
name |
String |
Nombre del héroe |
image |
String |
Imagen del héroe HD |
ItemType
define un ítem.
Campo | Tipo de dato | Descripción |
---|---|---|
id |
String |
Identificador del ítem |
name |
String |
Nombre del ítem |
image |
String |
Imagen del ítem |
price |
Number |
Costo del ítem |
PlayerType
define un jugador.
Campo | Tipo de dato | Descripción |
---|---|---|
id |
String |
Identificador del jugador |
name |
String |
Nombre del jugador |
country |
String |
País del jugador |
position |
String |
Logo del jugador |
TeamType
define un equipos.
Campo | Tipo de dato | Descripción |
---|---|---|
id |
String |
Identificador del equipo |
name |
String |
Nombre del equipo |
image |
String |
Logo del equipo |
country |
String |
País del equipo |
created |
String |
Fecha de fundación del equipo |
totalWinnings |
String |
Ganancias estimadas del equipo |
activeRoster |
[PlayerType] |
Roster actual del equipo |
TournamentType
define un torneo.
Campo | Tipo de dato | Descripción |
---|---|---|
id |
String |
Identificador del torneo |
name |
String |
Nombre del torneo |
image |
String |
Logo del torneo |
tier |
String |
Nivel competitivo del torneo |
date |
String |
Fecha de Inicio |
prize |
String |
Premio total del torneo |
location |
String |
Localización del torneo |
MatchType
define un partido.
Campo | Tipo de dat | Descripción |
---|---|---|
firstTeam |
TeamType |
Primer equipo |
secondTeam |
TeamType |
Segundo equipo |
tournament |
TournamentType |
Torneo |
startDate |
String |
Fecha de inicio |
status |
String |
Tipo de partida / Estado |
La API permite realizar diferentes consultas que por el momento son públicas. En el futuro requeriremos una llave API para consumir los diferentes endpoints.
El endpoint heroes
permite consumir los héroes. El endpoint devuelve un [HeroType]
codificado en formato JSON.
let response = await fetch(`${BASE_API_URL}/heroes`)
{
"data": {
"heroes": [
{
"id": "Anti_Mage",
"name": "Anti-Mage",
"image": "http://cdn.dota2.com/apps/dota2/images/heroes/antimage_full.png",
}
]
}
}
El endpoint items
permite consumir los ítems del juego. El endpoint devuelve un [ItemType]
codificado en formato JSON.
let response = await fetch(`${BASE_API_URL}/items`)
{
"data": {
"items": [
{
"id": "Blink_Dagger",
"name": "Blink Dagger",
"price": 2250,
"image": "http://cdn.dota2.com/apps/dota2/images/items/blink_lg.png"
}
]
}
}
El endpoint matches
permite consumir las partidas en vivo y las próximas. El endpoint devuelve un [MatchType]
codificado en formato JSON.
let response = await fetch(`${BASE_API_URL}/matches`)
{
"data": [
{
"firstTeam": {
"id": "Hokori",
"name": "HKR",
"image": "/commons/images/thumb/d/d0/Hokori_2021_allmode.png/50px-Hokori_2021_allmode.png"
},
"secondTeam": {
"id": "Arkosh_Gaming",
"name": "Arkosh",
"image": "/commons/images/thumb/c/c6/Arkosh_Gaming_allmode.png/53px-Arkosh_Gaming_allmode.png"
},
"tournament": {
"id": "FISSURE/Bitcoin_Series/1",
"name": "TP Bitcoin Series"
},
"startDate": "2022-07-18T21:00:00.000Z",
"status": "0:0(Bo3)"
}
]
}
El endpoint teams
permite consumir los equipos en activo. El endpoint devuelve un [TeamType]
codificado en formato JSON.
let response = await fetch(`${BASE_API_URL}/teams`)
{
"data": {
"teams": [
{
"id": "OG",
"name": "OG",
"image": "/commons/images/thumb/7/70/OG_RB_allmode.png/34px-OG_RB_allmode.png"
}
]
}
}
El endpoint teams?id=id
permite consumir la informacion de un equipos según su id. El endpoint devuelve un TeamType
codificado en formato JSON.
let response = await fetch(`${BASE_API_URL}/teams?id=OG`)
{
"data": {
"teams": [
{
"id": "OG",
"name":"OG",
"country":"Europe",
"created":"2015-10-31",
"totalWinnings":"$35,191,685",
"activeRoster":[
{
"id":"Yuragi",
"name":"(Artem Golubiev)",
"country":"Ukraine",
"position":"Position:Â 1",
"joinDate":"2021-11-21[37]"
}
],
"archivements":[
{
"place":"AA1st",
"date":"2022-05-22",
"tournament":{
"id":"Dota_Pro_Circuit",
"name":"Dota Pro Circuit",
"logo":"/commons/images/8/8a/ESL_One_2019_new_icon.png"
},
"prize":"$200,000"
}
]
}
]
}
}
El endpoint tournaments
permite consumir los próximos torneos. El endpoint devuelve un [TournamentType]
codificado en formato JSON.
let response = await fetch(`${BASE_API_URL}/tournaments`)
{
"data": {
"tournaments": [
{
"id":"The_International/2022",
"tier":"Tier 1",
"name":"The International 2022",
"image":"/commons/images/thumb/b/ba/Dota2_Aegis_allmode.png/50px-Dota2_Aegis_allmode.png",
"date":"Oct 15 - 30, 2022",
"prize":"$1,600,000",
"location":"Singapore"
}
]
}
}