spContextManager :クライアント

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:6分
  • サービスポータル ウィジェットのデータをサービスポータルページ内の他のアプリケーションやサービスで使用できるようにします。たとえば、ウィジェットがサービスポータルページで開かれたときにウィジェットデータをエージェントチャットに渡します。

    spContextManager API は、サービスポータル ウィジェットクライアントスクリプトで使用できる AngularJS サービスです。

    この API に渡されるキーはページごとに一意です。たとえば、「 agent-chat」 キーがページ上の別のウィジェットによって addContext() メソッドによって既に初期化されている場合は、 updateContextForKey() メソッドを使用してキーのデータを更新する必要があります。 使用可能なキーは次のとおりです。 agent-chat:ウィジェットデータを エージェントチャット に送信します。

    エージェントチャットへのデータの渡しの詳細については、「サービスポータルでのエージェントチャットの構成」を参照してください。

    spContextManager:addContext(文字列キー、オブジェクトコンテキスト)

    キーを初期化し、ウィジェットデータを値として追加します。たとえば、「agent-chat」キーにデータを追加して、 エージェントチャットが使用できるようにします。

    サービスポータルページの特定のキーに初めてデータを追加するときは、このメソッドを使用します。キーがページ上の別のウィジェットで既に使用されている場合は、代わりに updateContextForKey() メソッドを使用します。

    表 : 1. パラメーター
    名前 タイプ 説明
    キー 文字列 データを送信するキーの名前。

    使用可能なキーは次のとおりです。agent-chat:ウィジェットをサービスポータルページで開いたときにウィジェットデータを エージェントチャット に送信します。

    コンテキスト オブジェクト キーパラメーターで指定されたアプリケーションまたはサービスに送信する JSON 形式のウィジェットデータ。例: {'approval_count': 5}
    表 : 2. 戻り値
    タイプ 説明
    なし

    approval_countエージェントチャット に渡します。ユーザーが サービスポータル ホームページから エージェントチャット の会話を開始すると、&sysparm_approval_count=5エージェントチャット iframe URL に追加されます。

    function ($scope, spContextManager) {
        spContextManager.addContext('agent-chat', {
            'approval_count': 5       
        });
    };

    spContextManager:getContext()

    ページ上のウィジェットによって定義された各キーと関連データオブジェクトを返します。

    この方法を使用すると、パフォーマンスが低下する可能性があります。このメソッドを使用して、ページで初期化されるキーを把握し、その現在の値を取得します。アクセスする必要があるキーがわかっている場合は、代わりに getContextForKey() メソッドを使用します。

    表 : 3. パラメーター
    名前 タイプ 説明
    なし
    表 : 4. 戻り値
    タイプ 説明
    オブジェクト ページで定義された各キーおよび関連するデータオブジェクト。
    function ($scope, spContextManager) {
      spContextManager.getContext();
    } 

    spContextManager:getContextForKey(文字列キー、ブール値 returnPromise)

    キーに関連付けられたウィジェットデータを返します。

    表 : 5. パラメーター
    名前 タイプ 説明
    キー 文字列 コンテキストを取得するキーの名前。使用可能なキーは次のとおりです。 agent-chat:ウィジェットデータを エージェントチャットに送信します。
    returnPromise ブール キーに関連付けられたデータを Promise またはオブジェクトとして返すかどうかを決定するフラグ。次の値が含まれます。
    • True:データを Promise として返します。ページ上の別のウィジェットが addContext() メソッドを使用して同じキーを初期化する場合は、このオプションを使用します。Promise を返すと、キーがまだ初期化されていないときに未定義のオブジェクトが返されるのを防ぎます。
    • False:キーに関連付けられたデータを含むオブジェクトを返します。
    表 : 6. 戻り値
    タイプ 説明
    Promise returnPromise が true の場合、ページ上の別のウィジェットがキーを初期化したときに履行される promise を返します。
    オブジェクト returnPromise が false の場合、キーに関連付けられたデータを含むオブジェクトを返します。例: {approval_count: 5}

    approval_countエージェントチャット に渡します。ユーザーが サービスポータル ホームページから エージェントチャット の会話を開始すると、&sysparm_approval_count=5エージェントチャット iframe URL に追加されます。

    function ($scope, spContextManager) {
      spContextManager.getContextForKey('agent-chat', true).then(function(context) {
        context = context || {};
        context.approval_count = 5; 
        spContextManager.updateContextForKey('agent-chat', context);
      });
    } 

    spContextManager - updateContextForKey(文字列キー, オブジェクトコンテキスト)

    既存のキーにデータを送信します。たとえば、ページ上の別のウィジェットが「agent-chat」キーを使用して エージェントチャット 構成にデータを渡す場合は、 addContext() メソッドを使用するのではなく、キーのコンテキストを更新する必要があります。

    表 : 7. パラメーター
    名前 タイプ 説明
    キー 文字列 データを送信するキーの名前。

    使用可能なキーは次のとおりです。agent-chat:ウィジェットをサービスポータルページで開いたときにウィジェットデータを エージェントチャット に送信します。

    コンテキスト オブジェクト キーパラメーターで指定されたアプリケーションまたはサービスに送信する JSON 形式のウィジェットデータ。例: {'approval_count': 5}
    表 : 8. 戻り値
    タイプ 説明
    なし

    approval_countエージェントチャット に渡します。ユーザーが サービスポータル ホームページから エージェントチャット の会話を開始すると、&sysparm_approval_count=5エージェントチャット iframe URL に追加されます。

    function ($scope, spContextManager) {
      spContextManager.getContextForKey('agent-chat', true).then(function(context) {
        context = context || {};
        context.approval_count = 5; 
        spContextManager.updateContextForKey('agent-chat', context);
      });
    }