> ## Documentation Index
> Fetch the complete documentation index at: https://docs.acedata.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# 企業微信機器人

> Platform 整合指南 - Ace Data Cloud

部署屬於自己的企業微信帳號實例，使用手機企業微信掃碼登入，透過 REST API 或 MCP 讀取帳號、聯絡人、會話與本機同步訊息。實例對應一般企業微信帳號，無需私有化伺服器或企業信箱網域設定。

目前為 Alpha。帳號讀取已完成真實會話驗證；本人文字發送及事件讀回已完成真實驗收；其他聯絡人、群組操作和新實例復原仍需完成部署環境驗收。媒體發送、引用回覆、真實 @、群組成員管理和送達回條尚未開放。請以實例 `/api/capabilities` 回傳值為準。

## 部署與登入

在 Deployment 分類開通服務並選擇實例時長方案。部署後開啟管理頁面，使用帳號本人的企業微信掃碼；如需手機確認或其他登入步驟，開啟遠端桌面並輸入該實例的桌面密碼。API 憑據與桌面密碼獨立。登入資料保存在實例磁碟中，重建容器會保留磁碟；刪除磁碟會刪除本機會話。

每個實例獨立收費，按已購買的時長運行。REST / MCP 呼叫不按訊息另行收費，實際價格以方案頁面為準。目前預設參考微信機器人的時長方案，最終開放前需結合運行資源完成定價確認。

## API 與 MCP

使用管理頁面中的實例 API 位址，所有帳號介面攜帶 `Authorization: Bearer &lt;實例 API token>`。這些路徑屬於專屬實例，不是共用 API 閘道。MCP 位址為實例位址加 `/mcp/`，使用相同 Bearer token。

| 介面 | 作用 |
| - | - |
| `GET /api/status`、`GET /api/auth/status` | 帳號是否就緒與能力清單 |
| `GET /api/auth/qr` | 目前登入 QR Code PNG Base64 |
| `GET /api/account` | 目前帳號 |
| `GET /api/contacts?kind=all` | 內部同事與外部聯絡人，可指定 internal / external |
| `GET /api/conversations` | 本機會話，保留原始會話 ID |
| `GET /api/messages` | 本機同步訊息；conversation\_id、after\_rowid、limit 參數 |
| `POST /api/search` | 聯絡人、會話與本機文字搜尋 |
| `POST /api/messages` | 文字發送非同步任務，必須提供 Idempotency-Key |
| `POST /api/messages/send` | 相同發送入口，支援單個或多個目標 |
| `GET /api/groups/{conversation_id}` | 本機同步的群組資訊及成員 |
| `GET /api/tasks` | 最近任務及各目標的結果 |
| `GET /api/tasks/{id}` | 查詢發送結果 |
| `POST /api/tasks/{id}/cancel` | 取消尚未開始的任務 |
| `POST /api/runtime/pause`、`POST /api/runtime/resume` | 暫停自動化；本人驗證後恢復 |
| `GET /api/diagnostics`、`GET /api/diagnostics/screenshot` | 實例狀態與目前畫面，均需驗證 |
| `GET /api/events?after=0` | 可復原游標的訊息事件 |
| `WS /ws` | 訊息事件串流，Bearer 驗證 |

發送內容包含 `target`、`type: "text"` 和 `text`。`target` 接受會話 ID、聯絡人 ID、企業使用者 ID 或唯一的完整名稱；優先使用 ID；顯示名稱仍無法唯一定位時，實例會拒絕操作，不會猜測對象。沒有本機會話的聯絡人會先透過用戶端開啟會話，並核對實際會話 ID 後發送。請求標頭 `Idempotency-Key` 是 8–128 位字母、數字或 `_.:-`。同一操作重複請求必須重複使用相同金鑰和相同請求內容。

將 `target` 換為 `targets` 陣列可循序發送給 1–50 個明確指定的目標。兩者不能同時提供。全部目標先完成身分解析，指向同一對象的不同別名會被拒絕。某一目標失敗後停止後續發送，任務結果逐項記錄 `succeeded`、`failed`、`unknown` 或 `not_attempted`；不要把部分成功當成全部成功。此流程還需在部署環境完成指定聯絡人的真實驗收。

任務可能處於 queued、running、submitting、succeeded、failed、unknown 或 cancelled。`succeeded` 表示提交後在對應會話記錄中找到了準確文字及伺服器訊息 ID，`delivered` 仍為 null，不代表對方已收到。unknown 表示結果不明確，請檢查歷史記錄，不要用新金鑰重複發送。實例不會自動重發中斷的任務。

歷史僅包含用戶端已經同步的內容，不能保證全部歷史。非文字訊息可能回傳 unknown 類型，附件下載尚未開放。事件保留最近 10,000 筆，`gap` 表示游標已超出保留視窗。首次連線不會把舊歷史當作新訊息重播。

訊息歷史中的 `server_accepted` 和 `server_id` 可用於核對伺服器是否已接受本機訊息；僅出現本機記錄而沒有伺服器 ID 時，不能認定發送成功。這些欄位不代表接收方已收到或閱讀。事件記錄保留產生時的狀態，查詢目前確認狀態應使用訊息歷史介面。

## 帳號和憑據

僅登入本人有權操作的帳號。將 API token 設定到可信任應用程式中；它可存取該實例的帳號資料。不要將密碼、QR Code 或聊天截圖發布到公開位置。暫停實例會中斷即時事件。帳號登出或手機端移除裝置後，需要重新登入。

目前文字輸入只支援單行，換行會在發送前明確拒絕。用戶端要求安全驗證或重新登入時，應由帳號本人在遠端桌面完成；實例不會繞過驗證。驗證中斷後的任務可能回傳 unknown，請先查詢訊息記錄，不要以新冪等金鑰重發。

識別到安全驗證提示、帳號登出或變更後，自動化佇列會持久化暫停。完成手機驗證後，可透過實例控制台「驗證後恢復」繼續尚未執行的任務；已經提交但結果不確定的任務不會重發。正常遠端辦公也可能觸發企業微信安全驗證。官方說明的驗證後 24 小時不再鎖定視窗，不代表已經消除偵測，也不代表實例可以保證長期無人值守。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.