統合方法

SDK ダウンロードURL

パブリック環境

参照

<script type='text/javascript' src='SDKダウンロードURL'></script>

SDK 初期化(任意)

// SDK初期化
// パラメータ説明:debug true:SDKログを出力、false:ログを出力しない、デフォルトはfalse
const config = {
    debug: false,
};
window.udeskCaseApiClient.init(config);

デモ

ダウンロードURL:http://confluence.flyudesk.com/x/f4CiDQ

API

ページ初期化完了

// ページ初期化成功コールバック
window.udeskCaseApiClient.on('init', () => {
    // 結果処理
});

認証

// リクエストパラメータ
const reqData = {
    sign: '', // 認証トークン、生成方法は以下のsign署名アルゴリズムを参照
    timestamp: '', // 認証に使用するタイムスタンプ
    nonce: '', // 認証に使用するランダム数
};

// 方法一(推奨):
window.udeskCaseApiClient.udeskCall({
    jsApiList: ['authenticate'],
    onJsApiList: ['ready'],
    callback: (data) => {
        console.log('--> レスポンスデータ:', data);
    },
});

// 方法二:
// 認証成功コールバック
window.udeskCaseApiClient.on('ready', () => {
    // 結果処理
});
// 認証
window.udeskCaseApiClient.call('authenticate', reqData);
const sign = sha256(`${secret}&${key}&${timestamp}&${nonce}`)
パラメータ タイプ 説明
secret string APP Secret
key string APP Key
timestamp string 認証に使用するタイムスタンプ
nonce string 認証に使用するランダム数
### 認証情報の取得
// 方法1(推奨):
window.udeskCaseApiClient.udeskCall({
    jsApiList: ['getAuthentication'],
    callback: (data) => {
        console.log('--> レスポンスデータ:', data);
    },
});

// 方法2:
// 認証成功コールバック (レスポンスパラメータ:rspData 認証情報)
window.udeskCaseApiClient.on('getAuthentication', (rspData) => {
    // 結果を処理
});
// 認証
window.udeskCaseApiClient.call('getAuthentication');

ユーザー情報の取得

// レスポンスメッセージ形式
{
    id: 1, // ID
    email: "demo@test.cn", // アカウント
    realname: "張三", // 氏名
    jobNumber: "123", // 社員番号
}

// 方法1(推奨):
window.udeskCaseApiClient.udeskCall({
    jsApiList: ['getUserInfo'],
    callback: (data) => {
        console.log('--> レスポンスデータ:', data);
        // {"id":1,"realname":"張三","email":"demo@test.cn","jobNumber":"123"}
    },
});

// 方法2:
// ユーザー情報取得コールバック
window.udeskCaseApiClient.on('getUserInfo', (rspData) => {
    // 結果を処理
});
// ユーザー情報の取得
window.udeskCaseApiClient.call('getUserInfo');

初期化情報の取得

// レスポンスパラメータ:rspData 初期化情報
{
  options: {
    objectId: 67, // オブジェクトID
    recordId: 2787269, // レコードID
    user: { // ユーザー情報
      email: "test@h3c.com", // メールアドレス
      id: "4", // ID
      jobNumber: "000001" // 社員番号
    }
  }
}


// 方法1(推奨):
window.udeskCaseApiClient.udeskCall({
    jsApiList: ['getInitData'],
    onJsApiList: ['getInitData', 'initData'],
    callback: (data) => {
      console.log('--> レスポンスデータ:', data);
    },
});


// 方法2:
// 初期化情報取得コールバック-H5
window.udeskCaseApiClient.on("getInitData", (rspData) => {
    // 結果を処理
});
// 初期化情報取得コールバック-PC
window.udeskCaseApiClient.on("initData", (rspData) => {
    // 結果を処理
});
// 初期化情報の取得
window.udeskCaseApiClient.call("getInitData");

データを保存

// ダイアログ保存イベントを登録
window.udeskCaseApiClient.on('onSavedValueData', () => {
    // 「データを保存」インターフェースを呼び出す
});

// リクエストパラメータ:reqData 保存するデータ
const actionData = {};

// データを保存 方法1(推奨):
window.udeskCaseApiClient.udeskCall({
    jsApiList: ['onSavedValueData'],
    params: reqData,
});
// データを保存 方法2
window.udeskCaseApiClient.call('onSavedValueData', reqData);

指定アプリケーションに遷移

// リクエストパラメータ
const reqData = {
    appId: 0, // ServiceGoシステム内のアプリケーションID
};

// 方法1(推奨):
window.udeskCaseApiClient.udeskCall({
    jsApiList: ['transitionToApply'],
    params: reqData,
    callback: (data) => {
        console.log('--> レスポンスデータ:', data);
    },
});

// 方法2:
// 遷移成功コールバック
window.udeskCaseApiClient.on('transitionToApply', (rspData) => {
    // 結果を処理
});
// 遷移
window.udeskCaseApiClient.call('transitionToApply', reqData);

指定タブに遷移

// リクエストパラメータ
const reqData = {
    appId: 0, // ServiceGoシステム内のアプリケーションID
    tabId: 0, // ServiceGoシステム内のタブID
};

// 方法1(推奨):
window.udeskCaseApiClient.udeskCall({
    jsApiList: ['transitionToTab'],
    params: reqData,
    callback: (data) => {
        console.log('--> レスポンスデータ:', data);
    },
});

// 方法2:
// 遷移成功コールバック
window.udeskCaseApiClient.on('transitionToTab', (rspData) => {
    // 結果を処理
});
// 遷移
window.udeskCaseApiClient.call('transitionToTab', reqData);

指定オブジェクトレコードページに遷移

// リクエストパラメータ
const reqData = {
    objectId: 0, // ServiceGoシステム内のオブジェクトID
    recordId: 0, // ServiceGoシステム内のオブジェクトレコードID
};

// 方法1(推奨):
window.udeskCaseApiClient.udeskCall({
    jsApiList: ['transitionToRecordView'],
    params: reqData,
    callback: (data) => {
        console.log('--> レスポンスデータ:', data);
    },
});

// 方法2:
// 遷移成功コールバック
window.udeskCaseApiClient.on('transitionToRecordView', (rspData) => {
    // 結果を処理
});
// 遷移
window.udeskCaseApiClient.call('transitionToRecordView', reqData);

スキャン

// リクエストパラメータ
const reqData = {
    key: 'uuid', // リクエストの一意識別子(同一ページ内の複数スキャンリクエストを自処理するため)
    scanType: [], // ["qrCode", "barCode"]、QRコードまたはバーコード(一次元コード)のどちらをスキャンするか指定可能。デフォルトは両方。
};

// レスポンスパラメータ
const rspData = {
    key: 'uuid', // リクエストの一意識別子(同一ページ内の複数スキャンリクエストを自処理するため)
    scanType: [], // ["qrCode", "barCode"]、QRコードまたはバーコード(一次元コード)のどちらをスキャンするか指定可能。デフォルトは両方。
    result: '', // スキャン結果データ
};

// 方法1(推奨):
window.udeskCaseApiClient.udeskCall({
    jsApiList: ['scanCode'],
    onJsApiList: ['onScanCode'],
    params: reqData,
    callback: (data) => {
        console.log('--> レスポンスデータ:', data);
    },
});

// 方法2:
// スキャンコールバック
window.udeskCaseApiClient.on('onScanCode', (rspData) => {
    // 結果を処理
});
// スキャン
window.udeskCaseApiClient.call('scanCode', reqData);

APP ページ破棄

// 破棄コールバック
window.udeskCaseApiClient.on('onDestroyed', (rspData) => {
    // 結果を処理
});

基本メソッド説明

API 名称 説明
on 登録 h5 がイベントを監視登録
off 登録解除 イベントの監視登録を解除
destory 破棄 すべての登録イベントを削除
call アクティブ呼び出し h5 がメソッドをアクティブに呼び出す

登録

パラメータ 説明
methodName string イベント名、参照:ALLOW_NATIVE_APIS
handler function コールバックイベント

登録解除

パラメータ 説明
methodName string イベント名
handler function 削除するイベントハンドラ関数。空の場合、このイベントのすべてのハンドラ関数を削除
### クリア

アクティブ呼び出し

パラメータ タイプ 説明
methodName string イベント名
data object 呼び出しパラメータ、object(任意)

高度な呼び出し

パラメータ タイプ 説明
jsApiList array(必須) リクエストする API リスト
onJsApiList array(任意) レスポンスを受け取る API リスト
params object(任意) リクエストパラメータ
callback function(必須) レスポンスコールバックメソッド

注意:onを使用してイベントを登録した後は、適切な場所でoffを使用してイベントを削除する必要があります。そうしないと、メモリリークや不要なイベントコールバックが発生する可能性があります!