spContextManager : client

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 4 minutes de lecture
  • Met les données d’un Portail de services widget à la disposition d’autres applications et services d’une Portail de services page. Par exemple, transmettez les données du widget lorsqu’elles Messagerie instantanée d'agent s’ouvrent 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 en savoir plus sur la transmission de données à Messagerie instantanée d'agent, consultez Configurer la Messagerie instantanée d’agent dans Portail de services.

    spContextManager : addContext(clé de chaîne, contexte d’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 accessibles aux 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().

    Tableau 1. Paramètres
    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}.
    Tableau 2. Renvoie
    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().

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    Objet Chaque clé et l’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 de widget associées à une clé.

    Tableau 5. Paramètres
    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 (en anglais seulement) Booléen Marqueur qui détermine s’il faut renvoyer les données associées à une clé sous forme de promesse ou d’objet. Les valeurs comprennent :
    • Vrai : renvoie les données sous forme de promesse. Utilisez cette option si un autre widget de la page utilise la méthode addContext() pour initialiser la même clé. Le retour d’une promesse empêche le retour d’un objet non défini lorsque la clé n’est pas encore initialisée.
    • Faux : renvoie un objet contenant les données associées à la clé.
    Tableau 6. Renvoie
    Type Description
    Promesse Si returnPromise est vrai, renvoie une promesse qui est tenue 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 d’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().

    Tableau 7. Paramètres
    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}.
    Tableau 8. Renvoie
    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);
      });
    }