spContextManager : client

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 4 minutes de lecture
  • 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.

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

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    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é.

    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 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 :
    • Vrai : renvoyer les données comme 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 de renvoyer 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 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( ).

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