약속 API
약속 API는 약속 예약 애플리케이션과 상호 작용하기 위한 엔드포인트를 제공합니다. 이 API를 사용하여 약속을 예약하고 일정을 조정하며, 사용 가능한 약속 슬롯을 확인하고, 약속 예약 구성 상세 정보를 가져옵니다.
이 API를 사용하기 전에 약속 예약 구성 및 서비스 구성을 설정해야 합니다. 또한 약속을 예약 중인 작업이 이미 존재해야 합니다. 자세한 내용은 Configuring Appointment Booking 문서를 참조하십시오.
약속 API에는 약속 예약 플러그인(com.snc.appointment_booking)이 필요하며 sn_apptmnt_booking 네임스페이스 내에서 제공됩니다. 이 API에 액세스하려면 snc_internal 역할이 있어야 합니다.
약속 - GET /sn_apptmnt_booking/약속/달력
약속을 예약할 수 있는 시간 범위를 반환합니다. 반환 결과는 약속 예약 서비스 구성에 구성된 리드 타임과 향후 예약 가능한 최대 날짜를 따릅니다.
리드 타임 및 향후 최대 예약 가능 날짜 구성에 대한 자세한 내용은 을 참조하십시오 Create or modify an appointment booking application configuration.
이 엔드포인트에 액세스하려면 snc_internal 또는 snc_external 역할이 있어야 합니다.
URL 형식
버전이 지정된 URL: /api/sn_apptmnt_booking/{api_version}/appointment/calendar
기본 URL: /api/sn_apptmnt_booking/appointment/calendar
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| catalog_id | 필수 약속 예약 서비스 구성으로 구성된 기록 생성자의 Sys_id입니다. 기록 생성자 [sc_cat_item_producer] 테이블에 있습니다. 데이터 유형: 문자열 |
| 위치 | 필수 약속 위치(cmn_location)의 Sys_id입니다. 위치 [cmn_location] 테이블에 있습니다. 데이터 유형: 문자열 |
| opened_for | 필수 약속을 예약할 사용자의 Sys_id입니다. 사용자 [sys_user] 테이블에 있습니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수
| 이름 | 설명 |
|---|---|
| 결과 | 엔드포인트 요청의 결과에 대한 정보입니다. 데이터 유형: 객체 |
| result.range_end | 약속을 예약할 수 있는 범위의 끝입니다.
데이터 유형: 문자열 형식: 내부 날짜 시간 형식의 약속 시간대입니다. |
| result.range_start | 약속을 예약할 수 있는 범위의 시작입니다.
데이터 유형: 문자열 형식: 내부 날짜 시간 형식의 약속 시간대입니다. |
cURL 요청
다음 코드 예제에서는 이 끝점을 호출하는 방법을 보여 줍니다.
curl "http://instance.servicenow.com/api/sn_apptmnt_booking/v1/appointment/calendar?catalog_id=e4c1116b3b810300ce8a4d72f3efc40f&location=32e8499cdb2d2200d75270f5bf9619d6&opened_for=6816f79cc0a8016401c5a33be04be441" \
--request GET \
--header "Accept:application/json" \
--user 'username':'password'
결과:
{
"result": {
"range_start": "2023-02-08 03:52:27",
"range_end": "2023-02-21 23:52:27"
}
}
약속 - GET /sn_apptmnt_booking/약속/구성
지정된 약속 예약 서비스 구성에 정의된 구성을 반환합니다.
또한 약속 예약 위젯에서 슬롯을 렌더링하는 데 필요한 번역과 사용자 날짜 및 시간 기본 설정을 반환합니다.
이 엔드포인트에 액세스하려면 snc_internal 또는 snc_external 역할이 있어야 합니다.
URL 형식
버전이 지정된 URL: /api/sn_apptmnt_booking/{api_version}/appointment/configuration
기본 URL: /api/sn_apptmnt_booking/appointment/configuration
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| catalog_id | 필수 약속 예약 서비스 구성으로 구성된 기록 생성자의 Sys_id입니다. 기록 생성자 [sc_cat_item_producer] 테이블에 있습니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수
| 이름 | 설명 |
|---|---|
| 결과 | 엔드포인트 요청의 결과입니다. 데이터 유형: 객체 |
| 결과.활성 | 연결된 카탈로그 ID에 대한 서비스 구성 설정이 활성 상태인지 여부를 나타내는 플래그입니다. 가능한 값:
데이터 유형: 부울 |
| result.active_string | 연결된 카탈로그 ID에 대한 서비스 구성 설정 상태의 텍스트 표현입니다. 데이터 유형: 문자열 |
| result.advanced_calendar_view_portal | 고급 달력 뷰가 포털에 표시되는지 아니면 기본 뷰를 표시할지를 나타내는 플래그입니다. 고급 달력 뷰에 대한 자세한 내용은 다음 문서를 참조하십시오 Create or modify an appointment booking application configuration. 가능한 값:
데이터 유형: 부울 |
| result.auto_acceptance | 약속이 수락됨 상태로 자동 전환되는지 여부를 나타내는 플래그입니다. 가능한 값:
데이터 유형: 부울 |
| result.locale_language | 사용자의 언어 설정입니다. 데이터 유형: 문자열 형식: ISO 639.1 언어 코드 |
| result.service_config | 서비스 구성에 대한 상세 정보입니다. 데이터 유형: 객체 |
| result.service_config.active | 약속 예약 서비스 구성의 활성 상태를 나타내는 플래그입니다. 가능한 값:
데이터 유형: 부울 |
| result.service_config.active_string | 약속 예약 서비스 구성의 상태에 대한 텍스트 표현입니다. 데이터 유형: 문자열 |
| result.service_config.appointment_booking_config | 연결된 카탈로그 ID에 대한 약속 예약 서비스 구성 설정의 Sys_id입니다. 약속 예약 서비스 구성 [sn_apptmnt_booking_service_config] 테이블에 있습니다. 데이터 유형: 문자열 |
| result.service_config.appointment_duration | 약속의 길이입니다. 데이터 유형: 문자열 단위: 분 |
| result.service_config.appointments_per_bookable_slot | 관련된 슬롯에 대해 예약할 수 있는 약속 수입니다. 데이터 유형: 문자열 |
| result.service_config.bookable_days | 약속을 예약할 수 있는 일을 나타내는 쉼표로 구분된 값입니다. 일은 정수로 표시되며, 여기서 Monday = 1 및 Sunday = 7입니다. 데이터 유형: 문자열 |
| result.service_config.cancel_by_time | 약속 시작 전에 사용자가 약속을 취소할 수 있는 최소 시간입니다. 예를 들어 약속이 오후 1:00로 예약된 경우 시간까지 2시간 후에 취소해야 하는 경우에는 늦어도 오전 10:59까지 약속을 취소해야 합니다. 형식: 이 값은 "1970-01-01 00:00:00"의 날짜 및 시간 차이입니다. 따라서 반환된 값이 "1970-01-01 04:00:00"이면 모임이 시작되기 4시간 전에 회의실을 취소해야 함을 의미합니다. 데이터 유형: 문자열 |
| result.service_config.default_timezone | 약속이 예약된 시간대 구성입니다. 가능한 값:
데이터 유형: 문자열 |
| result.service_config.enable_advanced_config | 약속을 예약할 때 약속 예약 구성 및 약속 예약 규칙을 고려할지 여부를 나타내는 플래그입니다. 자세한 내용은 Create appointment booking advanced configuration 문서를 참조하십시오. 가능한 값:
데이터 유형: 부울 |
| result.service_config.field_mapping | 약속을 예약하는 데 사용되는 위치 및 연락처 값에 매핑된 카탈로그 변수에 대한 상세 정보입니다. 데이터 유형: 객체 |
| result.service_config.field_mapping.연락처 | 연락처 값을 포함한 카탈로그 변수의 이름입니다. 데이터 유형: 문자열 |
| result.service_config.field_mapping입니다.contactRPVariable | 위치 카탈로그 변수 데이터에 대한 상세 정보입니다. 데이터 유형: 객체 |
| result.service_config.field_mapping입니다.contactRPVariable.displayName | 접촉 창구 카탈로그 변수의 표시 이름입니다. 데이터 유형: 문자열 |
| result.service_config.field_mapping입니다.contactRPVariable.label | 연락처 카탈로그 변수의 레이블입니다. 데이터 유형: 문자열 |
| result.service_config.field_mapping입니다.contactRPVariable.name | 연락처 카탈로그 변수의 이름입니다. 데이터 유형: 문자열 |
| result.service_config.field_mapping.위치 | 위치 값이 들어 있는 카탈로그 변수의 이름입니다. 데이터 유형: 문자열 |
| result.service_config.field_mapping입니다.위치RPVariable | 위치 카탈로그 변수 데이터에 대한 상세 정보입니다. 데이터 유형: 객체 |
| result.service_config.field_mapping입니다.locationRPVariable.displayName | 위치 카탈로그 변수의 표시 이름입니다. 데이터 유형: 문자열 |
| result.service_config.field_mapping입니다.locationRPVariable.label | 위치 카탈로그 변수의 레이블입니다. 데이터 유형: 문자열 |
| result.service_config.field_mapping입니다.locationRPVariable.name | 위치 카탈로그 변수의 이름입니다. 데이터 유형: 문자열 |
| result.service_config. future_bookable_max_days | 약속을 예약할 수 있는 미래의 최대 일 수입니다. 데이터 유형: 문자열 |
| result.service_config.lead_time | 약속 시작 전에 사용자가 약속을 예약할 수 있는 최소 시간입니다. 예를 들어, 오후 1:00에 약속을 예약하고 리드 타임이 2시간인 경우 늦어도 오전 10:59까지 약속을 예약해야 합니다. 형식: 이 값은 "1970-01-01 00:00:00"의 날짜 및 시간 차이입니다. 따라서 반환된 값이 "1970-01-01 04:00:00"이면 모임이 시작되기 4시간 전에 회의실을 예약해야 합니다. 데이터 유형: 문자열 |
| result.service_config.필수 | 약속이 필수인지 여부를 나타내는 표시기입니다. 가능한 값:
데이터 유형: 문자열 |
| result.service_config.use_slot_end_time_as | 에이전트가 도착하거나 연결된 약속에 대해 예약된 작업을 완료하는 시기를 나타내는 표시기입니다. 가능한 값:
데이터 유형: 문자열 |
| result.service_config.work_duration | 약속을 수행하는 데 걸리는 시간입니다. 작업 기간은 약속 예약 서비스 구성에서 구성됩니다. 자세한 내용은 Create or modify an appointment booking service configuration 문서를 참조하십시오. 데이터 유형: 문자열 단위: 분 |
| result.task_table | 약속을 예약할 수 있는 테이블의 이름입니다. 약속 예약 서비스 구성에서 구성됩니다. 데이터 유형: 문자열 |
| result.translations | 약속 예약 위젯에 사용되는 텍스트 번역의 이름-값 쌍입니다. 작업, 메시지, 일 및 월에 대해 번역된 값을 포함합니다. 데이터 유형: 객체 |
| result.userDateFormatOptions | JS 날짜 개체를 렌더링하는 데 필요한 날짜 형식 옵션에 대해 설명합니다. 이러한 값은 수정할 수 없는 약속 예약 상수에서 설정됩니다. 데이터 유형: 객체 |
| result.userDateFormatOptions.day | 일 날짜 형식입니다. 데이터 유형: 문자열 형식: 숫자(값 또는 1-31) |
| 결과.userDateFormatOptions.month | 월 날짜 형식입니다. 데이터 유형: 문자열 형식: 짧음(1월, 2월, 3월 등의 값) |
| result.userDateFormatOptions.week | 주 날짜 형식입니다. 데이터 유형: 문자열 형식: 숫자(값 1-5) |
| result.userDateFormatOptions.weekday | 평일 날짜 형식입니다. 데이터 유형: 문자열 형식: Short(월, 화, 수 등의 값) |
| 결과.useRR | sn_apptmnt_booking.use_read_replica_from_ui 속성의 값입니다. 이 값은 UI에서 쿼리가 수행될 때 읽기 복제본 데이터베이스를 사용하여 약속 슬롯을 가져올지 여부를 정의합니다. 가능한 값:
데이터 유형: 부울 |
| result.userTimeFormat (영문) | 사용자의 시간 형식을 설명합니다. 사용자는 엔드포인트 요청을 하는 사람입니다. 플랫폼을 통해 만들어진 경우 에이전트입니다. 포털을 통해 만들어진 경우 고객입니다. 데이터 유형: 객체 |
| result.userTimeFormat.type | 시간 형식의 유형입니다. 가능한 값:
데이터 유형: 문자열 |
| result.userTimeFormat.value | 기본 시간 형식(예: "HH:mm:ss")입니다. 데이터 유형: 문자열 |
| result.userTimeFormatOptions | JS 시간 개체를 렌더링하는 데 필요한 시간 형식 옵션에 대해 설명합니다. 이러한 값은 수정할 수 없는 약속 예약 상수에 설정됩니다. 데이터 유형: 객체 |
| result.userTimeFormatOptions.hour | 몇 시간 동안 포맷합니다. 형식: 숫자(값 1-12) |
| result.userTimeFormatOptions.hourCycle | 시간 주기 형식입니다. 가능한 값은 h23입니다. |
| result.userTimeFormatOptions.minute | 분 단위로 서식을 지정합니다. 형식: 숫자(1-60의 값) |
| result.view_scale | 서비스 구성에서 구성된 뷰입니다. 가능한 값:
데이터 유형: 문자열 |
cURL 요청
다음 코드 예제에서는 이 끝점을 호출하는 방법을 보여 줍니다.
curl "http://instance.servicenow.com/api/sn_apptmnt_booking/v1/appointment/configuration?catalog_id=e4c1116b3b810300ce8a4d72f3efc40f" \
--request GET \
--header "Accept:application/json" \
--user ‘username':'password'
응답:
{
"result": {
"active": true,
"activeString": "true"
"view_scale": "day",
"auto_acceptance": true,
"task_table": "wm_order",
"advanced_calendar_view_portal": false,
"service_config": {
"appointment_booking_config": "deb1d2fd3b033200ce8a4d72f3efc4c2",
"future_bookable_max_days": "14",
"appointments_per_bookable_slot": "20",
"bookable_days": "1,2,3,4,5",
"active": true,
"activeString": "true",
"mandatory": "1",
"lead_time": "1970-01-01 04:00:00",
"cancel_by_time": "1970-01-01 04:00:00",
"appointment_duration": "120",
"default_timezone": "location",
"work_duration": "60",
"enable_advanced_config": true,
"field_mapping": {
"location": "location"
"opened_for": "contact",
"locationRPVariable": {
"name": "location",
"label": "Location",
"displayName": "location"
},
"contactRPVariable": {
"name": "contact",
"label": "Contact",
"displayName": "contact"
}
},
"use_slot_end_time_as": ""
},
"translations": {
"submit_btn_text": "Select",
"cancel_btn_text": "Cancel",
"calendar_prev_text": "Previous",
"select_appointment_calendar_text": "Select Appointment Calendar",
"calendar_next_text": "Next",
"previous_btn_text": "Previous day",
"next_btn_text": "Next day",
"date_input_placeholder_text": "Pick a date",
"show_calendar_btn_text": "Show Calendar",
"app_window_btn_text_start_time": "Start time",
"app_window_btn_text_end_time": "End time",
"appointment_window_aria_label_start_text": "Available appointment window ",
"no_appointment": "No appointments",
"time_zone": "Time zone",
"selected_window": "The window which has been selected is ",
"day_names": {
"1": "Monday",
"2": "Tuesday",
"3": "Wednesday",
"4": "Thursday",
"5": "Friday",
"6": "Saturday",
"7": "Sunday"
},
"days": [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"daysShort": [
"Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat"
],
"daysMin": [
"Su",
"Mo",
"Tu",
"We",
"Th",
"Fr",
"Sa"
],
"months": [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
],
"monthsShort": [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
],
"today": "Today",
"clear": "Clear",
"language": "en",
"arrive_by_msg": "The agent will arrive within the selected slot."
},
"useRR": true,
"locale_language": "en",
"userTimeFormat": {
"value": "HH:mm:ss",
"type": "24hr"
},
"userDateFormatOptions": {
"weekday": "short",
"year": "numeric",
"month": "short",
"day": "numeric"
},
"userTimeFormatOptions": {
"hour": "numeric",
"minute": "numeric",
"hourCycle": "h23"
}
}
}
약속 - GET /sn_apptmnt_booking/약속/execute_rule_conditions
지정된 작업 sys_id 또는 지정된 카탈로그 항목 데이터 집합과 일치하는 약속 예약 서비스 구성 규칙의 sys_id 반환합니다.
전달된 작업 ID 또는 카탈로그 항목 데이터는 서비스 구성에 대해 정의된 규칙에 따라 평가됩니다. 이러한 조건이 일치하는 첫 번째 규칙의 sys_id이 반환됩니다. 그런 다음 이 규칙 sys_id 후속 가용성 요청에 전달하여 규칙에 정의된 올바른 슬롯을 가져와야 합니다.
이 엔드포인트에 액세스하려면 snc_internal 또는 snc_external 역할이 있어야 합니다.
URL 형식
버전이 지정된 URL: /api/sn_apptmnt_booking/{api_version}/appointment/execute_rule_conditions
기본 URL: /api/sn_apptmnt_booking/appointment/execute_rule_conditions
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| 카탈로그 ID | 필수 약속 예약 서비스 구성으로 구성된 기록 생성자의 Sys_id입니다. 기록 생성자 [sc_cat_item_producer] 테이블에 있습니다. 데이터 유형: 문자열 |
| 기타 입력 | 매개변수를 taskId 지정하지 않은 경우 필수입니다. 서비스 구성에 대해 정의된 규칙과 비교하기 위한 카탈로그 항목 변수의 이름-값 쌍입니다. 예: 데이터 유형: 객체 |
| taskId | 매개변수를 otherInputs 지정하지 않은 경우 필수입니다. 약속이 예약되는 작업 기록의 Sys_id입니다. 약속이 예약되고 있는 작업 테이블에 위치합니다. catalogId 특정 약속 예약 구성에 해당하며 모든 구성에는 약속이 예약된 작업 테이블이 있습니다. 데이터 유형: 문자열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수
| 이름 | 설명 |
|---|---|
| 결과 | 엔드포인트에서 반환하는 정보에 대한 설명입니다. 데이터 유형: 객체 |
| result.dedicatedCapacity | 연결된 규칙에 전용 용량이 있는지 여부를 나타내는 플래그입니다. 전용 용량에 대한 자세한 내용은 을 참조하십시오 Create appointment booking service configuration rules. 가능한 값:
데이터 유형: 부울 |
| result.futureMaxBookableDays | 일치 규칙이 있는 약속을 예약할 수 있는 미래의 최대 일 수입니다. 데이터 유형: 문자열 |
| result.ruleId | 요청에 전달된 OR otherInputs 매개변수와 taskId 일치하는 약속 예약 서비스 구성 규칙의 Sys_id입니다. 서비스 구성 규칙 [sn_apptmnt_booking_config_rule] 테이블에 있습니다. 데이터 유형: 문자열 |
| result.ruleName | 전달된 매개변수와 일치하는 규칙의 이름입니다. 데이터 유형: 문자열 |
cURL 요청
다음 코드 예제에서는 매개 변수를 사용하여 taskId 규칙 비교 요청을 수행하는 방법을 보여 줍니다.
curl "http://instance.servicenow.com/api/sn_apptmnt_booking/v1/appointment/execute_rule_conditions" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"catalogId\": \"e4c1116b3b810300ce8a4d72f3efc40f\",
\"taskId\": \"ce1f397c43b861105e0dbcba6ab8f298\"}" \
--user 'username':'password'
응답:
{
"result": {
"ruleId": "f7d5d98f437c21105e0dbcba6ab8f2fc",
"ruleName": "Priority 1 rule",
"dedicatedCapacity": true,
"futureMaxBookableDays": "14"
}
}
cURL 요청
다음 코드 예제에서는 매개 변수를 사용하여 otherInputs 규칙 비교 요청을 수행하는 방법을 보여 줍니다.
curl "http://instance.servicenow.com/api/sn_apptmnt_booking/v1/appointment/execute_rule_conditions" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"catalogId\": \"e4c1116b3b810300ce8a4d72f3efc40f\",
\"otherInputs\": {
\"u_sn_point_of_sale_variable_set\": \"true\",
\"short_description\": \"Point-of-Sale Installation\",
\"contact\": \"6816f79cc0a8016401c5a33be04be441\",
\"description\": \"Install new point-of-sale system with cash tray\",
\"location\": \"32e8499cdb2d2200d75270f5bf9619d6\"
}
}" \
--user 'username':'password'
응답:
{
"result": {
"ruleId": " 1d1bb72b4334a1105e0dbcba6ab8f275",
"ruleName": "Lake View SC rule",
"dedicatedCapacity": false,
"futureMaxBookableDays": "21"
}
}
약속 - /sn_apptmnt_booking/약속/약속 게시
작업에 대한 현장 서비스 관리 약속을 예약하고 일정을 조정할 수 있습니다.
작업에 대한 현장 서비스 관리 자세한 내용은 다음 문서를 참조하십시오 Configuring Appointment Booking.
URL 형식
버전이 지정된 URL: /api/sn_apptmnt_booking/{api_version}/appointment/appointment
기본 URL: /api/sn_apptmnt_booking/appointment/appointment
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| actualEndDate | 필수 약속의 시간대에 있는 약속 슬롯의 종료 날짜 및 시간입니다. 날짜 유형: 문자열 형식: YYYY-MM-dd HH:mm:ss |
| actualStartDate | 필수 약속 시간대의 약속 슬롯에 대한 시작 날짜 및 시간입니다. 날짜 유형: 문자열 형식: YYYY-MM-dd HH:mm:ss |
| 카탈로그 ID | 필수 약속 예약 서비스 구성을 위해 구성된 기록 생성자의 Sys_id입니다. 기록 생성자는 관련 약속 예약 서비스 구성 기록 - 약속 예약 서비스 구성[sn_apptmnt_booking_service_config] 테이블의 카탈로그 항목 필드에 정의됩니다. 날짜 유형: 문자열 |
| 종료 날짜UTC | 필수 약속 슬롯의 종료 날짜 및 시간(UTC 시간대)입니다. 날짜 유형: 문자열 형식: YYYY-MM-dd HH:mm:ss |
| 위치 | 필수 약속과 관련된 위치 기록의 Sys_id입니다. 위치 [cmn_location] 테이블에 있습니다. 날짜 유형: 문자열 |
| openedFor | 필수 약속을 예약할 사용자의 Sys_id입니다. 사용자 [sys_user] 테이블에 있습니다. 날짜 유형: 문자열 |
| reschedule | 필수 약속 일정이 조정되는지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
데이터 유형: 부울 |
| service_cofig_rule | 약속이 규칙에 따라 예약되는 경우 서비스 구성 규칙의 sys_id입니다. 서비스 구성 규칙 [sn_apptmnt_booking_config_rule] 테이블에 있습니다. 날짜 유형: 문자열 |
| 시작 날짜UTC | 필수 약속 슬롯의 시작 날짜 및 시간(UTC 시간대)입니다. 날짜 유형: 문자열 형식: YYYY-MM-dd HH:mm:ss(UTC 표준 시간대) |
| taskId | 필수 약속이 예약되는 작업 기록의 Sys_id입니다. 이 sys_id 포함된 테이블은 매개변수에 정의되어 있습니다 taskTable . 날짜 유형: 문자열 |
| 작업 테이블 | 필수 약속을 예약할 작업 기록이 포함된 테이블의 이름입니다. 날짜 유형: 문자열 |
| 시간대 | 필수 지정된 약속 슬롯을 예약하거나 업데이트할 때 사용할 시간대입니다. 형식: 국가/도시 또는 지역 형식(예: 미국/동부) 날짜 유형: 문자열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수
| 이름 | 설명 |
|---|---|
| 결과 | 엔드포인트 요청의 결과에 대한 정보입니다. 데이터 유형: 객체 |
| 결과.데이터 | 작성되거나 일정이 조정된 약속 기록의 Sys_id입니다. 데이터 유형: 문자열 |
| 결과.메시지 | 약속 요청이 예약되었는지 또는 실패했는지 여부를 설명하는 메시지입니다. 예를 들어 오류 응답에는 다음이 포함될 수 있습니다.
데이터 유형: 문자열 |
| result.reason | 약속 요청 결과에 대한 추가 정보입니다. 데이터 유형: 문자열 |
| 결과.성공 | 요청이 성공했는지 여부를 나타내는 플래그입니다. 가능한 값:
데이터 유형: 부울 |
cURL 요청
다음 예시에서는 작업 주문 [wm_order] 테이블의 작업에 대한 새 약속 예약을 생성하는 방법을 보여줍니다.
curl "https://instance.servicenow.com/api/sn_apptmnt_booking/appointment/appointment" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"startDateUTC\": \"2023-02-01 20:00:00\",
\"endDateUTC\": \"2023-02-01 22:00:00\",
\"actualStartDate\": \"2023-02-01 15:00:00\",
\"actualEndDate\": \"2023-02-01 17:00:00\",
\"taskTable\": \"wm_order\",
\"location\": \"32e8499cdb2d2200d75270f5bf9619d6\",
\"catalogId\": \"e4c1116b3b810300ce8a4d72f3efc40f\",
\"openedFor\": \"ddce70866f9331003b3c498f5d3ee417\"
\"taskId\": \"ce1f397c43b861105e0dbcba6ab8f298\",
\"reschedule\": false,
\"service_configuration_rule\": \"\",
\"timezone\": \"US/Eastern\"
}" \
--user 'username':'password'
응답:
{
"result": {
"success": true,
"message": "Your appointment has been scheduled successfully.",
"reason": "Appointment created!",
"data": "7a5f393c43b861105e0dbcba6ab8f29f"
}
}
약속 - /sn_apptmnt_booking/약속/가용성 게시
약속 예약 서비스 구성에서 구성된 슬롯과 해당 가용성을 반환합니다.
서비스 구성에 고급 구성이 활성화된 경우 엔드포인트는 이러한 구성을 적용하고 규칙 및 고급 구성에 따라 데이터를 반환합니다. 이 엔드포인트를 사용하여 요청 본문의 매개 변수 또는 get_next_available_day_data 매개 변수를 true로 전달 get_next_available_slot 하여 사용 가능한 첫 번째 슬롯을 찾을 수도 있습니다.
이 엔드포인트에 액세스하려면 snc_internal 또는 snc_external 역할이 있어야 합니다.
URL 형식
버전이 지정된 URL: /api/sn_apptmnt_booking/{api_version}/appointment/availability
기본 URL: /api/sn_apptmnt_booking/appointment/availability
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| catalog_id | 필수 약속 예약 서비스 구성을 위해 구성된 기록 생성자의 Sys_id입니다. 기록 생성자는 관련 약속 예약 서비스 구성 기록 - 약속 예약 서비스 구성[sn_apptmnt_booking_service_config] 테이블의 카탈로그 항목 필드에 정의됩니다. 데이터 유형: 문자열 |
| end_date | 필수 약속을 가져올 종료 날짜 및 시간입니다. 데이터 유형: 문자열 형식: UTC 표준 시간대 및 내부 날짜 및 시간 형식: YYYY-MM-DD HH:MM:SS |
| full_day | 필수 시작 및 종료 날짜의 시간 값에 관계 없이 지정된 날짜 범위에 대한 모든 약속을 반환할지 여부를 나타내는 플래그입니다. 가능한 값:
데이터 유형: 부울 |
| get_next_available_slot | 전달된 약속 슬롯 및 end_date 매개변수의 일부가 아니더라도 응답과 함께 사용 가능한 첫 번째 약속 슬롯을 반환할지 여부를 나타내는 플래그입니다start_date. 가능한 값:
데이터 유형: 부울 기본값: false |
| 제한 | 반환할 약속의 최대 수입니다. 데이터 유형: 숫자 기본값: 반환된 sn_apptmnt_booking .max_appointments_ 속성에 지정된 값이거나 속성이 비어 있는 경우 1000입니다. |
| 위치 | 필수 약속과 관련된 위치 기록의 Sys_id입니다. 위치 [cmn_location] 테이블에 있습니다. 데이터 유형: 문자열 |
| opened_for | 필수 약속을 예약할 사용자의 Sys_id입니다. 사용자 [sys_user] 테이블에 있습니다. 데이터 유형: 문자열 |
| 기타 입력 | 스크립팅된 메서드에서 가용성을 계산하는 데 필요한 다른 값의 이름-값 쌍입니다. 일반적으로 이러한 값은 카탈로그 항목 변수이지만 예약 애플리케이션을 사용자 지정하는 경우 구현에 필요한 값을 전달할 수 있습니다. 예: 데이터 유형: 객체 |
| service_config_rule | 약속 슬롯과 가용성을 계산하는 데 사용할 서비스 구성 규칙의 Sys_id입니다. 서비스 구성 규칙 [sn_apptmnt_booking_config_rule] 테이블에 있습니다. 데이터 유형: 문자열 |
| start_date | 필수 약속을 가져올 시작 날짜 및 시간입니다. 데이터 유형: 문자열 형식: UTC 표준 시간대 및 내부 날짜 및 시간 형식: YYYY-MM-DD HH:MM:SS |
| task_table | 필수 약속을 예약할 작업 기록이 포함된 테이블의 이름입니다. 데이터 유형: 문자열 |
| use_read_replica | 약속 슬롯과 해당 가용성을 가져올 때 데이터베이스의 읽기 복제본을 사용할지 여부를 나타내는 플래그입니다. 유효한 값은 다음과 같습니다.
기본값: false |
| 뷰 | 필수 요청의 시작 지점입니다. 유효한 값: (대/소문자 구분)
데이터 유형: 문자열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 200 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수
| 이름 | 설명 |
|---|---|
| 결과 | 요청과 일치하는 약속에 대한 세부 정보입니다. 데이터 유형: 객체 |
| 결과.가용성 | 지정된 요청을 충족하는 약속 슬롯의 목록입니다. 데이터 유형: 객체 |
| 결과.가용성.사용 가능 | 연결된 시간 슬롯을 사용할 수 있는지 여부를 나타내는 플래그입니다. 가능한 값:
데이터 유형: 부울 |
| result.availability.end_date | 연결된 약속의 종료 날짜 및 시간입니다. 시간대는 매개변수의 값을 기반으로 합니다 time_zone . 데이터 유형: 문자열 형식: YYYY-MM-DD hh:mm:ss |
| result.availability.end_date_display | 연결된 약속의 종료 날짜 및 시간을 표시합니다. 시간대는 매개변수의 값을 기반으로 합니다 time_zone_display_value . 데이터 유형: 문자열 형식: 사용자의 날짜 시간 형식을 요청합니다. |
| result.availability.end_dateUTC | 연결된 약속의 종료 날짜 및 시간(UTC 시간)입니다. 데이터 유형: 문자열 형식: YYYY-MM-DD hh:mm:ss |
| result.availability.start_date | 연결된 약속의 시작 날짜 및 시간입니다. 시간대는 매개변수의 값을 기반으로 합니다 time_zone . 데이터 유형: 문자열 형식: YYYY-MM-DD hh:mm:ss |
| result.availability.start_date_display | 연결된 약속의 시작 날짜 및 시간을 표시합니다. 시간대는 매개변수의 값을 기반으로 합니다 time_zone_display_value . 데이터 유형: 문자열 형식: 사용자의 날짜 시간 형식을 요청합니다. |
| result.availability.start_dateUTC | 연결된 약속의 시작 날짜 및 시간(UTC 시간)입니다. 데이터 유형: 문자열 형식: YYYY-MM-DD hh:mm:ss |
| result.has_more | 제한을 반환한 후 가져올 약속 슬롯이 더 있는지 여부를 나타내는 플래그입니다. 가능한 값:
데이터 유형: 부울 |
| result.next_available_slot | 매개변수가 get_next_available_slot true로 전달된 경우 전달된 시작 및 종료 날짜에 관계없이 사용 가능한 첫 번째 슬롯에 대한 상세 정보입니다. 데이터 유형: 객체 |
| result.next_available_slot.사용 가능 | 연결된 시간 슬롯을 사용할 수 있는지 여부를 나타내는 플래그입니다. 가능한 값:
데이터 유형: 부울 |
| result.next_available_slot.end_date입니다. | 연결된 약속의 종료 날짜 및 시간입니다. 시간대는 매개변수의 값을 기반으로 합니다 time_zone . 데이터 유형: 문자열 형식: YYYY-MM-DD hh:mm:ss |
| result.next_available_slot.end_date_display | 연결된 약속의 종료 날짜 및 시간을 표시합니다. 시간대는 매개변수의 값을 기반으로 합니다 time_zone_display_value . 데이터 유형: 문자열 판: |
| result.next_available_slot.end_dateUTC | 연결된 약속의 종료 날짜 및 시간(UTC 시간)입니다. 데이터 유형: 문자열 형식: YYYY-MM-DD hh:mm:ss |
| result.next_available_slot.start_date | 연결된 약속의 시작 날짜 및 시간입니다. 시간대는 매개변수의 값을 기반으로 합니다 time_zone . 데이터 유형: 문자열 형식: YYYY-MM-DD hh:mm:ss |
| result.next_available_slot.start_date_display | 연결된 약속의 시작 날짜 및 시간을 표시합니다. 시간대는 매개변수의 값을 기반으로 합니다 time_zone_display_value . 데이터 유형: 문자열 판: |
| result.next_available_slot.start_dateUTC | 연결된 약속의 시작 날짜 및 시간(UTC 시간)입니다. 데이터 유형: 문자열 형식: YYYY-MM-DD hh:mm:ss |
| result.no_appt_available | 지정된 날짜 및 시간에 사용할 수 있는 약속 슬롯이 더 있는지 여부를 나타내는 플래그입니다. 가능한 값:
데이터 유형: 부울 |
| 결과.성공 | 엔드포인트 호출이 성공했는지 여부를 나타내는 플래그입니다. 가능한 값:
데이터 유형: 부울 |
| result.time_zone | 약속 슬롯이 렌더링된 시간대입니다. 약속 예약 서비스 구성의 값을 기준으로 합니다. 데이터 유형: 문자열 |
| result.time_zone_display_value | 약속 슬롯이 렌더링된 시간대를 표시합니다. 약속 예약 서비스 구성의 값을 기준으로 합니다. 데이터 유형: 문자열 |
cURL 요청
다음 코드 예제에서는 이 끝점을 호출하는 방법을 보여 줍니다.
curl "http://instance.servicenow.com/api/sn_apptmnt_booking/v1/appointment/availability" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"start_date\": \"2023-02-05 05:00:00\",
\"end_date\": \"2023-02-07 04:59:59\",
\"location\": \"32e8499cdb2d2200d75270f5bf9619d6\",
\"catalog_id\": \"e4c1116b3b810300ce8a4d72f3efc40f\",
\"opened_for\": \"6816f79cc0a8016401c5a33be04be441\",
\"full_day\": false,
\"task_table\": \"wm_order\",
\"view\": \"portal\",
\"get_next_available_slot\": true,
\"use_read_replica\": true,
\"service_config_rule\": \"f7d5d98f437c21105e0dbcba6ab8f2fc\"
}" \
--user 'username':'password
응답:
{
"result": {
"success": true,
"availability": [
{
"start_date": "2023-02-06 09:00:00",
"end_date": "2023-02-06 11:00:00",
"start_date_display": "09:00",
"end_date_display": "11:00",
"start_dateUTC": "2023-02-06 14:00:00",
"end_dateUTC": "2023-02-06 16:00:00",
"available": false
},
{
"start_date": "2023-02-06 13:00:00",
"end_date": "2023-02-06 15:00:00",
"start_date_display": "13:00",
"end_date_display": "15:00",
"start_dateUTC": "2023-02-06 18:00:00",
"end_dateUTC": "2023-02-06 20:00:00",
"available": false
},
{
"start_date": "2023-02-06 15:00:00",
"end_date": "2023-02-06 17:00:00",
"start_date_display": "15:00",
"end_date_display": "17:00",
"start_dateUTC": "2023-02-06 20:00:00",
"end_dateUTC": "2023-02-06 22:00:00",
"available": false
}
],
"has_more": false,
"no_appt_available": true,
"time_zone": "US/Eastern",
"time_zone_display_value": "US/Eastern",
"next_available_slot": {
"start_date": "2023-02-10 13:00:00",
"end_date": "2023-02-10 15:00:00",
"start_date_display": "13:00",
"end_date_display": "15:00",
"start_dateUTC": "2023-02-10 18:00:00",
"end_dateUTC": "2023-02-10 20:00:00",
"available": true
}