spContextManager :クライアント
サービスポータル ウィジェットのデータをサービスポータルページ内の他のアプリケーションやサービスで使用できるようにします。たとえば、ウィジェットがサービスポータルページで開かれたときにウィジェットデータをエージェントチャットに渡します。
spContextManager API は、サービスポータル ウィジェットクライアントスクリプトで使用できる AngularJS サービスです。
この API に渡されるキーはページごとに一意です。たとえば、「 agent-chat」 キーがページ上の別のウィジェットによって addContext() メソッドによって既に初期化されている場合は、 updateContextForKey() メソッドを使用してキーのデータを更新する必要があります。 使用可能なキーは次のとおりです。 agent-chat:ウィジェットデータを エージェントチャット に送信します。
エージェントチャットへのデータの渡しの詳細については、「サービスポータルでのエージェントチャットの構成」を参照してください。
spContextManager:addContext(文字列キー、オブジェクトコンテキスト)
キーを初期化し、ウィジェットデータを値として追加します。たとえば、「agent-chat」キーにデータを追加して、 エージェントチャットが使用できるようにします。
サービスポータルページの特定のキーに初めてデータを追加するときは、このメソッドを使用します。キーがページ上の別のウィジェットで既に使用されている場合は、代わりに updateContextForKey() メソッドを使用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| キー | 文字列 | データを送信するキーの名前。 使用可能なキーは次のとおりです。agent-chat:ウィジェットをサービスポータルページで開いたときにウィジェットデータを エージェントチャット に送信します。 |
| コンテキスト | オブジェクト | キーパラメーターで指定されたアプリケーションまたはサービスに送信する JSON 形式のウィジェットデータ。例: {'approval_count': 5}。 |
| タイプ | 説明 |
|---|---|
| なし |
approval_count を エージェントチャット に渡します。ユーザーが サービスポータル ホームページから エージェントチャット の会話を開始すると、&sysparm_approval_count=5 が エージェントチャット iframe URL に追加されます。
function ($scope, spContextManager) {
spContextManager.addContext('agent-chat', {
'approval_count': 5
});
};
spContextManager:getContext()
ページ上のウィジェットによって定義された各キーと関連データオブジェクトを返します。
この方法を使用すると、パフォーマンスが低下する可能性があります。このメソッドを使用して、ページで初期化されるキーを把握し、その現在の値を取得します。アクセスする必要があるキーがわかっている場合は、代わりに getContextForKey() メソッドを使用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
| タイプ | 説明 |
|---|---|
| オブジェクト | ページで定義された各キーおよび関連するデータオブジェクト。 |
function ($scope, spContextManager) {
spContextManager.getContext();
}
spContextManager:getContextForKey(文字列キー、ブール値 returnPromise)
キーに関連付けられたウィジェットデータを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| キー | 文字列 | コンテキストを取得するキーの名前。使用可能なキーは次のとおりです。 agent-chat:ウィジェットデータを エージェントチャットに送信します。 |
| returnPromise | ブール | キーに関連付けられたデータを Promise またはオブジェクトとして返すかどうかを決定するフラグ。次の値が含まれます。
|
| タイプ | 説明 |
|---|---|
| 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() メソッドを使用するのではなく、キーのコンテキストを更新する必要があります。
| 名前 | タイプ | 説明 |
|---|---|---|
| キー | 文字列 | データを送信するキーの名前。 使用可能なキーは次のとおりです。agent-chat:ウィジェットをサービスポータルページで開いたときにウィジェットデータを エージェントチャット に送信します。 |
| コンテキスト | オブジェクト | キーパラメーターで指定されたアプリケーションまたはサービスに送信する JSON 形式のウィジェットデータ。例: {'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);
});
}