Skip to content

任務管理 API

概述

任務管理 API 提供外撥任務的完整生命週期管理,包括創建、查詢、修改、狀態管理和監控功能。任務是外撥工作流的核心單位,包含目標聯絡人清單和撥打規則配置。

任務列表

請求方式

http
GET /api/task/list
Content-Type: application/json
Authorization: Bearer {accessToken}

查詢參數

參數名型別必填說明
pageNuminteger頁碼,預設值為 1
pageSizeinteger每頁數量,預設值為 20
taskNamestring任務名稱 (支援模糊查詢)
statusinteger任務狀態 (0-6)

請求範例

bash
curl -X GET "https://api.aicc.com/api/task/list?pageNum=1&pageSize=20&status=1" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json"

回應範例

json
{
  "code": 0,
  "message": "success",
  "data": {
    "total": 15,
    "rows": [
      {
        "id": "1",
        "taskName": "Q1銀行卡推廣",
        "taskDesc": "推廣新型銀行卡業務",
        "status": 1,
        "dataSourceId": "1",
        "contactCount": 1000,
        "callCount": 320,
        "successCount": 85,
        "createTime": "2026-02-15 09:00:00",
        "startTime": "2026-02-15 10:00:00",
        "endTime": null
      }
    ]
  }
}

任務狀態說明

狀態碼狀態名稱說明
0草稿 (DRAFT)尚未發佈,可自由編輯
1進行中 (RUNNING)任務已發佈,正在進行撥打
2暫停 (PAUSED)已暫停,可繼續執行
3停止 (STOPPED)已停止,不能繼續執行
4完成 (COMPLETED)所有聯絡人已撥打完成
5失敗 (FAILED)任務執行失敗
6已關閉 (CLOSED)已關閉,無法修改

取得任務詳情

請求方式

GET /api/task/detail/{id}
Content-Type: application/json
Authorization: Bearer {accessToken}

路徑參數

參數名型別必填說明
idstring任務 ID

請求範例

bash
curl -X GET "https://api.aicc.com/api/task/detail/1" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json"

回應範例

json
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "1",
    "taskName": "Q1銀行卡推廣",
    "taskDesc": "推廣新型銀行卡業務",
    "status": 1,
    "dataSourceId": "1",
    "contactCount": 1000,
    "callCount": 320,
    "successCount": 85,
    "failCount": 15,
    "noAnswerCount": 220,
    "dialRate": 0.32,
    "successRate": 0.265625,
    "callDuration": 45600,
    "avgCallDuration": 142.5,
    "priority": 1,
    "maxDialCount": 3,
    "createTime": "2026-02-15 09:00:00",
    "startTime": "2026-02-15 10:00:00",
    "updateTime": "2026-03-23 16:00:00"
  }
}

新增任務

請求方式

POST /api/task/add
Content-Type: application/json
Authorization: Bearer {accessToken}

請求參數

參數名型別必填說明
taskNamestring任務名稱,長度 1-100 字元
taskDescstring任務說明
dataSourceIdstring資料來源 ID
priorityinteger優先級 (1-5),預設為 3
maxDialCountinteger最大撥打次數 (1-10),預設為 3
callIntervalinteger撥打間隔 (秒),預設為 60
dailyStartTimestring每日開始時間 (HH:MM)
dailyEndTimestring每日結束時間 (HH:MM)

請求範例

json
{
  "taskName": "春季促銷活動",
  "taskDesc": "新產品春季推廣",
  "dataSourceId": "2",
  "priority": 2,
  "maxDialCount": 3,
  "callInterval": 60,
  "dailyStartTime": "09:00",
  "dailyEndTime": "18:00"
}

成功回應範例

json
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "2",
    "taskName": "春季促銷活動",
    "taskDesc": "新產品春季推廣",
    "status": 0,
    "dataSourceId": "2",
    "contactCount": 250,
    "createTime": "2026-03-23 15:00:00"
  }
}

修改任務

請求方式

POST /api/task/update
Content-Type: application/json
Authorization: Bearer {accessToken}

請求參數

參數名型別必填說明
idstring任務 ID
taskNamestring任務名稱
taskDescstring任務說明
priorityinteger優先級
maxDialCountinteger最大撥打次數
callIntervalinteger撥打間隔
dailyStartTimestring每日開始時間
dailyEndTimestring每日結束時間

請求範例

json
{
  "id": "2",
  "taskName": "2026年春季促銷活動",
  "priority": 1
}

成功回應範例

json
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "2",
    "taskName": "2026年春季促銷活動",
    "updateTime": "2026-03-23 15:30:00"
  }
}

發佈任務

請求方式

POST /api/task/publish
Content-Type: application/json
Authorization: Bearer {accessToken}

請求參數

參數名型別必填說明
idstring任務 ID

請求範例

json
{
  "id": "2"
}

成功回應範例

json
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "2",
    "status": 1,
    "startTime": "2026-03-23 15:45:00"
  }
}

暫停任務

請求方式

POST /api/task/pause
Content-Type: application/json
Authorization: Bearer {accessToken}

請求參數

參數名型別必填說明
idstring任務 ID

請求範例

json
{
  "id": "1"
}

成功回應範例

json
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "1",
    "status": 2
  }
}

繼續任務

請求方式

POST /api/task/resume
Content-Type: application/json
Authorization: Bearer {accessToken}

請求參數

參數名型別必填說明
idstring任務 ID

請求範例

json
{
  "id": "1"
}

成功回應範例

json
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "1",
    "status": 1
  }
}

停止任務

請求方式

POST /api/task/stop
Content-Type: application/json
Authorization: Bearer {accessToken}

請求參數

參數名型別必填說明
idstring任務 ID
reasonstring停止原因

請求範例

json
{
  "id": "1",
  "reason": "達到預期目標"
}

成功回應範例

json
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "1",
    "status": 3
  }
}

重撥任務中的聯絡人

請求方式

POST /api/task/{id}/recall
Content-Type: application/json
Authorization: Bearer {accessToken}

路徑參數

參數名型別必填說明
idstring任務 ID

請求參數

參數名型別必填說明
contactIdsarray要重撥的聯絡人 ID 清單;若為空則重撥所有失敗的聯絡人
priorityinteger重撥優先級,預設為 5 (最低)

請求範例

json
{
  "contactIds": ["contact_1", "contact_2"],
  "priority": 3
}

成功回應範例

json
{
  "code": 0,
  "message": "success",
  "data": {
    "recallCount": 2,
    "recallIds": ["contact_1", "contact_2"]
  }
}

匯出任務聯絡人

請求方式

GET /api/task/{id}/export
Authorization: Bearer {accessToken}

路徑參數

參數名型別必填說明
idstring任務 ID

查詢參數

參數名型別必填說明
formatstring匯出格式 (csv、excel),預設為 excel
statusinteger篩選狀態 (全部、成功、失敗、未撥打)

請求範例

bash
curl -X GET "https://api.aicc.com/api/task/1/export?format=excel&status=1" \
  -H "Authorization: Bearer {accessToken}" \
  -o task_contacts.xlsx

回應

直接返回檔案流,檔案名稱為 task_contacts_[taskId]_[timestamp].[format]

監控任務統計

請求方式

GET /api/task/{id}/stat
Content-Type: application/json
Authorization: Bearer {accessToken}

路徑參數

參數名型別必填說明
idstring任務 ID

請求範例

bash
curl -X GET "https://api.aicc.com/api/task/1/stat" \
  -H "Authorization: Bearer {accessToken}" \
  -H "Content-Type: application/json"

回應範例

json
{
  "code": 0,
  "message": "success",
  "data": {
    "taskId": "1",
    "taskName": "Q1銀行卡推廣",
    "status": 1,
    "totalContacts": 1000,
    "callCount": 320,
    "successCount": 85,
    "failCount": 15,
    "noAnswerCount": 220,
    "dialRate": 0.32,
    "successRate": 0.265625,
    "totalDuration": 45600,
    "avgDuration": 142.5,
    "lastUpdateTime": "2026-03-23 16:00:00"
  }
}

常見錯誤

錯誤碼說明解決方案
400任務名稱為空或資料來源不存在提供有效的名稱和資料來源 ID
404任務不存在確認任務 ID 是否正確
405無法在當前狀態執行操作檢查任務狀態是否允許此操作
409任務名稱已存在使用不同的任務名稱
500伺服器錯誤聯絡技術支援

注意事項

  1. 草稿狀態:只有狀態為 0 (草稿) 的任務才可以編輯
  2. 發佈任務:發佈後無法修改基本配置,只能修改運行狀態
  3. 聯絡人數量:確保資料來源有足夠的聯絡人
  4. 時間設定:dailyStartTime 和 dailyEndTime 用於限制每日撥打時段
  5. 優先級:1-5 之間,1 為最高優先級

承暉資訊資源中心