spContextManager - クライアント

  • リリースバージョン: Washingtondc
  • 更新日 2024年02月01日
  • 読む6読むのに数分
  • サービスポータルウィジェットのデータを、サービスポータルページの他のアプリケーションやサービスで利用できるようにします。たとえば、ウィジェットデータがサービスポータルページで開いた際に、エージェントチャットにウィジェットデータを渡します。

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

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

    へのデータの エージェントチャット受け渡しの詳細については、「 Service Portal でエージェントチャットを構成する」を参照してください。

    spContextManager - addContext(文字列 key, オブジェクト context)

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

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

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

    利用可能なキーには agent-chat が含まれます。サービスポータル ページで開いたときに、エージェントチャットにウィジェットデータを送信します。

    context オブジェクト キーパラメーターで指定されたアプリケーションまたはサービスに送信する 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(文字列 key, ブーリアン returnPromise)

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

    表 : 5. パラメーター
    名前 タイプ 説明
    key 文字列 コンテキストを取得するキーの名前。利用可能なキーは次のとおりです。 エージェントチャット:ウィジェットデータを エージェントチャットに送信します。
    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(文字列 key, オブジェクト context)

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

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

    利用可能なキーには agent-chat が含まれます。サービスポータル ページで開いたときに、エージェントチャットにウィジェットデータを送信します。

    context オブジェクト キーパラメーターで指定されたアプリケーションまたはサービスに送信する 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);
      });
    }