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

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 3 minutes de lecture
  • Demandez des 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, elle est interprétée comme une fonction getRecords. Vous pouvez également spécifier un paramètre sysparm_action=getd’URL. Les réponses aux requêtes sont toujours encapsulées par un hachage d’enregistrements, où les valeurs de chaque enregistrement individuel 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 un sys_id pour une autre table. Le comportement du système de base 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 requête JSON renvoie une valeur d’affichage pour un champ de référence.
    • Ajoutez le paramètre displayvalue=true à l’URL de la requête JSON et les requêtes JSON avec ce paramètre renverront 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 requête 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é de dv_, par exemple dv_caller_id.

    Obtenir des variables

    Utilisez le displayvariables paramètre query 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 permettant de récupérer un enregistrement au format JSON qui inclut Catalogue de services des 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 de 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. Renvoyé uniquement avec des jeux de variables de plusieurs lignes.
    columns_meta Tableau de métadonnées des jeux de variables de plusieurs lignes, telles que le sys_id et le nom du champ. Uniquement renvoyée lorsque la variable contient plusieurs champs.
    max_rows Nombre maximal de lignes autorisées dans le jeu de variables de plusieurs lignes. Renvoyé uniquement avec des jeux de variables de plusieurs lignes.
    nom Nom de la question.
    ID Sys_id du jeu de variables de plusieurs lignes. Renvoyé uniquement avec des jeux de variables de plusieurs lignes.
    type Type de question.
    valide Valeur de la question.
    row_count Nombre actuel de lignes dans le jeu de variables de plusieurs lignes. Renvoyé uniquement avec des jeux de variables de plusieurs lignes.
    question_text Étiquette de la question. 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 de catégorie. Pour plus d’informations, consultez Chaînes de requêtes codées.

    getKeys (en anglais)

    Obtenez le 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
    

    get

    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
    
    Si vous le souhaitez, 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