spContextManager : client
Met les données d’un Portail de services widget à la disposition d’autres applications et services sur une Portail de services page. Par exemple, transmettez les données d’un widget lorsqu’il Messagerie instantanée d'agent s’ouvre dans une Portail de services page.
L’API spContextManager est un service AngularJS que vous pouvez utiliser dans Portail de services les scripts clients de 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 sont les suivantes : agent-chat : envoie les données du widget à Messagerie instantanée d'agent.
Pour plus d’informations sur le transfert de données à Messagerie instantanée d'agent, voir Configurer la Messagerie instantanée d’agent dans Portail de services.
spContextManager : addContext(clé de chaîne, contexte de l’objet)
Initialise une clé et ajoute les données de widget en tant que valeur. Par exemple, ajoutez des données à la clé « messagerie instantanée d’agent » pour la rendre disponible à 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 la méthode updateContextForKey() à la place.
| Nom | Type | Description |
|---|---|---|
| key | Chaîne | Nom de la clé pour envoyer les données. Les clés disponibles sontagent-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 clé. 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 objet de données associé défini par n’importe quel widget de 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 objet de données associé défini sur la page. |
function ($scope, spContextManager) {
spContextManager.getContext();
}
spContextManager : getContextForKey(clé de chaîne, booléen returnPromise)
Renvoie les données de 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 sont les suivantes : agent-chat : envoie les données du widget à Messagerie instantanée d'agent. |
| returnPromise | Booléen | Marqueur qui détermine s’il faut renvoyer les données associées à une clé comme une promesse ou un 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 sontagent-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 clé. 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);
});
}