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

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 2 minutes de lecture
  • Soumettez une demande au point de terminaison de l’API REST GraphQL pour récupérer les suggestions de recherche créées à partir des recherches effectuées par des utilisateurs externes enregistrés automatiquement. 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 Domain Separation 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 Explicit Roles.
    • Les utilisateurs externes ayant le 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 vrai. 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 l’sys_id de l’application de recherche pour laquelle vous souhaitez récupérer des suggestions de recherche d’utilisateur externe.
    Remarque :
    Les utilisateurs disposant des rôles search_application_admin, agent_workspace_user ou workspace_user peuvent obtenir cette sys_id en la 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 pour récupérer des suggestions de recherche d’utilisateur externe pour une application de recherche.

    Aucune authentification n’est requise ou appliquée pour ce point de terminaison d’API REST GraphQL.
    Remarque :
    Les utilisateurs invités non authentifiés ne peuvent extraire des suggestions de recherche qu’à partir du domaine global. Si Domain separation est activé 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 pour la demande au point de terminaison de l’API REST GraphQL pour votre instance, https://<nom de l’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’utilisateur externe :
      {
        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 des recherches d’applications effectuées par des 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"
              }
            ]
          }
        }
      }
    }