API d’ingestion de contenu externe

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 19 minutes de lecture
  • L’API d’ingestion de contenu externe fournit des points de terminaison qui permettent l’ingestion de contenu provenant de sources extérieures à votre ServiceNow® instance dans l’index de l’application ServiceNow® Recherche IA .

    API d’ingestion de contenu externe – DELETE /ais/external_content/deleteByQuery/{schema_table_name}

    Supprime de l’index Recherche IA tous les documents externes qui correspondent à la requête spécifiée.

    Format d'URL

    URL versionnée : /api/now/{api_version}/ais/external_content/deleteByQuery/{schema_table_name} ?query={query}

    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

    schema_table_name

    Nom de la table de schéma de contenu externe qui définit le schéma des documents indexés à supprimer. Par exemple, u_ext_content.

    Type de données : chaîne

    Tableau 2. Paramètres de requête
    Nom Description
    query

    Requête d’échappement d’URL valide pour la table de schéma spécifiée par schema_table_name. Par exemple, title=Introduction pour interroger des documents dont le titre est Introduction.

    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. Prend uniquement en charge 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.
    400 Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté.
    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 de corps de réponse (JSON ou XML)

    Nom Description
    erreur

    Objet décrivant l’erreur rencontrée lors du traitement de la demande.

    Type de données : objet

    "error": {
      "detail": "String",
      "message": "String"
    }
    erreur.détail

    Détails de l’erreur rencontrée lors du traitement de la demande.

    Type de données : chaîne

    message d’erreur

    Message de l’erreur rencontrée lors du traitement de la demande.

    Type de données : chaîne

    résultat

    Résultat d’une demande traitée avec succès.

    Type de données : chaîne

    statut

    État d’une demande ayant échoué.

    Valeurs valides :
    • failure

    Type de données : chaîne

    Demande cURL

    Supprimez les documents avec des valeurs de champ de titre Introduction et Rapport du 31 octobre 2020 de la table de schéma u_ext_content.

    curl "https://instance.service-now.com/api/now/v2/ais/external_content/deleteByQuery/u_ext_content?query=title%3DIntroduction%20OR%20title%3DReport%20for%2031%20October%202020" \
    --request DELETE \
    --user "username":"password" \
    --header "Accept: application/json"
    {
      "result": "Delete By Query Successfully Executed"
    }

    API d’ingestion de contenu externe – DELETE /ais/external_content/deleteDocument/{schema_table_name}/{document_id}

    Supprime de l’index Recherche IA le document externe avec un identificateur unique spécifié.

    Format d'URL

    URL versionnée : /api/now/{api_version}/ais/external_content/deleteDocument/{schema_table_name}/{document_id}

    Paramètres de demande pris en charge

    Tableau 7. Paramètres de chemin d'accès
    Paramètre 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

    document_id

    L’identificateur unique du document externe à supprimer. Par exemple, ADMIN-2027858531-16.

    Type de données : chaîne

    schema_table_name

    Nom de la table de schéma de contenu externe qui définit le schéma du document indexé à supprimer. Par exemple, u_ext_content.

    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. Prend uniquement en charge application/json.
    Tableau 11. 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 12. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    400 Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté.
    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 de corps de réponse (JSON ou XML)

    Élément Description
    erreur

    Objet décrivant l’erreur rencontrée lors du traitement de la demande.

    Type de données : objet

    "error": {
      "detail": "String",
      "message": "String"
    }
    erreur.détail

    Détails de l’erreur rencontrée lors du traitement de la demande.

    Type de données : chaîne

    message d’erreur

    Message de l’erreur rencontrée lors du traitement de la demande.

    Type de données : chaîne

    résultat

    Résultat d’une demande traitée avec succès.

    Type de données : chaîne

    statut

    État d’une demande ayant échoué.

    Valeurs valides :
    • failure

    Type de données : chaîne

    Demande cURL

    Supprimez le document avec l’identificateur ADMIN-2587918521-27 de la table de schémas u_ext_content.

    curl 'https://instance.service-now.com/api/now/v2/ais/external_content/deleteDocument/u_ext_content/ADMIN-2587918521-27' \
    --request DELETE \
    --user 'username':'password' \
    --header 'Accept: application/json'
    {
      "result":"Document removed"
    }

    API d’ingestion de contenu externe – POST /ais/external_content/ingestDocument/{schema_table_name}

    Envoie une liste de documents externes au programme de traitement par lots d’ingestion pour indexation Recherche IA . Une fois l’indexation terminée, le contenu des documents ingérés devient consultable.

    Vous pouvez utiliser ce point de terminaison pour alimenter des documents externes avec du contenu textuel et des métadonnées.

    Si vous avez besoin d’associer du contenu binaire interrogeable et des métadonnées à un document externe, procédez comme suit :
    1. Stockez le contenu binaire à Recherche IA l’aide du point de terminaison POST /ais/external_content/storeContent . Enregistrez la valeur du paramètre du corps de la result réponse.
    2. Envoyez le document externe à l’aide de ce point de Recherche IA terminaison. Définissez le paramètre de corps de la demande du document pour qu’il corresponde à la valeur du paramètre de corps de content_pointer réponse enregistré result .
    Au cours de l’ingestion, Recherche IA analyse le contenu binaire et ajoute son contenu consultable à l’enregistrement indexé qui représente le document externe. L’analyse supprime l’objet de contenu stocké.

    Format d'URL

    URL versionnée : /api/now/{api_version}/ais/external_content/ingestDocument/{schema_table_name}

    Paramètres de demande pris en charge

    Tableau 13. Paramètres de chemin d'accès
    Paramètre 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

    schema_table_name

    Nom de la table de schéma de contenu externe qui définit le schéma des documents externes dans la demande. Par exemple, u_ext_content.

    Type de données : chaîne

    Tableau 14. Paramètres de requête
    Nom Description
    Néant
    Tableau 15. Paramètres de corps de demande (XML ou JSON)
    Élément Description
    [tableau]

    Requis. Tableau sans nom d’objets dans lequel chaque objet représente un document externe à ingérer pour l’indexation.

    Type de données : tableau

    [
      {
        "content_pointer": "String",
        "document_id": "String",
        "principals": {Object},
        "properties": {Object}
      }
    ]
    [tableau].content_pointer
    Identificateur d’une instance de contenu binaire stockée à l’aide du point de terminaison POST /ais/external_content/storeContent . Au cours de l’ingestion, Recherche IA analyse le contenu binaire et ajoute son contenu consultable à l’enregistrement indexé qui représente le document externe. L’analyse supprime l’objet de contenu stocké.
    Remarque :
    Cet identificateur doit correspondre à l’élément de corps de réponse result renvoyé par le point de terminaison storeContent .

    Type de données : chaîne

    [tableau].document_id

    Requis. Identificateur unique pour le document externe dans la table de schéma de contenu externe spécifiée par le paramètre path schema_table_name .

    Remarque :
    Lorsque vous ingérez un document, il écrase tout document existant dans la même table de schéma de contenu externe qui a le même document_idfichier . Si deux documents ou plus de la même demande d’ingestion ont le même document_id, la demande échoue.

    Type de données : chaîne

    [tableau].principaux
    Objet contenant des paires clé-valeur qui décrivent les autorisations d’accès du document externe pour les principaux de sécurité définis en externe (utilisateurs et groupes).
    Remarque :

    Si vous omettez ce paramètre pour un document, la demande aboutit, mais Recherche IA rejette le document avec le message de commentaire d’ingestion Le principal du document est manquant.

    Si cet objet de paramètre n’inclut aucune paire clé-valeur qui accorde l’accès à un document, la demande aboutit, mais Recherche IA rejette le document avec le message de commentaire d’ingestion Le principal du document n’est pas valide.

    Type de données : objet

    "principals": {
      "everyone": Boolean,
      "groups.deny": [Array],
      "groups.read": [Array],
      "none": Boolean,
      "users.deny": [Array],
      "users.read": [Array]
    }

    Versions prises en charge : Disponible à partir de la v2 de l’API.

    [tableau].principals.tout le monde
    Marqueur indiquant si l’accès au document externe est autorisé pour tous les utilisateurs. Lorsque ce paramètre est défini sur true, tous les Now Platform utilisateurs peuvent afficher l’enregistrement indexé créé à partir du document.
    Remarque :
    Si vous définissez à la fois ce paramètre et celui d’un document, la demande aboutit, mais Recherche IA rejette le document avec un message de commentaire d’ingestion Le principal du document n’est pas valide.true[array].principals.none Vous ne pouvez définir qu’un seul de ces deux paramètres true dans une demande.
    Valeurs valides :
    • true: autorisez l’accès au document pour tous les utilisateurs. Recherche IA ignore tout [array].principals.groups.* et [array].principals.users.* les paramètres du document.
    • false: ne permet pas à tous les utilisateurs d’accéder au document externe. Les utilisateurs ne peuvent accéder au document que si [array].principals.none la valeur est définie sur faux et si elle est autorisée par l’interaction de leurs mappages d’utilisateurs et des [array].principals.groups.* paramètres et [array].principals.users.* .

    Type de données : booléennes

    Valeur par défaut : true

    Versions prises en charge : Disponible à partir de la v2 de l’API.

    [tableau].principals.groups.deny

    Tableau de chaînes où chaque chaîne est le nom d’un groupe défini en externe auquel l’accès au document externe est refusé. Now Platform Les utilisateurs mappés à l’un de ces groupes externes ne peuvent pas afficher l’enregistrement de résultats de recherche indexé créé à partir du document.

    Si l’un ou l’autre [array].principals.everyone[array].principals.none est défini sur true, ce paramètre n’a aucun effet.

    Ce paramètre est prioritaire sur [array].principals.groups.read. Si le même utilisateur est mappé à des groupes externes avec des autorisations d’accès en lecture et de refus d’accès à un document, Recherche IA l’accès à l’enregistrement indexé est refusé à cet utilisateur.

    Par défaut, [array].principals.users.read a priorité sur ce paramètre. Pour inverser cet ordre de priorité pour une source indexée, consultez Modifier la priorité de lecture de l’utilisateur et Regrouper les autorisations de refus pour une source indexée de contenu externe.

    Type de données : tableau

    Les valeurs peuvent être dans n’importe quel format, en fonction des noms des groupes définis en externe spécifiés. Exemples :

    "groups.deny": [
      "hr-admin",
      "legal"
    ]

    Versions prises en charge : Disponible à partir de la v2 de l’API.

    [array].principals.groups.read

    Tableau de chaînes où chaque chaîne est le nom d’un groupe défini en externe qui est autorisé à accéder au document externe. Now Platform Les utilisateurs mappés à l’un de ces groupes externes peuvent afficher l’enregistrement de résultats de recherche indexé créé à partir du document.

    Si l’un ou l’autre [array].principals.everyone[array].principals.none est défini sur true, ce paramètre n’a aucun effet.

    [array].principals.groups.deny a priorité sur ce paramètre. Si le même utilisateur est mappé à des groupes externes avec des autorisations d’accès en lecture et de refus d’accès à un document, Recherche IA l’accès à l’enregistrement indexé est refusé à cet utilisateur.

    Type de données : tableau

    Les valeurs peuvent être dans n’importe quel format, en fonction des noms des groupes définis en externe spécifiés. Exemples :

    "groups.read": [
      "devops",
      "it",
      "report-admins"
    ]

    Versions prises en charge : Disponible à partir de la v2 de l’API.

    [array].principals.none
    Option booléenne indiquant si l’accès au document externe est refusé à tous les utilisateurs. Lorsque ce paramètre est défini sur true, seuls Now Platform les utilisateurs disposant du rôle de ais_high_security_admin privilège élevé peuvent afficher l’enregistrement indexé créé à partir du document.
    Remarque :
    Si vous définissez à la fois ce paramètre et celui d’un true document, Recherche IA le document est rejeté lors de l’ingestion avec un message d’erreur Le principal du document n’est pas valide.[array].principals.everyone Vous ne pouvez définir qu’un seul de ces deux paramètres true dans une demande.
    Valeurs valides :
    • true: refusez l’accès au document à tous les utilisateurs, à l’exception de ceux ayant le rôle de ais_high_security_admin privilège élevé. Recherche IA ignore tout [array].principals.groups.* et [array].principals.users.* les paramètres du document.
    • false: ne refusez pas l’accès au document à tous les utilisateurs. Les utilisateurs peuvent accéder au document s’il [array].principals.everyone est défini sur true, ou s’il est autorisé par l’interaction de leurs mappages d’utilisateurs et des [array].principals.groups.read paramètres et [array].principals.users.read .

    Type de données : booléennes

    Valeur par défaut : false

    Versions prises en charge : Disponible à partir de la v2 de l’API.

    [tableau].principals.users.deny

    Tableau de chaînes où chaque chaîne est le nom d’un utilisateur défini en externe auquel l’accès au document externe est refusé. Now Platform Les utilisateurs mappés à l’un de ces utilisateurs externes ne peuvent pas afficher l’enregistrement de résultats de recherche indexé créé à partir du document.

    Si l’un ou l’autre [array].principals.everyone[array].principals.none est défini sur true, ce paramètre n’a aucun effet.

    Ce paramètre est prioritaire sur [array].principals.users.read. Si le même utilisateur est mappé à des utilisateurs externes avec des autorisations d’accès en lecture et de refus d’accès à un document, Recherche IA l’accès à l’enregistrement indexé est refusé à cet utilisateur.

    Type de données : tableau

    Les valeurs peuvent être dans n’importe quel format, en fonction des noms des utilisateurs définis en externe spécifiés. Exemples :

    "users.deny": [
      "ad\bow-ruggeri",
      "abel-tuter@sharepoint"
    ]

    Versions prises en charge : Disponible à partir de la v2 de l’API.

    [array].principals.users.read

    Tableau de chaînes où chaque chaîne est le nom d’un utilisateur défini en externe qui est autorisé à accéder au document externe. Now Platform Les utilisateurs mappés à l’un de ces utilisateurs externes peuvent afficher l’enregistrement de résultats de recherche indexé créé à partir du document.

    Si l’un ou l’autre [array].principals.everyone[array].principals.none est défini sur true, ce paramètre n’a aucun effet.

    [array].principals.users.deny a priorité sur ce paramètre. Si le même utilisateur est mappé à des utilisateurs externes avec des autorisations d’accès en lecture et de refus d’accès à un document, Recherche IA l’accès à l’enregistrement indexé est refusé à cet utilisateur.

    Par défaut, ce paramètre est prioritaire sur [array].principals.groups.deny. Pour inverser cet ordre de priorité pour une source indexée, consultez Modifier la priorité de lecture de l’utilisateur et Regrouper les autorisations de refus pour une source indexée de contenu externe.

    Type de données : tableau

    Les valeurs peuvent être dans n’importe quel format, en fonction des noms des utilisateurs définis en externe spécifiés. Exemples :

    "users.read": [
      "ad\abel-tuter",
      "beth-anglin@sharepoint"
    ]

    Versions prises en charge : Disponible à partir de la v2 de l’API.

    [tableau].propriétés

    Objet contenant des paires nom-valeur où chaque paire représente un nom de champ et une valeur à ingérer pour le document. Tous les noms et valeurs de champs doivent être spécifiés sous forme de chaînes.

    Après l’ingestion, ces valeurs de champ de document sont accessibles via la source indexée définie pour la table de schéma de contenu externe spécifiée par le schema_table_name paramètre path. Les utilisateurs peuvent rechercher ces valeurs de champ dans des sources de recherche dérivées de cette source indexée.

    Type de données : objet

    Les noms de champs ne peuvent contenir que des lettres minuscules et des traits de soulignement. Les valeurs peuvent inclure n’importe quel caractère. La longueur de la valeur est limitée par l’attribut max_length défini pour le champ dans la table de schéma de contenu externe. Voici quelques exemples de paires nom-valeur de champ :

    "properties": {
      "creation_date": "2020-11-03 12:27:43",
      "file_size": "10285",
      "title": "Introduction",
      "url": "file:///myhost/reports/Introduction.pdf"
    }

    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 16. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Prend uniquement en charge application/json.
    Content-Type Format de données du corps de la demande. Prend uniquement en charge application/json.
    Tableau 17. 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 18. Codes d'état
    Code d'état Description
    200 Réussi. La demande a été correctement traitée.
    202 Réussite partielle. La demande a été traitée. Certains documents comportent des messages d’erreur ou d’avertissement concernant les commentaires d’ingestion.
    400 Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté.
    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 de corps de réponse (JSON ou XML)

    Nom Description
    erreur

    Objet décrivant l’erreur rencontrée lors du traitement de la demande.

    Type de données : objet

    "error": {
      "detail": "String",
      "message": "String"
    }
    erreur.détail

    Détails de l’erreur rencontrée lors du traitement de la demande.

    Type de données : chaîne

    message d’erreur

    Message de l’erreur rencontrée lors du traitement de la demande.

    Type de données : chaîne

    résultat

    Chaîne au format JSON représentant l’objet de résultat de la demande d’ingestion.

    Type de données : chaîne

    "result": "{\"duration_in_ms\": Number, \"feedback\": [Array] }"
    result.duration_in_ms

    Temps passé à ingérer les documents externes.

    Type de données : nombre

    Unité : millisecondes

    result.feedback

    Tableau d’objets dans lequel chaque objet représente un commentaire pour un document ingéré à partir du corps de la demande.

    Type de données : tableau

    "feedback": [
      {
        "document_id": "String",
        "messages": [Array]
      }
    ]
    result.feedback.document_id

    Identificateur unique du document externe, tel que spécifié dans le corps de la demande.

    Type de données : chaîne

    result.feedback.messages

    Tableau d’objets sans nom dans lequel chaque objet représente un message de commentaire d’ingestion journalisé lors de l’indexation du document externe.

    Type de données : tableau

    "messages": [
      {
        "code": "String",
        "component": "String",
        "level": "String",
        "message": "String"
      }
    ]
    result.commentaires.messages.code

    Code pour une exception levée par le composant de workflow d’indexation qui a journalisé le message de commentaire d’ingestion.

    Type de données : chaîne

    result.feedback.messages.component

    Identificateur du composant de workflow d’indexation qui a journalisé le message de commentaire d’ingestion.

    Type de données : chaîne

    result.feedback.messages.level

    Niveau de journalisation du message de commentaire d’ingestion.

    Valeurs valides :
    • ERROR
    • INFO
    • MINOR_ERROR
    • WARN

    Type de données : chaîne

    result.feedback.messages.message

    Texte enregistré pour le message de commentaire d’ingestion.

    Type de données : chaîne

    statut

    État d’une demande ayant échoué.

    Valeurs valides :
    • failure

    Type de données : chaîne

    Ordre de priorité des autorisations principales

    L’ordre de priorité des [array].principals autorisations dépend de la valeur de l’attribut de la user_read_takes_precedence_over_group_deny source indexée utilisée pour ingérer un document externe.
    Valeur d'attribut Ordre de priorité des autorisations principales
    VRAI
    De la priorité la plus élevée à la plus basse :
    1. [array].principals.everyone, [array].principals.none
    2. [array].principals.users.deny
    3. [array].principals.users.read
    4. [array].principals.groups.deny
    5. [array].principals.groups.read
    Remarque :
    Il s’agit de la valeur d’attribut par défaut pour les sources indexées de contenu externe.
    faux
    De la priorité la plus élevée à la plus basse :
    1. [array].principals.everyone, [array].principals.none
    2. [array].principals.users.deny, [array].principals.groups.deny
    3. [array].principals.users.read, [array].principals.groups.read
    Remarque :
    Pour obtenir des instructions sur la définition de cette valeur d’attribut, consultez Modifier la priorité des autorisations de lecture utilisateur et de refus de groupe pour une source indexée de contenu externe.

    Demande cURL

    Alimentez deux documents externes (avec des pointeurs de contenu vers des objets de contenu binaires précédemment stockés à l’aide du point de terminaison POST /ais/external_content/storeContent ) pour l’indexation dans la table de schémas u_ext_content.

    curl 'https://instance.servicenow.com/api/now/v2/ais/external_content/ingestDocument/u_ext_content' \
      --request POST \
      --user 'username':'password' \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
      --data '[
      {
        "document_id": "ADMIN-2027858531-16",
        "content_pointer": "749b52a1-baa8-4556-a4f3-00404c95e6a8",
        "properties": {
          "title": "Introduction",
          "url": "file:///myhost/reports/Introduction.pdf",
          "file_name": "Introduction.pdf",
          "file_size": "10285",
          "creation_date": "2020-11-01 12:27:43"
        },
        "principals": {
          "everyone": false,
          "groups.read": [
            "report-users",
            "report-admins"
          ],
          "users.deny": [
            "ad\abel-tuter"
          ]
        }
      },
      {
        "document_id": "ADMIN-2587918521-27",
        "content_pointer": "bd605435-268b-464f-a7c3-0c5ea894a5c2",
        "properties": {
          "title": "Report for 31 August 2020",
          "url": "file:///myhost/reports/Report-2020-08-31.pdf",
          "file_size": "27597",
          "creation_date": "2020-09-01 12:48:13"
        },
        "principals": {
          "everyone": false,
          "groups.read": [
            "report-users",
            "report-admins"
          ],
          "users.read": [
            "ad\beth-anglin"
          ]
        }
      }
    ]'
    {
      "result":"{\"duration_in_ms\":3822,\"feedback\":[{\"messages\":[{\"level\":\"INFO\",\"message\":\"CREATED\",\"component\":\"init\"},{\"level\":\"INFO\",\"message\":\"OK\",\"component\":\"index-886de18e750030108b23bcd69cdc2dd3-indexer.index-886de18e750030108b23bcd69cdc2dd3-content-dispatcher\"},{\"level\":\"INFO\",\"message\":\"COMPLETED\",\"component\":\"sink.sink\"}],\"document_id\":\"ADMIN-2027858531-16\"},{\"messages\":[{\"level\":\"INFO\",\"message\":\"CREATED\",\"component\":\"init\"},{\"level\":\"WARN\",\"message\":\"field \\u0027text\\u0027 tokens exceed index.maxTokens\",\"code\":\"INDEX_ENGINE-32\",\"component\":\"ingestGlideDocument.standardAnalyzer\"},{\"level\":\"INFO\",\"message\":\"OK\",\"component\":\"index-886de18e750030108b23bcd69cdc2dd3-indexer.index-886de18e750030108b23bcd69cdc2dd3-content-dispatcher\"},{\"level\":\"INFO\",\"message\":\"COMPLETED\",\"component\":\"sink.sink\"}],\"document_id\":\"ADMIN-2587918521-27\"}]}"
    }

    API d’ingestion de contenu externe : POST ais/external_content/storeContent

    Stocke du contenu binaire en tant qu’objet de contenu dans Recherche IA.

    Vous pouvez associer du contenu binaire stocké à un document externe en procédant comme suit :
    1. Stockez le contenu binaire à l’aide de ce point de terminaison. Enregistrez la valeur du paramètre du corps de la result réponse.
    2. Envoyez le document externe à Recherche IA l’aide du point de terminaison POST /ais/external_content/ingestDocument/{schema_table_name} . Définissez le paramètre de corps de la demande du document pour qu’il corresponde à la valeur du paramètre de corps de content_pointer réponse enregistré result .
    Au cours de l’ingestion, Recherche IA analyse le contenu binaire et ajoute son contenu consultable à l’enregistrement indexé qui représente le document externe. L’analyse supprime l’objet de contenu stocké.

    Format d'URL

    URL versionnée : /api/now/{api_version}/ais/external_content/storeContent

    Paramètres de demande pris en charge

    Tableau 19. Paramètres de chemin d'accès
    Paramètre 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 20. Paramètres de requête
    Nom Description
    Néant
    Tableau 21. Paramètres de corps de demande
    Élément Description
    [données binaires] Requis. Contenu binaire à stocker en tant qu’objet de contenu dans Recherche IA.

    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. Prend uniquement en charge application/json.
    Type de contenu

    Format de données du corps de la demande.

    Valeurs valides :
    • application/msword
    • application/octet-stream
    • application/pdf
    • application/vnd.ms-excel
    • application/vnd.ms-powerpoint
    • application/vnd.ms-powerpoint.presentation.macroenabled.12
    • application/vnd.openxmlformats-officedocument.presentationml.presentation
    • application/vnd.openxmlformats-officedocument.presentationml.template
    • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    • application/vnd.openxmlformats-officedocument.wordprocessingml.document
    • application/vnd.openxmlformats-officedocument.wordprocessingml.template
    • text/html
    • text/plain
    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.
    400 Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté.
    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 de corps de réponse (JSON ou XML)

    Élément Description
    erreur

    Objet décrivant l’erreur rencontrée lors du traitement de la demande.

    Type de données : objet

    "error": {
      "detail": "String",
      "message": "String"
    }
    erreur.détail

    Détails de l’erreur rencontrée lors du traitement de la demande.

    Type de données : chaîne

    message d’erreur

    Message de l’erreur rencontrée lors du traitement de la demande.

    Type de données : chaîne

    résultat

    Identificateur de l’objet de contenu binaire stocké par la demande réussie.

    Type de données : chaîne

    "result" : "91841766-2a5f-4c64-a20a-27ca485eca21"
    Remarque :
    Pour joindre le contenu stocké à un document externe ingéré, spécifiez cet identificateur en tant qu’élément de corps de demande content_pointer pour une demande au point de terminaison ingestDocument .
    statut

    État d’une demande ayant échoué.

    Valeurs valides :
    • failure

    Type de données : chaîne

    Demande cURL

    Stockez le contenu binaire d’un fichier PDF en tant qu’objet de contenu.

    curl 'https://instance.servicenow.com/api/now/v2/ais/external_content/storeContent' \
    --request POST \
    --user 'username':'password' \
    --header 'Content-Type: application/pdf' \
    --data-binary '@Report-2020-08-31.pdf'

    Le corps de la réponse inclut l’identificateur unique du nouvel objet de contenu.

    {
      "result" : "fb439a4f-62ad-4dab-9654-5088d99a6ff9"
    }