Webhook

Version 1.3

CareSoft cung cấp tính năng hỗ trợ các webhook để nhận thông tin cập nhật người dùng, tổ chức, phiếu ghi, các sự kiện realtime cho cuộc gọi vào, sự kiện kết thúc cuộc gọi trên smartdialer.

I. Chuẩn bị thông tin

Khách hàng gửi thông tin server webhook cho support hỗ trợ cấu hình bao gồm:

  • Callback Url (VD: http://sample.com/api/webHook)

  • SecretKey (option)

  • Các sự kiện hỗ trợ đăng ký: Người dùng:user Tổ chức: organization Phiếu ghi: ticket.voice, ticket.voice_out, ticket.ivr, ticket.voicemail, ticket.voice_campaign, ticket.email, ticket.email_out, ticket.web, ticket.api, ticket.sms_out, ticket.ticket_form, ticket.ticket_sharing, ticket.chat, ticket.facebook, ticket.inbox_facebook, ticket.inbox_facebook_out, ticket.facebook_rating, ticket.facebook_lead_ads, ticket.instagram, ticket.chat_instagram, ticket.inbox_zalo, ticket.inbox_zalo_out, ticket.inbox_zalo_zns, ticket.zalo_lead_form Lead: lead Deal: deal SmartDialer: smart_dialer Cuộc gọi vào: call_in

LƯU Ý: Event sẽ được trả về theo method POST. Request body dạng application/json. Header bao gồm X-Hub-Signature được mã hoá body theo chuẩn HmacSHA1 với secret key đã được cấu hình (Kết quả mã hoá ở dạng uppercase)

Link test mã hoá Signature: https://tools.onecompiler.com/hmac-sha1

VD:

Request Body: {"ticket_id":1} SecretKey: CS123

Signature: 420A69CE7D3C36559E9828D6361530DF30065D37

II. Các sự kiện webhook

1. Sự kiện trên người dùng

Sự kiện người dùng
// Sự kiện người dùng được tạo
{
  "object": "user",
  "action": "create",
  "user": {
       "id": 0,
       "username": "",
       "account_id": 0,
       "email": "",
       "email2": "",
       "phone_no": "",
       "phone_no2": "",
       "phone_no3": "",
       "role_id": 3,
       "facebook": "",
       "note": "",
       "gender": 0,
       "organization_id": 0,
       "detail": "",
       "avatar": "",
       "user_info1": "", //facebook name
       "user_info5": "", //address
       "user_info10": "", //instagram name
       "user_info12": "", //instagram link
       "user_info16": "", //zalo name
       "follower_id": 0,
       "updated_at": 0, //Time in millis
       "created_at": 0, //Time in millis
       "addition_fields":
     [
       {
         "id": 0, //id trường động
         "field": "addition_field1", //Mã trường động
         "label": "", //Tên trường động
         "type": 0|1|2|3|4|6|7, //String|Number|DateTime|SingleSelect|MultiSelect|TextArea|Stage
         "value": "", //value in string
         "value_id": 0 //value id
       }
     ]
   }
}

2. Sự kiện trên tổ chức

3. Sự kiện trên phiếu ghi

Khi có sự kiện xảy ra trên phiếu ghi, nguồn của sự kiện này sẽ phân biệt bằng giá trị của thuộc tính source trong ticket_comment.

Ví dụ để phân biệt sự kiện là cuộc gọi vào hay cuộc gọi ra:

Các giá trị source cuộc gọi vào: Voice, IVR, ZCC In, MissCall, VoiceMail, Voicemail

Các giá trị source cho gọi ra: Voice Out, ZCC Out, Voice Campaign

Xem đầy đủ danh sách các giá trị của nguồn tại Danh sách nguồn.

4. Sự kiện trên SmartDialer

5. Sự kiện cập nhật trạng thái cuộc gọi vào

Đăng ký nhận sự kiện này nếu bạn muốn tích hợp chi tiết tất cả các sự kiện xảy ra trong quá trình gọi vào từ lúc cuộc gọi bắt đầu, tới lúc đổ chuông chuyên viên và kết thúc cuộc gọi.

6. Sự kiện trên Lead

6.1. Lead được tạo

6.2. Lead được convert từ đối tượng khác

6.3. Lead được cập nhật

Sự kiện Lead chuyển đổi thành Deal xem tại Sự kiện 7.2. Deal được convert từ đối tượng khác

7. Sự kiện trên Deal

7.1. Deal được tạo mới

7.2. Deal được chuyển đổi từ đối tượng khác

7.3. Deal được cập nhật

III. Mô tả tham số

1. Tham số phân loại sự kiện

Tham số
Mô tả
Giá trị

object

Loại đối tượng

ticket: Phiếu ghi user: Khách hàng organization: Tổ chức smart_dialer: Smartdialer call_in: Cuộc gọi vào

action

Hành động

Các loại sự kiện xảy ra trên đối tượng: Ví dụ: create: Tạo mới

update: Cập nhật

delete: Xóa

ad_end_call: Kết thúc cuộc gọi AutoCall của SmartDialer pd_end_call: Kết thúc cuộc gọi PredictiveCall của SmartDialer,

2. Tham số phiếu ghi ticket

Tham số
Mô tả
Giá trị

ticket_id

ID phiếu ghi

ticket_no

Số phiếu ghi

requester_id

ID người yêu cầu

assignee_id

ID người xử lý

service_id

ID dịch vụ

ticket_priority

Độ ưu tiên

High, Low, Normal

ticket_source

Nguồn phiếu ghi

Các giá trị từ Danh sách nguồn

ticket_source_end_status

Trạng thái kết thúc phiếu

ticket_status

Trạng thái phiếu ghi

new, open, pending, closed, solved

ticket_subject

Tiêu đề phiếu ghi

addition_fields

Trường động phiếu ghi.

Định dạng json array. VD: [{id:1234, field:addition_field1", label: "Tên trường động", value: "Giá trị dạng text"},...]

created_at

Thời điểm tạo phiếu ghi

updated_at

Thời điểm cập nhật phiếu ghi

3. Tham số comment phiếu ghi ticket.ticket_comment

Tham số
Mô tả

ticket_id

ID phiếu ghi

commentator_id

ID người comment

source

Nguồn comment

is_public

Loại comment: Công khai (1) hoặc ghi chú nội bộ (0).

created_at

Thời điểm comment

updated_at

Thời điểm update comment

4. Tham số cuộc gọi call_info

Đối với cuộc gọi thông thường object cuộc gọi sẽ là ticket

Tham số
Mô tả

caller

SĐT khách hàng

called

Hotline tổng đài

call_id

ID cuộc gọi

start_time

Thời điểm bắt đầu cuộc gọi

answer_time

Thời điểm bắt máy

end_time

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

status_code

Mã trả về từ đầu số (một số mã thường gặp)

5. Tham số người dùng user

Tham số người dùng
Mô tả
Giá trị

username

Tên người dùng

email

Email chính

email2

Email phụ

phone_no

SĐT chính

phone_no2

SĐT phụ 2

phone_no3

SĐT phụ 3

note

Ghi chú

gender

Giới tính (0 - Nam, 1 - Nữ, 2 - Khác)

organization_id

ID tổ chức

detail

Mô tả

avatar

Đường dẫn ảnh đại diện

user_info5

Địa chỉ

addition_fields

Trường động người dùng

Định dạng json array. VD: [{id:1234, field:addition_field1", label: "Tên trường động", value: "Giá trị dạng text"},...]

follower_id

ID nhân viên xử lý

created_from

Nguồn tạo KH

city_id

ID tỉnh / thành phố

district_id

ID quận / huyện

6. Tham số tổ chức organization

Tham số tổ chức (organization)
Mô tả
Ghi chú

organization_id

ID tổ chức

organization_name

Tên tổ chức

organization_domain

Website

details

Chi tiết

note

Ghi chú

addition_fields

Trường động tổ chức

Định dạng json array. VD: [{id:1234, field:addition_field1", label: "Tên trường động", value: "Giá trị dạng text"},...]

7. Tham số cuộc gọi SmartDialer call_info

Đối với cuộc gọi smart dialer. Khi object trả về "smart_dialer" thì dữ liệu đối tượng call_info theo thông tin mô tả dưới đây.

Tham số
Mô tả

campaign_id

ID chiến dịch

customer_id

ID khách hàng

customer_name

Tên khách hàng

campaign_data_id

ID Data

call_id

Mã cuộc gọi

line

Đầu số gọi ra

phone_number

SĐT nhận cuộc gọi

call_attempt_index

Số lần retry hiện tại

max_attempt

Số lần retry tối đa

start_time

Thời điểm bắt đầu cuộc gọi (millis)

connect_time

Thời điểm bắt máy

end_time

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

ring_customer_duration

Thời gian đổ chuông (giây)

call_duration

Thời lượng cuộc gọi (giây)

status_code

Mã lỗi cuộc gọi (Thành công = 200)

customer_input_dtmf

Dữ liệu bấm phím (nếu cuộc gọi là IVR)

agent_user_id

ID chuyên viên (Cuộc gọi predictive call - object = pd_end_call)

agent_id

IP Phone chuyên viên (Cuộc gọi predictive call)

agent_ring_time

Thời điểm đổ chuông tới chuyên viên (Preditive call)

agent_connect_time

Thời điểm kết nối tới chuyên viên (Predictive call)

ring_agent_duration

Thời lượng chuông tới chuyên viên (Predictive call)

IV. Mẫu sự kiện

1. Ticket Cuộc gọi vào nhỡ

2. Cuộc gọi vào IVR (Không chuyển ACD):

3. Ticket Cuộc gọi ra

4. Tạo mới người dùng

5. Cập nhật người dùng

6. Tạo mới tổ chức

7. Cập nhật tổ chức

8. Tạo mới phiếu ghi

9. Cập nhật phiếu ghi

10. Xóa phiếu ghi

11. Ghép phiếu ghi

12. Phiếu ghi được gán

Last updated