Knowledge Management REST API

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 27 minutes de lecture
  • L’API REST Knowledge Management permet de rechercher, d’afficher et de récupérer les listes des articles de la base de connaissances les plus consultés et les plus recommandés.

    Cette API ne peut être utilisée que lorsque le module d’extension Knowledge API (sn_km_api) est activé. L’API REST Knowledge Management a été initialement publiée en Orlando utilisant l’application Knowledge API disponible dans le ServiceNow Store.

    Remarque :
    L’API REST Knowledge Management est publiquement accessible et met toute base de connaissances publiquement accessible à tous les utilisateurs, y compris aux utilisateurs non authentifiés. 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 Requiert une authentification dans l’onglet Scripted REST Service Security 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 interorigines (CORS). Pour plus d’informations, reportez-vous à la rubrique Définir une règle CORS.

    Pour afficher un article de la base de connaissances incluse dans le champ d’application à l’aide de cette API REST, autorisez l’accès en lecture au champ d’application sn_km_api à partir du champ d’application demandé 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 des taux, consultez Limitation des taux de l’API REST entrante.

    Gestion des connaissances : GET /knowledge/articles

    Renvoie une liste d’articles de la base de connaissances (KB) dans lesquels il peut être recherché et filtré à l’aide de divers 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.
    • <operator> :
      Valeurs valides :
      • = : correspond exactement à <value>.
      • != : ne correspond pas à <value>.
      • ^ : vous permet de spécifier plusieurs conditions et de spécifier logiquement ET elles.
      • ^OU : vous permet de spécifier plusieurs conditions et de les OU logiquement.
      • LIKE : &lt;attr> contient la chaîne spécifiée. Fonctionne uniquement pour les champs &lt;attr> dont les données sont de type chaîne.
      • STARTSWITH : &lt;attr> commence par la chaîne spécifiée. Fonctionne uniquement pour les champs &lt;attr> dont les données sont de type chaîne.
      • ENDSWITH : &lt;attr> se termine par la chaîne spécifiée. Fonctionne uniquement pour les champs &lt;attr> dont les données sont de type chaîne.
    • &lt;value> : valeur avec laquelle établir une correspondance.

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

    Type de données : chaîne

    Valeur par défaut : vide

    champs Liste de champs séparés par des virgules de la table 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 des bases de connaissances [kb_knowledge_base] à laquelle limiter les résultats.

    Type de données : chaîne

    langue Liste des langues séparées par des virgules au format de code de langue ISO 639-1 à deux lettres auquel 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 offset paramètre pour paginer la récupération des enregistrements.

    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

    query Texte à rechercher, peut être vide.

    Type de données : chaîne

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

    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 une 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 une 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 de 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.&lt;field_name> Répertorie chaque champ demandé à l’aide du paramètre fields, le cas échéant.

    Type de données : objet

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

    Type de données : chaîne

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

    Type de données : chaîne

    articles.champs.&lt;field_name>.name Nom du champ demandé. Allumettes <field_name>.

    Type de données : chaîne

    articles.champs.&lt;field_name>.type Type de données du champ demandé.

    Type de données : chaîne

    articles.champs.&lt;field_name>.valeur Valeur du champ demandé.

    Type de données : chaîne

    articles.id Article de la base de connaissances sys_id 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

    articles.rang Classement de l’article spécifique à cette recherche.

    Type de données : nombre (flottant)

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

    Type de données : chaîne

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

    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

    champs méta 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 (en anglais seulement) 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 qui ont été 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épart de l’ensemble 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
    Néant
    Tableau 9. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    Néant

    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 une 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 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 une 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 numéro de 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 Connaissances [kb_knowledge] pour afficher les détails dans les résultats.

    Type de données : chaîne

    Par défaut : Aucun

    langue 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 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 (non sys_id).

    Type de données : chaîne

    search_id Facultatif, sauf si vous utilisez search_rankle fichier . Identificateur unique de 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 :

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

    Type de données : chaîne

    search_rank Facultatif, sauf si vous utilisez search_idle fichier . 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]. True, qu’il soit présent en tant que paramètre autonome ou défini sur true.
    Remarque :
    Si vous transmettez update_viewsearch_id avec et search_rank, update_view est ignoré car le nombre de vues sera déjà incrémenté.

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

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

    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 une 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 une 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 de 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 une 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 de 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 Contenu HTML complet 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.
    • false : 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 les pièces jointes.

    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 de 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.&lt;field_name> Répertorie chaque champ demandé à l’aide du paramètre fields, le cas échéant.

    Type de données : objet

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

    Type de données : chaîne

    champs.&lt;field_name>.label Étiquette représentant le champ demandé. Par exemple, Connaissances.

    Type de données : chaîne

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

    Type de données : chaîne

    Champs.&lt;field_name>.Type Type de données du champ demandé.

    Type de données : chaîne

    valeur.&lt;field_name>.champs Valeur du champ demandé.

    Type de données : chaîne

    langue Code de langue ISO 639-1 à deux lettres pour l’article actuel (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 elle est traduite) :
    "languages": [
      {
        "label": "String",
        "language": "String",
        "sys_id": "String"
      }
    ]

    Type de données : tableau

    languages.label Représentation de chaîne pour la langue.

    Type de données : chaîne

    langues.langue Langage de 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 de l’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 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 demande 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 : OBTENIR des connaissances/articles/most_viewed

    Renvoie une liste d’articles de la base de connaissances classés par ordre de priorité pour 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 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 des bases de connaissances [kb_knowledge_base] à laquelle limiter les résultats.

    Type de données : chaîne

    langue Liste des langues séparées par des virgules au format de code de langue ISO 639-1 à deux lettres auquel 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 offset paramètre pour paginer la récupération des enregistrements.

    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
    Néant

    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 une 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 une 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 de 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.&lt;field_name> Répertorie chaque champ demandé à l’aide du paramètre fields, le cas échéant.

    Type de données : objet

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

    Type de données : chaîne

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

    Type de données : chaîne

    articles.champs.&lt;field_name>.name Nom du champ demandé. Correspond &lt;field_name>.

    Type de données : chaîne

    articles.champs.&lt;field_name>.type Type de données du champ demandé.

    Type de données : chaîne

    articles.champs.&lt;field_name>.valeur Valeur du champ demandé.

    Type de données : chaîne

    articles.id Article de la base de connaissances sys_id 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

    articles.rang Classement de l’article spécifique à cette recherche.

    Type de données : nombre flottant

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

    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

    champs méta 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 (en anglais seulement) 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 qui ont été 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épart de l’ensemble 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"
          }
        ]
      }
    }