spContextManager : client
Rendez les données d’un Portail de services widget accessibles aux autres applications et services d’une Portail de services page. Par exemple, transmettez les données du widget lorsqu’ils Messagerie instantanée d'agent s’ouvrent dans une Portail de services page.
spContextManager est un service AngularJS que vous pouvez utiliser dans les scripts clients de Portail de services widget.
Les clés transmises à cette API sont uniques par page. Par exemple, si la clé « agent-chat » est déjà initialisée par un autre widget sur la page via la méthode addContext(), vous devez utiliser la méthode updateContextForKey() pour mettre à jour les données de la clé. Les clés disponibles incluent : agent-chat : envoie les données du widget à Messagerie instantanée d'agent.
Pour plus d’informations sur la transmission de données à Messagerie instantanée d'agent, consultez Configurer le Chat d’agent dans Service Portal.
spContextManager : addContext(clé de chaîne, contexte de l’objet)
Initialise une clé et ajoute les données du widget comme valeur. Par exemple, ajoutez des données à la clé « agent-chat » pour les rendre disponibles dans Messagerie instantanée d'agent.
Utilisez cette méthode la première fois que des données sont ajoutées à une clé spécifique sur une Portail de services page. Si la clé est déjà utilisée par un autre widget sur la page, utilisez plutôt la méthode updateContextForKey().
| Nom | Type | Description |
|---|---|---|
| key | Chaîne | Nom de la clé pour envoyer les données. Les clés disponibles incluentagent-chat : envoie les données du widget lorsqu’il Messagerie instantanée d'agent s’ouvre dans une Portail de services page. |
| contexte | Objet | Données de widget au format JSON à envoyer à l’application ou au service spécifié dans le paramètre key. Par exemple, {'approval_count' : 5}. |
| Type | Description |
|---|---|
| nul |
Transmettez approval_count à Messagerie instantanée d'agent. Lorsqu'un utilisateur initie une conversation Messagerie instantanée d'agent depuis la page d'accueil Portail de services, le système ajoute &sysparm_approval_count=5 à l'URL Messagerie instantanée d'agent iframe.
function ($scope, spContextManager) {
spContextManager.addContext('agent-chat', {
'approval_count': 5
});
};
spContextManager : getContext()
Renvoie chaque clé et chaque objet de données associé défini par n’importe quel widget sur la page.
L’utilisation de cette méthode peut affecter les performances. Utilisez cette méthode pour comprendre quelles clés sont initialisées sur la page et obtenir leurs valeurs actuelles. Si vous savez à quelle clé vous devez accéder, utilisez plutôt la méthode getContextForKey().
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Objet | Chaque clé et chaque objet de données associé sont définis sur la page. |
function ($scope, spContextManager) {
spContextManager.getContext();
}
spContextManager : getContextForKey(clé de chaîne, retour booléen Promise)
Renvoie les données du widget associées à une clé.
| Nom | Type | Description |
|---|---|---|
| key | Chaîne | Nom de la clé à partir de laquelle obtenir le contexte. Les clés disponibles incluent : agent-chat : envoie les données du widget à Messagerie instantanée d'agent. |
| returnPromise (Promesse de retour) | Booléen | Marqueur qui détermine s’il faut renvoyer les données associées à une clé en tant que promesse ou objet. Les valeurs comprennent :
|
| Type | Description |
|---|---|
| Promesse | Si returnPromise est vrai, renvoie une promesse qui est remplie lorsqu’un autre widget de la page initialise la clé. |
| Objet | Si returnPromise est faux, renvoie un objet contenant les données associées à la clé. Par exemple, {approval_count : 5}. |
Transmettez approval_count à Messagerie instantanée d'agent. Lorsqu'un utilisateur initie une conversation Messagerie instantanée d'agent depuis la page d'accueil Portail de services, le système ajoute &sysparm_approval_count=5 à l'URL Messagerie instantanée d'agent iframe.
function ($scope, spContextManager) {
spContextManager.getContextForKey('agent-chat', true).then(function(context) {
context = context || {};
context.approval_count = 5;
spContextManager.updateContextForKey('agent-chat', context);
});
}
spContextManager : updateContextForKey(clé de chaîne, contexte de l’objet)
Envoie des données à une clé existante. Par exemple, si un autre widget de la page utilise la clé « agent-chat » pour transmettre des données à la Messagerie instantanée d'agent configuration, vous devez mettre à jour le contexte de la clé plutôt que d’utiliser la méthode addContext().
| Nom | Type | Description |
|---|---|---|
| key | Chaîne | Nom de la clé pour envoyer les données. Les clés disponibles incluentagent-chat : envoie les données du widget lorsqu’il Messagerie instantanée d'agent s’ouvre dans une Portail de services page. |
| contexte | Objet | Données de widget au format JSON à envoyer à l’application ou au service spécifié dans le paramètre key. Par exemple, {'approval_count' : 5}. |
| Type | Description |
|---|---|
| nul |
Transmettez approval_count à Messagerie instantanée d'agent. Lorsqu'un utilisateur initie une conversation Messagerie instantanée d'agent depuis la page d'accueil Portail de services, le système ajoute &sysparm_approval_count=5 à l'URL Messagerie instantanée d'agent iframe.
function ($scope, spContextManager) {
spContextManager.getContextForKey('agent-chat', true).then(function(context) {
context = context || {};
context.approval_count = 5;
spContextManager.updateContextForKey('agent-chat', context);
});
}