公式サイト公開APIドキュメント
共通情報
共通仕様
リクエスト形式
Base URL
https://{host}/{Type}/{version}/{api}?Timestamp={Timestamp}&AppId={AppId}
- host:API ドメイン
- Type:
ccapi - version:APIバージョン、現在は
v2 - api:詳細は API URI を参照
- Timestamp: UTCタイムスタンプ、秒単位まで
- AppId:テナント固有ID。カスタマーサポートシステムでは「管理センター - コールセンター - その他の設定」(最下部)で確認できます。
HTTP ヘッダー
- Accept:
"application/json" - Content-Type:
"application/json;charset=utf-8"
HTTP メソッド
- GET(SELECT):サーバーからリソースを取得します(1つまたは複数)。
- POST(CREATE):サーバーに新しいリソースを作成します。
- PUT(UPDATE):サーバーのリソースを更新します(クライアントが変更後の完全なリソースを提供)。
- PATCH(UPDATE):サーバーのリソースを更新します(クライアントが変更された属性を提供)。
- DELETE(DELETE):サーバーからリソースを削除します。
HTTP ステータスコード
- 200 OK - [GET]:サーバーがユーザーのリクエストデータを正常に返しました。この操作はべき等です。
- 201 CREATED - [POST/PUT/PATCH]:ユーザーがデータの新規作成または変更に成功しました。
- 202 Accepted - [*]:リクエストがバックグラウンドのキューに入ったことを示します(非同期タスク)。
- 204 NO CONTENT - [DELETE]:ユーザーがデータの削除に成功しました。
- 400 INVALID REQUEST - [POST/PUT/PATCH]:ユーザーが送信したリクエストにエラーがあり、サーバーはデータの新規作成または変更操作を行いませんでした。この操作はべき等です。
- 401 Unauthorized - [*]:ユーザーに権限がないことを示します(トークン、ユーザー名、パスワードエラー)。
- 403 Forbidden - [*] ユーザーは認可されているが(401エラーとは対照的に)、アクセスが禁止されていることを示します。
- 404 NOT FOUND - [*]:ユーザーが送信したリクエストが存在しないレコードを対象としており、サーバーは操作を行いませんでした。この操作はべき等です。
- 406 Not Acceptable - [GET]:ユーザーがリクエストした形式が利用できません(例:ユーザーがJSON形式をリクエストしたが、XML形式しかない場合)。
- 410 Gone -[GET]:ユーザーがリクエストしたリソースが永久に削除され、二度と取得できません。
- 422 Unprocesable entity - [POST/PUT/PATCH] オブジェクトを作成する際に、検証エラーが発生しました。
- 500 INTERNAL SERVER ERROR - [*]:サーバーでエラーが発生し、ユーザーは送信したリクエストが成功したかどうかを判断できません。
返却形式
共通
- 返却はUTF-8エンコーディングのJSON形式です
- レスポンスコードについては以下の返却コード説明を参照してください
正常返却形式
{
"ErrCode": "000000", // レスポンスコード(必須)
"ErrDesc": "OK", // レスポンス説明(必須)
"Result": {
// データ...
}
}
エラー返却形式
{
"ErrCode": "000001", // レスポンスコード(必須)
"ErrDesc": "パラメータエラー", // レスポンス説明(必須)
"Result": {
// データ...
}
}
データ形式の取り決め
PSTN番号
- 固定電話形式:
0{市外局番}{市内番号} - 携帯電話形式:
{11桁の携帯電話番号} - 国際番号:
00{国番号}{国内市外局番}{市内番号} - オペレータSIP番号:
{企業番号プレフィックス}{オペレータ内線番号} - 企業番号プレフィックス:
9{9桁の数字} - オペレータ内線番号:
{4桁の数字}
例
"01067654637" # 固定電話番号
"13676546374" # 携帯電話番号
内線番号(Extension)
- 0以外の数字で始まる4桁の数字:
[1-9]\d{3}
例
"8001" # 内線番号
キューID(QueueId)
- 9で始まる4桁の数字:
9\d{3}
オペレータID(AgentId)
- 数字:
\d+ - 最大32桁
オペレータ社員番号(WorkId)
- 数字または文字:
\w+ - 最大32桁
タイムスタンプ(Timestamp)
- UTC時間を使用します
- 形式:Unix Time、すなわち「1970-01-01 00:00:00.000」からの経過ミリ秒数。
認証方式
サーバー側のインターフェースは、URIに含まれるパラメータを使用して署名検証を行います。リクエスト側は以下の例のようにパラメータを含める必要があります。
リクエスト例:
https://HOST/ccapi/v2/RESOURCE?AppId={{appid}}&Timestamp={{timestamp}}&Sid={{sid}}&Sign={{sign}}
パラメータ説明:
- AppId: テナントの一意なID
- Sid: Secretとペアで存在します。プロジェクトマネージャーにお問い合わせください。
- Timestamp: 秒単位のタイムスタンプ。10分間有効です。
- Sign:署名。生成式は
SHA1(Sid + Secret + Timestamp)です。以下の生成例を参照してください。 - Secret: Sidとペアで存在し、Signの生成に使用されます。URIには表示されません。機密保持にご注意ください
Sign値を生成するシェル例:
ts='1694139179' # 注意:秒単位のタイムスタンプです
sid='one_fake_sid' #
secret='one_fake_secret' #
echo "\nafter encrypt:"
echo -n "${sid}${secret}${ts}" | sha1sum | awk '{ print $1 }' # 正しい出力は: 94634f80c4af738a2c19556db942d88fdb94f2cc
リターンコード説明
| リターンコード | 説明 |
|---|---|
| 000000 | 成功 |
| 000001 | パラメータが無効です |
| 000035 | リクエストがタイムアウトしました |
| 000036 | 不正なリクエストです |
| 000060 | 内部エラー |
| 100001 | パラメータが空です |
| 100002 | アプリが無効または禁止されています |
| 100003 | アカウントが見つかりません |
| 100004 | 不正なメッセージです |
| 100005 | 中継番号が見つかりません |
| 100006 | 名前は既に存在します |
| 100007 | 音声が見つかりません |
| 100008 | 無効なwavファイルです |
| 100009 | wavファイルの変換に失敗しました |
| 100010 | デフォルト音声ファイルの作成に失敗しました |
| 100011 | 新しいストレージバケットの作成に失敗しました |
| 100012 | ファイルのダウンロードに失敗しました |
| 100013 | データベースの初期化に失敗しました |
| 100014 | md5チェックサムの検証に失敗しました |
| 100015 | 番号が存在します |
| 100016 | 音声がエージェントにバインドされています |
| 100017 | アプリケーションIDが空です |
| 100018 | レコードが見つかりません |
| 100019 | 解析に失敗しました |
| 100020 | ivrが見つかりません |
| 100021 | 無効なエージェントステータスです |
| 100022 | 所有権エラー |
| 200001 | このアプリは存在しません |
| 200002 | パラメータエラー |
| 200003 | サービスの解析でエラーが発生しました |
| 200004 | 関連するレコードが見つかりません |
| 200005 | 開始ノードエラー |
| 200006 | 条件ノードエラー |
| 200007 | 再生ノードエラー |
| 200008 | 音声収集ノードエラー |
| 200009 | キューイングノードエラー |
| 200010 | webhookノードエラー |
| 200011 | 番号収集ノードエラー |
| 200018 | 切断ノードエラー |
| 200019 | この名前は既に存在します |
| 200020 | 認証エラー |
| 200021 | 内部サービスエラー |
| 200022 | ルーティングフォーマットエラー |
| 200023 | データベースエラー |
| 200024 | 開始ノードまたは終了ノードが不足しています |
オープンインターフェース
01.中継番号リストの取得
基本情報
Path: /ccapi/v2/spnumbers
Method: GET
インターフェース説明:
概要
アプリケーションにバインドされているすべての中継番号リストと、アプリケーションのデフォルト発信者番号を返します。
用語説明
中継番号:アプリケーション内にバインドされた番号の総称(一般的にはデジタル中継番号とアナログ固定電話番号の2種類に分かれ、主な違いは前者が多重通話をサポートすることです)。Udeskが提供する場合もあれば、ユーザーが自前で構築した番号の場合もあります。
発信者番号:個人の携帯電話で他の人の電話をかけるとき、相手の携帯電話に発信者番号が表示されます(相手の携帯電話が発信者番号通知機能を有効にしている場合)。これが発信者番号です。同様に、Udesk CCPaaSプラットフォームで発信する場合も発信者番号が必要です。また、以下の順序で番号が選択されます:
- 発信時に指定された中継番号を優先的に使用します。
- オペレーターのデフォルト発信者番号を使用します。
- アプリケーションのデフォルト発信者番号を使用します。
- 上記のいずれも満たされない場合、システムがランダムに番号を選択します。
例
リクエスト
URL: http://ip:port/ccapi/v2/spnumbers?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": {
"SpNumbers": [
"057126200671",
"057126200672",
"057126200673",
"057126200674"
],
"DefSpNumber": "057126200670"
}
}
リクエストパラメータ
Query
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | 必須 | 3c31d817-4d37-46d8-6c09-1be54dda3c03 | アプリケーションID |
レスポンスデータ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | object | 必須ではない | レスポンス結果 | ||
| ├─ SpNumbers | string [] | 必須ではない | 中継番号リスト | item タイプ: string | |
| ├─ | 必須ではない | ||||
| ├─ DefSpNumber | string | 必須ではない | 現在設定されているデフォルト中継番号 | mock: 057126200670 |
02.デフォルト中継番号の変更
基本情報
Path: /ccapi/v2/spnumbers/default
Method: PUT
インターフェース説明:
概要
アプリケーションのデフォルトの発信者番号を編集します。
例
リクエスト
URL: http://ip:port/ccapi/v2/spnumbers/default?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"DefSpNumber":"057126200670"
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": null
}
リクエストパラメータ
Headers
| パラメータ名 | パラメータ値 | 必須 | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| Query |
| パラメータ名 | 必須 | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| Body |
| 名前 | タイプ | 必須 | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| DefSpNumber | string | 必須ではない | デフォルトでは最初の中継番号を使用します。中継番号リスト内の任意の番号を指定できます。 | mock: 057126200670 |
返却データ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | string | 必須ではない | レスポンス結果 |
03. デフォルト中継番号の削除
基本情報
Path: /ccapi/v2/spnumbers/default
Method: DELETE
インターフェースの説明:
概要
アプリケーションのデフォルト発信者番号をクリアします。
例
リクエスト
URL: http://ip:port/ccapi/v2/spnumbers?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
レスポンス
{
"ErrCode":"000000",
"ErrDesc":"OK",
"Result":""
}
リクエストパラメータ
ヘッダー
| パラメータ名 | パラメータ値 | 必須 | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| クエリ |
| パラメータ名 | 必須 | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| ボディ |
| 名称 | タイプ | 必須 | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
レスポンスデータ
| 名称 | タイプ | 必須 | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | string | 必須ではない | レスポンス結果 | mock: |
04. エージェントの作成
基本情報
Path: /ccapi/v2/agents
Method: POST
インターフェース説明:
概要
エージェントを作成します。
Udesk CC-PaaSの基本オブジェクト関係は以下の図の通りです:
- 1つのアプリケーションで複数のエージェント、キュー、内線を作成できます;
- 1つのエージェントは少なくとも1つのキューに所属している必要があります;
- 1つのエージェントは同じタイプの内線(sipまたはwebrtc)を1つだけバインドできます;
- エージェントは内線をバインドした後で、着信応答または発信が可能になります;
- アプリケーションがウェブ電話機能(webrtc)を有効にしており、かつ'IsCreateExtension'パラメータが'true'に設定されている場合、エージェント作成時に2種類(webrtcとsip)の内線が同時に作成され、そのエージェントにバインドされます。
例
リクエスト
URL: http://ip:port/ccapi/v2/agents?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"AgentId":"9415",
"WorkId":"199"
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": {
"AgentId": "9415",
"Extension": "",
"Password": "",
"Number": "",
"ExtenInfos": null
}
}
リクエストパラメータ
Headers
| パラメータ名 | パラメータ値 | 必須かどうか | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | 必須 | ||
| Query |
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | 必須 | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| Body |
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| AgentId | string | 必須 | エージェントID | mock: 197 |
|
| WorkId | string | 必須 | エージェント社員番号 | mock: 191 |
|
| Name | string | 任意 | エージェント氏名 | mock: Li |
|
| Mobile | string | 任意 | エージェント携帯電話番号 | mock: 18512520714 |
|
| string | 任意 | エージェントEmail | mock: 123@qq.com |
||
| Role | string | 任意 | agent, leaderのいずれか。デフォルトはagent | mock: agent |
|
| Enable | boolean | 任意 | true:有効,デフォルトは有効 | mock: false |
|
| IsCreateExtension | integer | 任意 | エージェント内線を作成してバインド | ||
| WrapUpTime | integer | 任意 | 着信後処理時間 | ||
| OutWrapUpTime | integer | 任意 | 発信後処理時間 | ||
| AssistantAccessRight | integer | 任意 | アシスタント使用権限 |
返却データ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | object | 必須ではない | 内線電話も同時にバインドする場合 | ||
| ├─ Extension | string | 必須ではない | 内線番号 | mock: 1002 | |
| ├─ Password | string | 必須ではない | 内線パスワード | mock: 1002 | |
| ├─ AgentId | string | 必須ではない | オペレータID | mock: 197 | |
| ├─ Number | string | 必須ではない | 中継番号 | mock: 057126200670 | |
| ├─ ExtenInfos | string [] | 必須ではない | 内線番号リスト | item タイプ: string | |
| ├─ | 必須ではない |
05. エージェント情報の更新
基本情報
Path: /ccapi/v2/agents/{id}
Method: PUT
インターフェース説明:
概要
エージェント情報を更新します
エージェントの無効化:エージェントはオフライン状態でのみ無効化できます。
説明:AgentIdは変更できません。
例
リクエスト
URL: http://ip:port/ccapi/v2/agents/{id:[0-9]+}?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"AgentId":"9415",
"Enable":false
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": null
}
リクエストパラメータ
Headers
| パラメータ名 | パラメータ値 | 必須かどうか | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| パスパラメータ |
| パラメータ名 | 例 | 備考 |
|---|---|---|
| id | {id:[0-9]+} | |
| クエリ |
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | はい | a54a8b77-f12d-4ac9-742d-5b2bef5c4d11 | |
| ボディ |
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| AgentId | string | 必須ではない | エージェントID | mock: 724 |
|
| WorkId | string | 必須ではない | タスクID | mock: 11 |
|
| Name | string | 必須ではない | エージェント名 | ||
| Mobile | string | 必須ではない | エージェント携帯電話番号 | mock: 17600364320 |
|
| string | 必須ではない | エージェントメールアドレス | |||
| Role | string | 必須ではない | 備考 | ||
| Enable | boolean | 必須ではない | 有効化するかどうか | mock: false |
|
| WrapUpTime | integer | 必須ではない | 着信整理時間 | ||
| OutWrapUpTime | integer | 必須ではない | 発信整理時間 | ||
| AssistantAccessRight | integer | 必須ではない | アシスタント使用権限 |
返却データ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: ok | |
| Result | string | 必須ではない | レスポンス結果 |
06. エージェントリストの取得
基本情報
Path: /ccapi/v2/agents
Method: GET
インターフェースの説明:
概要
エージェント情報を取得します。関連する条件に基づいて検索することができ、条件が指定されていない場合はすべてのエージェントリストを返します。
既定の検索条件は以下の通りです:役割、利用可能状態、エージェント状態。
あいまい検索テキストのマッチング範囲:エージェント名、エージェント従業員番号、メールアドレス、携帯電話番号。
例
リクエスト
URL: http://ip:port/ccapi/v2/agents?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
URL(既定検索条件): http://ip:port/ccapi/v2/agents?Role={{Role}}&Enable={{Enable}}&State={{State}}&FuzzyQuery={{FuzzyQuery}}AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
レスポンス
{
"ErrCode":"000000",
"ErrDesc":"",
"Result":{
"CurrPage":1,
"PageSize":32,
"Total":32,
"TotalPage":1,
"AgentList":[
{
"AppId":"4b8dc715-05e0-4340-6cae-a6e3c39a6012",
"AgentId":"189",
"WorkId":"",
"Name":"管理者1",
"Mobile":"17600364320",
"Email":"crmdiaoxiao1@test.cn",
"Role":"agent",
"Queues":[
"9003@4b8dc715-05e0-4340-6cae-a6e3c39a6012"
],
"QueuesNames":null,
"Extensions":[
"1001",
"1008"
],
"DefSpNumber":"02863138587",
"State":1,
"ExtState":0,
"WrapUpTime":0,
"OutWrapUpTime":0,
"Enable":true,
"ExtenInfos":null
}
]
}
}
リクエストパラメータ
クエリ
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | テナントID |
レスポンスデータ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | object | 必須ではない | レスポンス結果 | ||
| ├─ CurrPage | number | 必須ではない | 現在のページ番号 | mock: 1 | |
| ├─ PageSize | number | 必須ではない | 1ページあたりの表示数 | mock: 10 | |
| ├─ Total | number | 必須ではない | 総数 | mock: 100 | |
| ├─ TotalPage | number | 必須ではない | 総ページ数 | mock: 10 | |
| ├─ AgentList | object [] | 必須ではない | エージェントリスト | item タイプ: object | |
| ├─ AppId | string | 必須ではない | アプリケーションID | mock: 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | |
| ├─ AgentId | string | 必須ではない | エージェントID | mock: 112 | |
| ├─ WorkId | string | 必須ではない | タスクID | mock: 111 | |
| ├─ Name | string | 必須ではない | エージェント名 | mock: test | |
| ├─ Mobile | string | 必須ではない | エージェントの携帯電話番号 | mock: 17600364320 | |
| string | 必須ではない | エージェントのメールアドレス | mock: test@qq.com | ||
| ├─ Role | string | 必須ではない | 備考 | mock: "" | |
| ├─ Queues | string [] | 必須ではない | エージェントキューリスト | item タイプ: string | |
| ├─ | 必須ではない | ||||
| ├─ QueuesNames | string [] | 必須ではない | キュー名リスト | item タイプ: string | |
| ├─ | 必須ではない | ||||
| ├─ Extensions | string [] | 必須ではない | 内線番号リスト | item タイプ: string | |
| ├─ | 必須ではない | ||||
| ├─ DefSpNumber | string | 必須ではない | デフォルト中継番号 | mock: c39a6012 | |
| ├─ State | number | 必須ではない | 状態 | mock: 1 | |
| ├─ ExtState | string | 必須ではない | デフォルト内線状態 | mock: 0 | |
| ├─ WrapUpTime | string | 必須ではない | 着信整理時間 | mock: 0 | |
| ├─ OutWrapUpTime | string | 必須ではない | 発信整理時間 | mock: 0 | |
| ├─ Enable | string | 必須ではない | 有効かどうか | mock: false | |
| ├─ ExtenInfos | object [] | 必須ではない | 内線番号リスト情報 | item タイプ: object | |
| ├─ Number | string | 必須ではない | 中継番号 | mock: 94286518751002 | |
| ├─ Extension | string | 必須ではない | 内線番号 | mock: 1002 | |
| ├─ Password | string | 必須ではない | 内線パスワード | mock: eewz | |
| ├─ SignalType | string | 必須ではない | 信号タイプ | mock: 1 |
07. エージェント内線番号のバインド
基本情報
Path: /ccapi/v2/agents/extensions
Method: POST
インターフェース説明:
概要
指定されたエージェントに内線番号をバインドします。2種類の内線タイプを同時にバインドすることができます。
注意:
エージェントが発信する際には、現在の発信方法に一致する内線タイプに手動で切り替える必要があります。例えば、Web電話方式で発信する場合は、webrtcタイプの内線に切り替える必要があります。
例
リクエスト
URL: http://ip:port/ccapi/v2/agents/extensions?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"AgentId":"9415",
"Extensions":["1135"]
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": null
}
リクエストパラメータ
Headers
| パラメータ名 | パラメータ値 | 必須かどうか | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| Query |
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| Body |
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| AgentId | string | 必須 | エージェントID | mock: 10031 |
|
| WorkId | string | 必須ではない | タスクID | ||
| Name | string | 必須ではない | エージェント氏名 | ||
| Mobile | string | 必須ではない | エージェント携帯電話番号 | ||
| string | 必須ではない | エージェントメールアドレス | |||
| Role | string | 必須ではない | 備考 | ||
| Queues | string [] | 必須ではない | キュー | item タイプ: string |
|
| ├─ | 必須ではない | ||||
| QueuesNames | string [] | 必須ではない | キュー名 | item タイプ: string |
|
| ├─ | 必須ではない | ||||
| Extensions | string [] | 必須 | 内線番号リスト | item タイプ: string |
|
| ├─ | 必須ではない | ||||
| State | integer | 必須ではない | エージェント状態タイプ | ||
| ExtState | integer | 必須ではない | バインドされた内線の状態 | ||
| WrapUpTime | integer | 必須ではない | 着信整理時間 | ||
| OutWrapUpTime | integer | 必須ではない | 発信整理時間 | ||
| Enable | boolean | 必須ではない | 有効化されているかどうか | ||
| AssistantAccessRight | integer | 必須ではない | アシスタント使用権限 |
返却データ
| 名称 | タイプ | 必須か | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | 対応する説明 | mock: OK | |
| Result | string | 必須ではない | レスポンス結果 | mock: |
08. エージェント内線番号の紐付け解除
基本情報
Path: /ccapi/v2/agents/extensions
Method: DELETE
インターフェース説明:
概要
指定されたエージェントの内線番号の紐付けを解除します。2種類の内線番号を同時に解除することができます。
注意:
エージェントを削除する場合は、まずそのエージェントに紐付けられているすべての内線番号の紐付けを解除し、同時に、所属しているすべての通常キューから離脱させる必要があります。
例
リクエスト
URL: http://ip:port/ccapi/v2/agents/extensions?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"AgentId":"9415",
"Extensions":["1135"]
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": null
}
リクエストパラメータ
ヘッダー
| パラメータ名 | パラメータ値 | 必須かどうか | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| クエリ |
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| ボディ |
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| Extensions | string [] | 必須 | 内線番号リスト | item タイプ: string |
|
| ├─ | 必須ではない | ||||
| AgentId | string | 必須 | エージェントID | mock: 62 |
返却データ
| 名称 | タイプ | 必須か | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | string | 必須ではない | レスポンス結果 | mock: |
09. 内線番号の削除
基本情報
Path: /ccapi/v2/extensions
Method: DELETE
インターフェースの説明:
概要
内線番号を削除します。
注意:
エージェントにバインドされている内線番号は削除できません。削除する前にバインドを解除する必要があります。
例
リクエスト
URL: http://ip:port/ccapi/v2/extensions?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"Extension":"1002"
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": null
}
リクエストパラメータ
ヘッダー
| パラメータ名 | パラメータ値 | 必須 | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| クエリ |
| パラメータ名 | 必須 | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| ボディ |
| 名称 | タイプ | 必須 | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| Extension | string | 必須 | 内線番号 | mock: 1002 | |
| Password | string | 任意 | 内線パスワード | ||
| Number | string | 任意 | エージェントが使用するSIPアカウント | ||
| SignalType | integer | 任意 | 内線タイプ | mock: 0:sip、1:webrtc |
返却データ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | string | 必須ではない | レスポンス結果 | mock: |
10. 内線の作成
基本情報
Path: /ccapi/v2/extensions
Method: POST
インターフェースの説明:
概要
内線を作成します。
内線には2種類のタイプがあります:0(sip、SIP電話機方式に対応)、1(webrtc、ウェブ電話方式に対応);
注意:
- 内線のパスワードはシステムによって生成され、作成時に指定することはできません;
- 内線番号:4文字(0~9、かつ先頭は1である必要があります)で構成される文字列;
- 10桁の固定プレフィックスに内線番号を加えたものが内線アカウントとなり、合計14桁になります。
例
リクエスト
URL: http://ip:port/ccapi/v2/extensions?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"Extension":"1002",
"Password":"802411d4"
"SignalType":0
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": {
"Extension": "1002",
"Password": "336cd1655a1d0502",
"Number": "93000077121002",
"SignalType": 0
}
}
リクエストパラメータ
ヘッダー
| パラメータ名 | パラメータ値 | 必須かどうか | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| クエリ |
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| ボディ |
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| Extension | string | 必須 | 4桁 内線番号 |
mock: 1032 | |
| Password | string | 任意 | 内線パスワード | mock: 802411d4 | |
| SignalType | integer | 任意 | 内線タイプ:0(sip)、1(webrtc) | mock: 0 |
返却データ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | object | 必須ではない | レスポンス結果 | ||
| ├─ Extension | string | 必須ではない | 内線番号 | mock: 1002 | |
| ├─ Password | string | 必須ではない | 内線パスワード | mock: 802411d4 | |
| ├─ Number | string | 必須ではない | 内線アカウント | mock: "93000077121002" | |
| ├─ SignalType | integer | 必須ではない | 内線タイプ | mock: 0(sip、SIP電話機方式に対応)、1(webrtc、ウェブ電話方式に対応) |
11. キューリストの取得
基本情報
Path: /ccapi/v2/queues
Method: GET
インターフェース説明:
概要
キュー情報のリストを取得します。
例
リクエスト
URL: http://ip:port/ccapi/v2/queues?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
レスポンス
{
"ErrCode":"000000",
"ErrDesc":"OK",
"Result":{
"Queues":[
{
"QueueId":"9001",
"Name":"管理者テスト",
"Strategy":0,
"Timeout":0,
"WaitMusic":"waitmusic.wav"
}
]
}
}
リクエストパラメータ
Query
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | はい | ef05710f-1144-4e2a-721c-991bf9df440a | アプリケーションID |
レスポンスデータ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 |
|
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK |
|
| Result | object | 必須ではない | レスポンス結果 | ||
| Result.Queues | object [] | 必須ではない | キューリスト | item タイプ: object |
|
| Result.Queues.QueueId | string | 必須ではない | キューID | mock: 9001 |
|
| Result.Queues.Name | string | 必須ではない | キュー名 | mock: 管理者テスト |
|
| Result.Queues.Strategy | number | 必須ではない | キュー割り当て戦略 | mock: 0 |
|
| Result.Queues.Timeout | number | 必須ではない | 待機タイムアウト時間 | mock: 0 |
|
| Result.Queues.WaitMusic | string | 必須ではない | 待機中に再生される音楽 | mock: waitmusic.wav |
12. キュー作成
基本情報
Path: /ccapi/v2/queues
Method: POST
インターフェース説明:
概要
キューを作成します。
例
リクエスト
URL: http://ip:port/ccapi/v2/queues?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"QueueId":"9008",
"QueueName":"テストキュー作成007",
"WaitMusic":""
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": {
"QueueId": "181154"
}
}
リクエストパラメータ
Headers
| パラメータ名 | パラメータ値 | 必須 | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| Query |
| パラメータ名 | 必須 | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| Body |
| 名称 | タイプ | 必須 | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| QueueId | string | いいえ | キューID | mock: 9008 |
|
| QueueName | string | いいえ | キュー名 | mock: テストキュー作成007 |
|
| WaitMusic | string | いいえ | 待機中に再生する音楽 | mock: |
返却データ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | string | 必須ではない | レスポンス結果 | mock: |
13. キューを変更する
基本情報
Path: /ccapi/v2/queues
Method: PUT
インターフェースの説明:
概要
指定されたキューを変更します。
'Strategy'はキューの割り当て戦略を指定し、整数0、1、2から選択できます:
0:エージェントがその日にオンラインになった順番で順番に割り当てる;
1:エージェントのその日の最小応答数に基づいて割り当てる。つまり、応答数が少ないほど優先度が高い;
2:エージェントの最後の空き時間に基づいて割り当てる。つまり、空き時間が長いほど優先度が高い;
例
リクエスト
URL: http://ip:port/ccapi/v2/queues?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"QueueId":"9009"
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": null
}
リクエストパラメータ
ヘッダー
| パラメータ名 | パラメータ値 | 必須 | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| クエリ |
| パラメータ名 | 必須 | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| ボディ |
| 名称 | タイプ | 必須 | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| QueueId | string | 必須 | キューID | mock: 9009 | |
| QueueName | string | 任意 | キュー名 | mock: テスト作成キュー007 | |
| Strategy | integer | 任意 | キュー割り当て戦略 | ||
| Timeout | integer | 任意 | 待機タイムアウト時間 | ||
| WaitMusic | string | 任意 | 待機中に再生する音楽 |
レスポンスデータ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | string | 必須ではない | レスポンス結果 | mock: |
14. キュー削除
基本情報
Path: /ccapi/v2/queues
Method: DELETE
インターフェース説明:
概要
指定されたキューを削除します。
注意:
エージェントが在籍しているキューは削除できません。
例
リクエスト
URL: http://ip:port/ccapi/v2/queues?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"QueueId":"9009"
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": null
}
リクエストパラメータ
ヘッダー
| パラメータ名 | パラメータ値 | 必須かどうか | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| クエリ |
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| ボディ |
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| QueueId | string | 必須 | キューID | mock: 9009 |
レスポンスデータ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | string | 必須ではない | レスポンス結果 | mock: |
15. キューへのエージェント一括追加
基本情報
Path: /ccapi/v2/queues/agents
Method: POST
インターフェース説明:
概要
指定したキューにエージェントを一括追加します。
注意:
これは増分操作であり、キューに元々存在していたエージェントには影響しません。
例
リクエスト
URL: http://ip:port/ccapi/v2/queues/agents?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"QueueId":"9009",
"AgentIds":[
"9009",
"9008",
"9007",
"9006"
]
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": null
}
リクエストパラメータ
Headers
| パラメータ名 | パラメータ値 | 必須 | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| Query |
| パラメータ名 | 必須 | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| Body |
| 名称 | タイプ | 必須 | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| QueueId | string | 必須 | キューID | mock: 9009 |
|
| AgentIds | string [] | 必須 | エージェントIDリスト | item タイプ: string |
|
| ├─ | 必須ではない |
レスポンスデータ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | string | 必須ではない | レスポンス結果 | mock: |
16. エージェントの一括キュー登録
基本情報
Path: /ccapi/v2/agents/queues
Method: POST
インターフェースの説明:
概要
指定されたエージェントを一括でキューに登録します。
注意:
パラメータ'IsFull'はデフォルトで0に設定されており、インターフェースは増分操作として動作し、エージェントが元々所属していたキューリストには影響しません。
パラメータ'IsFull'を1に設定すると、インターフェースは全量操作として動作し、サードパーティシステムとのキュー情報同期に使用できます。
例
リクエスト
URL: http://ip:port/ccapi/v2/agents/queues?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"AgentId":"9415",
"Queues":[
"551",
"114"
],
"IsFull":1
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": null
}
リクエストパラメータ
Headers
| パラメータ名 | パラメータ値 | 必須かどうか | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| Query |
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| Body |
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| AgentId | string | 必須 | エージェントID | mock: 1443 | |
| Queues | string [] | 必須 | キューIDリスト | item タイプ: string | |
| ├─ | 必須ではない | ||||
| IsFull | integer | 必須ではない | 全量更新かどうか |
レスポンスデータ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | string | 必須ではない | レスポンス結果 | mock: |
17. エージェントの一括キュー離脱
基本情報
Path: /ccapi/v2/agents/queues
Method: DELETE
インターフェースの説明:
概要
指定されたエージェントをキューから一括で離脱させます。
例
リクエスト
URL: http://ip:port/ccapi/v2/agents/queues?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"AgentId":"9415",
"Queues":[
"551",
"114"
]
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": null
}
リクエストパラメータ
Headers
| パラメータ名 | パラメータ値 | 必須かどうか | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| Query |
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| Body |
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| AgentId | string | 必須 | エージェントID | mock: 1443 | |
| Queues | string [] | 必須 | キューID | item タイプ: string | |
| ├─ | 必須ではない |
返却データ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | string | 必須ではない | レスポンス結果 | mock: null |
18. イベントの購読
基本情報
Path: /ccapi/v2/subscriptions
Method: POST
インターフェースの説明:
概要
イベントを購読します。購読したイベントが発生すると、関連するメッセージが指定されたコールバックアドレスに送信されます。
コールバックアドレスはバックエンドで設定します。
Eventsパラメータの詳細は以下の通りです:
| category | all_type | 備考 |
|---|---|---|
| agent_state | acd_agent_state | エージェント状態イベント |
| ext_state | extension_state_update | 内線状態イベント |
| agent_call_mode | agent_call_mode_change | エージェント使用内線モード切替イベント |
| call | general_hangup | 切断メッセージ |
| enqueue_succ | キューイング成功 | |
| record_stop | 録音終了 | |
| hangup_cause | 切断原因イベント | |
| dequeue_succ | デキューイングメッセージ | |
| start_dialout | 発信開始 | |
| voice_mail_succ | ボイスメール成功 | |
| play_succ | 音声再生成功 | |
| dtmf_gather_succ | キー入力 | |
| asr_gather_succ | 音声認識成功 | |
| consult_succ | 相談成功 | |
| end_consult_succ | 相談キャンセル成功 | |
| three_way_succ | 三者通話成功 | |
| substitute_succ | 割り込み成功 | |
| hold_agent_succ | 保留成功 | |
| extern_succ | 外線転送成功 | |
| eavesdrop_succ | モニター成功 |
例
リクエスト
URL: http://ip:port/ccapi/v2/subscriptions?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"subscriptions":[
{
"callback":"http://s-km5.udesk.cn/as/api/v1/dialog/6/c6d4c463-5c60-43ba-a522-c972dd60e058",
"events":["begin","end"],
"name":"lymtest"
}
]
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": {
"sub_succ": [
{
"subid": 168,
"name": "亚信安全对接质检226"
}
],
"sub_fail": null
}
}
リクエストパラメータ
ヘッダー
| パラメータ名 | パラメータ値 | 必須かどうか | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| クエリ |
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| Timestamp | はい | 1566523582 | タイムスタンプ |
| ボディ |
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| subscriptions | object | 必須 | |||
| ├─ callback | string | 必須 | コールバックURL | mock: "http://ip:port" |
|
| ├─ events | string [] | 必須 | イベント名リスト(備考参照) | item タイプ: string |
|
| ├─ | 必須ではない | ||||
| ├─ name | string | 必須 | サブスクリプション名 |
レスポンスデータ
| 名称 | タイプ | 必須 | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | object | 必須ではない | レスポンス結果 | ||
| ├─ sub_succ | object | 必須ではない | サブスクリプション結果 成功 |
||
| ├─ subid | integer | 必須ではない | id | ||
| ├─ name | string | 必須ではない | サブスクリプション名 | ||
| ├─ sub_fail | string [] | 必須ではない | サブスクリプション結果 失敗 |
item タイプ: string | |
| ├─ | 必須ではない | "" |
19. イベント更新
基本情報
Path: /ccapi/v2/subscriptions/{id}
Method: PUT
インターフェース説明:
概要
既にサブスクライブされているイベントを更新します。
例
リクエスト
URL: http://ip:port/ccapi/v2/subscriptions/{id:[0-9]+}?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"callback":"https://qa.udesk.cn/api/v2/middleware/",
"name":"ymtest111",
"events":["acd_agent_state"],
"enable":false
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": {
"ymtest111": 164
}
}
リクエストパラメータ
Headers
| パラメータ名 | パラメータ値 | 必須かどうか | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| パスパラメータ |
| パラメータ名 | 例 | 備考 |
|---|---|---|
| id | 73 | {id:[0-9]+} |
| クエリ |
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| Timestamp | はい | 1566523582 | タイムスタンプ |
| ボディ |
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| callback | string | 必須 | コールバックアドレス | ||
| name | string | 必須 | サブスクリプション名 | ||
| events | string [] | 必須 | イベントリスト | item タイプ: string |
|
| ├─ | 必須ではない | ||||
| enable | boolean | 必須 | サブスクリプションフラグ true:オン;false:オフ。 |
レスポンスデータ
| 名称 | タイプ | 必須か | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | ||
| ErrDesc | string | 必須ではない | レスポンスの説明 | ||
| Result | object | 必須ではない | レスポンス結果 | ||
| ├─ ymtest111 | number | 必須ではない | サブスクリプション名 & イベントID |
20. イベント削除
基本情報
Path: /ccapi/v2/subscriptions/{id}
Method: DELETE
インターフェース説明:
概要
購読済みのイベントを解除します。
例
リクエスト
URL: http://ip:port/ccapi/v2/subscriptions/{id:[0-9]+}?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
レスポンス
{
"ErrCode":"000000",
"ErrDesc":"OK",
"Result":[]
}
リクエストパラメータ
ヘッダー
| パラメータ名 | パラメータ値 | 必須かどうか | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/x-www-form-urlencoded | 必須 | ||
| パスパラメータ |
| パラメータ名 | 例 | 備考 |
|---|---|---|
| id | 73 | {id:[0-9]+} |
| クエリ |
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | 必須 | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
| Timestamp | 必須 | 1566523582 | タイムスタンプ |
| ボディ |
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
レスポンスデータ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須ではない | レスポンスの説明 | mock: OK | |
| Result | string [] | 必須ではない | レスポンス結果 | item タイプ: string | |
| ├─ | 必須ではない |
21. イベントリストの取得
基本情報
Path: /ccapi/v2/subscriptions
Method: GET
インターフェース説明:
概要
購読済みのイベントリストを取得します。
例
リクエスト
URL: http://ip:port/ccapi/v2/subscriptions?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
レスポンス
{
"ErrCode":"000000",
"ErrDesc":"OK",
"Result":{
"callback":"http://ip:port",
"enable":"false",
"events":["acd_agent_state"],
"name":"sub1"
}
}
リクエストパラメータ
Query
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | はい | 4b8dc715-05e0-4340-6cae-a6e3c39a6012 | アプリケーションID |
レスポンスデータ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | ||
| ErrDesc | string | 必須ではない | レスポンス説明 | ||
| Result | object | 必須ではない | レスポンス結果 | ||
| callback | string | 必須ではない | コールバックURL | mock: http://ip:port | |
| enable | string | 必須ではない | 購読状態 | mock: true:有効;false:無効 | |
| events | string [] | 必須ではない | イベント | item タイプ: string | |
| 必須ではない | |||||
| name | string | 必須ではない | テナント名 |
22. エージェントサインイン
基本情報
Path: /ccapi/v2/agent/login
Method: POST
インターフェース説明:
概要
指定されたエージェントをサインインさせます。
注意:
- サインインしたエージェントのみが着信応答または発信を行うことができます。
- 内線に紐付けられていないエージェントはサインインできません。
- フロントエンドSDKの「状態を空席、オフラインに設定」操作には、サインイン/サインアウト操作が含まれます。
例
リクエスト
URL: http://ip:port/ccapi/v2/agent/login?AppId={{appid}}&Timestamp={{mytime}}&Sign={{Sign}}&Sid={{Sid}}
BODY:
{
"agent_id":"10032"
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"msg_id": "111",
"results": "",
"data": null
}
リクエストパラメータ
Headers
| パラメータ名 | パラメータ値 | 必須かどうか | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| Query |
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| MsgId | はい | 111 | サインイン時に送信されるMsgId |
| AppId | はい | a54a8b77-f12d-4ac9-742d-5b2bef5c4d11 | アプリケーションID |
| Body |
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| agent_id | string | 必須 | エージェントID | mock: 10032 |
|
| work_id | string | 必須ではない | エージェント従業員番号 | mock: 22 |
|
| queue_ids | string [] | 必須ではない | キュー識別子配列(NSQへのレポート専用) | item タイプ: string |
|
| state | integer | 必須ではない | エージェントオンライン後の状態,0: 'Idle', 1: 'Waiting' |
返却データ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | ||
| ErrDesc | string | 必須ではない | レスポンスの説明 | ||
| msg_id | string | 必須ではない | チェックイン時に送信されたMsgId | ||
| results | string | 必須ではない | レスポンス結果 | ||
| data | string | 必須ではない | データ |
23. エージェントのサインアウト
基本情報
Path: /ccapi/v2/agent/logout
Method: POST
インターフェース説明:
概要
指定されたエージェントをサインアウトします。
注意:
- サインインしているエージェントのみが着信に応答または発信できます。
- 着信待ちキュー内の通話は、サインアウトしたエージェントには割り当てられません。
例
リクエスト
URL: http://ip:port/ccapi/v2/agent/logout?app_id={{appid}}&Sign={{Sign}}&Timestamp={{mytime}}&Sid={{Sid}}
BODY:
{
"agent_id":"1802"
}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"msg_id": "111",
"results": "",
"data": null
}
リクエストパラメータ
Headers
| パラメータ名 | パラメータ値 | 必須 | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| Query |
| パラメータ名 | 必須 | 例 | 備考 |
|---|---|---|---|
| MsgId | いいえ | サインイン時に送信されたMsgId | |
| app_id | はい | アプリケーションID | |
| Body |
| 名称 | タイプ | 必須 | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| agent_id | string | 必須 | エージェントID | mock: 10032 |
レスポンスデータ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須ではない | レスポンスコード | ||
| ErrDesc | string | 必須ではない | レスポンスの説明 | ||
| msg_id | string | 必須ではない | チェックアウト時に送信されたMsgId | ||
| results | string | 必須ではない | レスポンス結果 | ||
| data | string | 必須ではない | データ |
24. IVRへのユーザーコールバック
基本情報
Path: /ccapi/v2/callback2ivr
Method: POST
インターフェース説明:
概要
このインターフェースを呼び出すことで、ユーザーへの発信を開始できます。通話が接続された後、着信と同じフロー、つまりルーティングを通じてIVRを見つけるプロセスを使用します。
リクエストには、他のopenAPIと同じ認証方式が必要です。パラメータリストにはテナントIDと対応する生成された署名文字列を含める必要があります。
例
リクエスト
URL: http://ip:port/ccapi/v2/callback2ivr?app_id={{appid}}&Sign={{Sign}}&Timestamp={{mytime}}&Sid={{Sid}}
{
"caller":"18789998765",
"called":"02863208944",
"called_display":"02863208944"
}
レスポンス
{
"code": "000000",
"message": "OK",
"results": "c9d52506-c41b-431f-5fa0-b701a81a2da6"
}
リクエストパラメータ
Headers
| パラメータ名 | パラメータ値 | 必須かどうか | 例 | 備考 |
|---|---|---|---|---|
| Content-Type | application/json | はい | ||
| Query |
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| app_id | はい | a54a8b77-f12d-4ac9-742d-5b2bef5c4d11 | テナントID |
| Body |
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| caller | string | 必須 | コールバックする対象顧客番号 | ||
| called | string | 必須 | 中継番号 | ||
| called_display | string | 必須 | 表示番号(通常は中継番号と同じ) | ||
| variables | string | 必須ではない | 随路カスタム変数(IVRで変数設定として使用可能) "[{\"key/\": \"extemalNumber\",\"type\":\"string\",\"value\":\" 13800000000\"}]" |
返却データ
| 名称 | タイプ | 必須か | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| code | string | 必須ではない | 返却コード | ||
| message | string | 必須ではない | エラーメッセージ | ||
| results | string | 必須ではない | レスポンス結果 |
25. エージェント情報の取得
基本情報
Path: /ccapi/v2/agents/{id}
Method: GET
インターフェース説明:
概要
このインターフェースを呼び出すことで、エージェントの現在の状態、社員番号、所属キュー、サブステータス、内線番号などの情報を取得できます。
リクエストには他のopenAPIと同じ認証方式が必要で、パラメータリストにはテナントIDと対応する生成された署名文字列を含める必要があります。
例
リクエスト
URL: http://ip:port/ccapi/v2/agents/355?AppId={{appid}}&Sign={{Sign}}&Timestamp={{mytime}}&Sid={{Sid}}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": {
"AppId": "xxx",
"AgentId": "355@7859ff65-0e6a",
"WorkId": "111",
"Name": "小A",
"NickName": "小A",
"Mobile": "1327766543",
"Email": ""aaaa@test.cn",
"Role": "agent",
"Queues": [
"2@7859ff65-0e6a"
]
"QueuesNames": [
"A"
]
"Extensions": [
"1145","1146"
]
"DefSpNumber": "0107766",
"State": 4,
"StateDes": "offline",
"ReasonCode": 0,
"ReasonCodeDes": "",
"ExtState": 0,
"Enable": true,
"ExtenInfos": [
{"Number":"","Extension":"1145","Password":"xxx","SignalType":"voip"}
]
}
}
リクエストパラメータ
パスパラメータ
| パラメータ名 | 必須 | 例 | 備考 |
|---|---|---|---|
| id | はい | 355 | エージェントのID |
クエリパラメータ
| パラメータ名 | 必須 | 例 | 備考 |
|---|---|---|---|
| AppId | はい | a54a8b77-f12d-4ac9-742d-5b2bef5c4d11 | テナントID |
レスポンスデータ
| 名称 | 型 | 必須 | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須 | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須 | レスポンスの説明 | mock: OK | |
| Result | string | 任意 | レスポンス結果 | mock: |
26. キューエージェントリストの取得
基本情報
Path: /ccapi/v2/queues/agents_list/{queue_id}
Method: GET
インターフェース説明:
概要
このインターフェースを呼び出すと、指定したキューのエージェントリスト情報を取得できます。
リクエストには他のopenAPIと同じ認証方式が必要で、パラメータリストにはテナントIDと対応する生成された署名文字列を含める必要があります。
例
リクエスト
URL: http://ip:port/ccapi/v2/queues/agents_list/3?AppId={{appid}}&Sign={{Sign}}&Timestamp={{mytime}}&Sid={{Sid}}
レスポンス
{
"ErrCode": "000000",
"ErrDesc": "OK",
"Result": [
{
"AppId": "xxx",
"AgentId": "355@7859ff65-0e6a",
"WorkId": "111",
"Name": "小A",
"NickName": "小A",
"Mobile": "1327766543",
"Email": ""aaaa@test.cn",
"Role": "agent",
"Queues": [
"2@7859ff65-0e6a"
]
"QueuesNames": [
"A"
]
"Extensions": [
"1145","1146"
]
"DefSpNumber": "0107766",
"State": 4,
"StateDes": "offline",
"ReasonCode": 0,
"ReasonCodeDes": "",
"ExtState": 0,
"Enable": true,
"ExtenInfos": [
{"Number":"","Extension":"1145","Password":"xxx","SignalType":"voip"}
]
}
]
}
リクエストパラメータ
パスパラメータ
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| id | はい | 3 | キューのID |
クエリパラメータ
| パラメータ名 | 必須かどうか | 例 | 備考 |
|---|---|---|---|
| AppId | はい | a54a8b77-f12d-4ac9-742d-5b2bef5c4d11 | テナントID |
レスポンスデータ
| 名称 | タイプ | 必須かどうか | デフォルト値 | 備考 | その他の情報 |
|---|---|---|---|---|---|
| ErrCode | string | 必須 | レスポンスコード | mock: 000000 | |
| ErrDesc | string | 必須 | レスポンスの説明 | mock: OK | |
| Result | string | 必須ではない | レスポンス結果 | mock: |