API de récupération de données JSON

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 3 minutes de lecture
  • Interrogez les données en émettant une demande HTTPS GET à l’instance.

    Par défaut, une demande GET est interprétée comme une fonction get si un sysparm_sys_id paramètre est présent. Sinon, il est interprété comme une fonction getRecords. Vous pouvez également spécifier un paramètre sysparm_action=getd’URL . Les réponses à la requête sont toujours encapsulées par un hachage d’enregistrements, où les valeurs de chaque enregistrement sont elles-mêmes hachées par nom de champ.

    Renvoyer la valeur d’affichage pour les variables de référence

    Lorsque vous obtenez un enregistrement à partir d’une fonction get ou getRecords, tous les champs associés à cet enregistrement sont renvoyés. Les champs sont souvent des champs de référence qui contiennent une sys_id pour une autre table. Le comportement de base du système consiste à renvoyer la valeur sys_id pour ces champs. Pour que la valeur d’affichage du champ soit renvoyée, utilisez l’une des options suivantes :
    • Ajoutez la propriété glide.json.return_displayValue aux propriétés système, et chaque demande JSON renvoie une valeur d’affichage pour un champ de référence.
    • Ajoutez le paramètre displayvalue=true à l’URL de la demande JSON et les demandes JSON avec ce paramètre renvoient une valeur d’affichage au lieu de la sys_id d’un champ de référence. L’URL JSON ressemblerait à ceci :
      https://<instance name>.service-now.com/incident.do?JSON&sysparm_action=getRecords&sysparm_query=active=true^category=hardware&displayvalue=true
      
    • Ajoutez le paramètre displayvalue=all à l’URL de la demande JSON et les demandes JSON avec ce paramètre renvoient une valeur d’affichage et l’sys_id d’un champ de référence. Le nom de l’élément de réponse pour le champ de valeur d’affichage sera précédé d’un dv_, par exemple dv_caller_id.

    Obtenir les variables

    Utilisez le displayvariables paramètre de requête pour renvoyer un tableau de variables associées à un Catalogue de services enregistrement d’élément. Pour obtenir des variables, ajoutez le paramètre displayvariables=true à l’URL de la demande JSON. Par exemple, voici une URL pour récupérer un enregistrement au format JSON qui inclut des Catalogue de services variables :

    https://<your-instance>.servicenow.com/sc_req_item.do?JSONv2&sysparm_action=getRecords&sysparm_query=sys_id=5018da81742bd410f8771974894916fe&displayvariables=true
    Voici l’exemple de réponse qui affiche un jeu de variables à plusieurs lignes de l’enregistrement :
    {
       "records":[
          {
             …
             "variables":[
                {
                   "display_value":[
                      {
                         "quantity":"1",
                         "color":"Black",
                         "device_type":"Apple iPhone 8",
                         "storage":"64GB"
                      },
                      {
                         "quantity":"1",
                         "color":"Black",
                         "device_type":"Apple iPhone 8",
                         "storage":"64GB"
                      }
                   ],
                   "columns_meta":[
                      {
                         "name":"device_type",
                         "label":"Device Type",
                         "id":"da7d3f3241411300964ff05369414eca",
                         "type":5,
                         "order":"0"
                      },
                      {
                         "name":"storage",
                         "label":"Storage",
                         "id":"691e337241411300964ff05369414e31",
                         "type":5,
                         "order":"1"
                      },
                      {
                         "name":"color",
                         "label":"Color",
                         "id":"e89fb77241411300964ff05369414e74",
                         "type":5,
                         "order":"2"
                      },
                      {
                         "name":"quantity",
                         "label":"Quantity",
                         "id":"2d5f737241411300964ff05369414eaf",
                         "type":5,
                         "order":"3"
                      }
                   ],
                   "max_rows":50,
                   "name":"mobile_devices_set",
                   "id":"e84d3f3241411300964ff05369414e3e",
                   "type":"one_to_many",
                   "value":[
                      {
                         "quantity":"1",
                         "color":"black",
                         "device_type":"iphone8",
                         "storage":"64GB"
                      },
                      {
                         "quantity":"1",
                         "color":"black",
                         "device_type":"iphone8",
                         "storage":"64GB"
                      }
                   ],
                   "row_count":2
                },
                {
                   "question_text":"Department",
                   "name":"department",
                   "type":8,
                   "value":"Development",
                   "order":100
                },
                {
                   "question_text":"Who is this request for?",
                   "name":"requested_for",
                   "type":8,
                   "value":"System Administrator",
                   "order":100
                },
                {
                   "question_text":"When do you need this?",
                   "name":"needed_by",
                   "type":5,
                   "value":"Today",
                   "order":200
                },
                {
                   "question_text":"Business Justification",
                   "name":"business_justification",
                   "type":2,
                   "value":"Example justification",
                   "order":200
                }
             ],
           …
          }
       ]
    }

    Les clés de la réponse sont définies comme suit :

    Clé Description
    display_value Valeur d’affichage de la question du jeu de variables de plusieurs lignes. Uniquement renvoyé avec des jeux de variables à plusieurs lignes.
    columns_meta Tableau de métadonnées de jeu de variables de plusieurs lignes, telles que le sys_id et le nom du champ. Uniquement renvoyé lorsque la variable contient plusieurs champs.
    max_rows Nombre maximal de lignes autorisées dans le jeu de variables à plusieurs lignes. Uniquement renvoyé avec des jeux de variables à plusieurs lignes.
    nom Nom de la question.
    id Sys_id du jeu de variables de plusieurs lignes. Uniquement renvoyé avec des jeux de variables à plusieurs lignes.
    type Type de question.
    valide Valeur de la question.
    row_count Nombre actuel de lignes dans le jeu de variables à plusieurs lignes. Uniquement renvoyé avec des jeux de variables à plusieurs lignes.
    question_text Étiquette des questions. Uniquement renvoyé avec des jeux de variables d’une seule ligne.
    order Ordre de la question.

    Contrôler l’ordre des enregistrements

    Vous pouvez contrôler l’ordre dans lequel les enregistrements apparaissent dans la réponse JSON. Pour définir un ordre, utilisez les clauses ORDERBY ou ORDERBYDESC dans la requête codée URL. Par exemple :

    sysparm_query=active=true^ORDERBYnumber^ORDERBYDESCcategory

    filtre tous les enregistrements actifs et classe les résultats par ordre croissant par numéro d’abord, puis par ordre décroissant par catégorie. Pour plus d’informations, consultez Chaînes de requête codées.

    getKeys

    Obtenez la sys_id de plusieurs enregistrements en spécifiant une chaîne de requête codée dans le sysparm_query paramètre.
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=getKeys&sysparm_query=active=true^category=hardware
    

    obtenir

    Obtenez un enregistrement directement en spécifiant le sys_id dans un sysparm_sys_id paramètre.
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_sys_id=9d385017c611228701d22104cc95c371
    
    Vous pouvez également spécifier le sysparm_action paramètre :
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=get&sysparm_sys_id=9d385017c611228701d22104cc95c371
    

    getRecords

    Obtenez tous les enregistrements en spécifiant une chaîne de requête codée dans le sysparm_query paramètre.
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=getRecords&sysparm_query=active=true^category=hardware