目的 |
外部システムからBIZTELに対してコマンドを送信することで、ダッシュボード上に記録されているデータの取得が可能です。 |
---|---|
対象プラン |
|
用語 |
【WebAPI】 汎用的なWeb技術を利用し、インターネットを介して外部システムとの連携を容易にする仕組みです。 【BIZTEL API】 BIZTELが公開するAPIを示します。 |
ポイント |
・本機能は、BIZTELバージョン 3.9.10 以降で利用可能です。 ・本機能をご利用いただく場合、「ダッシュボードデータ取得APIライセンス」のライセンス契約が必要です。 |
・本マニュアルはHTML/PHP(PCRE正規表現等)/WebAPIの基礎的な技術知識がある、WEB系開発者様やCRMベンダー様を対象にしております。
目次
1.ダッシュボードデータ取得APIの基本機能
エージェントステータス更新APIは、外部システムからBIZTELのエージェントステータスを参照・更新を可能とするAPIです。
動作イメージ図
事前設定 | ダッシュボードのデータ集計設定は事前に設定し、一定期間のデータ集計を行う必要がございます。 設定方法は「4.ダッシュボード」を参照ください。 |
---|---|
①コマンドの送信 | 外部システムから送信されたリクエストに従い、コマンド内で指定されたデータを取得します。 |
②実行結果を返却 | BIZTELは要求されたリクエストに沿っデータを取得し、結果を外部システムに返却します。 |
2.ダッシュボードデータ取得APIの基本機能について
2.1 リクエスト方式
ダッシュボードデータ取得APIを実行する際のリクエスト方式は以下となります。
認証方式 | HTTPメソッド | URI | 備考 |
---|---|---|---|
APIトークン認証方式 | GET | /public/api/v1/dashboard |
APIトークンによるアカウント認証が必要です。 リクエストヘッダにAuthorization: Token (APIトークン)を指定します。 ※アカウント>APIトークンタブから払い出します。詳細は「1.APIトークン」を参照ください。 |
2.2 リクエストパラメータ
エージェントステータス更新APIのリクエストパラメータは以下となります。
パラメータ | 説明 | 備考 | 必須項目 | パラメータ型 | データ型 | 初期値 |
---|---|---|---|---|---|---|
Authorization | API実行のためのトークンを指定します | 'Token トークン文字列'と入力 | Yes | header | string | -- |
queue_id | コールセンターに付与されるユニークなIDを指定します |
queue_idが未入力の場合、参照権限以上を持っているすべてのコールセンターのデータを取得します |
No | query | integer | -- |
period_type | 期間種別を指定します |
1:10分 |
Yes | query | string | -- |
from | 集計開始日時を指定します |
画面での該当項目:集計開始日時 画面での該当項目は必須項目です |
No | query | string |
当日0時 yyyy/mm/dd hh:mm |
to | 集計終了日時を指定します |
画面での該当項目:集計終了日時 画面での該当項目は必須項目です |
No | query | string |
翌日0時 (当日の24時) yyyy/mm/dd hh:mm |
実行例
● 実行形式
macOSのコンソールで実行する場合の例です。
curl -X GET --header "Accept: application/json" --header "Authorization: Token ★払い出しトークン★" "https://★契約BIZETLサーバFQDN★:8000/public/api/v1/dashboard?★リクエストパラメータ★"
● 入力サンプル
例)アカウントID:10001 のステータスを 受付可(account_status_id=9) に変更する。
curl -X GET --header "Accept: application/json" --header "Authorization: Token d6357156532a940baea9e0012bab1e55e9e4cb51e6c9a352e16206d053303929c9e52cd4609a4bbf" "https://sxxxxxxxxxxxx.u.biztel.jp:8000/public/api/v1/dashboard?queue_id=10001&period_type=1"
2.3 レスポンスコード
エージェントステータス更新APIを実行する際のレスポンスコードは以下となります。
HTTP Status Code | Reason | 説明 |
---|---|---|
200 | Successful Operation | 正常終了(成功) |
400 | Bad Request | 不正なリクエスト |
401 | Unauthorized | 認証失敗 |
404 | Not Found | 対象が存在しません |
429 | TooManyRequest | バースト上限の超過 |
500 | Internal Server Error | システム障害 |
2.4 ヘッダー
エージェントステータス更新APIのヘッダー情報は以下となります。
{
access-control-allow-credentials: true
access-control-allow-headers: Origin,Content-Type,Authorization,X-Auth-Token,x-xsrf-token
access-control-allow-methods: GET,POST,PUT,DELETE
access-control-allow-origin: *
cache-control: no-cache,private,no-store,no-store
connection: keep-alive
content-encoding: gzip
content-security-policy: default-src 'self'; style-src 'self' 'unsafe-inline'; font-src 'self' data:; script-src 'self' 'unsafe-inline'; media-src 'self' blob:; connect-src 'self' blob: ws: wss:;; img-src 'self' data: blob:;
content-type: application/json
date: Thu,07 Mar 2024 04:38:18 GMT
permissions-policy: cross-origin-isolated=(self),sync-xhr=(self),accelerometer=(),autoplay=(),camera=(),display-capture=(),document-domain=(),encrypted-media=(),fullscreen=(),geolocation=(),gyroscope=(),keyboard-map=(),magnetometer=(),midi=(),payment=(),picture-in-picture=(),publickey-credentials-get=(),screen-wake-lock=(),usb=(),web-share=(),xr-spatial-tracking=(),clipboard-read=(),clipboard-write=(),hid=(),idle-detection=(),serial=()
referrer-policy: no-referrer
server: nginx
strict-transport-security: max-age=31536000; includeSubDomains
transfer-encoding: chunked
vary: Accept-Encoding
x-account-id: 1
x-content-type-options: nosniff
x-frame-options: DENY
x-ratelimit-limit: 10
x-ratelimit-remaining: 9
x-robots-tag: noindex
x-xss-protection: 1; mode=block
}
2.5 レスポンスボディ
エージェントステータス更新APIのレスポンスボディは以下となります。
● 取得成功時の例
[
{
"queue_id": 10001,
"queue_name": "デフォルト窓口",
"period_from_date": "2024-03-06 00:00:00",
"period_to_date": "2024-03-06 00:10:00",
"incoming_number": 0,
"response_number": 0,
"reservation_number": 0,
"reservation_complete_number": 0,
"abandonment_number": 0,
"timeout": 0,
"queueing_count": 0,
"response_time_average": "0.00",
"response_time_maximum": 0,
"hold_time_average": "0.00",
"hold_time_maximum": 0,
"abandonment_time_average": "0.00",
"abandonment_time_maximum": 0,
"response_rate": "0.00",
"call_end_number": 0,
"call_average": "0.00",
"call_maximum": 0,
"call_cumulative": 0,
"post_working_time_average": "0.00",
"post_working_time_maximum": 0,
"post_working_number": 0,
"memo": "string",
"created_at": "2024-03-06 00:11:44",
"updated_at": "2024-03-06 00:11:44",
"version": 1709651504
}
]
● 取得失敗時の例
{
"name": "AuthenticationException",
"type": "UNAUTHENTICATED",
"exception_id": null,
"message": "Unauthenticated: cause=unknown auth method.",
"messages": null,
"reason": "Unauthenticated: cause=unknown auth method."
}
2.6 レスポンスパラメータ
queue_id |
管理画面上の項目:コールセンターのIDです。 |
---|---|
queue_name | 管理画面上の項目:コールセンターの名称です。 |
period_from_date | 管理画面上の項目:なし データ集計期間の開始日時です |
period_to_date |
管理画面上の項目:なし |
incoming_number |
管理画面上の項目:着信数 |
response_number | 管理画面上の項目:応答数 集計対象としたコールセンターの応答数です。 |
reservation_number |
管理画面上の項目:保留数・合計 |
reservation_complete_number | 管理画面上の項目:なし 集計対象としたコールセンターの保留完了数(合計)です。 |
abandonment_number | 管理画面上の項目:放棄数・合計 集計対象としたコールセンターの放棄数(合計)です。 |
timeout | 管理画面上の項目:タイムアウト 集計対象としたコールセンターのタイムアウト数です。 |
queueing_count |
管理画面上の項目:2番目以降キューイング数 |
response_time_average | 管理画面上の項目:応答時間・平均 集計対象としたコールセンターの応答時間(平均)です。 |
response_time_maximum | 管理画面上の項目:応答時間・最大 集計対象としたコールセンターの応答時間(最大)です。 |
hold_time_average | 管理画面上の項目:保留時間・平均 集計対象としたコールセンターの保留時間(平均)です。 |
hold_time_maximum | 管理画面上の項目:保留時間・最大 集計対象としたコールセンターの保留時間(最大)です。 |
abandonment_time_average | 管理画面上の項目:放棄時間・平均 集計対象としたコールセンターの放棄時間(平均)です。 |
abandonment_time_maximum | 管理画面上の項目:放棄時間・最大 集計対象としたコールセンターの放棄時間(最大)です。 |
response_rate | 管理画面上の項目:応答率 集計対象としたコールセンターの応答率です。 |
call_end_number | 管理画面上の項目:通話・通話終了数 集計対象としたコールセンターの通話終了数です。 |
call_average | 管理画面上の項目:通話・通話平均 集計対象としたコールセンターの平均通話時間です。 |
call_maximum | 管理画面上の項目:通話・最大 集計対象としたコールセンターの最大通話時間です。 |
call_cumulative | 管理画面上の項目:通話・累計 集計対象としたコールセンターの累計通話時間です。 |
post_working_time_average | 管理画面上の項目:後作業時間(CC紐づけあり)・平均 集計対象としたコールセンター設定によって自動的に後作業ステータスとなった時間の平均値です |
post_working_time_maximum | 管理画面上の項目:後作業時間(CC紐づけあり)・最大 集計対象としたコールセンター設定によって自動的に後作業ステータスとなった時間の最大値です |
post_working_number | 管理画面上の項目:後作業時間(CC紐づけあり)・合計 集計対象としたコールセンター設定によって自動的に後作業ステータスとなった時間の合計値です |
memo | 管理画面上の項目:なし メモです。 |
updated_at | 管理画面上の項目:なし ダッシュボードのデータが更新された日時です |
created_at | 管理画面上の項目:なし ダッシュボードのデータが作成された日時です |
version | 管理画面上の項目:なし 楽観ロックのためのバージョンです |
2.7 エラー仕様
パラメータ | エラー条件 | name | type | message |
---|---|---|---|---|
queue_id | 半角数字以外を入力した場合 | ValidateException | VALIDATE_ERROR | 引数が数値でありません: '{入力文字列}' |
「1〜9223372036854775806」以外を入力した場合 | 1〜9223372036854775806までにしてください | |||
period_type | 未入力の場合 | ValidateException | VALIDATE_ERROR | 引数が数値でありません |
半角数字以外を入力した場合 | 引数が数値でありません: '{入力文字列}' | |||
1 ~ 4 以外を入力した場合 | 1〜4 までにしてください | |||
from |
終了日時より後の開始日時を設定した場合 |
ValidateException | VALIDATE_ERROR | greater than to |
開始日時から終了日時までの範囲が2年より広い状態とした場合 | 集計期間は2年(730日)以内で指定してください | |||
to |
開始日時より前の終了日時を設定した場合 |
ValidateException | VALIDATE_ERROR | greater than to |
開始日時から終了日時までの範囲が2年より広い状態とした場合 | 集計期間は2年(730日)以内で指定してください | |||
Authorization | トークンが未入力の場合("Token"の入力もされていない) | AuthenticationException | UNAUTHENTICATED | Unauthenticated: cause=unknown auth method. |
「Token」のみ入力した場合 | Unauthenticated: method=personal_token, cause=invalid request | |||
「Token {誤ったToken文字列}」のみ入力した場合 | Unauthenticated: method=personal_token, cause=invalid token. | |||
ライセンス無効 | Unauthenticated: method=personal_token, cause=api license disabled | |||
-- |
ダッシュボードデータ取得APIライセンスが無効の状態かつ、他のBIZTEL APIが有効状態でリクエストを実行 |
AuthorizationException | FORBIDDEN | This action is unauthorized. |
「バーストの単位秒数」に設定した秒数以内に、「バースト時の上限値」を超過するリクエストがあった場合 | AccessLimitException | REQUEST_BURST_LIMIT_EXCEEDED | サーバへの処理リクエストが集中しています。しばらく待ってから操作を再試行してください。 |
3.APIリクエスト数の消費仕様について
BIZTEL API(エージェントステータス更新API)のライセンス消費数は以下となります。
認証方式 | ライセンス消費数 | 備考 |
---|---|---|
APIトークン認証方式 | 1リクエストにつき、1消費 |
累積APIリクエスト数、累積APIレスポンスオブジェクト数ともに1ずつ消費します。 |