API REST Gestion des connaissances

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 27 minutes de lecture
  • L’API Knowledge Management fournit des points de terminaison pour rechercher, afficher et extraire les 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 dans Orlando 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 la version 1.0.1 et les versions ultérieures, l’API a été rendue modifiable, ce qui a permis 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é des services REST scriptés associé à l’API.

    Pour permettre à d’autres domaines d’utiliser les points de terminaison de REST API Gestion des connaissances , définissez une règle de partage des ressources d’origine croisée (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 champ d’application sn_km_api à partir du champ d’application 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 taux de 500 par heure pour les utilisateurs non authentifiés et snc_external. Pour plus d’informations sur la limitation des débits, consultez Limitation des débits de l’API REST entrante.

    Gestion des connaissances : GET /connaissances/articles

    Renvoie une liste d’articles de la base de connaissances (KB) qui peuvent être recherchés et filtrés à 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

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    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. Par 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 logiquement ET d’elles.
      • ^OU : vous permet de spécifier plus d’une condition et logiquement OU.
      • 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 à comparer.

    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

    Valeur par défaut : vide

    champs Liste de champs séparés par des virgules de la table des 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] à laquelle 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 « tout » 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 offset récupération de l’enregistrement.

    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 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 Le 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 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 la 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 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.<field_name>.display_value Valeur d’affichage du champ demandé.

    Type de données : chaîne

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

    Type de données : chaîne

    articles.fields.<field_name>.name Nom du champ demandé. Correspondances <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.fields.<field_name>.value 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

    Articles.Number Numéro de l’article de la base de connaissances.

    Type de données : chaîne

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

    Type de données : nombre (flottant)

    Articles.Extrait 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 ordre décroissant par score.

    Type de données : chaîne

    articles.title 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"
    }
    méta.nombre Nombre d’articles de la base de connaissances disponibles.

    Type de données : nombre

    méta.fin Index de fin du jeu de résultats.

    Type de données : nombre

    méta.champs Champs dans l’article.

    Type de données : chaîne

    méta.filtre 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

    méta.langage Liste des langues séparées par des virgules des articles de la base de connaissances demandés.

    Type de données : chaîne

    méta.requête 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

    méta.statut Statut 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}

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    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. Par 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 contenant la pièce jointe que vous souhaitez récupérer.

    Type de données : chaîne

    Table : Bases de connaissances [kb_knowledge]

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

    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 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 spécifique d’article de la base de connaissances 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}

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    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. Par 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 Numéro Sys_id ou de base de connaissances (KB) d’un article de la base de connaissances.

    Type de données : chaîne

    Table : Connaissances [kb_knowledge]

    Tableau 20. Paramètres de requête
    Nom Description
    champs Liste de champs séparés par des virgules de la table des 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 d’article de la base de connaissances comme numéro d’article id de la 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 id définition du paramètre comme numéro de la base de connaissances (et non sys_id).

    Type de données : chaîne

    search_id Facultatif sauf si vous utilisez search_rank. Identificateur unique de la recherche qui a renvoyé cet article.

    La transmission du paramètre and search_rank permet d’incrémenter search_id le nombre de vues de l’article et d’enregistrer une entrée pour l’article dans la table Utilisation de la base de connaissances [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 des 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 Mettre à jour, afficher, compter et enregistrer 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 défini sur vrai.
    Remarque :
    Si vous transmettez update_view avec search_id et search_rank, update_view est ignoré car le nombre de vues sera 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 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 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 la 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 d’objets

    "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.
    • vrai : 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 d’objets

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

    Type de données : chaîne

    embedded_content.taille_octets 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}
    }
    fields.<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"
    }
    fields.<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

    nom.<field_name>.champs Nom du champ demandé. Correspondances <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 actuel (si une traduction est disponible).

    Type de données : chaîne

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

    Type de données : tableau

    langues.étiquette Représentation sous forme 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 de 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 :
    • vrai : L’article est un modèle.
    • faux : L’article n’est pas un modèle.

    Type de données : booléennes

    template_table Nom de la table de modèles, renvoyé 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 connaissances/articles/most_viewed

    Renvoie une liste des articles de la base de connaissances classés par ordre de priorité des 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

    Remarque :
    Les versions disponibles sont spécifiées dans l’explorateur d’API REST. Pour les API REST basées sur un script, des informations de version supplémentaires sont disponibles sur le formulaire Service REST scripté.

    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. Par 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 des 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] à laquelle 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 « tout » 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 offset récupération de l’enregistrement.

    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 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 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 la 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 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.<field_name>.display_value Valeur d’affichage du champ demandé.

    Type de données : chaîne

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

    Type de données : chaîne

    articles.fields.<field_name>.name 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.fields.<field_name>.value 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

    Articles.Number Numéro de l’article de la base de connaissances.

    Type de données : chaîne

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

    Type de données : Flottant

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

    Type de données : chaîne

    Articles.Extrait Texte montrant une petite partie de l’article de la base de connaissances.

    Type de données : chaîne

    articles.title 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"
    }
    méta.nombre Nombre d’articles de la base de connaissances disponibles.

    Type de données : nombre

    méta.fin Index de fin du jeu de résultats.

    Type de données : nombre

    méta.champs Champs dans l’article.

    Type de données : chaîne

    méta.filtre 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

    méta.langage Liste des langues séparées par des virgules des articles de la base de connaissances demandés.

    Type de données : chaîne

    méta.requête 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

    méta.statut É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"
          }
        ]
      }
    }