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

Untitled

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