Udesk インスタントメッセージングの会話ルーティングでは、会話の割り当て時にサードパーティシステムのインターフェースを呼び出し、インターフェースの異なる戻り値に基づいて異なるロジックを実行することがサポートされています。

機能に関する注意事項

Udeskが本機能におけるサードパーティシステムの呼び出しの影響を受けないようにするため、サードパーティシステムの呼び出し中にエラーが発生した場合、その会話は直接会社のキューに割り当てられます! + 発生する可能性のあるエラー: - サードパーティインターフェースのタイムアウト - サードパーティインターフェースの呼び出し失敗 - サードパーティインターフェースの戻り値がドキュメントで規定された内容と一致しない

インターフェース開発仕様

サードパーティシステムがUdeskと連携する際は、以下の仕様に従ってインターフェースを開発する必要があります。

リクエスト方法

UdeskはGETメソッドを使用してサードパーティシステムのインターフェースをリクエストします。

リクエストアドレス

ユーザーが定義しますが、プロトコルはHTTPSである必要があります(つまり、インターフェースアドレスは https:// で始まる必要があります)。例: https://api.baidu.com。そうでない場合、リクエストは失敗し、会話は直接会社のキューに割り当てられます!

リクエストパラメータ説明

ユーザーが定義したリクエストアドレスを通じてGETでサードパーティシステムをリクエストする前に、Udeskはアドレスに認証関連のパラメータを追加します(認証の詳細は後述)。リクエストパラメータの構造は以下の通りです。

パラメータ名 値のタイプ パラメータ説明 備考
custom_parameter_1 Integer or String ユーザー定義パラメータ1 ユーザー定義パラメータは純粋な文字列または整数のみサポート
custom_parameter_2 Integer or String ユーザー定義パラメータ2 ユーザー定義パラメータは純粋な文字列または整数のみサポート
custom_parameter_n Integer or String ユーザー定義パラメータn ユーザーの定義パラメータに数量制限はありません
udesk_customer_openid String 微信openid システムパラメータ
udesk_customer_unionid String 微信unionidシステムパラメータ システムパラメータ
udesk_customer_web_token String Webチャネル顧客一意識別ID システムパラメータ
udesk_customer_sdk_token String SDKチャネル顧客一意識別ID システムパラメータ
udesk_customer_customer_token String システム一意識別ID(クロスチャネル) システムパラメータ
sign String 署名 -
nonce String 6桁のランダム文字列、署名計算用 -
timestamp Integer Unixタイムスタンプ -

リクエストアドレス例:

https://test.udesk.cn/?custom_parameter_1=params1&custom_parameter_2=params2&custom_parameter_n=paramsn&udesk_customer_openid=xxx&udesk_customer_unionid=xxx&udesk_customer_web_token=xxx&udesk_customer_sdk_token=xxx&udesk_customer_customer_token=xxx&&nonce=aff6fc&sign=59C5FD430525574B41EB456FBA44D6A8F22C8D9535CD33937FA8637E841BA76D&timestamp=1584931776

認証説明

Udeskの各企業には一意のopen_api_tokenがあります。まず、このトークンを取得してください(账户设置-安全设置-鉴权Tokenで取得可能です)。 tokenとパラメータ内のnoncetimestamp&で連結し、連結した文字列に対してSHA256ハッシュを実行し、最終的にハッシュ値を大文字に変換することで署名値 sign が得られます。

sign生成の例(Rubyコード)

sign_str  = "#{open_api_token}&#{nonce}&#{timestamp}"
sign      = Digest::SHA256.hexdigest(sign_str).upcase

戻り値の構造説明

Udeskでは、インターフェースが返すレスポンスはJSON形式である必要があります。 戻り値のネスト形式:

{
  "value_1": 1,
  "value_1": "value_2",
  "value_n": true
}

各パラメータの説明:

パラメータ名 値の型 パラメータ説明
value_1 String または Number または Boolean などの単純値 ユーザー定義のレスポンスパラメータ1
value_2 String または Number または Boolean などの単純値 ユーザー定義のレスポンスパラメータ2
value_n String または Number または Boolean などの単純値 ユーザー定義のレスポンスパラメータn

インターフェース開発における注意事項

  1. リクエストパラメータにおいて、ユーザー定義のパラメータ情報の数に制限はありません。
  2. レスポンス値は文字列や数値などの単純な型の値のみ可能です。配列、ハッシュなどの複雑なデータ構造や、複数層のネストはサポートされていません。
  3. レスポンス値は、0、1、2などの単純な整数の列挙値を取ることをお勧めします。
  4. インターフェースの応答時間は200ms未満である必要があります。インターフェースの時間が200msを超えた場合、リクエストはタイムアウトと見なされます。