群發(Broadcast)與進線原因(InboundReason)規格說明書
版本: v1.0
最後更新: 2026-06-13
服務範圍: aile-service-tenant(核心)、aile-service-room(協同)
第一部分:群發(Broadcast)
1. 概述
群發(Broadcast)是 Aile 提供的批量消息推送能力,允許服務號向符合特定條件(標籤篩選或指定客戶列表)的客戶群發送訊息。群發支援定時發送、渠道過濾和結果統計。
2. BroadcastModel(群發持久化模型)
2.1 資料結構
MongoDB 集合:aile.tenant.servicenumber.broadcast
// aile-api/aile-tenant-api/.../model/servicenumber/BroadcastModel.java
@Document("aile.tenant.servicenumber.broadcast")
@CompoundIndexes({
@CompoundIndex(name = "serviceNumberId", def = "{'serviceNumberId': 1}"),
@CompoundIndex(name = "serviceNumberId_1_status_1_updateTime_1",
def = "{'serviceNumberId': 1, 'status': 1, 'updateTime': 1}")
})
public class BroadcastModel extends BaseModel {
String name; // 任務標題
String remark; // 備註
String tenantId; // 租戶 ID
String accountId; // 操作者帳號 ID
String memberId; // 操作者客服 memberId
String serviceNumberId; // 服務號 ID
Long broadcastTime; // 預定發送時間
List<String> labelIds; // 目標標籤 ID 列表(選填)
List<String> customerIds; // 目標客戶 ID 列表(選填)
LabelMatchLogic matchLogic; // 標籤匹配邏輯(AND / OR)
List<BroadcastBody> content; // 群發內容
BroadcastStatus status; // 狀態
Channel channel; // 目標渠道
Integer totalCount; // 目標總數
Integer successCount; // 成功數
Integer failCount; // 失敗數
}
2.2 狀態機
// aile-api/aile-tenant-api/.../enums/servicenumber/BroadcastStatus.java
public enum BroadcastStatus {
Will, // 待發送
Doing, // 發送中
Done, // 已完成
Delete // 已刪除
}