spContextManager - クライアント
サービスポータルウィジェットのデータを、サービスポータルページの他のアプリケーションやサービスで利用できるようにします。たとえば、ウィジェットデータがサービスポータルページで開いた際に、エージェントチャットにウィジェットデータを渡します。
spContextManager は、ウィジェットクライアントスクリプトで使用できる サービスポータル AngularJS サービスです。
この API に渡されるキーは、ページごとに一意です。たとえば、addContext() メソッドで「agent-chat」キーがページにある別のウィジェットによって既に初期化されている場合は、updateContextForKey() メソッドを使用してキーのデータを更新する必要があります。 利用可能なキーは次のとおりです。 エージェントチャット:ウィジェットデータを エージェントチャットに送信します。
へのデータの エージェントチャット受け渡しの詳細については、「 Service Portal でエージェントチャットを構成する」を参照してください。
spContextManager - addContext(文字列 key, オブジェクト context)
キーを初期化し、ウィジェットデータを値として追加します。たとえば、「agent-chat」キーにデータを追加して、エージェントチャット で利用できるようにします。
このメソッドは、サービスポータル ページの特定のキーに初めてデータを追加するときに使用します。キーがページ上の別のウィジェットですでに使用されている場合は、代わりに updateContextForKey() メソッドを使用します。
| 名前 | タイプ | 説明 |
|---|---|---|
| key | 文字列 | データを送信するキーの名前。 利用可能なキーには agent-chat が含まれます。サービスポータル ページで開いたときに、エージェントチャットにウィジェットデータを送信します。 |
| context | オブジェクト | キーパラメーターで指定されたアプリケーションまたはサービスに送信する 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(文字列 key, ブーリアン returnPromise)
キーに関連付けられたウィジェットデータを返します。
| 名前 | タイプ | 説明 |
|---|---|---|
| key | 文字列 | コンテキストを取得するキーの名前。利用可能なキーは次のとおりです。 エージェントチャット:ウィジェットデータを エージェントチャットに送信します。 |
| 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(文字列 key, オブジェクト context)
既存のキーにデータを送信します。例えば、ページ上の別のウィジェットが「agent-chat」キーを使用して エージェントチャット 構成にデータを渡している場合、addContext() メソッドを使用するのではなく、キーのコンテキストを更新する必要があります。
| 名前 | タイプ | 説明 |
|---|---|---|
| key | 文字列 | データを送信するキーの名前。 利用可能なキーには agent-chat が含まれます。サービスポータル ページで開いたときに、エージェントチャットにウィジェットデータを送信します。 |
| context | オブジェクト | キーパラメーターで指定されたアプリケーションまたはサービスに送信する 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);
});
}