Bizfly Webphone SDK
Version: 1.0.0
Release date: 03/10/2023
Account sdk
Account sdk là bizflycloud account, đã được gắn máy lẻ.
Cần tạo máy lẻ trước khi có thể gắn cho người dùng
Sau đây là luồng gắn máy lẻ với từng account trên bizflycloud call center dashboard
Nhúng SDK vào web cần tích hợp
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Sdk</title>
</head>
<body>
<script src="https://hn.ss.bfcplatform.vn/microfrontend/dependencies/webphone/2.0/sdk.min.js"></script>
<script>
const sdk = new BfcWebphoneSDK()
sdk.init(
{
username: 'abc@vccloud.vn',
password: '',
listeners: {
registered(data) {
console.log('registerd', data)
},
callOutgoing(data) {
console.log('call outgoing', data)
},
callEnded(data) {
console.log('ended', data)
}
}
},
(data) => console.log('init sdk done', data)
)
</script>
</body>
</html>
Các method của SDK
sdk.init(config, cb)
Khởi tạo SDK và tạo User agent
Config | Object | Required |
---|---|---|
mode | string | SDK mode, các giá trị hợp lệ: active(default) cho phép cả gọi ra và gọi vào, inactive không cho phép cả gọi ra và gọi vào, outgoing chỉ cho phép gọi ra |
username | string | email của account Bizfly dashboard |
password | string | required: password của account Bizfly dashboard |
register | boolean | Register User agent, mặc định là true |
userAgent | string | User agent string |
baseURL | endpoint url dùng để call sdk api, mặc định https://manage.bizflycloud.vn | |
listeners | đăng kí các event callback, xem list các event | |
cb | Callback function |
sdk.stop(cb)
Stop User agent
sdk.register(cb)
Register User agent, bắt buộc khi init config với register: false
sdk.unregister(cb)
Unregister User agent
sdk.makeCall(phone, cb)
Tạo cuộc gọi
phone: string: required: Số điện thoại hoặc số máy lẻ
sdk.answerCall(cb)
Nhận cuộc gọi đến
sdk.endCall(cb)
Kết thúc cuộc gọi hiện tại
sdk.createLine2(phone, cb)
Tạo line 2 trong User agent, để thực hiện chức năng giữ và chuyển tiếp cuộc gọi. Chỉ có thể tạo line 2 khi đang trong cuộc gọi khác
phone: string: required: Số điện thoại hoặc số máy lẻ
sdk.mute(cb)
Mute âm thanh gửi đi
sdk.unmute(cb)
Unmute âm thanh gửi đi
sdk.muteAudio(cb)
Mute âm thanh nhận
sdk.unmuteAudio(cb)
Unmute âm thanh nhận
sdk.hold(cb)
Giữ cuộc gọi
sdk.unhold(cb)
Bỏ giữ cuộc gọi
sdk.sendDTMF(tone, cb)
Gửi tín hiệu DTMF
tone: string: required
sdk.transferCall(phone, cb)
Chuyển tiếp cuộc gọi hiện tại. Khi đang ở line 1, thực hiện chuyển tiếp theo tham số phone truyền vào. Khi đang ở line 2, thực hiện attended transfer, chuyển tiếp line 1 cho line 2 và kết thúc cuộc gọi
phone: string: Số điện thoại hoặc số máy lẻ chuyển tiếp. Bắt buộc với chuyển tiếp ở line 1
sdk.ping()
Lấy data các session hiện tại
Return: { line1: data line 1, line2: data line 2 }
sdk.setMode(mode, cb)
Cập nhật SDK mode
SDK mode | các giá trị hợp lệ |
---|---|
active(default) | cho phép cả gọi ra và gọi vào |
inactive | không cho phép cả gọi ra và gọi vào |
outgoing | chỉ cho phép gọi ra |
skd.currentMode
Return: Mode hiện tại của sdk
sdk.currentLine
Return: Line hiện tại của sdk
sdk.currentExtension
Return: Thông tin máy lẻ hiện tại
sdk.currentHotline
Return: Thông tin hotline hiện tại
sdk.isRegistered
Return: Boolean: Trạng thái register User agent
sdk.isConnected
Return: Boolean: Trạng thái connect User agent
sdk.isMuted
Return: Trạng thái mute cuộc gọi
sdk.isOnHold
Return: Trạng thái hold cuộc gọi
sdk.hotlines
Return: Danh sách các hotline được gán cho máy lẻ hiện tại
sdk.histories(limit)
Lấy danh sách lịch sử cuộc gọi
limit: number: Số bản ghi, mặc định 30 bản ghi
Return: Promise resolve với data hoặc error
sdk.contacts
Lấy danh sách liên hệ
Return: Promise resolve với data hoặc error
sdk.chooseHotline(hotlineId)
Chọn hotline hoặc nhóm hotline gọi ra cho máy lẻ
hotlineId: string: required: Id của hotline, id phải là id thuộc danh sách hotline_group_id_list hoặc hotline_id_list của extension hiện tại
Return: Promise resolve với data của hotline mới hoặc error
sdk.note(callId, data)
Lưu, sửa note cho cuộc gọi
callId: string: required: Id cuộc gọi, là id từ trường X-bizfly-call-center-call-id của cuộc gọi hoặc id item của item trong histories
data: object: required
{
rate: 1,
report: 'Good'
}
// or
{
note: 'Note'
}
Callback function
Các SDK method nhận vào callback, khi thực thi sẽ nhận 1 tham số theo format
{
status: 'success', // success hoặc error
error: null, // error nếu có
data: null, // data trả về nếu có
}
Listeners
Các event name truyền vào khi khởi tạo SDK
Event name | Mô tả |
---|---|
alerts | Trigger khi SDK alert về tình trạng network, chất lượng cuộc gọi |
connected | Trigger khi User agent connect vào server |
disconnected | Trigger khi User agent disconnect khỏi server |
registered | Trigger khi User agent register vào server |
unregistered | Trigger khi User agent unregister khỏi server |
registrationFailed | Trigger khi User agent register vào server thất bại |
callEnded | Trigger khi cuộc gọi kết thúc |
callOutgoing | Trigger khi có cuộc gọi ra |
callIncoming | Trigger khi có cuộc gọi đến |
callConfirmed | Trigger khi cuộc gọi được bắt máy |
referAccepted | Trigger khi chuyển tiếp cuộc gọi thành công |
referFailed | Trigger khi chuyển tiêp cuộc gọi thất bại |