AstroCol/API.md

164 lines
3.0 KiB
Markdown
Raw Normal View History

2024-06-18 16:57:43 +00:00
## /generateAccessToken
**URL: POST** /generateAccessToken
**DESCRIPTION:** Used for generating new access tokens. Type X access token required via Authorization header
**BODY:**
```json
{
"username": "string"
}
```
**OUTPUT:**
```json
{
"code": 200,
"message": "OK",
"accessToken": "A.MTcxODcxNDg2MTg5Mw.NjUzZTk2NzdlNWMzZDM2YjE1YmE3NGVi.QilYuiOT_svRX2iN7f7-jw"
}
```
## /testAccessToken
**URL: GET** /testAccessToken
**DESCRIPTION:** Used for testing access token validity. Type A access token required via Authorization header
**BODY:** N/A
**OUTPUT:**
```json
{
"code": 200,
"message": "OK",
"data": "Access token valid for user gargamel"
}
```
## /planets/getPlanet
**URL: GET** /planets/getPlanet/*:planetId*
**DESCRIPTION:** Used to get data about specific planet with ID provided in URL. Type A access token required via Authorization header
**BODY:** N/A
**OUTPUT:**
```json
{
"code": 200,
"message": "OK",
"data": {
"id": "661d1163567111a5b4be8829",
"owner": "653e9677e5c3d36b15ba74eb",
"name": "Lyoko",
"fields": 20,
"resources": [],
"buildings": [],
"fleet": [],
}
}
```
## /planets/getAllPlanets
**URL: GET** /planets/getAllPlanets/
**DESCRIPTION:** Limited view of all planets of all players
**BODY:** N/A
**OUTPUT:**
```json
{
"code": 200,
"message": "OK",
"data": [
{
"planetId": "661d1163567111a5b4be8829",
"ownerId": "653e9677e5c3d36b15ba74eb",
"name": "Lyoko"
},
{
"planetId": "666af607f0ae1e11d2d03544",
"ownerId": "653e9677e5c3d36b15ba74eb",
"name": "Cortex"
}
]
}
```
## /research/getResearch
**URL: GET** /research/getResearch
**DESCRIPTION:** Used to get data about user research (which technologies are unlocked and on which level). Type A access token required via Authorization header
**BODY:** N/A
**OUTPUT:**
```json
{
"code": 200,
"message": "OK",
"data": [
{
"id": "basic-engine",
"level": 7
},
{
"id": "advanced-engine",
"level": 1
}
]
}
```
## /research/performResearch
**URL: POST** /research/performResearch
**DESCRIPTION:** Used to send request to start researching. Required buildings and resources are checked on planet provided in body. Type A access token required via Authorization header
**BODY:**
```json
{
"research": "string",
"planetId": "string"
}
```
**OUTPUT:**
```json
{
"code": 200,
"message": "OK"
}
```
## /build/createBuilding
**URL: POST** /build/createBuilding
**DESCRIPTION:** Used to send request to build or upgrade building on planet. Required buildings and resources are checked on planet provided in body. Type A access token required via Authorization header
**BODY:**
```json
{
"building": "string",
"planetId": "string"
}
```
**OUTPUT:**
```json
{
"code": 200,
"message": "OK"
}
```