Public API & Webhook - V4
1. API khai báo webhook
Mục đích: Khai báo webhook để hệ thống callcenter gửi log cuộc gọi
Hỗ trợ 1 tổng đài/1 webhook
Endpoint: PUT https://api-callcenter.bizflycloud.vn/v1/api/webhooks
Header:
Authorization: <api_key>
Content-Type: application/json
Request Data
Tên trường dữ liệu | Kiểu | Bắt buộc | Mô tả |
---|---|---|---|
url | string | Có | URL của webhook |
token | string | Không | mã xác thực với webhook. Được đặt vào header khi gửi request cho webhook. Giống với cách xác thực của api này. |
Response:
Định dạng: json
Code | Status | Lỗi | Message |
---|---|---|---|
200 | OK | ||
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào | data_invalid |
401 | 401 | Lỗi authen | |
404 | 404 | URL api không đúng | |
403 | 403 | không được quyền truy cập url | |
500 | 500 | Lỗi hệ thống API | INTERNAL_SERVER_ERROR |
2. API Xóa webhook
Mục đích: Xóa webhooks của một user trên tất cả các tổng đài
Endpoint: DELETE https://api-callcenter.bizflycloud.vn/v1/api/webhooks
Header:
Authorization: <api_key>
Content-Type: application/json
Response:
Định dạng: json
Code | Status | Lỗi |
---|---|---|
200 | OK | |
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào / Tham số request gửi lên không đúng định dạng |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
3. Dữ liệu truyền qua webhook
1. Dữ liệu cuộc gọi
- Một cuộc gọi được bắt đầu khi caller gọi cho một số tới tổng đài và tổng đài dựa theo kịch bản mà kết nối caller và callee.
- event: là một sự kiện xảy ra khi có cuộc gọi vào hệ thống call center, sự kiện có thể do caller, caller hoặc callee tạo ra.
- Với cuộc gọi vào: kịch bản gọi vào thường để KH phục vụ KH gián tiếp nên sẽ có nhiều máy lẻ trực cuộc gọi vào. 1 cuộc gọi vào có thể được kết nối đến nhiều callee, nên các event về sự tương tác với các callee cũng xảy ra nhiều lần.
- Với cuộc gọi ra: hệ thống coi đích gọi ra là 1 callee duy nhất nên các event cũng ko lặp lại giống như với cuộc gọi vào.
- Các cuộc gọi diễn ra đan xen nhau, nên log cuộc gọi cũng được cập nhật đan xen với nhau. dựa vào Id cuộc gọi để phân biệt log của các cuộc gọi khác nhau.
- Trong kịch bản gọi vào, để kết nối với callee thì có cách gọi trực tiếp hoặc gọi qua queue, các event hai cách gọi này làm cho event sinh ra khác nhau. dù cho cùng sự kiện là gọi và timeout.
- Kịch bản gọi ra chỉ có thể gọi trực tiếp nên sẽ không xuất hiện các event về queue.
Định nghĩa event
Cuộc gọi cùng các event xảy ra theo thời gian
- Caller: Số máy gọi
- Callee: Số máy nghe
- Một cuộc gọi có một chuỗi các event xảy ra theo thời gian, tương ứng với các event đó, hệ thống Bizfly call center sẽ đẩy một request POST cho mỗi event qua webhook
- Mỗi request cho event sau sẽ bao gồm cả dữ liệu của request cho event trước.
- Cuộc gọi nào cũng có event: end
- Các event dial, ring, có thể lặp lại nhiều lần
- Cuộc gọi có trạng thái miss có thể không có event update_audio_url
- Cuộc gọi khởi tạo từ api, nếu không kết nối được caller sẽ có duy nhất một trạng thái là: cancel
=> 3 event end, update_audio_url và cancel sẽ chắc chắn được đẩy qua webhook (Nếu có lỗi sẽ được đẩy lại), còn các event khác, nếu lỗi sẽ không đẩy lại. Với các lỗi network, lỗi hệ thống webhook. Các event khác sẽ đóng vai trò thông báo sớm cho phía webhook để kịp thời hiển thị thông tin cuộc gọi theo thời gian thực.
- Thời gian thử lại các request lỗi là 10 phút 1 lần.
- Khuyến nghị phía webhook sử dụng cơ chế upsert vào database để lưu dữ liệu cuộc gọi, dữ liệu sẽ được bồi đắp dần theo mỗi lần request.
- Định dạng dữ liệu truyền qua webhook là json, Content-Type: application/json
- Các thông tin mà mỗi event quản lý có trong bảng sau:
Tên event | Mô tả event | Tên trường có thể thay đổi với event trước đó | Kiểu | Mô tả |
---|---|---|---|---|
dial | Bắt đầu quay số gọi tới callee | callee | string | Số của người nghe |
dial_time | int | Thời điểm bắt đầu gọi tới callee | ||
tags | list |
Danh sách các tag của cuộc gọi | ||
custom_data | json | Dữ liệu tùy biến cho từng tổng đài | ||
ring | Máy callee rung chuông | callee | string | Số của người nghe |
ring_time | int | Thời điểm bắt đầu rung chuông phía callee | ||
tags | list |
Danh sách các tag của cuộc gọi | ||
custom_data | json | Dữ liệu tùy biến cho từng tổng đài | ||
answer | callee trả lời cuộc gọi, bắt đầu đàm thoại | callee | string | Số của người nghe |
answer_time | int | Thời điểm callee nhấc máy | ||
tags | list |
Danh sách các tag của cuộc gọi | ||
custom_data | json | Dữ liệu tùy biến cho từng tổng đài | ||
end | Kết thúc cuộc gọi | state | string (‘success’, ‘miss’, ‘blocked’) | Trạng thái cuộc gọi |
duration | int | Thời gian xử lý cuộc gọi | ||
end_time | int | Thời điểm kết thúc cuộc gọi | ||
custom_data | json | Dữ liệu tùy biến cho từng tổng đài | ||
tags | list |
Danh sách các tag của cuộc gọi | ||
custom_data | json | Dữ liệu tùy biến cho từng tổng đài | ||
queue_dial | Bắt đầu gọi cho callee trong queue | callee | string | Số của người nghe |
queue_dial_time | int | Thời điểm bắt đầu gọi tới callee trong queue | ||
tags | list |
Danh sách các tag của cuộc gọi | ||
custom_data | json | Dữ liệu tùy biến cho từng tổng đài | ||
caller_hangup | Caller chủ động dập máy | callee | string | Số của người nghe |
caller_hangup_time | int | Thời điểm caller chủ động dập máy | ||
tags | list |
Danh sách các tag của cuộc gọi | ||
custom_data | json | Dữ liệu tùy biến cho từng tổng đài | ||
callee_timeout | Timeout khi gọi callee | callee | string | Số của người nghe |
callee_timeout_time | int | Thời điểm xác định timeout khi gọi callee | ||
tags | list |
Danh sách các tag của cuộc gọi | ||
custom_data | json | Dữ liệu tùy biến cho từng tổng đài | ||
callee_offline | Callee không kết nối | callee | string | Số của người nghe |
callee_offline_time | int | Thời điểm xác định không kết nối khi gọi callee | ||
tags | list |
Danh sách các tag của cuộc gọi | ||
custom_data | json | Dữ liệu tùy biến cho từng tổng đài | ||
queue_member_timeout | Timeout khi gọi callee bằng queue | callee | string | Số của người nghe |
queue_member_timeout_time | int | Thời điểm xác định timeout khi gọi callee bằng queue | ||
tags | list |
Danh sách các tag của cuộc gọi | ||
custom_data | json | Dữ liệu tùy biến cho từng tổng đài | ||
connection_error | Lỗi kết nối tới callee | callee | string | Số của người nghe |
connection_error_time | int | Thời điểm xác định lỗi kết nối khi gọi callee | ||
tags | list |
Danh sách các tag của cuộc gọi | ||
custom_data | json | Dữ liệu tùy biến cho từng tổng đài | ||
callee_reject | Callee chủ động từ dập máy | callee | string | Số của người nghe |
callee_reject_time | int | Thời điểm xác định callee dập máy | ||
tags | list |
Danh sách các tag của cuộc gọi | ||
custom_data | json | Dữ liệu tùy biến cho từng tổng đài | ||
end_dialplan | Thời điểm kết thúc kịch bản | end_dialplan_time | int | Thời điểm xác định kết thúc kịch bản |
tags | list |
Danh sách các tag của cuộc gọi | ||
custom_data | json | Dữ liệu tùy biến cho từng tổng đài | ||
update_audio_url | Cập nhật url mới cho file ghi âm cuộc gọi (file ghi âm được đưa lên hệ thống lưu trữ) | audio_url | string | URL của file ghi âm |
tags | list |
Danh sách các tag của cuộc gọi | ||
custom_data | json | Dữ liệu tùy biến cho từng tổng đài | ||
caller_audio_url | string | URL của file ghi âm chỉ có giọng của caller | ||
callee_audio_url | string | URL của file ghi âm chỉ có giọng của callee | ||
cancel | Khởi tạo cuộc gọi từ api không thành công | cancel_time | int | Thời điểm cuộc gọi khởi tạo từ api được xác định là không thành công |
tags | list |
Danh sách các tag của cuộc gọi | ||
custom_data | json | Dữ liệu tùy biến cho từng tổng đài |
Các trường dữ liệu được truyền trong 1 request
Tên trường | Kiểu dữ liệu | Bắt buộc | Mô tả |
---|---|---|---|
call_id | string | Có | Id của cuộc gọi |
hotline_number | string | Có | Đầu số tổng đài |
event | string | Có | Tên event |
start_time | int | Không | Thời điểm bắt đầu cuộc gọi |
ring_time | int | Không | Thời điểm bắt đầu rung chuông phía callee |
dial_time | int | Không | Thời điểm bắt đầu gọi tới callee |
answer_time | int | Không | Thời điểm callee nhấc máy |
end_time | int | Không | Thời điểm kết thúc cuộc gọi |
cancel_time | int | Không | Thời điểm cuộc gọi khởi tạo từ api được xác định là không thành công |
queue_dial_time | int | Không | Thời điểm bắt đầu gọi tới callee trong queue |
caller_hangup_time | int | Không | Thời điểm caller chủ động dập máy |
callee_timeout_time | int | Không | Thời điểm xác định timeout khi gọi callee |
callee_offline_time | int | Không | Thời điểm xác định không kết nối khi gọi callee |
queue_member_timeout_time | int | Không | Thời điểm xác định timeout khi gọi callee bằng queue |
connection_error_time | int | Không | Thời điểm xác định lỗi kết nối khi gọi callee |
callee_reject_time | int | Không | Thời điểm xác định callee dập máy |
end_dialplan_time | int | Không | Thời điểm xác định kết thúc kịch bản |
caller | string | Không | Số của người gọi |
direct | string (‘in’,’out’) | Không | Chiều gọi |
callee | string | Không | Số của người nghe |
audio_url | string | Không | URL của file ghi âm (nếu có) |
state | string (‘success’, ‘miss’, ‘blocked’) | Không | Trạng thái cuộc gọi |
duration | int | Không | Thời gian xử lý cuộc gọi |
source | string | Không | Đánh dấu số tổng đài nguồn, trong trường hợp đấu nối 2 tổng đài lại với nhau |
tags | list |
Không | Danh sách các tag của cuộc gọi |
custom_data | json | Không | Dữ liệu tùy biến cho từng tổng đài |
Ví dụ về dữ liệu truyền qua webhook
Cuộc gọi ra:
- Dial: {
"answer_time": 0,
"audio_url": "",
"call_id": "0000017a2023Sep2111233710310718146",
"callee": "0973230649",
"callee_offline_time": 0,
"callee_reject_time": 0,
"callee_timeout_time": 0,
"caller": "10020",
"caller_hangup_time": 0,
"cancel_time": 0,
"connection_error_time": 0,
"custom_data": {},
"dial_time": 1695270217,
"direct": "out",
"duration": 0,
"end_dialplan_time": 0,
"end_time": 0,
"event": "dial",
"hangup_cause": "",
"hotline_number": "02473000540",
"id": "0000017a2023Sep2111233710310718146",
"queue_dial_time": 0,
"queue_member_timeout_time": 0,
"ring_time": 0,
"source": "",
"start_time": 1695270217,
"state": "",
"tags": [],
"updated": ""
}
- Answer:{
"answer_time": 1695270228,
"audio_url": "",
"call_id": "0000017a2023Sep2111233710310718146",
"callee": "0973230649",
"callee_offline_time": 0,
"callee_reject_time": 0,
"callee_timeout_time": 0,
"caller": "10020",
"caller_hangup_time": 0,
"cancel_time": 0,
"connection_error_time": 0,
"custom_data": {},
"dial_time": 1695270217,
"direct": "out",
"duration": 0,
"end_dialplan_time": 0,
"end_time": 0,
"event": "answer",
"hangup_cause": "",
"hotline_number": "02473000540",
"id": "0000017a2023Sep2111233710310718146",
"queue_dial_time": 0,
"queue_member_timeout_time": 0,
"ring_time": 0,
"source": "",
"start_time": 1695270217,
"state": "success",
"tags": [],
"updated": ""
}
- End: {
"answer_time": 1695270228,
"audio_url": "",
"call_id": "0000017a2023Sep2111233710310718146",
"callee": "0973230649",
"callee_offline_time": 0,
"callee_reject_time": 0,
"callee_timeout_time": 0,
"caller": "10020",
"caller_hangup_time": 0,
"cancel_time": 0,
"connection_error_time": 0,
"custom_data": {"outside_press_during_call": ""},
"dial_time": 1695270217,
"direct": "out",
"duration": 16,
"end_dialplan_time": 0,
"end_time": 1695270233,
"event": "end",
"hangup_cause": "",
"hotline_number": "02473000540",
"id": "0000017a2023Sep2111233710310718146",
"queue_dial_time": 0,
"queue_member_timeout_time": 0,
"ring_time": 0,
"source": "",
"start_time": 1695270217,
"state": "success",
"tags": [],
"updated": ""
}
- Update_audio_url: {
"answer_time": 1695270228,
"audio_url": "https://866f1731-7cb5-4189-ba50-d283bb30cb0c.hn.ss.bfcplatform.vn/data/record/02473000540/out/092023/21/112337_16952702171972.wav",
"call_id": "0000017a2023Sep2111233710310718146",
"callee": "0973230649",
"callee_audio_url": "https://866f1731-7cb5-4189-ba50-d283bb30cb0c.hn.ss.bfcplatform.vn/data/record/02473000540/out/092023/21/112337_16952702171972_callee.wav",
"caller": "10020",
"caller_audio_url": "https://866f1731-7cb5-4189-ba50-d283bb30cb0c.hn.ss.bfcplatform.vn/data/record/02473000540/out/092023/21/112337_16952702171972_caller.wav",
"cancel_time": "",
"custom_data": {"outside_press_during_call": ""},
"dial_time": 1695270217,
"direct": "out",
"duration": 16,
"end_time": 1695270233,
"event": "update_audio_url",
"hotline_number": "02473000540",
"id": "0000017a2023Sep2111233710310718146",
"ring_time": "",
"source": "",
"start_time": 1695270217,
"state": "success",
"tags": []
}
Cuộc gọi vào
- Dial: {
"answer_time": 0,
"audio_url": "",
"call_id": "02473000540_1a18aab0-08bf-41ce-9921-6b0cc476b80c",
"callee": "10020",
"callee_offline_time": 0,
"callee_reject_time": 0,
"callee_timeout_time": 0,
"caller": "0934569616",
"caller_hangup_time": 0,
"cancel_time": 0,
"connection_error_time": 0,
"custom_data": {},
"dial_time": 1695271326,
"direct": "in",
"duration": 0,
"end_dialplan_time": 0,
"end_time": 0,
"event": "dial",
"hangup_cause": "",
"hotline_number": "02473000540",
"id": "0000017e2023Sep2111415110310718146",
"queue_dial_time": 0,
"queue_member_timeout_time": 0,
"ring_time": 0,
"source": "",
"start_time": 1695271311,
"state": "",
"tags": [],
"updated": ""
}
- Ring: {
"answer_time": 0,
"audio_url": "",
"call_id": "02473000540_1a18aab0-08bf-41ce-9921-6b0cc476b80c",
"callee": "10020",
"callee_offline_time": 0,
"callee_reject_time": 0,
"callee_timeout_time": 0,
"caller": "0934569616",
"caller_hangup_time": 0,
"cancel_time": 0,
"connection_error_time": 0,
"custom_data": {},
"dial_time": 1695271326,
"direct": "in",
"duration": 0,
"end_dialplan_time": 0,
"end_time": 0,
"event": "ring",
"hangup_cause": "",
"hotline_number": "02473000540",
"id": "0000017e2023Sep2111415110310718146",
"queue_dial_time": 0,
"queue_member_timeout_time": 0,
"ring_time": 1695271326,
"source": "",
"start_time": 1695271311,
"state": "",
"tags": [],
"updated": ""
}
- Answer: {
"answer_time": 1695271327,
"audio_url": "",
"call_id": "02473000540_1a18aab0-08bf-41ce-9921-6b0cc476b80c",
"callee": "10020",
"callee_offline_time": 0,
"callee_reject_time": 0,
"callee_timeout_time": 0,
"caller": "0934569616",
"caller_hangup_time": 0,
"cancel_time": 0,
"connection_error_time": 0,
"custom_data": {},
"dial_time": 1695271326,
"direct": "in",
"duration": 0,
"end_dialplan_time": 0,
"end_time": 0,
"event": "answer",
"hangup_cause": "",
"hotline_number": "02473000540",
"id": "0000017e2023Sep2111415110310718146",
"queue_dial_time": 0,
"queue_member_timeout_time": 0,
"ring_time": 1695271326,
"source": "",
"start_time": 1695271311,
"state": "success",
"tags": [],
"updated": ""
}
- End: {
"answer_time": 1695271327,
"audio_url": "",
"call_id": "02473000540_1a18aab0-08bf-41ce-9921-6b0cc476b80c",
"callee": "10020",
"callee_offline_time": 0,
"callee_reject_time": 0,
"callee_timeout_time": 0,
"caller": "0934569616",
"caller_hangup_time": 0,
"cancel_time": 0,
"connection_error_time": 0,
"custom_data": {"outside_press_during_call": ""},
"dial_time": 1695271326,
"direct": "in",
"duration": 22,
"end_dialplan_time": 0,
"end_time": 1695271333,
"event": "end",
"hangup_cause": "",
"hotline_number": "02473000540",
"id": "0000017e2023Sep2111415110310718146",
"queue_dial_time": 0,
"queue_member_timeout_time": 0,
"ring_time": 1695271326,
"source": "",
"start_time": 1695271311,
"state": "success",
"tags": [],
"updated": ""
}
- Update_audio_url: {
"answer_time": 1695271327,
"audio_url": "https://866f1731-7cb5-4189-ba50-d283bb30cb0c.hn.ss.bfcplatform.vn/data/record/02473000540/in/092023/21/114206_16952713111978.wav",
"call_id": "02473000540_1a18aab0-08bf-41ce-9921-6b0cc476b80c",
"callee": "10020",
"callee_audio_url": "https://866f1731-7cb5-4189-ba50-d283bb30cb0c.hn.ss.bfcplatform.vn/data/record/02473000540/in/092023/21/114206_16952713111978_callee.wav",
"caller": "0934569616",
"caller_audio_url": "https://866f1731-7cb5-4189-ba50-d283bb30cb0c.hn.ss.bfcplatform.vn/data/record/02473000540/in/092023/21/114206_16952713111978_caller.wav",
"cancel_time": "",
"custom_data": {"outside_press_during_call": ""},
"dial_time": 1695271326,
"direct": "in",
"duration": 22,
"end_time": 1695271333,
"event": "update_audio_url",
"hotline_number": "02473000540",
"id": "0000017e2023Sep2111415110310718146",
"ring_time": 1695271326,
"source": "",
"start_time": 1695271311,
"state": "success",
"tags": []
}
2. Dữ liệu auto dial
Định nghĩa event
Tên event | Mô tả event | Tên trường có thể thay đổi với event trước đó | Kiểu | Mô tả |
---|---|---|---|---|
start_preview | Bắt đầu preview | callee | string | Số của người nghe |
caller | string | Số của người gọi | ||
start_preview_time | int | Thời điểm xảy ra event. Timestamp | ||
stop_preview | Dừng preview | stop_preview_time | int | Thời điểm xảy ra event. Timestamp |
start_wrapup | Bắt đầu wrapup | start_wrapup_time | int | Thời điểm xảy ra event. Timestamp |
call_id | string | Id của cuộc gọi | ||
stop_wrapup | Dừng wrapup | stop_wrapup_time | int | Thời điểm xảy ra event. Timestamp |
Các trường dữ liệu được truyền trong 1 request
Tên trường | Kiểu dữ liệu | Bắt buộc | Mô tả |
---|---|---|---|
call_id | string | Không | Id của cuộc gọi |
auto_dial_id | string | Có | id của auto_dial |
event | string | Có | Tên event |
caller | string | Có | Số của người gọi |
callee | string | Có | Số của người nghe |
PUBLIC API
1.Khởi tạo cuộc gọi
Mục đích: Khởi tạo cuộc gọi bằng api, không cần bấm số trên thiết bị, thiết bị không hiển thị số máy sẽ gọi
Hệ thống sẽ gọi cho một đầu số (caller/callee) (chỉ định bằng ‘connect_first’), nếu đầu số đó nhấc máy thì sẽ gọi cho đầu số còn lại để kết nối 2 bên vào 1 cuộc gọi.
Endpoint: POST https://api-callcenter.bizflycloud.vn/v1/api/calls
Header:
Authorization: <api_key>
Content-Type: application/json
Request Data
Tên trường dữ liệu | Kiểu | Bắt buộc | Mô tả |
---|---|---|---|
caller | String | Có | Đầu số của máy gọi, là máy lẻ trong hệ thống |
callee | String | Có | Đầu số của máy nghe, là số muốn gọi bên ngoài hệ thống |
caller_timeout | Number | Không | Thời gian kết thúc cuộc gọi nếu caller không trả lời(default: 25 giây) |
callee_timeout | Number | Không | Thời gian kết thúc cuộc gọi nếu callee không trả lời(default: 25 giây) |
connect_first | String (‘caller’,’callee’) | Không | Phía được kết nối trước (default: ‘caller’) |
Response:
Định dạng: json
Code Status Lỗi 200 OK call_id: xxxxxxxx 400 400 Sai kiểu dữ liệu, dữ liệu không cho kết quả nào / Tham số request gửi lên không đúng định dạng 401 401 Lỗi authen 404 404 URL api không đúng 403 403 không được quyền truy cập url 500 500 Lỗi hệ thống API
2.Ngắt cuộc gọi
Mục đích: Ngắt một cuộc gọi đang diễn ra
Endpoint: DELETE https://api-callcenter.bizflycloud.vn/v1/api/calls/<call_id>
call_id: là id của cuộc gọi được trả về lúc có request POST tới ‘/v1/calls’
Header:
Authorization: <api_key>
Content-Type: application/json
Response:
Định dạng: json
Code | Status | Lỗi |
---|---|---|
200 | OK | |
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào / Tham số request gửi lên không đúng định dạng |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
3.Lấy report
Mục đích: Lấy report của một đầu số trong một khoảng thời gian
Endpoint: GET https://api-callcenter.bizflycloud.vn/v1/api/reports
Header:
Authorization: <api_key>
Content-Type: application/json
Request Param
Tên trường dữ liệu | Kiểu | Bắt buộc | Mô tả |
---|---|---|---|
hotline_number | string | Không | Đầu số của tổng đài |
state | string | Không | Trạng thái cuộc gọi (‘miss’,‘success’) |
direct | string | Không | Chiều cuộc gọi (‘in’,’out’) |
from_time | int | Có | Unix timestamp thời gian bắt đầu lấy report |
to_time | int | Có | Unix timestamp thời gian kết thúc lấy report |
limit | int | Không | Giới hạn số bản ghi trong một lần request (trong 1 trang) |
offset | int | Không | Chỉ số của trang muốn lấy report (default:1) |
Response:
Định dạng: json
Thành công: 200
{‘total’: 123, // Tổng số cuộc gọi
'data': [
{
‘_id’: ‘xxx’, // id của cuộc gọi
‘call_id’: ‘xxx’, // id sinh ra khi khởi tạo cuộc gọi qua api
‘caller’: ‘xxx’, // số máy gọi
‘callee’: ‘xxx’, // số máy nghe
‘state’: ‘xxx’, // trạng thái cuộc gọi
‘direct’: ‘xxx’, // chiều gọi
‘start_time’: ‘xxx’, // Unix timestamp, thời gian bắt đầu gọi
‘end_time’: ‘xxx’, // Unix timestamp, thời gian kết thúc
‘call_time’: ‘xxx’, // Unix timestamp, thời gian bắt đầu đàm thoại
‘duration’: 123, // Tổng thời gian xử lý cuộc gọi
‘audio_url’: ‘yyyy’, // Đường dẫn file ghi âm
‘caller_audio_url’: ‘yyyy’, // Đường dẫn file ghi âm riêng giọng của caller
‘callee_audio_url’: ‘yyyy’, // Đường dẫn file ghi âm riêng giọng của callee
'events': {'timestamp': 32142151, 'event': '<event_name>', 'data': {...}} // Các sự kiện xảy ra trong cuộc gọi, tương tự như dữ liệu truyền qua webhook
},
{},
…
]
}
Lỗi:
Code | Status | Lỗi |
---|---|---|
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào / Tham số request gửi lên không đúng định dạng |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
4.Lấy danh sách máy lẻ
Mục đích: Lấy danh sách máy lẻ của user
Đặc tả:
Endpoint: GET https://api-callcenter.bizflycloud.vn/v1/api/hotlines/<hotline_number>/extensions
hotline_number: đầu số của hotline (vd: 0123456789)
Header:
Authorization: <api_key>
Content-Type: application/json
Request Param
Tên trường dữ liệu | Kiểu | Bắt buộc | Mô tả |
---|---|---|---|
limit | string | Không | Giới hạn số bản ghi cho 1 lần request |
offset | string | Không | Số trang |
Response:
Định dạng: json
Thành công: 200
{
'total': 123, // tổng số máy lẻ
'data': {
‘extension_list’:[
{
'extension_number': '123421', // Số máy lẻ, dùng để hiển thị và bấm gọi
'extension_account': '4214215_215', // Account để máy lẻ đăng nhập
'extension_password': 'abcdefg', // Mật khẩu để máy lẻ đăng nhập, mã hóa rsa, cần có key để giải mã
‘hotline_default’: ‘0123456789’, // Đầu số mặc định dùng để máy lẻ gọi ra
‘hotline’: ‘0987654321‘, // Đầu số đang dùng để gọi ra hiện tại
‘hotline_list’: [
{
‘hotline_number’: ‘0421768532’,
‘network’: ‘Viettel‘
},
{
‘hotline_number’: ‘0498306897’,
‘network’: ‘MobiFone‘
},
{
‘hotline_number’: ‘0965478972’,
‘network’: ‘else‘
}
] // danh sách đầu số để gọi dựa theo nhà mạng
}.
{}.
…
],
‘wss’: ‘wss://test.domain.com/ws’ // wss domain dùng cho webrtc client
‘Sip_domain’: ‘test.domain.com’ // dùng cho non secured sip client
}
Lỗi:
Code | Status | Lỗi |
---|---|---|
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào / Tham số request gửi lên không đúng định dạng |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
5.Xem chi tiết máy lẻ
Mục đích: Lấy danh sách máy lẻ của user
Đặc tả:
Endpoint: GET https://api-callcenter.bizflycloud.vn/v1/api/extensions/<extensions_id>
extension_id: id hoặc số máy lẻ
Header:
Authorization: <api_key>
Content-Type: application/json
Response:
Định dạng: json Thành công: 200
{
‘extension_number': '123421', // Số máy lẻ, dùng để hiển thị và bấm gọi
'extension_account': '4214215_215', // Account để máy lẻ đăng nhập
'extension_password': 'abcdefg', // Mật khẩu để máy lẻ đăng nhập, mã hóa rsa, cần có key để giải mã
‘hotline_default’: ‘0123456789’, // Đầu số mặc định dùng để máy lẻ gọi ra
‘hotline’: ‘0987654321‘, // Đầu số đang dùng để gọi ra hiện tại
‘hotline_list’: [
{
‘hotline_number’: ‘0421768532’,
‘network’: ‘Viettel‘
},
{
‘hotline_number’: ‘0498306897’,
‘network’: ‘MobiFone‘
},
{
‘hotline_number’: ‘0965478972’,
‘network’: ‘else‘
}
] // danh sách đầu số để gọi dựa theo nhà mạng
}
Lỗi:
Code | Status | Lỗi |
---|---|---|
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào / Tham số request gửi lên không đúng định dạng |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
6.Chèn vào cuộc gọi đang diễn ra
Mục đích: Sử dụng một máy lẻ đang rảnh, chèn vào một cuộc gọi đang diễn ra với một máy lẻ khác để nghe hoặc tham gia vào cuộc gọi đó
Hai máy lẻ phải cùng thuộc một hotline
Endpoint: POST https://api-callcenter.bizflycloud.vn/v1/api/spy_calls
Header:
Authorization: <api_key>
Content-Type: application/json
Request Data
Tên trường dữ liệu | Kiểu | Bắt buộc | Mô tả |
---|---|---|---|
spy_peer | string | Có | Số máy thực hiện chèn cuộc gọi |
spied_peer | string | Có | Số máy bị chèn vào cuộc gọi |
option | string(‘whisper’, ‘barge’) | Không | Tùy chọn: |
whisper: cho phép hội thoại với spied_number | |||
barge: cho phép hội thoại với tất cả các bên trong cuộc goi của spied_number | |||
timeout | number | Không | Số giây cho đến khi kết thúc gọi cho spy_peer |
Response:
Định dạng: json
Code | Status | Lỗi / message |
---|---|---|
200 | 200 | message: (trạng thái của máy nhận cuộc gọi: busy/offline, rejected,answered) |
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào / Tham số request gửi lên không đúng định dạng |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
7.Lấy report cho một cuộc gọi
Mục đích: Lấy report cho một cuộc gọi bằng id
Đặc tả:
Endpoint: GET https://api-callcenter.bizflycloud.vn/v1/api/reports/<call_id>
call_id: là ‘call_id’ trả về từ api khởi tạo cuộc gọi
Header:
Authorization: <api_key>
Content-Type: application/json
Response:
Định dạng: json
Thành công: 200
{
‘_id’: ‘xxx’, // id của cuộc gọi
‘call_id’: ‘xxx’, // id sinh ra khi khởi tạo cuộc gọi qua api
‘caller’: ‘xxx’, // số máy gọi
‘callee’: ‘xxx’, // số máy nghe
‘state’: ‘xxx’, // trạng thái cuộc gọi
‘direct’: ‘xxx’, // chiều gọi
‘start_time’: ‘xxx’, // Unix timestamp, thời gian bắt đầu gọi
‘end_time’: ‘xxx’, // Unix timestamp, thời gian kết thúc
‘call_time’: ‘xxx’, // Unix timestamp, thời gian bắt đầu đàm thoại
‘duration’: 123, // Tổng thời gian xử lý cuộc gọi
‘audio_url’: ‘yyyy’, // Đường dẫn file ghi âm
'events': {'timestamp': 32142151, 'event': '<event_name>', 'data': {...}}, // Các sự kiện xảy ra trong cuộc gọi, tương tự như dữ liệu truyền qua webhook
}
Lỗi:
Code | Status | Lỗi |
---|---|---|
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào / Tham số request gửi lên không đúng định dạng |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
8.Lấy danh sách đầu số
Mục đích: Lấy danh sách đầu số của user
Endpoint: GET https://api-callcenter.bizflycloud.vn/v1/api/hotlines
Header:
Authorization: <api_key>
Content-Type: application/json
Response:
Định dạng: json
Code | Status | Lỗi / message |
---|---|---|
200 | 200 | {‘data’: [‘0123456789’, ‘0987654321’,…] } //danh sách các đầu số của user |
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào / Tham số request gửi lên không đúng định dạng |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
9.Thêm máy lẻ
Mục đích: Thêm một máy lẻ mới
Endpoint: POST https://api-callcenter.bizflycloud.vn/v1/api/extensions
Header:
Authorization: <api_key>
Content-Type: application/json
Request Data
Tên trường dữ liệu | Kiểu | Bắt buộc | Mô tả | |
---|---|---|---|---|
extension_number | string | Có | Số máy lẻ, phải là số và it hơn 6 kí tự | |
hotline_number | string | Có | Đầu số mặc định , máy lẻ sẽ sử dụng số tổng đài này khi gọi ra | |
extension_call_permit | string(‘phone’, ‘mobile’,’internation’) | Có | Quyền gọi ra: | |
phone: gọi nội bộ mobile: thêm quyền gọi di động (so với quyền phía trên) | ||||
internation: thêm quyền gọi đi nước ngoài (so với quyền phía trên) | ||||
hotline_list | list |
Không | Danh sách đầu số để tự động chọn đầu số theo nhà mạng. | |
Thay cho đầu số mặc định | ||||
hotline_humber | string | Có | Đầu số gọi ra | |
network | string (‘Viettel’, ‘Vinaphone’, ‘MobiFone’, ‘Vietnamobile’, ‘Gmobile’, ‘iTelecom’, | |||
’else’) | Có | Tên nhà mạng. | ||
‘else’ là giá trị mặc định, dùng khi không tìm được đầu số nào cho cuộc gọi | ||||
hotline | string | Không | Đầu số dùng để gọi ra. Khi trường này có giá trị thì sẽ ghi đè hotline_list |
|
auto_dial_ready | boolean | Không | Trạng thái sử dụng auto dial. | |
true: sẵn sàng sử dụng | ||||
false: chưa sẵn sàng. | ||||
Mặc định là: false |
Response:
Định dạng: json
Định dạng: json
Code | Status | Lỗi / message |
---|---|---|
200 | True | ‘message’: {‘id’: ‘hufowa42-fawfuo214-afioa24214-’ // id của máy lẻ} |
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào / Tham số request gửi lên không đúng định dạng Number Extension must be less than 6 digit / Number Extension Exists in Hotline X / Number extension over limit x/y Agent. Please upgrade your Package… |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
10. Sửa máy lẻ
Mục đích: Chỉnh sửa thông tin một máy lẻ
Endpoint: PATCH https://api-callcenter.bizflycloud.vn/v1/api/extensions/<extensions_id>
extension_id: id hoặc số máy lẻ
Header:
Authorization: <api_key>
Content-Type: application/json
Request Data
Tên trường dữ liệu | Kiểu | Bắt buộc | Mô tả | |
---|---|---|---|---|
hotline_list | list |
Không | Danh sách đầu số để tự động chọn đầu số theo nhà mạng. | |
Thay cho đầu số mặc định | ||||
hotline_humber | string | Có | Đầu số gọi ra | |
network | string (‘Viettel’, ‘Vinaphone’, ‘MobiFone’, ‘Vietnamobile’, ‘Gmobile’, ‘iTelecom’, | |||
’else’) | Có | Tên nhà mạng. | ||
‘else’ là giá trị mặc định, dùng khi không tìm được đầu số nào cho cuộc gọi | ||||
hotline | string | Không | Đầu số dùng để gọi ra. Khi trường này có giá trị thì sẽ ghi đè hotline_list |
|
auto_dial_ready | boolean | Không | Trạng thái sử dụng auto dial. | |
true: sẵn sàng sử dụng | ||||
false: chưa sẵn sàng. |
Response:
Định dạng: json
Code | Status | Lỗi / message |
---|---|---|
200 | True | { “message”: u"Update Success" } |
400 | 400 | ID Extension not Exists |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
11. Xóa máy lẻ
Mục đích: Xóa một máy lẻ
Endpoint: DELETE https://api-callcenter.bizflycloud.vn/v1/api/extensions/<extensions_id>
extension_id: id hoặc số máy lẻ
Header:
Authorization: <api_key>
Content-Type: application/json
Response: Định dạng: json
Code | Status | Lỗi / message |
---|---|---|
200 | True | { “message”: u"Delete Success" } |
400 | 400 | ID Extension not Exists |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
12. Tự động gọi ra cho một loạt các số
Mục đích: Thực hiện auto calls
Endpoint: POST https://api-callcenter.bizflycloud.vn/v1/api/auto_calls
Header:
Authorization: <api_key>
Content-Type: application/json
Request Data
Tên trường dữ liệu | Kiểu | Bắt buộc | Mô tả |
---|---|---|---|
hotline_number | string | Có | Đầu số dùng để thực hiện auto_call |
content | string | Không | Nội dung đoạn thoại : có thể là text hoặc link đến file audio (mp3) |
type | string | Có | Giá trị: text / link |
Nếu text → content phải để là đoạn thoại bằng text , tổng đài sẽ tự động convert qua Audio để bắn đi | |||
Nếu link → tổng đài sẽ lấy file bắn | |||
callee_list | List |
Có | Danh sách số máy nhận cuộc gọi auto call |
campaign_id | string | Có | ID để phân loại cho client |
timer | int | Không | Hẹn giờ( giây) |
VD: | |||
Timer: 300 -> thực hiện auto_call sau 5 phút, | |||
Timer: 3600 -> thực hiện auto_call sau 1 tiếng. | |||
voice | string | Không | Giá trị: |
nam_mien_bac, | |||
nu_mien_bac, | |||
nam_mien_nam. | |||
nu_mien_nam | |||
script_id | string | Không | id của kịch bản để ai sử dụng |
Response: Định dạng: json
Thành công: 200
{
"status": True,
"message": u"Push Auto call Success"
},
{
"status": 200,
"message": u"Setting Timer for Auto call Success",
“id”: task_id
}
Lỗi:
Code | Status | Lỗi / message |
---|---|---|
400 | 400 | Tham số request gửi lên không đúng định dạng |
401 | 401 | “message”: “Unauthorized” |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
Nội dung của custom_data, khi trả response cho cuộc gọi tạo bởi api này:
Tên trường | Kiểu dữ liệu | Bắt buộc | Mô tả |
---|---|---|---|
campaign_id | string | Có | id phân biệt các lần auto call |
outside_press_during_call | string | Không | Phím bấm của callee trong khi nghe auto call |
13. Xóa hết các cuộc gọi tự động đã hẹn giờ
Mục đích: Xóa hết các cuộc gọi tự động đã được hẹn giờ trước theo campaign_id
Endpoint: DELETE https://api-stagging-callcenter.bizflycloud.vn/v1/api/auto_calls/<campaign_id>
Header:
Authorization: <api_key>
Content-Type: application/json
Response:
Định dạng: json
Code | Status | Lỗi / message |
---|---|---|
200 | 200 | { “message”: u"Remove Timer auto call success" } |
400 | 400 | “message”:”Auto calls already run or hasn’t been set a timer" |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
Lỗi:
400: Lỗi sai campaign_id hoặc chưa đặt hẹn giờ cho cuộc gọi tự động nào
14. Khởi tạo cuộc gọi otp
Mục đích: Khởi tạo cuộc gọi bằng api, không cần bấm số trên thiết bị, thiết bị không hiển thị số máy sẽ gọi
Hệ thống sẽ gọi cho một số máy, rồi đọc otp 2 lần
Endpoint: POST https://api-callcenter.bizflycloud.vn/v1/api/otp_calls
Header:
Authorization: <api_key>
Content-Type: application/json
Request Data
Tên trường dữ liệu | Kiểu | Bắt buộc | Mô tả |
---|---|---|---|
callee | String | Có | Số của máy nghe, là số muốn gọi bên ngoài hệ thống |
callee_timeout | Number | Không | Thời gian kết thúc cuộc gọi nếu callee không trả lời(default: 25 giây) |
hotline_number | String | Có | Đầu số dùng để gọi otp |
otp | String | Có | Nội dung otp, phải là số |
Response:
Định dạng: json
Code | Status | Lỗi / message |
---|---|---|
200 | 200 | { “call_id: xxxxxxxx” } |
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
15. Lấy danh sách đầu số v3
Mục đích: Lấy danh sách đầu số của user
Endpoint: GET https://api-callcenter.bizflycloud.vn/v3/api/hotlines
Header:
Authorization: <api_key>
Content-Type: application/json
Response:
- Định dạng: json
- Thành công: 200
{
'data': [{
‘Hotline_number’:'0123456789', // số tổng đài
’provider’: ‘ABC’, // nhà cung cấp
‘network’: ‘Def’ // nhà mạng trong hệ thống mạng điện thoại
},
'{
‘hotline_number’:'0123456789',
’provider’: ‘DEF’,
‘network’: ‘Ghi’
},
..]
}
Lỗi:
Code | Status | Lỗi / message |
---|---|---|
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
16. Tạo kịch bản auto dial
Mục đích: Tạo kịch bản auto dial
Endpoint: POST https://api-callcenter.bizflycloud.vn/v1/api/auto_dial
Header:
Authorization: <api_key>
Content-Type: application/json
Request Data:
Tên trường dữ liệu | Kiểu | Bắt buộc | Mô tả | |
---|---|---|---|---|
type | String(‘progressive’,’predictive’,’preview’) | Có | Kiểu auto dial | |
preview_time | Number | Không | Thời gian chờ trước khi bắt đầu gọi cho một | |
số callee | ||||
wrapup_time | Number | Không | Thời gian chờ sau khi gọi cho một số callee | |
hotline_list | list |
Không | Danh sách đầu số để tự động chọn đầu số theo nhà mạng. | |
Thay cho đầu số mặc định | ||||
hotline_humber | string | Có | Đầu số gọi ra | |
network | string (‘Viettel’, ‘Vinaphone’, ‘MobiFone’, ‘Vietnamobile’, ‘Gmobile’, ‘iTelecom’, | |||
’else’) | Có | Tên nhà mạng. | ||
‘else’ là giá trị mặc định, dùng khi không tìm được đầu số nào cho cuộc gọi | ||||
hotline | string | Không | Đầu số dùng để gọi ra. Khi trường này có giá trị thì sẽ ghi đè hotline_list |
|
callee_list | list |
Có | Danh sách số máy nghe. Là số điện thoại ngoài hệ thống | |
callee | string | Có | Số máy nghe | |
caller_list | list |
Có | Danh sách số máy gọi. Là số máy lẻ |
Response:
- Định dạng: json
Code | Status | Lỗi / message |
---|---|---|
200 | True | { ‘message’: ‘OK’,‘id’: ‘fhjwoafhuiowa2134-455342nf-4215’ } |
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
17. Xem chi tiết kịch bản auto dial
Mục đích: Xem kịch bản auto dial hiện tại
Endpoint: GET https://api-callcenter.bizflycloud.vn/v1/api/auto_dial/
id: id của auto_dial đã tạo
Header:
Authorization: <api_key>
Content-Type: application/json
Response:
- Định dạng: json
- Thành công: 200
{
‘type’: ‘awbnfuwab’, // kiểu auto dial
‘preview_time’: 0, // thời gian chờ trước khi gọi cho một callee
‘wrapup_time’: 0, // thời gian chờ sau khi kết thúc một cuộc gọi
‘hotline’: ‘0128732145’, // đầu số dùng để gọi auto dial
‘hotline_llist’ {
{
‘hotline_number’: ‘091237841’, // đầu số để gọi auto dial
‘network’: ‘Viettel’ // nhà mạng trong hệ thống mạng điện thoại
}, {}, …
},
‘callee_list’: [
{
‘callee’: ‘0123456789’, // số máy nghe
‘caller’: ‘12345’, //số máy gọi
‘start_time’: 12314566. // timestamp, thời gian bắt đầu xử lý cuộc gọi
‘state’: ‘success’, // trạng thái cuộc gọi
‘call_id’: ‘jui213781h-fn21ufnu2i1@$-jfionuif21-’// id của cuộc gọi sinh ra khi cuộc gọi được tạo từ api
}
],,
‘caller_list’: [
“100”,
“200”,
….
]
}
Lỗi:
Code | Status | Lỗi / message |
---|---|---|
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
18. Xóa kịch bản auto dial
Mục đích: Xóa kịch bản auto dial hiện tại
Endpoint: DELETE https://api-callcenter.bizflycloud.vn/v1/api/auto_dial/
id: id của auto_dial đã tạo
Header:
Authorization: <api_key>
Content-Type: application/json
Response:
- Định dạng: json
Code Status Lỗi / message 200 True { ‘message’: ‘OK’ } 400 400 Sai kiểu dữ liệu, dữ liệu không cho kết quả nào 401 401 Lỗi authen 404 404 URL api không đúng 403 403 không được quyền truy cập url 500 500 Lỗi hệ thống API
19. Chỉnh sửa auto dial
Mục đích: Xóa kịch bản auto dial hiện tại
Endpoint: PATCH https://api-callcenter.bizflycloud.vn/v1/api/auto_dial/
id: id của auto_dial đã tạo
Header:
Authorization: <api_key>
Content-Type: application/json
Request Data:
Tên trường dữ liệu | Kiểu | Bắt buộc | Mô tả | |
---|---|---|---|---|
type | String(‘progressive’,’predictive’,’preview’) | Không | Kiểu auto dial | |
preview_time | Number | Không | Thời gian chờ trước khi bắt đầu gọi cho một | |
số callee | ||||
wrapup_time | Number | Không | Thời gian chờ sau khi gọi cho một số callee | |
hotline_list | list |
Không | Danh sách đầu số để tự động chọn đầu số theo nhà mạng. | |
Thay cho đầu số mặc định | ||||
hotline_humber | string | Có | Đầu số gọi ra | |
network | string (‘Viettel’, ‘Vinaphone’, ‘MobiFone’, ‘Vietnamobile’, ‘Gmobile’, ‘iTelecom’, | |||
’else’) | Có | Tên nhà mạng. | ||
‘else’ là giá trị mặc định, dùng khi không tìm được đầu số nào cho cuộc gọi | ||||
hotline | string | Không | Đầu số dùng để gọi ra. Khi trường này có giá trị thì sẽ ghi đè hotline_list |
|
callee_list | list |
Không | Danh sách số máy nghe. Là số điện thoại ngoài hệ thống | |
callee | string | Có | Số máy nghe | |
caller_list | list |
Không | Danh sách số máy gọi. Là số máy lẻ |
Response:
- Định dạng: json
Code Status Lỗi / message 200 True { ‘message’: ‘OK’ } 400 400 Sai kiểu dữ liệu, dữ liệu không cho kết quả nào 401 401 Lỗi authen 404 404 URL api không đúng 403 403 không được quyền truy cập url 500 500 Lỗi hệ thống API
20. Bật auto dial
Mục đích: Xóa kịch bản auto dial hiện tại
Endpoint: PUT https://api-callcenter.bizflycloud.vn/v1/api/auto_dial/
id: id của auto_dial đã tạo
Header:
Authorization: <api_key>
Content-Type: application/json
Response:
- Định dạng: json
Code Status Lỗi / message 200 True { ‘message’: ‘OK’ } 400 400 Sai kiểu dữ liệu, dữ liệu không cho kết quả nào 401 401 Lỗi authen 404 404 URL api không đúng 403 403 không được quyền truy cập url 500 500 Lỗi hệ thống API
21. Tắt auto dial
Mục đích: Xóa kịch bản auto dial hiện tại
Endpoint: PUT https://api-callcenter.bizflycloud.vn/v1/api/auto_dial/
id: id của auto_dial đã tạo
Header:
Authorization: <api_key>
Content-Type: application/json
Response:
- Định dạng: json
Code Status Lỗi / message 200 True { ‘message’: ‘OK’ } 400 400 Sai kiểu dữ liệu, dữ liệu không cho kết quả nào 401 401 Lỗi authen 404 404 URL api không đúng 403 403 không được quyền truy cập url 500 500 Lỗi hệ thống API
22. Lấy danh sách kịch bản auto dial
Mục đích: Xem kịch bản auto dial hiện tại
Endpoint: GET https://api-callcenter.bizflycloud.vn/v1/api/auto_dial
Header:
Authorization: <api_key>
Content-Type: application/json
Request Param
Tên trường dữ liệu | Kiểu | Bắt buộc | Mô tả |
---|---|---|---|
limit | string | Không | Giới hạn số bản ghi cho 1 lần request |
offset | string | Không | Số trang |
Response:
- Định dạng: json
- Thành công: 200
{
‘status’: True
‘total': 21, // tổng số bản ghi
‘data’: [
{
‘type’: ‘awbnfuwab’, // kiểu auto dial
‘preview_time’: 0, // thời gian chờ trước khi gọi cho một callee
‘wrapup_time’: 0, // thời gian chờ sau khi kết thúc một cuộc gọi
‘hotline’: ‘0128732145’, // đầu số dùng để gọi auto dial
'hotline_llist’ {
{
‘hotline_number’: ‘091237841’, // đầu số để gọi auto dial
‘network’: ‘Viettel’ // nhà mạng trong hệ thống mạng điện thoại
}, {}, …
},
callee_list’: [
{
‘callee’: ‘0123456789’, // số máy nghe
‘caller’: ‘12345’, //số máy gọi
‘start_time’: 12314566. // timestamp, thời gian bắt đầu xử lý cuộc gọi
‘state’: ‘success’, // trạng thái cuộc gọi
‘call_id’: ‘jui213781h-fn21ufnu2i1@$-jfionuif21-’// id của cuộc gọi sinh ra khi cuộc gọi được tạo từ api
}
],,
‘caller_list’: [
“100”,
“200”,….
]
},
{},
…]
}
Lỗi:
Code | Status | Lỗi / message |
---|---|---|
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
23. Lấy danh sách liên hệ
Mục đích: Lấy danh sách liên hệ
Đặc tả:
Endpoint: GET https://api-callcenter.bizflycloud.vn/v1/api/contacts
Header:
Authorization: <api_key>
Content-Type: application/json
Request Param
Tên trường dữ liệu | Kiểu | Bắt buộc | Mô tả |
---|---|---|---|
limit | string | Không | Giới hạn số bản ghi cho 1 lần request |
offset | string | Không | Số trang |
search | string | Không | tìm kiếm theo firstname, lastname và phone_number |
Response:
Định dạng: json
Thành công: 200
{
'total': 123, // tổng số máy lẻ
'data': {
[
{
'id': '123421', // id liên hệ
'firstname’: 'Đêm Tên’', // tên và tên đệm
'lastname': 'Họ', // Họ
‘full_name’: ‘Họ Tên’ // họ tên liên hệ
‘phone_number’: ‘0123456789’, // Số điện thoại
‘note’: ‘abc def ghik‘, // Mô tả của liên hệ
}.
{}.
…
]
}
Lỗi:
Code | Status | Lỗi / message |
---|---|---|
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
24. Thêm liên hệ
Mục đích: Lấy danh sách máy lẻ của user
Đặc tả:
Endpoint: POST https://api-callcenter.bizflycloud.vn/v1/api/contacts
Header:
Authorization: <api_key>
Content-Type: application/json
Request Data
Tên trường dữ liệu | Kiểu | Bắt buộc | Mô tả |
---|---|---|---|
firstname | string | Không | Tên và tên đệm. Không được có dấu và kí tự đặc biệt |
lastname | string | Không | Họ. |
Không được có dấu và kí tự đặc biệt | |||
phone_number | string | Có | Số điện thoại |
note | string | Không | Mô tả liên hệ |
Response:
- Định dạng: json
Code Status Lỗi / message 200 True { ‘message’: {‘id’: ‘hufowa42fawfuo214afioa24214-’ // id của liên hệ}} 400 400 Sai kiểu dữ liệu, dữ liệu không cho kết quả nào 401 401 Lỗi authen 404 404 URL api không đúng 403 403 không được quyền truy cập url 500 500 Lỗi hệ thống API
25. Sửa liên hệ
Mục đích:
Thêm một máy lẻ mới
Endpoint: PATCH https://api-callcenter.bizflycloud.vn/v1/api/contacts/<contact_id>
contact_id: id liên hệ
Header:
Authorization: <api_key>
Content-Type: application/json
Request Data
Tên trường dữ liệu | Kiểu | Bắt buộc | Mô tả |
---|---|---|---|
firstname | string | Không | Tên và tên đệm. Không được có dấu và kí tự đặc biệt |
lastname | string | Không | Họ. |
Không được có dấu và kí tự đặc biệt | |||
phone_number | string | Không | Số điện thoại |
note | string | Không | Mô tả liên hệ |
Response: Định dạng: json Định dạng: json
Code | Status | Lỗi / message |
---|---|---|
200 | True | { ‘message’: “message”: u"Delete Success"} |
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
26. Xóa liên hệ
Mục đích: Xóa một liên hệ
Endpoint: DELETE https://api-callcenter.bizflycloud.vn/v1/api/contacts/<contact_id>
contact_id: id liên hệ
Header:
Authorization: <api_key>
Content-Type: application/json
Response:
Định dạng: json
Code | Status | Lỗi / message |
---|---|---|
200 | True | { ‘message’: “message”: u"Delete Success"} |
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |
27. Lấy một liên hệ
Mục đích: Lấy danh sách liên hệ
Đặc tả:
Endpoint: GET https://api-callcenter.bizflycloud.vn/v1/api/contacts/<contact_id>
contact_id: id liên hệ
Header:
Authorization: <api_key>
Content-Type: application/json
Response:
Định dạng: json
Thành công: 200
{
'id': '123421', // id liên hệ
'firstname’: 'Đêm Tên’', // tên và tên đệm
'lastname': 'Họ', // Họ
‘full_name’: ‘Họ Tên’ // họ tên liên hệ
'phone_number’: ‘0123456789’, // Số điện thoại
‘note’: ‘abc def ghik‘, // Mô tả của liên hệ
}
Lỗi:
Định dạng: json
Code | Status | Lỗi / message |
---|---|---|
400 | 400 | Sai kiểu dữ liệu, dữ liệu không cho kết quả nào |
401 | 401 | Lỗi authen |
404 | 404 | URL api không đúng |
403 | 403 | không được quyền truy cập url |
500 | 500 | Lỗi hệ thống API |