Smart Dialer

Tạo dữ liệu, lấy kết quả cuộc gọi và bật tắt chiến dịch smartdialer trên CareSoft

Tài liệu này cung cấp các luồng tích hợp SmartDialer vào ứng dụng của quý khách.

Lưu ý: Địa chỉ HOST của các cuộc gọi API tới dịch vụ smartdialer sẽ là

https://dialer-api.caresoft.vn

1. Danh sách chiến dịch

GET /{domain}/api/v1/campaigns/list

Danh sách các chiến dịch đã được cấu hình trên hệ thống.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Params

Name
Type
Description
Ghi chú

date_from

DateTime YYYY-MM-DD HH:mm:ss

Từ ngày (tạo chiến dịch)

Ngày đầu tiên trong năm

date_to

DateTime YYYY-MM-DD HH:mm:ss

Age of the user

Thời điểm hiện tại

Response

{
    "numFound": "3",
    "data": [
        {
            "campaign_id": 5674,
            "name": "123456",
            "schedule_start": null,
            "schedule_stop": null,
            "statusType": "DRAFF",
            "actionType": "AUTODIAL",
            "status": 0,
            "action": 3
        },
        {
            "campaign_id": 5323,
            "name": "TestAT",
            "schedule_start": "2022-09-26 00:00:00",
            "schedule_stop": "2022-09-26 23:59:59",
            "statusType": "FINISHED",
            "actionType": "AUTODIAL",
            "status": 5,
            "action": 3
        },
        {
            "campaign_id": 5320,
            "name": "2409 at",
            "schedule_start": "2022-09-24 00:00:00",
            "schedule_stop": "2022-09-24 23:59:59",
            "statusType": "DRAFF",
            "actionType": "AUTODIAL",
            "status": 0,
            "action": 3
        }
    ]
}

Giải thích kết quả

Param
Ý Nghĩa
Ghi chú

campaign_id

ID chiến dịch (khóa chính)

name

Tên chiến dịch

schedule_start

Thời điểm bắt đầu chiến dịch

schedule_stop

Thời điểm kết thúc

status

Trạng thái

0: Draff 1: New 2: Ready 3: Running 4: Pause 5: Finish

action

Loại chiến dịch

1: Preview 2: Predictive Call 3: Autocall

2. Kết quả cuộc gọi chiến dịch

GET /{domain}/api/v1/smartdialer/call-logs

Lấy danh sách kết quả chiến dịch tới khách hàng, Danh sách này thể hiện việc gọi được cho khách hàng hay không và giá trị cuộc gọi nếu gọi được là gì.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Params

Name
Type
Description

campaign_id (*)

Int

ID chiến dịch

campaign_type

Varchar

Kiểu chiến dịch Điền 1 trong 2 loại kiểu chiến dịch để lấy dữ liệu theo tất cả chiến dịch dạng đó AUTO_CALL PREDICTIVE_CALL

start_time_since

DateTime YYYY-MM-DD HH:mm:ss

Thời điểm bắt đầu lọc dữ liệu * Mặc định từ ngày đầu trong tháng

start_time_since

DateTime YYYY-MM-DD HH:mm:ss

Thời điểm kết thúc lọc dữ liệu * Mặc định thời điểm hiện tại

phone_no

Varchar(12)

Số điện thoại gọi đến

line

Varchar(12)

Đầu số gọi ra

lst_data

Array

Danh sách ID dữ liệu caresoft đã trả về qua API tạo cuộc gọi từ trước. Vd: [1134,456,2233]

status_code

Int

Mã trạng thái thoại 200: Gọi thành công Các mã khác: Cuộc gọi không thành công

page

Int

Trang số

count

Int

Số bản ghi trên 1 trang. * Giới hạn tối đa 500

Response

{
    "status": true,
    "data": {       
        "numFound": 6,
        "data": [
            {
                "id": 511,
                "called": "0983914980",
                "line": "842999999968",
                "start_time": "2020-04-21 10:41:50",
                "end_time": "2020-04-21 10:41:58",
                "status_code": 200,
                "connect_time": "2020-04-21 10:41:53",
                "call_duration": 5,
                "ring_customer_duration": 2,
                "ticket_id": null,
                "customer_user_id": 63150012,
                "account_id": 1,
                "call_attempt_total": 0,
                "campaign_id": 476,
                "customer_input_dtmf": null,

Kết quả trả về

STT
Tên trường
Chú thích

1

Campaign_name

Tên chiến dich

2

Created_at

Ngày tạo chiến dich

3

Updated_at

Ngày cập nhật chiến dịch

4

Last_run

Thời điểm chạy chiến dịch gần nhất

5

Schedule_start

Thời gian bắt đầu chạy chiến dịch

6

Schedule_stop

Thời điểm kết thúc chiến dịch

7

Time_frame_start

Thời gian chạy chiến dịch(trong ngày)

8

Time_frame_stop

Thời gian dừng chiến dịch (trong ngày)

9

Campaign_status

Trạng thái chiến dịch

  1. Mới tạo

  2. Đang review

  3. Sẵn sàng để chạy

  4. Đang chạy

  5. Đã kết thúc

-1. Lỗi

10

Campaign_type

Loại chiến dịch AUTO_CALL: Gọi tự động PREDICTIVE_CALL: Gọi predictive

PREVIEW_CALL: Gọi chủ động

11

Data {}

12

numFound

Số lượng khách hàng đã thực hiện gọi cho chiến dịch

3. Kết quả chi tiết chiến dịch

GET /{domain}/api/v1/smartdialer/call-log-details

Danh sách chi tiết các cuộc gọi phát sinh của chiến dịch (Bao gồm cả các cuộc gọi không thành công và gọi lại theo cấu hình

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Params

Response

{
    "status": true,
    "data": {       
        "numFound": 6,
        "data": [
            {
                "id": 511,
                "called": "0983914980",
                "line": "842999999968",
                "start_time": "2020-04-21 10:41:50",
                "end_time": "2020-04-21 10:41:58",
                "status_code": 200,
                "connect_time": "2020-04-21 10:41:53",
                "call_duration": 5,
                "ring_customer_duration": 2,
                "ticket_id": null,
                "customer_user_id": 63150012,
                "account_id": 1,
                "call_attempt_total": 0,
                "campaign_id": 476,
                "customer_input_dtmf": null,

Kết quả trả về

Tương tự mục kết quả chiến dịch

4. Tạo mới cuộc gọi vào 1 chiến dịch đang có

Các phương thức có thể đẩy dữ liệu vào 1 chiến dịch đang chạy để thực hiện cuộc gọi

4.1 Đẩy dữ liệu theo contact_id trên CareSoft

POST /{domain}/api/v1/campaign/data

Thực hiện tạo cuộc gọi theo ID của khách hàng (ContactId) có trên CareSoft. Hệ thống sẽ lấy số điện thoại tồn tại trên ContactId để thực hiện cuộc gọi ra

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body SON format

{
  "campaign_id": 325,
  "contact_id": 2,
  "message": {
    "customerID": "09812212121",
    "name": "Nghia",
    "buy_date": "2018 july 20",
    "message": "Purchase success"
  }
}
Name
Type
Description

campaign_id

number

ID của chiến dịch ở bước 1

contact_id

number

ID khách hàng trên CareSoft

message

String

Chuỗi nội dung tham số thay thế nếu có

Response

{
    "status": true,
    "status_code": 200  
}

4.2 Đẩy dữ liệu theo số điện thoại khách hàng

POST /{domain}/api/v1/campaign/dataPhone

Tạo cuộc gọi smartDialer theo số điện thoại của khách hàng. Trong trường hợp chưa tồn tại hệ thống sẽ tự tạo khách hàng tương ứng.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body JSON Format

{
  "campaign_id": 325,
  "phone_no": "0971221122",
  "message": {
    "name": "Le Manh Hai",
    "buy_date": "2018 july 20",
    "message": "Purchase success"
  }
}
Name
Type
Description

campaign_id

Int

ID chiến dịch

phone_no

phoneNo

Số điện thoại của chiến dịch

message

Object

Object chứa param thay thế của TTS nếu có

Response

{
  "status": true,
  "status_code": 200
}

4.3 Đẩy dữ liệu theo email của khách hàng

POST /{domain}/api/v1/campaign/dataEmail

Tạo cuộc gọi dựa theo email của khách hàng. Nếu trên hệ thống CareSoft tồn tại khách hàng trùng khớp với email truyền vào và khách đó có số điện thoại. hệ thống sẽ gọi ra theo số điện thoại tìm thấy theo kịch bản của chiến dịch.

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body Json Format

{
  "campaign_id": 325,
  "email": "info@caresoft.vn",
  "message": {
    "name": "Nghia",
    "buy_date": "2018 july 20",
    "message": "Purchase success"
  }
}
Name
Type
Description

campaign_id

Int

ID chiến dịch

email

email

Email của khách hàng

message

Object

Các key thay thế của cuộc gọi TTS nếu cấu hình

Response

{
  "status": true,
  "status_code": 200
}

4.4 Đẩy dữ liệu theo danh sách ID khách hàng

POST /{domain}/api/v1/campaign/dataMultiple

Tạo hàng loạt cuộc gọi dựa theo 1 danh sách khách hàng có sẵn trên hệ thống CareSoft

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body Json Format

{
  "campaign_id": 325,
  "contact_id_list": [
    1000,
    10001,
    10002
  ],
  "message": {
    "contactid": "09812212121",
    "name": "Nghia",
    "buy_date": "2018 july 20",
    "message": "Purchase success"
  }
}
Name
Type
Description

campaign_id

Int

ID chiến dịch

contact_id_list

Array

Danh sách ID của khách hàng trên caresoft được tạo từ bước 3, dạng mảng array tối đa 1000 dữ liệu

message

Object

Chuỗi thông tin dạng Json để có thể parse trong template TTS

Response

{
  "status": true,
  "extra": {
    "id_list": [
      {
        "campaign_data_id": 522228,
        "contact_id": 63204924
      },
      {
        "campaign_data_id": 522229,
        "contact_id": 63204925
      }
    ]
  }
}

4.5 Đẩy dữ liệu theo danh sách số điện thoại

POST /{domain}/api/v1/campaign/dataMultiplePhone

Tạo cuộc gọi theo danh sách số điện thoại

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body JSON Format

{ "campaign_id": 521, "phone_no_list": [ "0971221122", "0971221123" ] }
Name
Type
Description

campaign_id

Int

ID chiến dịch

phone_no_list

Array

Mảng số điện thoại khách hàng

Response

{
    "status": true,
    "extra": {
        "id_list": [
            {
                "phone_no": "0971221122",
                "campaign_data_id": 522224,
                "contact_id": 63204924
            },
            {
                "phone_no": "0971221123",
                "campaign_data_id": 522225,
                "contact_id": 63204925
            }
        ]
    }
}

4.6 Đẩy dữ liệu theo danh sách email

POST /{domain}/api/v1/campaign/dataMultipleEmail

Tạo cuộc gọi theo danh sách email (Nếu đã có contact ID trên CareSoft và các contact đó có dữ liệu)

Headers

Name
Value

Content-Type

application/json

Authorization

Bearer <token>

Body

Name
Type
Description

campaign_id

Int

ID chiến dịch

email_list

Array

Danh sách Email

Response

{
    "status": true,
    "extra": {
        "id_list": [
            {
                "campaign_data_id": 522226,
                "contact_id": 63155193,
                "email": "info@caresoft.vn"
            },
            {
                "campaign_data_id": 522227,
                "contact_id": 63204926,
                "email": "info2@caresoft.vn"
            }
        ]
    }
}

Last updated