使用 Minara客戶端與界面消息平臺
通過 Meta Cloud API 發送出站消息。需要企業賬戶,會話窗口嚴格,僅支持發送。
🟢 運行時就緒 直接調用 Meta Cloud API v21,無需 SDK。不支持流式編輯:Cloud API 的編輯窗口僅 15 分鐘,且頻率限制嚴格,複雜度不值得。該助手會緩衝 token,在最終確認時一次性發送。
功能說明
- 從已驗證的 Meta Business 號碼向任意 WhatsApp 號碼(E.164 格式)發送消息
- 通過
channel按消息指定收件人 - 每條消息上限 4096 字符(與助手默認值一致)
前置條件
WhatsApp 的配置流程較為複雜,需要準備以下內容:
- Meta Business Portfolio(business.facebook.com)
- 在該 Portfolio 下已驗證的 WhatsApp Business 手機號碼(通過短信或語音驗證)
- 已添加 WhatsApp 產品的 Meta Developer App(developers.facebook.com)
- 若需向測試號碼以外的用戶正式發送消息,須在 Meta Business Suite 完成企業認證(通常需要數小時至數天)
如只是試用:Developer App 自帶 5 個免費測試收件號碼,在 WhatsApp 面板中通過短信驗證即可使用。
配置步驟
1. 獲取訪問令牌
- 進入 developers.facebook.com,選擇你的應用,依次點擊 WhatsApp → API Setup
- 初始測試可複製 Temporary access token(有效期 24 小時);長期使用請生成 System User access token:前往 business.facebook.com → Settings → Users → System Users,新建用戶後點擊 Generate new token(權限範圍:
whatsapp_business_messaging+whatsapp_business_management)
2. 獲取手機號碼 ID 和收件號碼
- 在同一 API Setup 頁面,From 下拉菜單顯示業務手機號,其下方的數字 Phone number ID 即為 Minara 所需字段(而非
+...格式的號碼本身) - 在 To 欄添加收件人並通過短信驗證,將 E.164 格式號碼(如
+12025551234)填入WHATSAPP_RECIPIENT
3. 配置 Minara
minara auth messaging add whatsapp或直接編輯項目根目錄的 .env 文件:
WHATSAPP_ACCESS_TOKEN=EAAxxx...
WHATSAPP_PHONE_NUMBER_ID=1234567890
WHATSAPP_RECIPIENT=+120255512344. 測試
minara auth messaging test whatsapp24 小時會話窗口
這是所有人都會遇到的限制:
Meta 規定,企業只能在用戶最後一條入站消息後 24 小時內向其發送自由格式消息。超出窗口期必須改用預審批模板消息。
對於 Agent 告警來說,活躍對話期間沒有問題;但對於無徵兆通知(如隔夜 Autopilot 交易),則較為不便。以下是幾種應對方式:
- 讓用戶在離開前向企業號碼發送任意消息,該 ping 會重置 24 小時窗口
- 使用已審批的模板,在 Meta Business Suite 中註冊告警模板(例如
{{1}} — {{2}} ({{3}}) triggered at {{4}});模板消息的發送不受窗口限制(每個模板單獨設有頻率限制) - 主動推送告警改用其他服務商,如 Email、Telegram 或 Signal
Minara 目前僅支持純文本發送,模板支持將在後續版本加入。
覆蓋收件人
send_message({
provider: "whatsapp",
channel: "+12025559999",
text: "Critical: position liquidation imminent",
})覆蓋號碼必須已在 Meta Developer App 中驗證(測試號碼),或可由已驗證的業務號碼發送(正式號碼)。
常見問題
"Recipient not in allowed list"
- 當前處於測試層級,覆蓋收件人不在 5 個已驗證測試號碼之列。請在 Developer App 的 WhatsApp 面板中添加。
"Token expired"
- 臨時令牌有效期為 24 小時。正式使用請替換為 System User token。
"Message failed : outside 24h window"
- 參見上方的會話窗口說明。讓用戶向業務號碼發送任意消息以重新開啟窗口,或註冊模板用於無徵兆發送。
"Rate limit exceeded"
- 新賬戶每日企業發起的對話上限約為 50 條,隨企業認證等級提升而擴大;詳見 Meta 的擴容文檔。