ビデオサポート ミニアプリ予約インターフェース
- 呼び出し方向
| 発信元 | 受信者 | リクエスト方式 |
|---|---|---|
| サードパーティ | Udesk | POST |
- 認証方式
認証トークンを計算します。 token = DigestUtils.sha256Hex(appId + "&" + secret + "&" + nonce + "&" + timestap); リクエスト時にこのトークンをヘッダーに含めます。ヘッダー ("token: token")
- 認証パラメータ説明
| パラメータ | タイプ | 必須かどうか | 説明 |
|---|---|---|---|
| appId | String | はい | 会社識別子、Udeskが提供 |
| secret | String | はい | 認証秘密鍵、Udeskが提供 |
| nonce | String | はい | 単一リクエストで一意であることを保証、uuidを推奨 |
| timestap | Long | はい | タイムスタンプ、秒 |
-
リクエストURL: https://baseavs.udesk.cn/avs/openApi/v1/wechatSchema
-
リクエストパラメータ(詳細は以下の例を参照):
| パラメータ | タイプ | 必須かどうか | 説明 |
|---|---|---|---|
| appId | String | はい | 会社識別子、Udeskが提供 |
| nonce | String | はい | 単一リクエストで一意であることを保証、uuidを推奨 |
| timestap | Long | はい | タイムスタンプ、秒 |
- リクエストボディ(詳細は以下の例を参照):
| パラメータ | タイプ | 必須かどうか | デフォルト値 | 説明 |
|---|---|---|---|---|
| bizId | String | いいえ | null | サードパーティ業務主キー、ビデオサポートのビデオ記録と関連付けるために使用。中国語を含めることはできません。 |
| customChannel | String | いいえ | null | カスタムチャネル、ビデオルーティングはこのフィールドに基づいてルーティングを行います。 |
| lockedSecond | Int | いいえ | 300 | エージェントをロックする時間、単位は秒、最大 3600秒 |
| lockedAgentId | Long | いいえ | null | ロックするエージェントのID |
| sdkAppId | String | はい | null | Udeskが配布するミニアプリのsdkAppId |
| customerInfo | Object | いいえ | null | 顧客情報オブジェクト、詳細はオブジェクト説明を参照 |
| miniPath | String | いいえ | null | ミニアプリのジャンプパス、page/index/index |
| subscribeType | Int | いいえ | 1 | 1 エージェントをロックして予約リンクを生成、2 予約リンクのみを生成 デフォルト値1 |
| navigateAction | String | いいえ | CALL_DIRECT | CALL_DIRECT ミニアプリに入った後、直接通話を開始 HOME_PAGE ミニアプリに入った後、通話ページに留まる、デフォルトはCALL_DIRECT |
| notifyInfo | Object | いいえ | null | 表示する通知情報、詳細なnotifyInfoオブジェクト説明(subscribeType がエージェントロック時に有効) |
| noteInfo | Object | いいえ | null | カスタムパラメータ、詳細はnoteInfoオブジェクト説明を参照 |
| urlButtons | List | いいえ | null | カスタムボタン、詳細はUrlBttonオブジェクト説明を参照 形式例 [{"name":"テストボタン","url":"https://www.baidu.com"}] |
-
customerInfo オブジェクト説明
パラメータ タイプ 必須かどうか デフォルト値 説明 id Long いいえ null udesk openApi を通じて顧客を追加した後に取得した顧客ID 、渡さない場合は自動的に顧客が追加されます。 nickName String いいえ null 顧客名 avatar String いいえ Null 顧客のアバター email String いいえ null 顧客のメールアドレス telephones [Object] いいえ null 顧客の電話番号、オブジェクト配列、形式例[{"id":null,"content":"13212314423"}]、idを渡さないかidがnullの場合は新規追加を意味します。idを渡す必要がある場合は、openApiを通じてudeskに問い合わせてください。 description String いいえ null 顧客の説明 level String いいえ null 顧客レベル, 'vip'(VIP顧客) または 'normal'(一般顧客) customerToken String いいえ null 顧客外部識別子、サードパーティが提供する顧客の一意識別子、この識別子が同じ場合、udeskは同じユーザーと認識します。 openId String はい null 顧客のopenId customFields Object いいえ null 顧客のカスタムフィールド 形式例 customFields: {TextField_1: "通常テキスト内容",SelectField_1: ["0"]} 顧客カスタムフィールド 値TextField_1 は顧客が連結(まず顧客カスタムフィールド取得インターフェースを呼び出す必要があります) -
notifyInfo
パラメータ タイプ 必須かどうか デフォルト値 説明 title String はい null 通知タイトル、例 "エージェントロック通知" fields [Object] はい null 通知フィールド値 形式例 [{"key":"問い合わせ番号","value":"123123"},{"key":"顧客氏名","value":"張三"}] remark String いいえ Null 通知備考 -
noteInfo
パラメータ タイプ 必須かどうか デフォルト値 説明 content String いいえ null 業務記録の主題 customFields [Object] いいえ null カスタムフィールド値 形式例 {"TextField_1":"単行テキストテスト","SelectField_2":"1,2"} 複数選択、単一選択、カスケード、チェックボックスなどのSelectFieldのオプションについては、"1,2,3"のようにオプションの番号をカンマで区切った文字列を渡すだけです。 -
urlButton
パラメータ タイプ 必須かどうか デフォルト値 説明 name String いいえ null ボタン名 url String いいえ null ボタンリンク -
レスポンスパラメータ:
| パラメータ | タイプ | 説明 |
|---|---|---|
| code | Int | リターンコード、成功時は 1000 を返します。 |
| message | String | リクエスト結果情報、成功時は ok |
| data | Object | リクエスト成功時の結果返却ボディ、詳細はオブジェクト説明を参照、失敗時はこのフィールドは返されません。 |
-
dataオブジェクト説明
パラメータ タイプ 説明 agentId Long 予約に成功したエージェントID nickName String 予約に成功したエージェント名 openlink String 予約リンク、SMSまたはモバイルH5ページに埋め込みます。 lockedToken String ロックトークン、シナリオ 1073をサポート、エージェントメッセージリストで配布されるミニアプリメッセージカード miniPath String デフォルト値 plugin/pages/preIndex/index -
code値説明
| エラーコード | 説明 |
|---|---|
| 1000 | 成功 ok |
| 2001 | 無効なミニアプリsdkAppId |
| 2002 | 予約エージェントが空いていません |
| 2003 | 顧客の保存に失敗しました |
| 2004 | shcemaUrlの生成に失敗しました |
| 2005 | ロック時間は3600秒を超えることはできません |
| 60000 | 署名検証に失敗しました |
-
例
-
リクエスト
curl -XPOST 'https://baseavs.udesk.cn/avs/openApi/v1/wechatSchema?appId=dccf×tap=1607399411&nonce=75988827-0a66-4657-afa9-cdf422c95c04'
-d '{
"sdkAppId":"SqFpwzdR3IsYVdTP",
"bizId":"898887",
"lockedSecond":60,
"lockedAgentId":123456,
"customChannel":"beijing",
"miniPath":"plugin/pages/preIndex/index",
"customerInfo":{
"nickName":"張三",
"avatar":"www.sdfsdfsd.com/avatar1.jpg",
"telephones":[{"id":null,"content":"13212314423"}],
...
}
}'
-H 'token:yyiuuyyyyyyyyyyyyyyyyyyyy'
- 予約成功レスポンス
{
"code": 1000,
"data": {
"agentId": "255764",
"nickName":"テストエージェント",
"openlink":"https://wxaurl.cn/wuJlIDskuhn",
"lockedToken": "c88827b1001d495b9552c7b1168909ed",
"miniPath": "plugin/pages/preIndex/index"
},
"message": "ok"
}
- 予約失敗レスポンス
{
"code": 2002,
"message": "予約エージェントが空いていません"
}