Spendint API - POST /sn_spend_intg/spendint/price

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 6분
  • 공급자 제품 기록의 가격 책정을 업데이트합니다.

    공급자 제품 기록에 대한 가격 책정을 사용할 수 있는 경우 API는 제품 SKU를 사용하여 기존 공급자 제품을 찾습니다. 일치하는 공급자 제품이 있으면 해당 계약 가격이 업데이트됩니다. 일치하는 공급자 제품을 찾을 수 없으면 가격 책정을 업데이트하려는 제품이 존재하지 않는다는 오류 메시지가 생성됩니다.

    상태 테이블

    가격 임포트 요청의 상태를 확인하려면 테이블 REST API를 사용하여 ServiceNow 데이터베이스에 대한 REST 호출을 수행합니다. API 응답에는 가격 임포트 요청이 실패한 기록이 나열됩니다. 가격 임포트 응답의 경우 다음 매개변수를 사용하여 가격 오류 테이블을 쿼리합니다.

    sysparm_query=outbound_error.supplier_id=<supplier_id>^outbound_error.state=20

    고객 ID, 공급자 ID, 오류 유형, 고유 임포트 세트 ID, 상태에 대한 상세 정보는 상위 오류 테이블인 아웃바운드 상태 테이블에서 확인할 수 있습니다.

    URL 형식

    /api/sn_spend_intg/spendint/price

    지원되는 요청 매개변수

    표 1. 경로 매개변수
    이름 설명
    없음
    표 2. 쿼리 매개변수
    이름 설명
    모드 외부 공급업체 통합을 위한 비동기 및 동기 모드를 지원합니다.

    데이터 유형: 문자열

    유효한 값은 다음과 같습니다.
    • async: 비동기 모드입니다.
    • sync: 동기 모드입니다.

    기본값: async

    표 3. 요청 본문 매개변수(XML 또는 JSON)
    이름 설명
    catalog_id 필수입니다. 고객이 구매할 수 있는 카탈로그 컨텐츠의 식별자입니다.

    데이터 유형: 문자열

    최대 길이: 100

    customer_id 필수입니다. 고객의 식별자입니다.

    데이터 유형: 문자열

    최대 길이: 100

    제품 생성하거나 업데이트할 제품을 정의하는 객체 목록입니다. 각 트랜잭션은 제품 한도가 1,000개입니다.

    데이터 유형: 배열

    "products": [
      {
        "contract_agreement": {Array},
        "sku": "String"
      }
    ]
    products.contract_agreement 제품 계약에 대한 상세 정보입니다.

    데이터 유형: 객체

    "contract_agreement": {
      "contract_end_date": "String",
      "contract_number": "String",
      "contract_start_date": "String",
      "negotiated_currency ": "String",
      "negotiated_price": "String"
    }
    products.contract_agreement.contract_end_date 계약 조건이 종료되는 날짜입니다.

    데이터 유형: 문자열

    최대 길이: 40

    형식: YYYY-MM-DD

    products.contract_agreement.contract_number 필수입니다. 제품과 관련된 활성 계약의 번호입니다.

    데이터 유형: 문자열

    최대 길이: 100

    products.contract_agreement.contract_start_date 계약 조건이 시작되는 날짜입니다.

    데이터 유형: 문자열

    최대 길이: 40

    형식: YYYY-MM-DD

    products.contract_agreement.negotiated_currency 필수입니다. 협상된 가격의 통화입니다.

    데이터 유형: 문자열

    최대 길이: 40

    products.contract_agreement.negotiated_price 필수입니다. 공급자 또는 리셀러와 계약을 통해 협상한 제품의 단가입니다.

    데이터 유형: 문자열

    최대 길이: 40

    products.sku 필수입니다. 해당 공급자가 판매한 제품을 고유하게 식별하는 공급자가 생성한 번호입니다.

    데이터 유형: 문자열

    최대 길이: 100

    supplier_id 필수입니다. 고객이 주문할 수 있는 리셀러 또는 공급자의 식별자입니다.

    데이터 유형: 문자열

    최대 길이: 100

    third_party_import_id 외부 공급업체가 문자열 값을 전달하여 임포트한 데이터 세트를 고유하게 식별할 수 있는 식별자입니다.

    데이터 유형: 문자열

    최대 길이: 100

    헤더

    다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다.

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

    기본값: application/json

    주:
    Procurement Integration Framework에는 application/json 데이터 형식만 지원됩니다.
    표 5. 응답 헤더
    헤더 설명
    없음

    상태 코드

    다음 상태 코드는 이 HTTP 작업에 적용됩니다.

    표 6. 상태 코드
    상태 코드 설명
    성공 성공입니다. 요청이 성공적으로 처리되었습니다.
    실패 실패했습니다. 요청이 오류와 함께 처리되었습니다.

    응답 본문 매개변수(JSON)

    이러한 응답 본문 매개변수는 동기 모드에서 쿼리될 때 수신됩니다.
    이름 설명
    error_response_body sku 및 오류 메시지로 나열된 오류에 대한 설명입니다.

    데이터 유형: 배열

    error_response_body.error_message 자세한 오류 메시지입니다.

    데이터 유형: 문자열

    status_code "성공" 또는 "실패"와 같은 응답 상태입니다.

    데이터 유형: 문자열

    cURL 요청

    curl "https://instance.service-now.com/api/sn_spend_intg/spendint/price" \
    --request POST \
    --header "Accept:application/json" \
    --user 'username':'password'
    {"root": [{
      "customer_id": "ACME CORP",
      "catalog_id": "AB-1234323",
      "supplier_id": "SUP-123456",
      “third_party_import_id”: “DEL789876",
      "products": [
        {
          "sku": "5578874",
          "contract_agreement": {
            "contract_number": "34567892",
            "contract_start_date": "YYYY-MM-DD",
            "contract_end_date": "YYYY-MM-DD",
            "negotiated_price": "456",
            "negotiated_currency ": "USD"
          }
        }
      ]
    }
    ]}
    

    가능한 응답:

    // Success response:
    {
        “result”: {
            “response”: “success”
        }
    }
    
    // Error response:
    {
        “result”: {
            “response”: [
                {
                    “customer_id”: “ACME CORP”,
                    “supplier_id”: “SUP-123456”,
                    “third_party_import_id”: “DEL789876",
                    “status_code”: “failure”,
                    “error_response_body”: [
                        {
                            “sku”: “5578874”,
                            “error_message”: “The product for which you are trying to update pricing does not exist\nField Value empty/Formatting issue Negotiated currency\nField Value empty/Formatting issue Contract start date\nField Value empty/Formatting issue Contract end date\n”
                        }
                    ]
                }
            ]
        }
    }