JSON 데이터 검색 API
인스턴스에 HTTPS GET 요청을 발행하여 데이터를 쿼리합니다.
기본적으로 GET 요청은 매개 변수가 있는 경우 get 함수로 sysparm_sys_id 해석됩니다. 그렇지 않으면 getRecords 함수로 해석됩니다. URL 매개 변수를 지정할 수도 있습니다 sysparm_action=get. 쿼리 응답은 항상 기록의 기록 해시로 캡슐화되며, 여기서 각 개별 기록의 값은 필드 이름으로 해시됩니다.
참조 변수에 대한 반환 표시 값
get 또는 getRecords 함수에서 레코드를 가져오는 경우 해당 레코드와 연결된 모든 필드가 반환됩니다. 필드는 다른 테이블에 대한
sys_id 포함하는 참조 필드인 경우가 많습니다. 기본 시스템 동작은 이러한 필드에 대해 sys_id 값을 반환하는 것입니다. 필드의 표시 값을 반환하려면 다음 옵션 중 하나를 사용합니다.- glide.json.return_displayValue 속성을 시스템 속성에 추가하면 모든 JSON 요청이 참조 필드에 대한 표시 값을 반환합니다.
- JSON 요청 URL에 매개변수를 추가하면 해당 매개변수를 displayvalue=true 사용하는 JSON 요청이 참조 필드에 대한
sys_id대신 표시 값을 반환합니다. JSON URL은 다음과 같습니다.https://<instance name>.service-now.com/incident.do?JSON&sysparm_action=getRecords&sysparm_query=active=true^category=hardware&displayvalue=true - JSON 요청 URL에 매개변수를 추가하고 해당 매개변수를 displayvalue=all 사용하는 JSON 요청은 참조 필드에 대한 표시 값과
sys_id반환합니다. 표시 값 필드의 응답 요소 이름에는 프리픽스로dv_(예:dv_caller_id)이 붙습니다.
변수 가져오기
displayvariables 쿼리 매개변수를 사용하여 항목 기록과 연결된 변수 배열을 서비스 카탈로그 반환합니다. 변수를 가져오려면 JSON 요청 URL에 매개변수를 displayvariables=true 추가합니다. 예를 들어 다음은 변수를 포함하는 서비스 카탈로그 JSON 형식으로 기록을 검색하는 URL입니다.
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
}
],
…
}
]
}응답의 키는 다음과 같이 정의됩니다.
| 키 | 설명 |
|---|---|
| display_value | 복수 행 변수 세트 질문 표시 값입니다. 복수 행 변수 세트에서만 반환됩니다. |
| columns_meta | 필드의 sys_id 및 이름과 같은 복수 행 변수 세트 메타데이터의 배열입니다. 변수에 여러 필드가 포함된 경우에만 반환됩니다. |
| max_rows | 복수 행 변수 세트에서 허용되는 최대 행 수입니다. 복수 행 변수 세트에서만 반환됩니다. |
| 이름 | 질문 이름입니다. |
| ID | 복수 행 변수 세트의 Sys_id입니다. 복수 행 변수 세트에서만 반환됩니다. |
| 유형 | 질문의 유형입니다. |
| 값 | 질문 값입니다. |
| row_count | 복수 행 변수 세트의 현재 행 수입니다. 복수 행 변수 세트에서만 반환됩니다. |
| question_text | 질문 레이블입니다. 단일 행 변수 세트와 함께 반환됩니다. |
| 주문 | 질문의 순서입니다. |
기록 순서 제어
JSON 응답에 기록이 표시되는 순서를 제어할 수 있습니다. 순서를 설정하려면 URL로 인코딩된 쿼리에서 ORDERBY 또는 ORDERBYDESC 절을 사용합니다. 예:
sysparm_query=active=true^ORDERBYnumber^ORDERBYDESCcategory
모든 활성 기록을 필터링하고 결과를 먼저 번호별로 오름차순으로 정렬한 다음 범주별로 내림차순으로 정렬합니다. 자세한 내용은 인코딩된 쿼리 문자열을 참조하세요.
get키
매개변수에 인코딩된 쿼리 문자열을 지정하여 여러 기록의 sysparm_query
sys_id 가져옵니다.https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=getKeys&sysparm_query=active=true^category=hardware
get
매개변수에 sysparm_sys_id
sys_id 지정하여 직접 기록을 가져옵니다.https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_sys_id=9d385017c611228701d22104cc95c371
선택적으로 다음 매개 변수를 지정할 sysparm_action 수도 있습니다.
https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=get&sysparm_sys_id=9d385017c611228701d22104cc95c371
get기록
매개변수에 sysparm_query 인코딩된 쿼리 문자열을 지정하여 모든 기록을 가져옵니다.
https://<instance name>.service-now.com/incident.do?JSONv2&sysparm_action=getRecords&sysparm_query=active=true^category=hardware