Skip to content

Kịch bản gọi tự động ​

API quản lý và truy xuất kịch bản gọi tự động cùng cấu trúc nhánh kịch bản (IVR/phím bấm/CallBot).

Lấy danh sách kịch bản ​

Lấy danh sách kịch bản gọi có phân trang và hỗ trợ nhiều bộ lọc (theo từ khóa, bot AI, trạng thái...).

GET[URL]/m-auto-call/api/template-script/get-all?key_search={key_search}&bot_id={bot_id}&project_code={project_code}&is_bot={is_bot}&status={status}&page={page}&size={size}

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Tham số

Tham sốKiểuBắt buộcMô tả
key_searchStringTừ khóa tìm kiếm theo tên kịch bản
bot_idStringLọc theo mã bot AI
project_codeStringMã dự án. Tự lấy từ X-API-Key nếu không truyền
is_botIntLọc kịch bản có bot: -1 = tất cả (mặc định), 1 = có bot, 0 = không bot
statusIntLọc theo trạng thái kịch bản
pageIntSố trang (mặc định: 1)
sizeIntSố lượng trên 1 trang (mặc định: 10)

Response

Tham sốKiểuMô tả
statusIntMã trạng thái HTTP (200, 500)
msgStringThông báo phản hồi (Success, error)
errorCodeIntMã lỗi nghiệp vụ (0: Thành công, 500: Lỗi hệ thống)
dataList[Object]Danh sách kịch bản

Cấu trúc phần tử trong data (Thông tin kịch bản):

Tham sốKiểuMô tả
idLongID kịch bản
nameStringTên kịch bản
scriptTypeStringLoại kịch bản (CONFIRM, BOT, IVR...)
descriptionStringMô tả kịch bản
contentStringNội dung kịch bản (chứa biến thay thế {ten_bien})
audioServiceStringDịch vụ âm thanh
voiceFileStringĐường dẫn file âm thanh/ghi âm
ttxLanguageStringNgôn ngữ Text-To-Speech (ví dụ: vi-VN)
ttxNameStringTên giọng đọc Text-To-Speech
isTtxBooleanCó sử dụng Text-To-Speech hay không
replayIntSố lần phát lại nội dung kịch bản
botIdStringMã bot AI (sử dụng khi kịch bản có bot)
botNameStringTên bot AI
hangUpBotStringMã bot xử lý khi gác máy
hangUpBotNameStringTên bot xử lý khi gác máy
codeStringMã kịch bản (dùng làm template_code khi gọi API tạo cuộc gọi)
createAtLongThời điểm tạo kịch bản (Unix timestamp - ms)
statusIntTrạng thái kịch bản (1 = active, 0 = inactive)
isCustomFieldBooleanCó sử dụng trường tùy chỉnh (custom field) hay không
campaignRunningIntSố chiến dịch đang chạy với kịch bản này

Ví dụ response

json
{
  "status": 200,
  "msg": "Success",
  "errorCode": 0,
  "data": [
    {
      "id": 1,
      "name": "Kịch bản nhắc nợ",
      "scriptType": "CONFIRM",
      "description": "Kịch bản tự động nhắc nợ",
      "code": "SCRIPT_001",
      "botId": "BOT_001",
      "botName": "Bot nhắc nợ",
      "createAt": 1695254400000,
      "status": 1,
      "isCustomField": true,
      "campaignRunning": 2,
      "isTtx": true,
      "replay": 2
    }
  ]
}

Bảng mã lỗi

errorCodestatusMô tả
0200Thành công
500500Lỗi hệ thống

Lấy số lượng kịch bản ​

Lấy tổng số kịch bản theo điều kiện lọc

GET[URL]/m-auto-call/api/template-script/count?key_search={key_search}&bot_id={bot_id}&project_code={project_code}&is_bot={is_bot}&status={status}

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Tham số

Tham sốKiểuBắt buộcMô tả
key_searchStringTừ khóa tìm kiếm theo tên kịch bản
bot_idStringLọc theo mã bot AI
project_codeStringMã dự án. Tự lấy từ X-API-Key nếu không truyền
is_botIntLọc kịch bản có bot: -1 = tất cả (mặc định), 1 = có bot, 0 = không bot
statusIntLọc theo trạng thái

Response

Tham sốKiểuMô tả
statusIntHTTP Status code (200 - Thành công)
msgStringThông điệp phản hồi (Success)
errorCodeIntMã lỗi nghiệp vụ (0 - Thành công)
dataIntTổng số kịch bản thỏa điều kiện lọc

Ví dụ response

json
{
  "status": 200,
  "msg": "Success",
  "errorCode": 0,
  "data": 15
}

Bảng mã lỗi

errorCodestatusMô tả
0200Thành công
500500Lỗi hệ thống

Lấy danh sách nhánh kịch bản ​

Lấy danh sách nhánh kịch bản dạng cấu trúc cây, hỗ trợ phân nhánh lồng nhau nhiều cấp cho IVR và phím bấm.

GET[URL]/m-auto-call/api/template-script-sub/get-all?template_script_code={template_script_code}&project_code={project_code}

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Tham số

Tham sốKiểuBắt buộcMô tả
template_script_codeStringCóMã kịch bản hội thoại
project_codeStringMã dự án. Tự lấy từ X-API-Key nếu không truyền

Response

Tham sốKiểuMô tả
statusIntMã trạng thái HTTP (200, 500)
msgStringThông báo phản hồi (Success, error)
errorCodeIntMã lỗi nghiệp vụ (0: Thành công, 500: Lỗi hệ thống)
dataList[Object]Danh sách nhánh kịch bản dạng cây

Cấu trúc phần tử trong data (Nhánh kịch bản):

Tham sốKiểuMô tả
idLongID nhánh kịch bản
nameStringTên nhánh
descriptionStringMô tả nhánh
contentStringNội dung nhánh
audioServiceStringDịch vụ âm thanh
ttxLanguageStringNgôn ngữ Text-To-Speech
ttxNameStringTên giọng đọc Text-To-Speech
voiceFileStringFile âm thanh
isTtxBooleanCó sử dụng Text-To-Speech hay không
codeStringMã nhánh
NumberKeyIntSố phím bấm tương ứng nhánh
templateScriptSubIdLongID nhánh cha
templateScriptSubCodeStringMã nhánh cha
templateScriptIdLongID kịch bản gốc
templateScriptCodeStringMã kịch bản gốc
createAtLongThời điểm tạo (Unix timestamp - ms)
subItemsArrayDanh sách nhánh con (lồng nhiều cấp). Rỗng [] nếu không có

Ví dụ response

json
{
  "status": 200,
  "msg": "Success",
  "errorCode": 0,
  "data": [
    {
      "id": 1,
      "name": "Nhánh xác nhận",
      "code": "SUB_001",
      "NumberKey": 1,
      "templateScriptCode": "SCRIPT_001",
      "content": "Nhấn phím 1 để xác nhận",
      "isTtx": true,
      "createAt": 1695254400000,
      "subItems": []
    },
    {
      "id": 2,
      "name": "Nhánh từ chối",
      "code": "SUB_002",
      "NumberKey": 2,
      "templateScriptCode": "SCRIPT_001",
      "content": "Nhấn phím 2 để từ chối",
      "isTtx": true,
      "createAt": 1695254400000,
      "subItems": [
        {
          "id": 3,
          "name": "Nhánh lý do",
          "code": "SUB_003",
          "NumberKey": 1,
          "templateScriptCode": "SCRIPT_001",
          "content": "Vui lòng cho biết lý do",
          "subItems": []
        }
      ]
    }
  ]
}

Bảng mã lỗi

errorCodestatusMô tả
0200Thành công
500500Lỗi hệ thống

Các API phiên bản cũ (Deprecated) ​

Khuyến nghị

Các API dưới đây thuộc phiên bản cũ (Deprecated). Hệ thống vẫn đang tiếp tục hỗ trợ và duy trì hoạt động bình thường. Tuy nhiên, VBot khuyến nghị quý khách hàng chuyển sang sử dụng các API phiên bản mới ở trên (/m-auto-call/api/template-script/get-all, /m-auto-call/api/template-script/count, /m-auto-call/api/template-script-sub/get-all) để tối ưu hiệu năng và được cập nhật các tính năng mới nhất trong tương lai.

Lấy danh sách kịch bản (Deprecated) ​

Lấy danh sách các kịch bản đang active trong nhóm (phiên bản cũ).

GET[URL]/api/campaignCall/templateScript/getAll?key_search={key_search}&status={status}&page={page}&size={size}

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Tham số

Tham sốKiểuBắt buộcMô tả
key_searchStringTừ khóa tìm kiếm
statusIntCóTrạng thái (1 = active)
pageIntSố trang (default: 1)
sizeIntSố item/trang (default: 20)

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataList[Object]Danh sách kịch bản

Cấu trúc phần tử trong data (Thông tin kịch bản):

Tham sốKiểuMô tả
idLongID của kịch bản
nameStringTên kịch bản
script_typeStringLoại kịch bản:
- CONFIRM: Kịch bản chờ người dùng xác nhận sau khi nghe đọc (ví dụ: nhấn phím 1 để từ chối, phím 2 để đồng ý)
- BOT: Kịch bản có sử dụng CallBot (AI tương tác)
- IVR: Kịch bản đọc voice, phân nhánh phím bấm
descriptionStringMô tả kịch bản
contentStringNội dung kịch bản (có thể chứa các biến tùy chỉnh dạng {ten_bien})
audio_serviceStringLoại/dịch vụ âm thanh sử dụng (ví dụ: nếu script_type là CONFIRM thì audio_service là CONFIRM, hoặc loại audio được import lên hệ thống)
voice_fileStringĐường dẫn file âm thanh/ghi âm tải lên (nếu sử dụng file âm thanh có sẵn)
ttx_languageStringNgôn ngữ Text-To-Speech (chuyển văn bản thành giọng nói), ví dụ: vi-VN
ttx_nameStringTên giọng đọc Text-To-Speech
is_ttxBooleanCó sử dụng Text-To-Speech hay không (true: Nhập văn bản để chuyển đổi sang giọng nói; false: Sử dụng file âm thanh có sẵn)
replayIntSố lần phát lại nội dung kịch bản
bot_idStringID của CallBot (sử dụng khi script_type là BOT)
codeStringMã kịch bản (dùng để truyền vào tham số template_code khi gọi API tạo cuộc gọi)
create_atLongThời điểm tạo kịch bản (Unix timestamp - ms)
statusIntTrạng thái kịch bản (1: active, 0: inactive)

Ví dụ response

json
{
  "error": 0,
  "message": "success",
  "data": [
    {
      "id": 171052,
      "name": "kịch bản blgd",
      "script_type": "CONFIRM",
      "description": "",
      "content": "{ten_khach_hang}{dia_chi}{Phone}{ticket_title}{diem_danh_gia_kh}",
      "audio_service": "",
      "voice_file": "",
      "ttx_language": "vi-VN",
      "ttx_name": null,
      "is_ttx": true,
      "replay": 2,
      "bot_id": "",
      "code": "TMP_26082816195416743",
      "create_at": 1787883594968,
      "status": 1
    }
  ]
}

Lấy số lượng kịch bản (Deprecated) ​

Lấy tổng số kịch bản theo điều kiện lọc (dùng cho phân trang ở phiên bản cũ).

GET[URL]/api/campaignCall/templateScript/countAll?key_search={key_search}&status={status}

Header

Tham sốGiá trị
X-API-Keytoken-open-api

Tham số

Tham sốKiểuBắt buộcMô tả
key_searchStringTừ khóa tìm kiếm
statusIntTrạng thái

Response

Tham sốKiểuMô tả
errorIntMã lỗi (0: Thành công, khác 0: Có lỗi)
messageStringThông tin
dataIntTổng số template

Ví dụ response

json
{
  "error": 0,
  "message": "Success",
  "data": 15
}