Utiliser l’API REST GraphQL pour afficher les suggestions créées à partir des recherches d’utilisateurs externes

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 2 minutes de lecture
  • Soumettez une demande au point de terminaison de l’API REST GraphQL pour récupérer des suggestions de recherche créées à partir de recherches effectuées par des utilisateurs externes auto-enregistrés. Ce point de terminaison autorise l’accès aux utilisateurs invités non authentifiés.

    Avant de commencer

    Assurez-vous que les conditions suivantes sont remplies dans votre instance :
    • Le module d’extension Séparation de domaine n’est pas activé. Pour plus d’informations sur ce module d’extension, consultez Module d’extension Domain Separation.
    • Le module d’extension Explicit Roles (com.glide.explicit_roles) est activé. Pour en savoir plus sur ce module d’extension, consultez Rôles explicites.
    • Les utilisateurs externes disposant du rôle snc_external ont soumis des recherches dans des applications de recherche qui génèrent des suggestions de recherche, telles que ServiceNow® Portail de services, Now Mobileou ServiceNow® Agent virtuel.
    • La glide.search.suggestions.allow_guest_user propriété système est définie sur true. Pour en savoir plus sur la définition d’une valeur de propriété système, reportez-vous à la section Ajouter une propriété système.
    Obtenez le sys_id de l’application de recherche pour laquelle vous souhaitez récupérer des suggestions de recherche d’utilisateurs externes.
    Remarque :
    Les utilisateurs disposant des rôles search_application_admin, agent_workspace_user ou workspace_user peuvent obtenir ces sys_id en les copiant à partir de l’enregistrement de l’application de recherche dans la table Configuration de l’application de recherche [sys_search_context_config].

    Téléchargez un client GraphQL tiers, tel que le client GraphiQL, Insomnia ou Postman.

    Rôle requis : aucun

    Pourquoi et quand exécuter cette tâche

    Suggestions de recherche crée des suggestions pour les recherches effectuées par les utilisateurs externes enregistrés automatiquement. Lorsque la propriété système est définie sur vrai, les glide.search.suggestions.allow_guest_user utilisateurs invités non authentifiés peuvent accéder au point de terminaison de l’API REST GraphQL de votre instance afin de récupérer des suggestions de recherche d’utilisateurs externes pour une application de recherche.

    Aucune authentification n’est requise ou appliquée pour ce point de terminaison de REST API GraphQL.
    Remarque :
    Les utilisateurs invités non authentifiés ne peuvent récupérer des suggestions de recherche qu’à partir du domaine global. Si Séparation de domaine est activée dans votre instance, les utilisateurs invités ne peuvent pas récupérer de suggestions de recherche.

    Procédure

    1. Dans votre client GraphQL tiers, configurez une nouvelle requête qui utilise la méthode HTTP POST.
    2. Définissez le point de terminaison de la demande sur le point de terminaison de l’API REST GraphQL de votre instance, https://<nom d’instance>.service-now.com/api/now/graphql.
    3. Définissez le corps de la demande sur la requête GraphQL suivante, en remplaçant <search_application_sys_id> par le sys_id de l’application de recherche pour laquelle vous souhaitez récupérer les suggestions de recherche d’utilisateurs externes :
      {
        GlideSearch_Query {
          suggestions(searchContextConfigId: "<search_application_sys_id>", searchTerm: "") {
            term
            data {
              name
              records {
                type
                columns {
                  label
                  fieldName
                  value
                  displayValue
                }
              }
            }
          }
        }
      }

    Résultats

    Le système renvoie les suggestions de recherche à partir des recherches d’applications effectuées par les utilisateurs externes enregistrés automatiquement en tant qu’objet JSON, comme illustré dans cet exemple :
    {
      "data": {
        "GlideSearch_Query": {
          "suggestions": {
            "term": "",
            "data": [
              {
                "records": [
                  {
                    "type": "POPULAR_QUERY",
                    "columns": [
                      {
                        "label": "name",
                        "displayValue": "automatic replies",
                        "value": "automatic replies",
                        "fieldName": "name"
                      }
                    ]
                  },
                  {
                    "type": "POPULAR_QUERY",
                    "columns": [
                      {
                        "label": "name",
                        "displayValue": "contact group",
                        "value": "contact group",
                        "fieldName": "name"
                      }
                    ]
                  },
                  {
                    "type": "POPULAR_QUERY",
                    "columns": [
                      {
                        "label": "name",
                        "displayValue": "tablet",
                        "value": "tablet",
                        "fieldName": "name"
                      }
                    ]
                  },
                  {
                    "type": "POPULAR_QUERY",
                    "columns": [
                      {
                        "label": "name",
                        "displayValue": "laptop",
                        "value": "laptop",
                        "fieldName": "name"
                      }
                    ]
                  },
                  {
                    "type": "POPULAR_QUERY",
                    "columns": [
                      {
                        "label": "name",
                        "displayValue": "new email account",
                        "value": "new email account",
                        "fieldName": "name"
                      }
                    ]
                  }
                ],
                "name": "Popular searches"
              }
            ]
          }
        }
      }
    }