JSON-Datenabruf-API

  • Freigeben Version: Xanadu
  • Aktualisiert 1. August 2024
  • 3 Minuten Lesedauer
  • Abfragen von Daten durch Ausgabe einer HTTPS-GET-Anforderung an die Instanz.

    Standardmäßig wird eine GET-Anforderung als get-Funktion interpretiert, wenn der Parameter sysparm_sys_id vorhanden ist. Andernfalls wird sie als Funktion „getRecords“ interpretiert. Sie können auch einen URL-Parameter sysparm_action=getangeben. Abfrageantworten werden immer durch einen Datensatz-Hash von Datensätzen gekapselt, wobei die Werte jedes einzelnen Datensatzes nach Feldnamen gehasht werden.

    Rückgabewert für Referenzvariablen

    Wenn Sie einen Datensatz von einer Funktion „get“ oder „getRecords“ erhalten, werden alle mit diesem Datensatz verknüpften Felder zurückgegeben. Die Felder sind häufig Referenzfelder, die eine sys_id für eine andere Tabelle enthalten. Das grundlegende Systemverhalten ist das Zurückgeben des sys_id-Werts für diese Felder. Verwenden Sie eine der folgenden Optionen, um den Anzeigewert für das Feld zurückgeben zu lassen:
    • Fügen Sie die Eigenschaft „glide.json.return_displayValue“ zu den Systemeigenschaften hinzu. Jede JSON-Anforderung gibt einen Anzeigewert für ein Referenzfeld zurück.
    • Fügen Sie der JSON-Anforderungs-URL den Parameter displayvalue=true hinzu, und JSON-Anforderungen mit diesem Parameter geben einen Anzeigewert anstelle der sys_id für ein Referenzfeld zurück. Die JSON-URL würde folgendermaßen aussehen:
      https://<instance name>.service-now.com/incident.do?JSON&sysparm_action=getRecords&sysparm_query=active=true^category=hardware&displayvalue=true
      
    • Fügen Sie der JSON-Anforderungs-URL den Parameter displayvalue=all hinzu, und JSON-Anforderungen mit diesem Parameter geben einen Anzeigewert und die sys_id für ein Referenzfeld zurück. Dem Antwortelementnamen für das Anzeigewertfeld wird das Präfix dv_ vorangestellt, zum Beispiel dv_caller_id.

    Rufen Sie Variablen ab

    Verwenden Sie den Abfrageparameter displayvariables, um ein Array von Variablen zurückzugeben, die einem Artikeldatensatz Servicekatalog zugeordnet sind. Um Variablen abzurufen, fügen Sie der JSON-Anforderungs-URL den Parameter displayvariables=true hinzu. Hier ist beispielsweise eine URL zum Abrufen eines Datensatzes im JSON-Format, der Servicekatalog -Variablen enthält:

    https://<your-instance>.servicenow.com/sc_req_item.do?JSONv2&sysparm_action=getRecords&sysparm_query=sys_id=5018da81742bd410f8771974894916fe&displayvariables=true
    Hier ist die Beispielantwort, die einen mehrzeiligen Variablensatz aus dem -Datensatz anzeigt:
    {
       "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
                }
             ],
           …
          }
       ]
    }

    Die Schlüssel in der Antwort sind wie folgt definiert:

    Key Beschreibung
    display_value Anzeigewert der mehrzeiligen Variablensatzfrage. Wird nur mit mehrzeiligen Variablensätzen zurückgegeben.
    column_meta Array von mehrzeiligen Variablensatz-Metadaten, z. B. sys_id und Name des Felds. Wird nur zurückgegeben, wenn die Variable mehrere Felder enthält.
    max_rows Maximal zulässige Zeilen im mehrzeiligen Variablensatz. Wird nur mit mehrzeiligen Variablensätzen zurückgegeben.
    name Name der Frage.
    id Sys_id des mehrzeiligen Variablensatzes. Wird nur mit mehrzeiligen Variablensätzen zurückgegeben.
    type Typ der Frage
    Wert Fragewert.
    row_count Aktuelle Anzahl der Zeilen im mehrzeiligen Variablensatz. Wird nur mit mehrzeiligen Variablensätzen zurückgegeben.
    Frage_Text Fragebezeichnung. Wird nur mit einzeiligen Variablensätzen zurückgegeben.
    Bestellen Reihenfolge der Frage.

    Die Reihenfolge der Datensätze steuern

    Sie können die Reihenfolge festlegen, in der die Datensätze in der JSON-Antwort angezeigt werden. Um eine Reihenfolge festzulegen, verwenden Sie die Klauseln ORDERBY oder ORDERBYDESC in der URL-kodierten Abfrage. Beispiel:

    sysparm_query=active=true^ORDERBYnumber^ORDERBYDESCcategory

    filtert alle aktiven Datensätze, und sortiert die Ergebnisse zuerst in aufsteigender Reihenfolge nach Nummer und dann in absteigender Reihenfolge nach Kategorie. Weitere Informationen finden Sie unter Codierte Abfragezeichenfolgen.

    getKeys

    Rufen Sie die sys_id mehrerer Datensätze ab, indem Sie eine codierte Abfragezeichenfolge im Parameter sysparm_query angeben.
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=getKeys&sysparm_query=active=true^category=hardware
    

    get

    Rufen Sie einen Datensatz direkt ab, indem Sie die sys_id in einem Parameter sysparm_sys_id angeben.
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_sys_id=9d385017c611228701d22104cc95c371
    
    Optional können Sie auch den Parameter sysparm_action angeben:
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=get&sysparm_sys_id=9d385017c611228701d22104cc95c371
    

    getRecords

    Rufen Sie alle Datensätze ab, indem Sie eine codierte Abfragezeichenfolge im Parameter sysparm_query angeben.
    https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=getRecords&sysparm_query=active=true^category=hardware