WSD 추가 서비스 API

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기23분
  • (WSD) 추가 서비스 API는 워크플레이스 서비스 제공 직장 위치의 위치 레이아웃 및 표준 서비스와 같은 추가 서비스를 검색할 수 있는 엔드포인트를 제공합니다.

    이 API에 액세스하려면 호출자에게 sn_wsd_core.workplace_user 역할이 있어야 합니다.

    이 API는 sn_wsd_rsv 네임스페이스에서 실행됩니다. 이 API에 액세스하려면 워크플레이스 예약 관리(sn_wsd_rsv) 플러그인을 활성화해야 합니다.

    에 대한 워크플레이스 예약 관리자세한 내용은 워크플레이스 예약 관리를 참조하십시오.

    WSD 추가 서비스 요청 - PATCH /api/sn_wsd_rsv/wsd_extra_service_request/reservation/{sys_id}

    단일 예약과 연결된 추가 서비스 요청을 반환합니다.

    주:
    이 엔드포인트는 그룹 또는 다중 예약에 대해 작동하지 않습니다.

    URL 형식

    버전이 지정된 URL: /api/sn_wsd_rsv/{api_version}/wsd_extra_service_request/reservation/{sys_id}

    기본 URL: /api/sn_wsd_rsv/wsd_extra_service_request/reservation/{sys_id}

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

    표 1. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다.

    데이터 유형: 문자열

    sys_id 추가 서비스 요청 상세 정보를 반환할 예약 기록의 Sys_id입니다.

    데이터 유형: 문자열

    테이블: 직장 예약 [sn_wsd_rsv_reservation]

    표 2. 쿼리 매개변수
    이름 설명
    안 함
    표 3. 요청 본문 매개변수
    이름 설명
    안 함

    머리글

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.

    표 4. 요청 헤더
    헤더 설명
    수용 응답 본문의 데이터 형식입니다. 지원되는 유형은 application/json 또는 application/xml입니다.

    기본값: application/json

    표 5. 응답 헤더
    헤더 설명
    없음

    상태 코드

    다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.

    표 6. 상태 코드
    상태 코드 설명
    200 성공입니다. 요청이 성공적으로 처리되었습니다.
    400 잘못된 요청입니다. 예약 sys_id이 누락 또는 잘못되었거나 존재하지 않습니다.
    401 승인되지 않았습니다. 사용자 자격 증명이 잘못되었거나 전달되지 않았습니다.
    500 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다.

    응답 본문 매개변수

    이름 설명
    결과 지정된 추가 서비스 요청에 대한 상세 정보입니다.

    데이터 유형: 객체

    "result": {
      "reservableId": "String",
      "reservationId": "String",
      "serviceCategories": {Object},
      "serviceTimes": {Object}
    }
    결과.reservableId
    예약이 생성된 직장 위치의 Sys_id입니다.

    데이터 유형: 문자열

    표: 직장 위치 [sn_wsd_core_workplace_location]

    result.reservationId 추가 서비스 요청 상세 정보를 반환할 예약의 Sys_id입니다.

    데이터 유형: 문자열

    테이블: 직장 예약 [sn_wsd_rsv_reservation].

    result.serviceCategories 연결된 추가 서비스의 서비스 범주에 대한 상세 정보입니다.

    데이터 유형: 객체

    "serviceCategories": {
      "String": {
        "categoryFriendlyName": "String",
        "categoryCurrencyCode": "String",
        "comment": "String",
        "flexibleServices": [Array],
        "serviceTimes": {Object}
      }
    }
    result.serviceCategories.categoryFriendlyName 직장 서비스 또는 추가 서비스 범주의 사용자 식별 이름입니다(예: 공간 정렬).

    데이터 유형: 문자열

    result.serviceCategories.categoryCurrencyCode 직장 서비스 항목 또는 추가 서비스의 비용을 계산하는 데 사용되는 통화 코드입니다.

    데이터 유형: 문자열

    result.serviceCategories.comment
    서비스 범주에 대한 설명입니다.

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices 예약에 대해 요청된 각 직장 서비스 항목 또는 추가 서비스에 대한 상세 정보입니다.

    데이터 유형: 객체 배열

    "flexibleServices": [
      {
        "capacity": Number,
        "capacityEnabled": Boolean,
        "category": "String",
        "categoryComment": "String",
        "categoryFriendlyName": "String",
        "comment": "String",
        "currencyCode": "String",
        "deliveryTime": "String",
        "flexibleServiceId": "String",
        "flexibleServiceName": "String",
        "maxCapacity": Number,
        "quantity": Number,
        "quantityEnabled": Boolean,
        "requestId": "String",
        "serviceItemImage": "String",
        "servicePrice": Number,
        "serviceTimes": {Object},
        "state": {Object},
        "subCategory": {Object},
        "totalPrice": Number,
      }
    ]
    result.serviceCategories.flexibleServices.capacity 직장 서비스 항목을 요청할 때 요청되는 용량입니다.

    데이터 유형: 숫자

    result.serviceCategories.flexibleServices.capacityEnabled 예약을 만드는 사용자가 직장의 용량을 지정할 수 있는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 사용자가 용량을 지정할 수 있습니다.
    • false: 사용자가 용량을 지정할 수 없습니다.

    데이터 유형: 부울

    result.serviceCategories.flexibleServices.category 예약과 관련된 직장 서비스 또는 추가 서비스 범주의 Sys_id입니다.

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.categoryComment 범주에 대한 추가 설명입니다.

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.categoryFriendlyName 직장 서비스 또는 추가 서비스 범주의 사용자 식별 이름입니다(예: 공간 정렬).

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.comment
    직장 서비스 항목 또는 추가 서비스에 대한 추가 코멘트입니다.

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.currencyCode 연결된 직장 서비스 항목 또는 추가 서비스의 비용을 계산하는 데 사용되는 통화 코드입니다.

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.deliveryTime
    직장 서비스 항목 또는 추가 서비스의 제공 시간입니다.

    데이터 유형: 문자열

    형식: UTC - yyyy-mm-ddThh:mm:ssZ(예: 2021-02-05T18:00:00Z)

    result.serviceCategories.flexibleServices.flexibleServiceId
    추가 서비스 또는 직장 서비스 항목의 Sys_id입니다.

    데이터 유형: 문자열

    테이블: 직장 서비스 항목 [sn_wsd_case_workplace_service_item]

    result.serviceCategories.flexibleServices.flexibleServiceName 연결된 추가 서비스 또는 직장 서비스 항목의 이름입니다.

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.maxCapacity 요청할 수 있는 직장의 최대 용량입니다.

    데이터 유형: 숫자

    result.serviceCategories.flexibleServices.quantity
    요청된 추가 서비스 항목 수입니다.

    데이터 유형: 숫자

    result.serviceCategories.flexibleServices.quantityEnabled 예약을 만드는 사용자가 서비스 항목의 수량을 지정할 수 있는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 사용자가 수량을 지정할 수 있습니다.
    • false: 사용자가 수량을 지정할 수 없습니다.

    데이터 유형: 부울

    result.serviceCategories.flexibleServices.requestId 추가 서비스 또는 직장 서비스 항목의 Sys_id입니다.

    데이터 유형: 문자열

    테이블: 서비스 요청 [sn_wsd_case_service_item_request]

    result.serviceCategories.flexibleServices.serviceItemImage 직장 서비스 항목의 썸네일 이미지의 파일 이름입니다.

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.servicePrice 직장 서비스 항목 또는 추가 서비스의 비용입니다.

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.serviceTimes 직장 서비스 항목을 준비하고 정리하는 데 걸리는 시간에 대한 상세 정보입니다.

    데이터 유형: 객체

    "serviceTimes": {
      "endCleanup": "String",
      "endPreparation": "String",
      "startCleanup": "String",
      "startPreparation": "String"
    }
    result.serviceCategories.flexibleServices.serviceTimes.endCleanup 직장 서비스 항목의 정리가 종료되는 날짜 및 시간입니다.

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.serviceTimes.endPreparation 직장 서비스 항목 준비가 종료되는 날짜 및 시간입니다.

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.serviceTimes.startCleanup 직장 서비스 항목의 정리가 시작되는 날짜 및 시간입니다.

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.serviceTimes.startPreparation 직장 서비스 항목 준비가 시작되는 날짜 및 시간입니다.

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.state 연결된 직장 서비스 항목의 현재 상태에 대한 상세 정보입니다.

    데이터 유형: 객체

    "state": {
      "display_value": "String",
      "value": "String"
    }
    result.serviceCategories.flexibleServices.state.display_value 직장 서비스 항목 상태의 표시 값(예: 열림)입니다.

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.state.value 직장 서비스 항목 상태의 내부 값입니다(예: 열림).

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.subCategory 연결된 직장 서비스 항목의 하위 범주에 대한 상세 정보입니다.

    데이터 유형: 객체

    "subCategory": {
      "display_value": "String",
      "value": "String"
    }
    result.serviceCategories.flexibleServices.subCategory.display_value 직장 서비스 항목 또는 추가 서비스(예: 의자 레이아웃, 음료 또는 IT 지원)에 대한 하위 범주의 표시 값입니다.

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.subCategory.value 직장 서비스 항목 또는 추가 서비스(예: chair_layout, 음료 또는 IT_support)의 하위 범주에 대한 내부 값입니다.

    데이터 유형: 문자열

    result.serviceCategories.flexibleServices.total_price 예약에 대한 직장 서비스 항목 또는 추가 서비스의 총 비용입니다.

    데이터 유형: 숫자

    result.serviceTimes 직장 서비스 항목을 준비하고 정리하는 데 걸리는 시간에 대한 상세 정보입니다.

    데이터 유형: 객체

    "serviceTimes": {
      "endCleanup": "String",
      "endPreparation": "String",
      "startCleanup": "String",
      "startPreparation": "String"
    }
    result.serviceTimes.endCleanup 직장 서비스 항목 정리가 종료되는 날짜 및 시간입니다.

    데이터 유형: 문자열

    result.serviceTimes.endPreparation 직장 서비스 항목 준비가 종료되는 날짜 및 시간입니다.

    데이터 유형: 문자열

    result.serviceTimes.startCleanup 직장 서비스 항목의 정리가 시작되는 날짜 및 시간입니다.

    데이터 유형: 문자열

    result.serviceTimes.startPreparation 직장 서비스 항목 준비가 시작되는 날짜 및 시간입니다.

    데이터 유형: 문자열

    cURL 요청

    이 코드 예시에서는 예약에 대한 추가 서비스 또는 직장 서비스 항목의 상세 정보를 요청하는 방법을 보여줍니다.

    curl "http://instance.servicenow.com/api/sn_wsd_rsv/wsd_extra_service_request/reservation/383e36c1536f01103cf7ddeeff7b1245" \
    --request GET \
    --header "Accept:application/json" \
    --user "username": "password"

    반환 결과:

    {
      "result": {
        "reservationId": "383e36c1536f01103cf7ddeeff7b1245",
        "serviceTimes": {
          "startPreparation": "2022-05-17T11:45:00ZZ",
          "endPreparation": "2022-05-17T12:00:00ZZ",
          "startCleanup": "2022-05-17T13:00:00ZZ",
          "endCleanup": "2022-05-17T13:15:00ZZ"
        },
        "reservableId": "02000d4edb7650106c731dcd13961914",
        "serviceCategories": {
          "50723fbf07100110c9b36b6e0ad300b4": {
            "serviceTimes": {
              "startPreparation": "2022-05-17T11:45:00Z",
              "endPreparation": "2022-05-17T12:00:00Z",
              "startCleanup": "2022-05-17T13:00:00Z",
              "endCleanup": "2022-05-17T13:15:00Z"
            },
            "flexibleServices": [
              {
                "requestId": "743eb605536f01103cf7ddeeff7b126b",
                "category": "50723fbf07100110c9b36b6e0ad300b4",
                "categoryComment": "test2",
                "subCategory": {
                  "value": "chair_layout",
                  "display_value": "Chair layout"
                },
                "categoryFriendlyName": "Space arrangement",
                "servicePrice": 0,
                "serviceItemImage": "4c6a0d7107600110c9b36b6e0ad300fc.iix",
                "currencyCode": "GBP",
                "totalPrice": 0,
                "flexibleServiceId": "21e2c08407600110c9b36b6e0ad3007c",
                "flexibleServiceName": "Theater Style",
                "deliveryTime": "2022-05-17 12:00:00",
                "comment": "test1",
                "quantity": 1,
                "capacity": 1,
                "quantityEnabled": false,
                "capacityEnabled": true,
                "maxCapacity": null,
                "state": {
                  "value": "2",
                  "display_value": "Work in Progress"
                },
                "serviceTimes": {
                  "startPreparation": "2022-05-17T11:45:00Z",
                  "endPreparation": "2022-05-17T12:00:00Z",
                  "startCleanup": "2022-05-17T13:00:00Z",
                  "endCleanup": "2022-05-17T13:15:00Z"
                }
              }
            ],
            "comment": "test2",
            "categoryFriendlyName": "Space arrangement",
            "categoryCurrencyCode": "GBP"
          }
        }
      }
    }

    WSD 추가 서비스 요청 - PATCH /api/sn_wsd_rsv/wsd_extra_service_request/submit

    지정된 단일 예약에 새 서비스 요청을 추가하거나 기존 추가 서비스 요청을 업데이트합니다.

    주:
    이 엔드포인트는 그룹 또는 다중 예약에 대해 작동하지 않습니다.

    URL 형식

    버전이 지정된 URL: /api/sn_wsd_rsv/{api_version}/wsd_extra_service_request/submit

    기본 URL: /api/sn_wsd_rsv/wsd_extra_service_request/submit

    주:
    사용 가능한 버전은 REST API 탐색기에 지정됩니다. 스크립트 기반 REST API의 경우 스크립트 기반 REST 서비스 양식에 추가 버전 정보가 있습니다.

    지원되는 요청 매개변수

    표 7. 경로 매개변수
    이름 설명
    api_version 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들어 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다.

    데이터 유형: 문자열

    표 8. 쿼리 매개변수
    이름 설명
    안 함
    표 9. 요청 본문 매개변수
    이름 설명
    reservationDateTimeChanged 예약 날짜 및 시간이 변경되었는지 여부를 나타내는 플래그입니다.
    유효한 값은 다음과 같습니다.
    • true: 예약 날짜 및 시간이 변경되었습니다.
    • false: 예약 날짜 및 시간이 변경되지 않았습니다.

    데이터 유형: 부울

    기본값: false

    예약 가능 ID 필수
    예약이 생성된 직장 위치의 Sys_id입니다.

    데이터 유형: 문자열

    표: 직장 위치 [sn_wsd_core_workplace_location]

    reservationId 필수 추가 서비스 요청을 추가할 예약의 Sys_id입니다.

    데이터 유형: 문자열

    테이블: 직장 예약 [sn_wsd_rsv_reservation]

    serviceCategories 필수 예약에 추가할 직장 서비스 항목 또는 추가 서비스의 목록입니다.

    데이터 유형: 객체 배열

    "serviceCategories": [
      {
        "category": "String",
        "comment": "String",
        "flexibleServices": [Array]
      }
    ]
    serviceCategories.category 필수 예약에 추가할 직장 서비스의 Sys_id 또는 이름입니다.

    데이터 유형: 문자열

    테이블: 직장 서비스 [sn_wsd_case_workplace_service]

    serviceCategories.comment 필수
    서비스 범주에 대한 설명입니다.

    데이터 유형: 문자열

    serviceCategories.flexibleServices 필수 예약에 추가하거나 취소할 각 직장 서비스 항목 또는 추가 서비스에 대한 상세 정보입니다.

    데이터 유형: 객체 배열

    "flexibleServices": [
      {
        "cancelFlag": Boolean,
        "comment": "String",
        "deliveryTime": "String",
        "extraServiceRequestId": "String",
        "flexibleServiceId": "String",
        "quantity": Number
      }
    ]
    serviceCategories.flexibleServices.cancelFlag 지정된 추가 서비스 요청을 취소할지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 연결된 추가 서비스 요청을 삭제합니다.
    • false: 작업이 없습니다.

    데이터 유형: 부울

    기본값: false

    serviceCategories.flexibleServices.comment 필수
    직장 서비스 항목 또는 추가 서비스에 대한 추가 코멘트입니다.

    데이터 유형: 문자열

    serviceCategories.flexibleServices.deliveryTime 필수
    직장 서비스 항목 또는 추가 서비스의 제공 시간입니다.

    데이터 유형: 문자열

    형식: UTC - yyyy-mm-ddThh:mm:ssZ(예: 2021-02-05T18:00:00Z)

    serviceCategories.flexibleServices.extraServiceRequestId 기존 추가 서비스 요청의 Sys_id입니다. 이 매개변수를 제공하여 기존의 추가 서비스 요청을 업데이트합니다.

    데이터 유형: 문자열

    테이블: 서비스 항목 요청[sn_wsd_case_service_item_request]

    serviceCategories.flexibleServices.flexibleServiceId 필수 추가 서비스 또는 직장 서비스 항목의 Sys_id입니다.

    데이터 유형: 문자열

    테이블: 직장 서비스 항목 [sn_wsd_case_workplace_service_item]

    serviceCategories.flexibleServices.quantity 필수
    요청된 추가 서비스 항목 수입니다.

    데이터 유형: 숫자

    머리글

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.

    표 10. 요청 헤더
    헤더 설명
    수락 요청 본문의 데이터 형식입니다. 지원되는 유형: application/json, application/xml 또는, text/xml.

    기본값: application/json

    컨텐츠-형식 요청 본문의 데이터 형식입니다. application/json만 지원합니다.
    표 11. 응답 헤더
    헤더 설명
    없음

    상태 코드

    다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용되는 가능한 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.

    표 12. 상태 코드
    상태 코드 설명
    200 성공입니다. 요청이 성공적으로 처리되었습니다.
    400 잘못된 요청입니다. 잘못된 요청 유형 또는 잘못된 형식의 요청이 탐지되었습니다.
    401 승인되지 않았습니다. 사용자 자격 증명이 잘못되었거나 전달되지 않았습니다.
    500 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다.

    응답 본문 매개변수

    이름 설명
    결과 요청에 대한 결과를 반환합니다.

    데이터 유형: 객체

    "result": {
      "extraServiceRequests": [Array],
      "reservableId": "String",
      "reservationId": "String",
      "success": Boolean
    }
    result.extraServiceRequests 추가 또는 취소된 추가 서비스 요청에 대한 상세 정보입니다.

    데이터 유형: 객체 배열

    "extraServiceRequests": [
      {
        "flexibleServiceId": "String",
        "requestId": "String"
        }
    ]
    result.extraServiceRequests.flexibleServiceId 예약에 추가된 추가 서비스 항목 요청의 Sys_id입니다.

    데이터 유형: 문자열

    테이블: 직장 서비스 항목 [sn_wsd_case_workplace_service_item]

    result.extraServiceRequests.requestId 요청에 추가된 추가 서비스 항목의 Sys_id입니다.

    데이터 유형: 문자열

    테이블: 서비스 항목 요청[sn_wsd_case_service_item_request]

    결과.reservableId
    예약이 생성된 직장 위치의 Sys_id입니다.

    데이터 유형: 문자열

    표: 직장 위치 [sn_wsd_core_workplace_location]

    result.reservationId 추가 서비스 요청이 추가된 예약의 Sys_id입니다.

    데이터 유형: 문자열

    테이블: 직장 예약 [sn_wsd_rsv_reservation]

    결과.성공 추가 서비스 요청이 예약에 성공적으로 추가되었는지 여부를 나타내는 플래그입니다.
    가능한 값:
    • true: 성공적으로 추가되었습니다.
    • false: 작업이 실패했습니다.

    데이터 유형: 부울

    cURL 요청

    다음 코드 예시에서는 예약에 추가 서비스 항목 요청을 추가하는 방법을 보여줍니다.

    curl "http://instance.servicenow.com/api/sn_wsd_rsv/wsd_extra_service_request/submit" \
    --request POST \
    --header "Accept:application/json" \
    --header "Concept-Type:application/json" \
    --user 'username':'password'

    반환 결과:

    {
      "result": {
        "reservationId": "2dc2efdf531701103cf7ddeeff7b1227",
        "reservableId": "02000d4edb7650106c731dcd13961914",
        "extraServiceRequests": [
          {
            "requestId": "bea46dbc53e701103cf7ddeeff7b1236",
            "flexibleServiceId": "e2ecf7b307500110c9b36b6e0ad30033"
          }
    ],
        "success": true
      }
    }