Spendint API - POST /sn_spend_intg/spendint/shipment

  • 릴리스 버전: Yokohama
  • 업데이트 날짜 2025년 01월 30일
  • 읽기10분
  • 이 엔드포인트를 사용하여 외부 공급업체의 구매 업데이트를 수락합니다.

    데이터를 수신할 때는 판매 주문 라인 번호를 사용하여 배송 데이터를 구매 주문 라인과 일치시켜야 합니다. 추적 번호를 사용하여 구매 주문 라인과 관련된 기존 배송 상세 정보 기록을 찾을 수 있습니다. 이러한 기록을 찾을 수 없는 경우 새 배송 상세 정보 기록을 생성합니다. 배송 데이터에 대한 구매 주문 또는 구매 주문 라인이 없는 경우 이 배송에 대한 구매 주문이 존재하지 않는다는 오류 메시지가 표시됩니다.
    주:
    구매 주문과 구매 주문 라인이 제출 보류 중 상태이고 판매 주문 및 판매 주문 라인이 채워지지 않은 경우 외부 공급업체 리셀러의 배송 및 송장 게시가 허용되지 않습니다. 구매 주문과 구매 주문 라인의 상태가 주문됨인 경우에만 허용됩니다. 또한 배송 및 송장 게시에 대한 순차적 제한은 없습니다.

    상태 테이블

    배송 요청의 상태를 확인하려면 테이블 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/shipment

    지원되는 요청 매개변수

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

    데이터 유형: 문자열

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

    기본값: async

    표 3. 요청 본문 매개변수(XML 또는 JSON)
    이름 설명
    customer_id 고객의 식별자입니다.

    데이터 유형: 문자열

    최대 길이: 100

    order_number 필수입니다. 이 주문에 대해 고객이 제공한 구매 주문 번호입니다.

    데이터 유형: 문자열

    최대 길이: 40

    sales_order_number 필수입니다. 이 주문에 대해 공급자가 생성한 번호 또는 값입니다.

    데이터 유형: 문자열

    최대 길이: 40

    shipment_lines 자산의 일련 번호, IMEI 번호 및 자산의 자산 태그 상세 정보가 포함될 수 있는 배송 라인 목록입니다.

    데이터 유형: 배열

    "shipment_lines": [
      {
        "actual_shipment_date": "String",
        "estimated_arrival_date": "String",
        "line_number": "String",
        "planned_shipment_date": "String",
        "product_details": [Array],
        "sales_order_line_number": "String",
        "shipping_address": {Object},
        "shipping_carrier": "String",
        "shipment_quantity": "String",
        "ship_to": "String",
        "tracking_number": "String"
      }
    ]
    shipment_lines.actual_shipment_date 배송이 공급자의 위치에서 출발한 날짜입니다.

    데이터 유형: 문자열

    최대 길이: 40

    형식: YYYY-MM-DD

    shipment_lines.estimated_arrival_date 배송이 지정된 위치에 도착할 것으로 예상되는 날짜입니다.

    데이터 유형: 문자열

    최대 길이: 40

    형식: YYYY-MM-DD

    shipment_lines.line_number 필수입니다. 특정 구매에 대해 고객이 생성한 구매 주문서 라인 번호입니다.

    데이터 유형: 문자열

    최대 길이: 40

    shipment_lines.planned_shipment_date 배송이 공급자의 위치에서 출발하기로 계획된 날짜입니다.

    데이터 유형: 문자열

    최대 길이: 40

    형식: YYYY-MM-DD

    shipment_lines.product_details 배송 중인 제품에 대한 상세 정보를 정의하는 객체 목록입니다. 옵션으로는 일련 번호, IMEI 번호 및 자산 태그 상세 정보가 있습니다.

    데이터 유형: 배열

    "product_details": [
      {
        "asset_tag": "String",
        "imei": "String",
        "serial_number": "String"
      }
    ]
    shipment_lines.product_details.asset_tag 배송된 제품의 자산 태그입니다.

    데이터 유형: 문자열

    최대 길이: 100

    shipment_lines.product_details.imei 배송된 제품의 IMEI 번호입니다.

    데이터 유형: 문자열

    최대 길이: 100

    shipment_lines.product_details.serial_number 필수입니다. 배송된 제품의 일련 번호입니다.

    데이터 유형: 문자열

    최대 길이: 100

    shipment_lines.sales_order_line_number 공급자가 생성한 판매 주문 라인 번호입니다. 이 번호는 이 구매를 수정하는 데만 필요합니다.

    데이터 유형: 문자열

    최대 길이: 40

    shipment_lines.shipping_address 제품을 배송할 주소입니다.

    데이터 유형: 객체

    "shipping_address":
      {
        "city": "String",
        "country": "String",
        "name": "String",
        "state": "String",
        "street": "String",
        "zip_code": "String"
      }
    shipment_lines.shipping_address.city 제품이 배송되는 도시 이름입니다.

    데이터 유형: 문자열

    최대 길이: 1000

    shipment_lines.shipping_address.country 제품이 배송되는 국가입니다.

    데이터 유형: 문자열

    최대 길이: 40

    shipment_lines.shipping_address.name 제품을 배송받을 고객의 이름입니다.

    데이터 유형: 문자열

    최대 길이: 1000

    shipment_lines.shipping_address.state 제품이 배송되는 주입니다.

    데이터 유형: 문자열

    최대 길이: 1000

    shipment_lines.shipping_address.street 제품이 배송되는 거리 이름입니다.

    데이터 유형: 문자열

    최대 길이: 1000

    shipment_lines.shipping_address.zip_code 제품이 배송되는 우편 번호 또는 PIN 코드입니다.

    데이터 유형: 문자열

    최대 길이: 40

    shipment_lines.shipment_quantity 필수입니다. 실제 상품으로 배송되는 제품의 수입니다. 이 숫자에는 배송 대상인 제품의 수량이 포함되어야 합니다.

    데이터 유형: 문자열

    최대 길이: 40

    shipment_lines.shipping_carrier FedEx, UPS, USPS 등의 지정된 위치로 제품을 배송하는 운송업체입니다.

    데이터 유형: 문자열

    최대 길이: 100

    shipment_lines.ship_to 제품이 배송되는 수신인의 이름입니다.

    데이터 유형: 문자열

    최대 길이: 100

    shipment_lines.tracking_number 구매 전체 또는 일부에 대해 운송업체가 제공하는 추적 번호입니다.

    데이터 유형: 문자열

    최대 길이: 100

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

    데이터 유형: 문자열

    최대 길이: 100

    supplier_shipment_number 필수입니다. 이 배송에 대해 생성된 식별 번호입니다. 일반적으로 이 번호는 전사적 자원 계획(ERP) 또는 주문 추적 시스템에 의해 생성됩니다.

    데이터 유형: 문자열

    최대 길이: 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 판매 주문 라인 번호, 판매 주문 번호, 공급자 배송 번호 및 오류 메시지로 나열된 오류에 대한 설명입니다.

    데이터 유형: 배열

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

    데이터 유형: 문자열

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

    데이터 유형: 문자열

    cURL 요청

    curl "https://instance.service-now.com/api/sn_spend_intg/spendint/shipment" \
    --request POST \
    --header "Accept:application/json" \
    --user 'username':'password'
    {"root":[{
      "customer_id" : "ACME CORP",
      "supplier_id" : "SUP-123456",
      "third_party_import_id": "DEL2134324",
      "supplier_shipment_number" : "TN-YU67898723",
      "order_number": "PO0001002",
      "sales_order_number": "SO00223002",
      "shipment_lines": [
        {
          "line_number": "POL0001005",
          "sales_order_line_number": "SOL0231325",
          "shipment_quantity": "4",
          "shipping_carrier": "FedEx",
          "tracking_number": "E-901290092",
          "shipping_address":
            {
              "name" : "1640 Camino Del Rio North #202, San Diego,CA",
              "street" : "1640 Camino Del Rio North",
              "city" : "San Diego",
              "state" : "CA",
              "zip_code" : "92108-1512",
              "country" : "US"
            },
          "ship_to": "John doe",
          "planned_shipment_date": "YYYY-MM-DD",
          "actual_shipment_date": "YYYY-MM-DD",
          "estimated_arrival_date": "YYYY-MM-DD",
          "product_details": [
            {
              "serial_number": "FL1234-23242319001",
              "imei": "2134890294",
              "asset_tag": ""
            },{
              "serial_number": "FL1234-23242319110",
              "imei": "245499003",
              "asset_tag": ""
            }
          ]
        }
      ]
    }
    ]}

    가능한 응답:

    // Success response:
    {
        "result": {
            "response": "success"
        }
    }
    
    // Error response:
    {
        "result": {
            "response": [
                {
                    "customer_id": "ACME CORP",
                    "supplier_id": "SUP-123456",
                    "third_party_import_id": "DEL2134324",
                    "status_code": "failure",
                    "error_response_body": [
                        {
                            "sales_order_line_number": "SOL0231325",
                            "sales_order_number": "SO00223002",
                            "supplier_shipment_number": "TN-YU67898723",
                            "error_message": "The purchase order for this shipment does not exist\nThe purchase order line for this shipment does not exist\n"
                        }
                    ]
                }
            ]
        }
    }