API REST Gestion des connaissances

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 27 minutes de lecture
  • L’API Gestion des connaissances fournit des points de terminaison pour rechercher, afficher et extraire des listes des articles de la base de connaissances les plus consultés et les plus proposés.

    Vous ne pouvez utiliser cette API que lorsque le module d’extension Knowledge API (sn_km_api) est activé. L’API REST Gestion des connaissances a été publiée à l’origine en Orlando utilisant l’application API Knowledge disponible dans le ServiceNow Store.

    Remarque :
    L’API REST Gestion des connaissances est publiquement accessible et met à la disposition de tous les utilisateurs, y compris des utilisateurs non authentifiés, toute base de connaissances publiquement accessible. Pour les versions 1.0.1 et ultérieures, l’API a été rendue modifiable, ce qui permet aux administrateurs de configurer chaque point de terminaison pour interdire l’accès non authentifié en sélectionnant le marqueur Authentification requise dans l’onglet Sécurité du service REST scripté associé à l’API.

    Pour permettre à d’autres domaines d’utiliser les points de terminaison de l’API REST Gestion des connaissances , définissez une règle de partage des ressources entre origines (CORS). Pour plus d’informations, consultez Définir une règle CORS.

    Pour afficher un article de la base de connaissances incluse dans le périmètre à l’aide de cette API REST, autorisez l’accès en lecture au périmètre sn_km_api à partir du périmètre demandeur dans la table Privilèges d’accès restreint pour l’appelant [sys_restricted_caller_access]. Pour plus d’informations, consultez Définir l’accès entre périmètres à une ressource d’application.

    Par défaut, cette API a une limite de débit de 500 par heure pour les utilisateurs non authentifiés et snc_external. Pour plus d’informations sur la limitation de débit, consultez Limitation de débit de l’API REST entrante.

    Gestion des connaissances : GET /knowledge/articles

    Renvoie une liste d’articles de la base de connaissances qui peuvent être recherchés et filtrés à l’aide de différents paramètres.

    Format d'URL

    URL versionnée : /api/sn_km_api/{api_version}/knowledge/articles

    URL par défaut : /api/sn_km_api/knowledge/articles

    Paramètres de demande pris en charge

    Tableau 1. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    Tableau 2. Paramètres de requête
    Nom Description
    filtre Requête codée à utiliser pour filtrer l’ensemble de résultats.

    Syntaxe : filter=<attr><operator><value>.

    • <attr> : nom de la colonne de table.
    • <opérateur> :
      Valeurs valides :
      • = : correspond exactement à <value>.
      • != : ne correspond pas à <value>.
      • ^ : vous permet de spécifier plus d’une condition et de les ET logiquement.
      • ^OU : vous permet de spécifier plusieurs conditions et de les OU logiquement.
      • LIKE : <attr> contient la chaîne spécifiée. Fonctionne uniquement pour les champs <attr> dont le type de données est chaîne.
      • STARTSWITH : <attr> commence par la chaîne spécifiée. Fonctionne uniquement pour les champs <attr> dont le type de données est chaîne.
      • ENDSWITH : <attr> se termine par la chaîne spécifiée. Fonctionne uniquement pour les champs <attr> dont le type de données est chaîne.
    • <valeur> : valeur à laquelle établir une correspondance.

    Tous les paramètres sont sensibles à la casse. La requête peut contenir plusieurs entrées, telles que filter=<attr><operator><value>[<operator><attr><operator><value>].

    Type de données : chaîne

    Par défaut : vide

    champs Liste de champs séparés par des virgules de la table de connaissances [kb_knowledge] pour afficher les détails dans les résultats.

    Type de données : chaîne

    Par défaut : Aucun

    Ko Liste séparée par des virgules des sys_ids de la base de connaissances de la table Bases de connaissances [kb_knowledge_base] auxquelles limiter les résultats.

    Type de données : chaîne

    language Liste des langues séparées par des virgules au format de code de langue ISO 639-1 à deux lettres pour limiter les résultats. Vous pouvez également taper « tous » pour effectuer une recherche dans toutes les langues installées valides sur une instance.

    Type de données : chaîne

    Par défaut : langue de la session de l’utilisateur ou en

    limite Nombre maximal d'enregistrements à renvoyer. Des valeurs limit anormalement élevées peuvent avoir un impact sur les performances du système. Pour les demandes qui dépassent ce nombre d’enregistrements, utilisez le paramètre pour paginer la récupération de l’enregistrement offset .

    Type de données : nombre

    Par défaut : 30

    décalage Index de début des enregistrements pour lequel commencer à récupérer des enregistrements. Utilisez cette valeur pour paginer la récupération des enregistrements. Cette fonctionnalité permet de récupérer tous les enregistrements, quel que soit le nombre d'enregistrements, par petits blocs gérables.

    Par exemple, la première fois que ce point de terminaison est appelé, offset il est défini sur « 0 ». Pour parcourir tous les enregistrements disponibles, utilisez offset=offset+limit jusqu’à ce que la fin de tous les enregistrements soit atteinte.

    Type de données : nombre

    Par défaut : 0

    requête Texte à rechercher, peut être vide.

    Type de données : chaîne

    Tableau 3. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    Aucun

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 4. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Tableau 5. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 6. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    401 Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises.
    500 Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande.

    Paramètres du corps de réponse (JSON ou XML)

    Nom Description
    articles Liste des articles renvoyés en réponse.

    Type de données : tableau

    "articles": [
      {
        "fields": {Object},
        "link": "String",
        "id": "String",
        "number": "String",
        "rank": Number,
        "score": Number,
        "snippet": "String",
        "title": "String"
      }
    ]
    Articles.Champs Valeurs des champs demandés, le cas échéant.

    Type de données : objet

    "fields": {
      "<field_name>": {Object}
    }
    articles.champs.<field_name> Répertorie chaque champ demandé à l’aide du paramètre champs, le cas échéant.

    Type de données : objet

    "<field_name>": {
      "display_value": "String",
      "label": "String",
      "name": "String",
      "type": "String",
      "value": "String"
    }
    articles.champs.<field_name>.display_value Valeur d’affichage du champ demandé.

    Type de données : chaîne

    articles.champs.<field_name>.label Étiquette représentant le champ demandé. Par exemple, Connaissances.

    Type de données : chaîne

    articles.champs.<field_name>.nom Nom du champ demandé. Allumettes <field_name>.

    Type de données : chaîne

    articles.champs.<field_name>.type Type de données du champ demandé.

    Type de données : chaîne

    articles.champs.<field_name>.valeur Valeur du champ demandé.

    Type de données : chaîne

    articles.id Article de la base de connaissances sys_id à partir de la table Connaissances [kb_knowledge].

    Type de données : chaîne

    articles.link Lien vers l’article.

    Type de données : chaîne

    numéro.articles Numéro de l’article de la base de connaissances.

    Type de données : chaîne

    Classement.Articles Classement de recherche d’un article spécifique à cette recherche.

    Type de données : Nombre (nombre flottant)

    articles.snippet Texte montrant une petite partie de l’article de la base de connaissances.

    Type de données : chaîne

    Score.Articles Score de pertinence, résultats triés par ordre décroissant par score.

    Type de données : chaîne

    articles.titre Brève description ou titre de l’article de la base de connaissances.

    Type de données : chaîne

    métadonnées Méta-informations des résultats et des paramètres de demande.

    Type de données : objet

    "meta": {
      "count": Number,
      "end": Number,
      "fields": "String",
      "filter": "String",
      "kb": "String",
      "language": "String",
      "query": "String",
      "start": Number,
      "status": {Object},
      "ts_query_id": "String"
    }
    meta.count Nombre d’articles de la base de connaissances disponibles.

    Type de données : nombre

    meta.end Index de fin de l’ensemble de résultats.

    Type de données : nombre

    meta.fields Champs de l’article.

    Type de données : chaîne

    meta.filter Filtre utilisé pour acquérir les données.

    Type de données : chaîne

    meta.kb Liste des sys_ids d’articles de la base de connaissances.

    Type de données : chaîne

    meta.language Liste des langues séparées par des virgules des articles de la base de connaissances demandés.

    Type de données : chaîne

    meta.query Requête de demande spécifiée.

    Type de données : chaîne

    meta.start Index de début du jeu de résultats.

    Type de données : nombre

    meta.status État de l’appel.

    Type de données : chaîne

    meta.ts_query_id Sys_id de la requête.

    Type de données : chaîne

    Demande cURL

    curl "https://instance.servicenow.com/api/sn_km_api/knowledge/articles?query=Windows&limit=2&fields=short_description&fields=sys_class_name" \
    --request GET \
    --header "Accept:application/xml" \
    --user "username":"password"
    {
      "result": {
        "meta": {
          "start": 0,
          "end": 2,
          "fields": "short_description,sys_class_name",
          "query": "Windows",
          "filter": "",
          "kb": "",
          "language": "en",
          "count": 19,
          "ts_query_id": "7976f36129c30410f877796e70786991",
          "status": {
            "code": 200
          }
        },
        "articles": [
          {
            "link": "?sys_kb_id=9e528db1474321009db4b5b08b9a71a6&id=kb_article_view&sysparm_rank=1&sysparm_tsqueryId=7976f36129c30410f877796e70786991",
            "rank": 1,
            "id": "kb_knowledge:9e528db1474321009db4b5b08b9a71a6",
            "title": "Windows: Should I upgrade to Windows 8.x?",
            "snippet": "    Should I upgrade to <B>Windows</B> 8.x? <B>Windows</B> 8.x is designed for using touch, mouse, and keyboard the <B>Windows</B> Store and access apps such as Calendar, Mail, and Messaging. By most accounts, <B>Windows</B> boot times, smaller memory footprint, and more free memory for the programs you run. <B>Windows</B>",
            "score": 14.869,
            "number": "KB0000020",
            "fields": {
              "short_description": {
                "display_value": "Windows: Should I upgrade to Windows 8.x?\n\t\t",
                "name": "short_description",
                "label": "Short description",
                "type": "string",
                "value": "Windows: Should I upgrade to Windows 8.x?\n\t\t"
              },
              "sys_class_name": {
                "display_value": "Knowledge",
                "name": "sys_class_name",
                "label": "Class",
                "type": "sys_class_name",
                "value": "kb_knowledge"
              }
            }
          },
          {
            "link": "?sys_kb_id=3b07857187032100deddb882a2e3ec20&id=kb_article_view&sysparm_rank=2&sysparm_tsqueryId=7976f36129c30410f877796e70786991",
            "rank": 2,
            "id": "kb_knowledge:3b07857187032100deddb882a2e3ec20",
            "title": "What is the Windows key?",
            "snippet": "What is the <B>Windows</B> key? The <B>Windows</B> key is a standard key on most keyboards on computers built to use a <B>Windows</B> operating system. It is labeled with a <B>Windows</B> logo, and is usually placed between on the right side as well. Pressing Win (the <B>Windows</B> key) on its own will do the following: <B>Windows</B> 8.x: Toggle",
            "score": 13.4826,
            "number": "KB0000017",
            "fields": {
              "short_description": {
                "display_value": "What is the Windows key?\t\t",
                "name": "short_description",
                "label": "Short description",
                "type": "string",
                "value": "What is the Windows key?\t\t"
              },
              "sys_class_name": {
                "display_value": "Knowledge",
                "name": "sys_class_name",
                "label": "Class",
                "type": "sys_class_name",
                "value": "kb_knowledge"
              }
            }
          }
        ]
      }
    }
    

    Gestion des connaissances : GET /knowledge/articles/{article_sys_id}/attachments/{attachment_sys_id}

    Renvoie une pièce jointe d’article de la base de connaissances sous forme de fichier.

    Format d'URL

    URL versionnée : /api/sn_km_api/{api_version}/knowledge/articles/{article_sys_id}/attachments/{attachment_sys_id}

    URL par défaut : /api/sn_km_api/knowledge/articles/{article_sys_id}/attachments/{attachment_sys_id}

    Paramètres de demande pris en charge

    Tableau 7. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    article_sys_id Sys_id de l’article de la base de connaissances avec la pièce jointe que vous avez l’intention de récupérer. Situé dans la table Bases de connaissances [kb_knowledge].

    Type de données : chaîne

    attachment_sys_id Sys_id de l’enregistrement auquel appartient la pièce jointe.

    Type de données : chaîne

    Tableau 8. Paramètres de requête
    Nom Description
    Aucun
    Tableau 9. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    Aucun

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 10. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Tableau 11. En-têtes de réponses
    En-tête Description
    Type de contenu Le type de contenu de la réponse, par exemple, image/gif ou */*.

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 12. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    401 Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises.
    404 Introuvable. L’élément demandé est introuvable.
    500 Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur.

    Paramètres du corps de réponse

    Nom Description
    Le fichier est renvoyé en tant que réponse.

    Exemple de demande cURL

    curl "https://instance.service-now.com/api/sn_km_api/knowledge/articles/0b48fd75474321009db4b5b08b9a71c2/attachments/fedf5614294f4010f877796e70786956" \
    --request GET \
    --header "Accept:*/*" \
    --user "username":"password"
    Binary response not shown (file is returned as a response).

    Gestion des connaissances : GET /knowledge/articles/{id}

    Renvoie un contenu d’article de la base de connaissances spécifique et ses valeurs de champ.

    Format d'URL

    URL versionnée : /api/sn_km_api/{api_version}/knowledge/articles/{id}

    URL par défaut : /api/sn_km_api/knowledge/articles/{id}

    Paramètres de demande pris en charge

    Tableau 19. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    id Sys_id ou numéro de la base de connaissances (KB) d’un article de la base de connaissances dans la table Connaissances [kb_knowledge].

    Type de données : chaîne

    Tableau 20. Paramètres de requête
    Nom Description
    champs Liste de champs séparés par des virgules de la table de connaissances [kb_knowledge] pour afficher les détails dans les résultats.

    Type de données : chaîne

    Par défaut : Aucun

    language Code de langue ISO 639-1 à deux lettres ; par exemple, « fr » pour le français. Les résultats s’affichent uniquement lorsque les recherches utilisent le numéro de la base de connaissances de l’article de la base de connaissances comme numéro de la id base de connaissances et qu’une version traduite de l’article est disponible dans la langue spécifiée.
    Remarque :
    Valide uniquement lors de la définition du paramètre en tant que numéro d’article de la base de id connaissances (et non sys_id).

    Type de données : chaîne

    search_id Facultatif, sauf si vous utilisez .search_rank L’identificateur unique de la recherche qui a renvoyé cet article.
    Vous pouvez effectuer une récupération search_id à l’aide de l’une des API suivantes qui renvoie l’élément articles.id :

    La transmission du search_id paramètre and search_rank incrémente le nombre de vues de l’article et enregistre une entrée pour l’article dans la table Knowledge Use [kb_use]. Vous pouvez également vérifier le nombre de vues incrémentées dans la page de la base de connaissances [kb_view2].

    Type de données : chaîne

    search_rank Facultatif, sauf si vous utilisez .search_id Classement de recherche d’articles par taux de clics que vous pouvez récupérer à l’aide de l’une des API suivantes qui renvoie l’élément articles.rank :

    Type de données : nombre

    update_view Mettez à jour le nombre de vues et enregistrez une entrée pour l’article dans la table Utilisation de la base de connaissances [kb_use]. Vrai, qu’il soit présent en tant que paramètre autonome ou qu’il soit défini sur vrai.
    Remarque :
    Si vous passez update_view avec search_id et search_rank, update_view est ignoré, car le nombre de vues est déjà incrémenté.

    Type de données : booléen qui est toujours traité comme vrai lorsqu’il est transmis, qu’il soit défini sur « vrai », « faux » ou pas défini du tout.

    Tableau 21. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    Aucun

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 22. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Tableau 23. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 24. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    401 Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises.
    500 Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande.

    Paramètres du corps de réponse (JSON ou XML)

    Nom Description
    pièces jointes Fournit les détails de la pièce jointe pour chaque instance si la pièce jointe existe.

    S’affiche uniquement si display_attachments = vrai.

    Type de données : tableau

    "attachments": [
      {
        "file_name": "String",
        "size_bytes": "String",
        "state": "String",
        "sys_id": "String"
      }
    ]
    attachments.file_name Nom du fichier de la pièce jointe.

    Type de données : chaîne

    attachments.size_bytes Taille du fichier.

    Type de données : chaîne

    Unité : octets

    pièces jointes.état État.
    Valeurs possibles :
    • Disponible
    • available_conditionally
    • not_available
    • en attente

    Type de données : chaîne

    attachments.sys_id Sys_id de la pièce jointe.

    Type de données : chaîne

    contenu Tout le contenu HTML de l’article.

    Type de données : chaîne

    display_attachments Marqueur indiquant si le display_attachments marqueur est actif pour cet article. Les pièces jointes ne sont renvoyées que si display_attachments la valeur est vrai (actif) dans l’enregistrement de l’article de la base de connaissances.
    • true : display_attachments est actif.
    • faux : display_attachments est inactif.

    Type de données : booléennes

    embedded_content Répertorie chaque pièce jointe contenant du contenu incorporé par sys_id et inclut les informations pertinentes sur la pièce jointe.

    S’affiche uniquement si display_attachments = vrai.

    Type de données : tableau

    "attachments": [
      {
        "file_name": "String",
        "size_bytes": "String",
        "state": "String",
        "sys_id": "String"
      }
    ]
    embedded_content.nom_fichier Nom du fichier de la pièce jointe.

    Type de données : chaîne

    embedded_content.size_bytes Taille de la pièce jointe.

    Type de données : chaîne

    Unité : octets

    embedded_content.État État de la pièce jointe.
    Valeurs possibles :
    • Disponible
    • available_conditionally
    • not_available
    • en attente

    Type de données : chaîne

    embedded_content.sys_id Sys_id de la pièce jointe.

    Type de données : chaîne

    champs Valeurs des champs demandés (le cas échéant).

    Type de données : objet

    "fields": {
      "<field_name>": {Object}
    }
    champs.<field_name> Répertorie chaque champ demandé à l’aide du paramètre champs, le cas échéant.

    Type de données : objet

    "<field_name>": {
      "display_value": "String",
      "label": "String",
      "name": "String",
      "type": "String",
      "value": "String"
    }
    champs.<field_name>.display_value Valeur d’affichage du champ demandé.

    Type de données : chaîne

    champs.<field_name>.étiquette Étiquette représentant le champ demandé. Par exemple, Connaissances.

    Type de données : chaîne

    champs.<field_name>.name Nom du champ demandé. Allumettes <field_name>.

    Type de données : chaîne

    Champs.<field_name>.Type Type de données du champ demandé.

    Type de données : chaîne

    champs.<field_name>.valeur Valeur du champ demandé.

    Type de données : chaîne

    language Code de langue ISO 639-1 à deux lettres pour l’article en cours (si la traduction est disponible).

    Type de données : chaîne

    langues Pour chaque version traduite d’un article de la base de connaissances (si traduite) :
    "languages": [
      {
        "label": "String",
        "language": "String",
        "sys_id": "String"
      }
    ]

    Type de données : tableau

    langues.étiquette Représentation de chaîne pour la langue.

    Type de données : chaîne

    langues.langue Langage du code ISO 639-1 à deux lettres.

    Type de données : chaîne

    languages.sys_id Identificateur unique pour la version traduite de l’article de la base de connaissances.

    Type de données : chaîne

    Numéro Numéro d’article.

    Type de données : chaîne

    short_description Brève description ou titre de l’article de la base de connaissances.

    Type de données : chaîne

    sys_id Article de la base de connaissances sys_id à partir de la table Connaissances [kb_knowledge].

    Type de données : chaîne

    modèle Marqueur indiquant si un article renvoyé est un modèle.
    Valeurs possibles :
    • true : l’article est un modèle.
    • false : l’article n’est pas un modèle.

    Type de données : booléennes

    template_table Nom de la table de modèles, renvoie uniquement si l’article de la base de connaissances est un modèle.

    Type de données : chaîne

    Demande cURL

    curl "https://instance.servicenow.com/api/sn_km_api/knowledge/articles/0b48fd75474321009db4b5b08b9a71c2?search_id=spam&search_rank=26.426" \
    --request GET \
    --header "Accept:application/json" \
    --user "username":"password"
    {
      "result": {
        "content": "<p><span style=\"font-size: 18pt;\"><strong>How to Deal with Spam</strong></span></p>\r\n<p>Spam has increasingly become a problem on the Internet. While every Internet user receives some spam, email  addresses posted to web sites or in newsgroups and chat rooms attract the most spam.</p>\r\n<p>To reduce the amount of spam you receive:</p>\r\n<p>
        "template": false,
        "number": "KB0000011",
        "sys_id": "0b48fd75474321009db4b5b08b9a71c2",
        "short_description": "How to Deal with Spam",
        "display_attachments": true,
        "attachments": [
          {
            "sys_id": "dc27ae18294f4010f877796e707869c8",
            "file_name": "image.jpg",
            "size_bytes": "66792",
            "state": "available_conditionally"
          },
          {
            "sys_id": "fedf5614294f4010f877796e70786956",
            "file_name": "attachment.txt",
            "size_bytes": "75",
            "state": "available_conditionally"
          }
        ],
        "embedded_content": []
      }
    }

    Exemple de requête cURL (update_view)

    curl "https://instance.servicenow.com/api/sn_km_api/knowledge/KB0000020?update_view=' \
    --request GET \
    --header "Accept:application/json" \
    --user "username":"password"
    {
      "result": {
        "content": "<p> </p>\r\n<p> </p>\r\n<p><strong><span style=\"font-size: 18pt;\">Should I upgrade to Windows 8.x?</span></strong></p>\r\n<p>Windows 8.x is designed for using touch, mouse, and keyboard together, on hardware ranging from touch-enabled tablets and laptops to PCs and all-in-one computers...(intentionally truncated)</p>",
        "template": false,
        "number": "KB0000020",
        "sys_id": "9e528db1474321009db4b5b08b9a71a6",
        "short_description": "Windows: Should I upgrade to Windows 8.x?\t\t",
        "display_attachments": true,
        "attachments": [],
        "embedded_content": []
      }
    }

    Gestion des connaissances : GET connaissances/articles/most_viewed

    Renvoie une liste des articles de la base de connaissances classés par ordre de priorité en fonction des articles les plus consultés.

    Format d'URL

    URL versionnée : /api/sn_km_api/{api_version}/knowledge/articles/most_viewed

    URL par défaut : /api/sn_km_api/knowledge/articles/most_viewed

    Paramètres de demande pris en charge

    Tableau 25. Paramètres de chemin d'accès
    Nom Description
    api_version Facultatif. Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière.

    Type de données : chaîne

    Tableau 26. Paramètres de requête
    Nom Description
    champs Liste de champs séparés par des virgules de la table de connaissances [kb_knowledge] pour afficher les détails dans les résultats.

    Type de données : chaîne

    Par défaut : Aucun

    Ko Liste séparée par des virgules des sys_ids de la base de connaissances de la table Bases de connaissances [kb_knowledge_base] auxquelles limiter les résultats.

    Type de données : chaîne

    language Liste des langues séparées par des virgules au format de code de langue ISO 639-1 à deux lettres pour limiter les résultats. Vous pouvez également taper « tous » pour effectuer une recherche dans toutes les langues installées valides sur une instance.

    Type de données : chaîne

    Par défaut : langue de la session de l’utilisateur ou en

    limite Nombre maximal d'enregistrements à renvoyer. Des valeurs limit anormalement élevées peuvent avoir un impact sur les performances du système. Pour les demandes qui dépassent ce nombre d’enregistrements, utilisez le paramètre pour paginer la récupération de l’enregistrement offset .

    Type de données : nombre

    Par défaut : 30

    décalage Index de début des enregistrements pour lequel commencer à récupérer des enregistrements. Utilisez cette valeur pour paginer la récupération des enregistrements. Cette fonctionnalité permet de récupérer tous les enregistrements, quel que soit le nombre d'enregistrements, par petits blocs gérables.

    Par exemple, la première fois que ce point de terminaison est appelé, offset il est défini sur « 0 ». Pour parcourir tous les enregistrements disponibles, utilisez offset=offset+limit jusqu’à ce que la fin de tous les enregistrements soit atteinte.

    Type de données : nombre

    Par défaut : 0

    Tableau 27. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    Aucun

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 28. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml.

    Valeur par défaut : application/json

    Tableau 29. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 30. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    401 Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises.
    500 Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande.

    Paramètres du corps de réponse (JSON ou XML)

    Nom Description
    articles Liste des articles renvoyés en réponse.

    Type de données : tableau

    [
      {
        "fields": {Object},
        "id": "String",
        "link": "String",
        "number": "String",
        "rank": Number,
        "score": Float,
        "snippet": "String",
        "title": "String"
      }
    ]
    Articles.Champs Valeurs des champs demandés (le cas échéant).

    Type de données : objet

    "fields": {
      "<field_name>": {Object}
    }
    articles.champs.<field_name> Répertorie chaque champ demandé à l’aide du paramètre champs, le cas échéant.

    Type de données : objet

    "<field_name>": {
      "display_value": "String",
      "label": "String",
      "name": "String",
      "type": "String",
      "value": "String"
    }
    articles.champs.<field_name>.display_value Valeur d’affichage du champ demandé.

    Type de données : chaîne

    articles.champs.<field_name>.label Étiquette représentant le champ demandé. Par exemple, Connaissances.

    Type de données : chaîne

    articles.champs.<field_name>.nom Nom du champ demandé. Correspond <field_name>.

    Type de données : chaîne

    articles.champs.<field_name>.type Type de données du champ demandé.

    Type de données : chaîne

    articles.champs.<field_name>.valeur Valeur du champ demandé.

    Type de données : chaîne

    articles.id Article de la base de connaissances sys_id à partir de la table Connaissances [kb_knowledge].

    Type de données : chaîne

    articles.link Lien vers l’article.

    Type de données : chaîne

    numéro.articles Numéro de l’article de la base de connaissances.

    Type de données : chaîne

    Classement.Articles Classement de recherche d’un article spécifique à cette recherche.

    Type de données : Flottant

    Score.Articles Score de pertinence, résultats triés par ordre décroissant par score.

    Type de données : chaîne

    articles.snippet Texte montrant une petite partie de l’article de la base de connaissances.

    Type de données : chaîne

    articles.titre Brève description ou titre de l’article de la base de connaissances.

    Type de données : chaîne

    métadonnées Méta-informations des résultats et des paramètres de demande.

    Type de données : objet

    "meta": {
      "count": Number,
      "end": Number,
      "fields": "String",
      "filter": "String",
      "kb": "String",
      "language": "String",
      "query": "String",
      "start": Number,
      "status": {Object},
      "ts_query_id": "String"
    }
    meta.count Nombre d’articles de la base de connaissances disponibles.

    Type de données : nombre

    meta.end Index de fin de l’ensemble de résultats.

    Type de données : nombre

    meta.fields Champs de l’article.

    Type de données : chaîne

    meta.filter Filtre utilisé pour acquérir les données.

    Type de données : chaîne

    meta.kb Liste des sys_ids d’articles de la base de connaissances.

    Type de données : chaîne

    meta.language Liste des langues séparées par des virgules des articles de la base de connaissances demandés.

    Type de données : chaîne

    meta.query Requête de demande spécifiée.

    Type de données : chaîne

    meta.start Index de début du jeu de résultats.

    Type de données : nombre

    meta.status État HTTP de l’appel.

    Type de données : chaîne

    meta.ts_query_id Sys_id de la requête.

    Type de données : chaîne

    Demande cURL

    curl "https://instance.servicenow.com/api/sn_km_api/knowledge/articles/most_viewed?limit=5" \
    --request GET \
    --header "Accept:application/json" \
    --user "username":"password"
    {
      "result": {
        "meta": {
          "start": 0,
          "end": 5,
          "fields": "",
          "query": "",
          "filter": "workflow_state=published^valid_to>=javascript:gs.beginningOfToday()^active=true^sys_class_name!=kb_knowledge_block^sys_view_count>0^ORDERBYDESCsys_view_count^ORDERBYshort_description",
          "kb": "",
          "count": 2,
          "status": {
            "code": 200
          },
          "language": "en"
        },
        "articles": [
          {
            "link": "?id=kb_article_view&sys_kb_id=0b48fd75474321009db4b5b08b9a71c2",
            "id": "kb_knowledge:0b48fd75474321009db4b5b08b9a71c2",
            "title": "How to Deal with Spam",
            "snippet": "How to Deal with Spam Spam has increasingly become a problem on the Internet. While every Internet user receives some spam, email addresses posted to web sites or in newsgroups and chat rooms attract the most spam. To reduce the amount of spam you receive: Don't reply to spam Be careful releasing your email address, and know how it will be used ",
            "score": 7,
            "tags": [],
            "number": "KB0000011"
          },
          {
            "link": "?id=kb_article_view&sys_kb_id=c85cd2519f77230088aebde8132e70c2",
            "id": "kb_knowledge:c85cd2519f77230088aebde8132e70c2",
            "title": "Microsoft Outlook Issues",
            "snippet": "Microsoft Outlook Issues This article explains how to use automatic replies in Outlook 2010 for Exchange accounts. Setting Up Automatic Replies Click the File tab. Click Automatic Replies. Select Send automatic replies. If desired, select the Only send during this time range check box to schedule when your out of office replies are active. If yo",
            "score": 6,
            "tags": [],
            "number": "KB99999999"
          }
        ]
      }
    }