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 ein sysparm_sys_id -Parameter 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 den Parameter displayvalue=true der JSON-Anforderungs-URL 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 den Parameter displayvalue=all der JSON-Anforderungs-URL 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.
Ruft Variablen ab
Verwenden Sie den Abfrageparameter displayvariables, um ein Array von Variablen zurückzugeben, die einem Elementdatensatz 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, das 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:
| Schlüssel | Beschreibung |
|---|---|
| display_value | Anzeigewert der mehrzeiligen Variablensatzfrage. Wird nur bei mehrzeiligen Variablensätzen zurückgegeben. |
| columns_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 bei mehrzeiligen Variablensätzen zurückgegeben. |
| Name | Name der Frage. |
| id | Sys_id des mehrzeiligen Variablensatzes. Wird nur bei mehrzeiligen Variablensätzen zurückgegeben. |
| type | Typ der Frage. |
| Wert | Fragewert. |
| row_count | Aktuelle Anzahl der Zeilen im mehrzeiligen Variablensatz. Wird nur bei mehrzeiligen Variablensätzen zurückgegeben. |
| Fragetext | Fragebezeichnung. Wird nur bei 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 von mehreren Datensätzen ab, indem eine codierte Abfragezeichenfolge im Parameter sysparm_query angegeben wird.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