JSON-Datenabruf-API
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
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_idfü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_idfür ein Referenzfeld zurück. Dem Antwortelementnamen für das Anzeigewertfeld wird das Präfixdv_vorangestellt, zum Beispieldv_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{
"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
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
sys_id in einem Parameter sysparm_sys_id angeben.https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_sys_id=9d385017c611228701d22104cc95c371
https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=get&sysparm_sys_id=9d385017c611228701d22104cc95c371
getRecords
https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=getRecords&sysparm_query=active=true^category=hardware