Skip to content

REST API 參考

API 資訊

屬性
版本v1.0
Base URLhttp://localhost:65530/api
Content-Typeapplication/json
認證無需認證

資料模型

Task

地圖畫建造任務物件

欄位類型必填描述
Groupstring群組名稱
Typestring任務類型,固定為 "mapArt"
IDstring任務唯一識別碼
Statusenum任務狀態:init, building, done, error, pause
RecordTaskRecord建造記錄
BlueprintPathstring地圖畫檔案路徑
OffsetXnumberX 軸偏移量
OffsetYnumberY 軸偏移量
OffsetZnumberZ 軸偏移量
MaterialServernumber材料伺服器編號
BuildingServernumber建造伺服器編號
MaterialWarpPointstring材料傳送點名稱
BuildingWarpPointstring建造傳送點名稱
IsDestroyboolean是否為破壞模式
InitialTimestring初始化時間 (ISO 8601)

TaskRecord

任務執行記錄

欄位類型必填描述
TotalBlocksnumber總方塊數
RemainBlocksnumber剩餘方塊數
StartTimestring開始時間 (ISO 8601)
FinishTimestring完成時間 (ISO 8601)
Finishboolean是否完成
BuildScopesBuildScope[]建造時間範圍
StopTimesnumber停止次數
TakeMaterialTimesnumber取材次數
PlaceBlockTimesnumber放置方塊次數
TakeMaterialTimenumber取材耗時 (納秒)
PreviewImagestring[]預覽圖片 (Base64)
Widthnumber寬度
Heightnumber高度
ErrorMessagestring錯誤訊息
Materialsany[]材料清單

BuildScope

建造時間範圍

欄位類型必填描述
StartTimestring開始時間 (ISO 8601)
EndTimestring結束時間 (ISO 8601)

Map

地圖物件

欄位類型必填描述
uuidstring地圖唯一識別碼
idnumber地圖 ID 編號
renameboolean是否啟用重新命名
namestring當前地圖名稱
skipboolean是否跳過此地圖
origin_namestring原始地圖名稱
copyboolean是否複製此地圖
copy_countnumber複製數量

ItemData

物品資料

欄位類型必填描述
idnumber物品 ID 編號
translate_namestring翻譯後名稱
namestring英文原名稱
stack_sizenumber堆疊上限

API 端點

系統管理

GET /test

檢查 Bot 客戶端連線狀態

回應

狀態碼內容類型描述
200text/plain"ok" - 已連接
"not ok" - 未連接

GET /user/name

取得當前 Bot 客戶端名稱

回應

狀態碼內容類型描述
200text/plainBot 客戶端名稱

POST /exit

安全退出 Nullbot Mapart 程式

回應

狀態碼描述
200退出流程已觸發

POST /profile

執行系統效能分析

回應

狀態碼內容類型描述
200text/plain"Profile finished" - 分析完成
201text/plain"Profile is already running" - 已在執行中
500text/plain分析失敗錯誤訊息

GET /auth

取得 GMM 驗證資訊

回應

狀態碼內容類型Schema
200application/json{"Code": string, "RedirectUri": string}

GET /tunnel-auth

隧道服務驗證端點

配置管理

GET /config/{service}

取得服務配置

路徑參數

參數類型必填描述
servicestring服務名稱

回應

狀態碼內容類型描述
200application/json服務配置物件
404服務不存在

POST /config/{service}

更新服務配置

路徑參數

參數類型必填描述
servicestring服務名稱

請求體

內容類型Schema
application/json配置物件

回應

狀態碼描述
200配置更新成功
400請求參數錯誤
404服務不存在

地圖畫建造

GET /mapart/tasks

取得所有建造任務

回應

狀態碼內容類型Schema
200application/jsonTask[]

POST /mapart/tasks

建立建造任務

請求體

內容類型Schema
application/jsonTask | Task[]

回應

狀態碼內容類型描述
200text/plain任務 ID (多任務以逗號分隔)
400text/plain參數錯誤或座標未對齊
500text/plain伺服器內部錯誤

GET /mapart/tasks/{id}

取得特定任務

路徑參數

參數類型必填描述
idstring任務 ID

回應

狀態碼內容類型Schema
200application/jsonTask
404任務不存在

PUT /mapart/tasks/{id}

更新任務

路徑參數

參數類型必填描述
idstring任務 ID

請求體

內容類型Schema
application/jsonTask

回應

狀態碼內容類型描述
200text/plain"ok" - 更新成功
400text/plain參數錯誤或任務未初始化
404任務不存在
500text/plain伺服器內部錯誤

DELETE /mapart/tasks/{id}

刪除任務

路徑參數

參數類型必填描述
idstring任務 ID

回應

狀態碼內容類型描述
200text/plain"ok" - 刪除成功
404任務不存在
500text/plain伺服器內部錯誤

DELETE /mapart/tasks/batch

批次刪除任務

請求體

內容類型Schema
application/jsonstring[]

回應

狀態碼內容類型描述
200text/plain"ok" - 全部刪除成功
207application/json部分成功的詳細狀態
400text/plain請求參數錯誤
404所有任務都不存在

POST /mapart/build/{id}

開始建造

路徑參數

參數類型必填描述
idstring任務 ID

回應

狀態碼內容類型描述
200text/plain"ok" - 建造開始成功
400text/plain任務已在執行中
404任務不存在
500text/plain伺服器內部錯誤

POST /mapart/rebuild/{id}

重新建造

路徑參數

參數類型必填描述
idstring任務 ID

回應

狀態碼內容類型描述
200text/plain"ok" - 重新建造設定成功
404歷史任務不存在
500text/plain伺服器內部錯誤

POST /mapart/stop

停止建造

回應

狀態碼內容類型描述
200text/plain"ok" - 停止成功
400text/plain無進行中的任務

POST /mapart/order

任務排序

請求體

內容類型Schema
application/json{"type": string, "source": number, "destination": number}

回應

狀態碼內容類型描述
200text/plain"ok" - 排序成功
400text/plain參數錯誤或類型無效
500text/plain伺服器內部錯誤

GET /mapart/task/autoBuild

取得自動建造狀態

回應

狀態碼內容類型Schema
200application/jsonboolean

POST /mapart/task/autoBuild

設定自動建造

查詢參數

參數類型必填描述
autostring"true""false"

回應

狀態碼內容類型描述
200text/plain"ok" - 設定成功
400text/plain缺少 auto 參數

GET /mapart/history

取得建造歷史

回應

狀態碼內容類型Schema
200application/jsonTask[]

GET /preview/{id}

取得任務預覽圖片

路徑參數

參數類型必填描述
idstring任務 ID

回應

狀態碼內容類型描述
200image/png預覽圖片
404任務不存在

GET /render

渲染當前建造任務

回應

狀態碼內容類型描述
200text/plain"ok" - 渲染成功
400text/plain無進行中的任務
500text/plain渲染或檔案儲存錯誤

後處理操作

POST /postProcessing/scan

掃描地圖

請求體

內容類型Schema
application/json{"Start": string, "Width": number, "Height": number, "Order": string, "Template": string, "CopyAmount": number}

回應

狀態碼內容類型描述
200text/plain"ok" - 掃描任務開始
400text/plain參數錯誤或任務鎖定

GET /postProcessing/maps

取得地圖列表

回應

狀態碼內容類型Schema
200application/jsonMap[]

GET /postProcessing/map/{id}

取得特定地圖資訊

路徑參數

參數類型必填描述
idstring地圖 ID

回應

狀態碼內容類型Schema
200application/json{"MapID": number, "Locked": boolean}
400text/plain地圖 ID 格式錯誤
404地圖不存在

GET /postProcessing/map/{id}/image

取得地圖圖片

路徑參數

參數類型必填描述
idstring地圖 ID

回應

狀態碼內容類型描述
200image/png128x128 PNG 圖片
400text/plain地圖 ID 格式錯誤
404地圖不存在
500text/plain圖片編碼錯誤

POST /postProcessing/map/clear

清除地圖快取

回應

狀態碼內容類型描述
200text/plain"ok" - 清除成功
400text/plain任務已鎖定或清除失敗

POST /postProcessing

設定複製參數

請求體

內容類型Schema
application/json{"Start": string, "Width": number, "Height": number, "Order": string, "Template": string, "CopyAmount": number}

回應

狀態碼內容類型描述
200text/plain"ok" - 設定成功
400text/plain參數錯誤或任務鎖定

POST /postProcessing/size

設定複製尺寸

查詢參數

參數類型必填描述
widthnumber寬度
heightnumber高度

回應

狀態碼內容類型描述
200text/plain"ok" - 設定成功
400text/plain參數錯誤或任務鎖定

POST /postProcessing/copyAmount

設定複製數量

查詢參數

參數類型必填描述
amountnumber複製數量

回應

狀態碼內容類型描述
200text/plain"ok" - 設定成功
400text/plain參數錯誤或任務鎖定

POST /postProcessing/copy

開始複製

回應

狀態碼內容類型描述
200text/plain"ok" - 複製任務開始
400text/plain任務已鎖定

POST /postProcessing/copy/{uuid}

設定特定地圖複製

路徑參數

參數類型必填描述
uuidstring地圖 UUID

查詢參數

參數類型必填描述
copyboolean是否複製

回應

狀態碼內容類型描述
200text/plain"ok" - 設定成功
400text/plain參數錯誤或任務鎖定

POST /postProcessing/copyCount/{uuid}

設定複製計數

路徑參數

參數類型必填描述
uuidstring地圖 UUID

查詢參數

參數類型必填描述
countnumber複製數量

回應

狀態碼內容類型描述
200text/plain"ok" - 設定成功
400text/plain參數錯誤或任務鎖定

POST /postProcessing/setRename

設定重新命名參數

請求體

內容類型Schema
application/json[{"uuid": string, "rename": boolean}]

回應

狀態碼內容類型描述
200text/plain"ok" - 設定成功
400text/plain請求體錯誤或任務鎖定

POST /postProcessing/rename

開始重新命名

查詢參數

參數類型必填描述
modestring重新命名模式 (預設: loose)

回應

狀態碼內容類型描述
200text/plain"ok" - 重新命名任務開始
400text/plain任務已鎖定

POST /postProcessing/template

設定命名範本

查詢參數

參數類型必填描述
templatestring命名範本字串

回應

狀態碼內容類型描述
200text/plain"ok" - 設定成功
400text/plain參數錯誤或任務鎖定

GET /postProcessing/template/docs

取得範本文檔

回應

狀態碼內容類型Schema
200application/json[{"Type": string, "Name": string, "Description": string, "Example": string}]

POST /postProcessing/name/{uuid}

設定地圖名稱

路徑參數

參數類型必填描述
uuidstring地圖 UUID

查詢參數

參數類型必填描述
namestring新的地圖名稱

回應

狀態碼內容類型描述
200text/plain"ok" - 設定成功
400text/plain參數錯誤、名稱太長或任務鎖定

POST /postProcessing/order

設定排序

查詢參數

參數類型必填描述
orderstring排序方式

回應

狀態碼內容類型描述
200text/plain"ok" - 設定成功
400text/plain參數錯誤或任務鎖定

POST /postProcessing/skip/{uuid}

跳過地圖

路徑參數

參數類型必填描述
uuidstring地圖 UUID

查詢參數

參數類型必填描述
skipboolean是否跳過

回應

狀態碼內容類型描述
200text/plain"ok" - 設定成功
400text/plain參數錯誤或任務鎖定

POST /postProcessing/stop

停止後處理

回應

狀態碼內容類型描述
200text/plain"ok" - 停止成功

背景圖片管理

GET /background

取得背景圖片

回應

狀態碼內容類型描述
200原始 MIME 類型當前背景圖片
404未設定背景圖片
500text/plain伺服器錯誤

回應標頭

  • ETag: 快取標識

GET /background/list

取得背景列表

回應

狀態碼內容類型Schema
200application/jsonstring[]

POST /background/upload

上傳背景圖片

請求體

內容類型Schema
multipart/form-databackground: File

回應

狀態碼內容類型描述
200text/plain圖片雜湊值
400text/plain未找到檔案
415text/plain檔案不是圖片格式
500text/plain伺服器錯誤

POST /background/set

設定背景

查詢參數

參數類型必填描述
hashstring背景圖片雜湊值

回應

狀態碼內容類型描述
200text/plain"OK" - 設定成功
404背景圖片不存在
500text/plain伺服器錯誤

POST /background/set/{hash}

設定特定背景

路徑參數

參數類型必填描述
hashstring背景圖片雜湊值

回應

狀態碼內容類型描述
200text/plain"OK" - 設定成功
404背景圖片不存在
500text/plain伺服器錯誤

GET /background/hash

取得背景雜湊

回應

狀態碼內容類型描述
200text/plain當前背景雜湊值
404未設定背景

GET /background/{hash}

取得背景圖片

路徑參數

參數類型必填描述
hashstring背景圖片雜湊值

回應

狀態碼內容類型描述
200原始 MIME 類型圖片檔案
404背景圖片不存在
500text/plain伺服器錯誤

回應標頭

  • Cache-Control: max-age=31536000

GET /background/thumbnail/{hash}

取得背景縮圖

路徑參數

參數類型必填描述
hashstring背景圖片雜湊值

回應

狀態碼內容類型描述
200image/jpgJPG 縮圖
404背景圖片不存在
500text/plain伺服器錯誤

回應標頭

  • Cache-Control: max-age=31536000

GET /background/position

取得背景位置

回應

狀態碼內容類型Schema
200application/jsonnumber
404未設定背景或背景不存在
500text/plain伺服器錯誤

POST /background/position

設定背景位置

查詢參數

參數類型必填描述
positionnumber背景位置數值

回應

狀態碼內容類型描述
200text/plain"OK" - 設定成功
404未設定背景或背景不存在
500text/plain伺服器錯誤

資料查詢

GET /data/items

取得物品列表

回應

狀態碼內容類型Schema
200application/jsonItemData[]

GET /data/items/maxDamage

取得物品最大耐久度

回應

狀態碼內容類型Schema
200application/json{[itemId: string]: number}

GET /assets/items

取得物品圖示

查詢參數

參數類型必填描述
idnumber物品 ID

回應

狀態碼內容類型描述
200image/png物品圖示 PNG
404物品 ID 不存在或圖示檔案不存在
500text/plain檔案讀取錯誤

回應標頭

  • Cache-Control: max-age=86400

GET /header

頭像渲染

查詢參數

參數類型必填描述
keystring*玩家名稱 (與 url 二擇一)
urlstring*皮膚貼圖網址 (與 key 二擇一)
sizenumber圖片尺寸 (預設: 512)
overlayboolean是否渲染第二層皮膚 (預設: true)
projectionstring投影方式: frontalisometric (預設: isometric)

回應

狀態碼內容類型描述
200image/png渲染後的頭像 PNG
304未修改 (基於 ETag)
400text/plain參數錯誤、皮膚獲取失敗或非法貼圖服務
5000text/plain渲染錯誤
5001text/plain圖片編碼錯誤

回應標頭

  • ETag: 快取標識
  • Cache-Control: max-age=86400

狀態碼

狀態碼說明
200請求成功
201已創建
207多狀態回應 (部分成功)
304未修改 (快取有效)
400請求參數錯誤
401未授權
404資源不存在
415不支援的媒體類型
500伺服器內部錯誤
5000自訂錯誤:渲染失敗
5001自訂錯誤:編碼失敗