Spendint API - POST /sn_spend_intg/spendint/price

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間: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. クエリパラメータ
    名前 説明
    mode サードパーティ統合のための非同期モードと同期モードのサポート。

    データタイプ:文字列

    有効な値:
    • 非同期:非同期モード。
    • 同期:同期モード。

    デフォルト:非同期

    表 : 3. 要求本文パラメーター (XML または JSON)
    名前 説明
    catalog_id 必須です。顧客が購入できるカタログコンテンツの識別子。

    データタイプ:文字列

    最大長:100

    customer_id 必須です。顧客に対する識別子。

    データタイプ:文字列

    最大長:100

    製品 作成または更新する製品を定義するオブジェクトのリスト。各トランザクションには 1000 製品の制限があります。

    データタイプ:アレイ

    "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. ステータスコード
    ステータスコード 説明
    success 成功。要求が正常に処理されました。
    failure 不成功。要求が処理されました (エラーあり)。

    応答本文のパラメーター (JSON)

    これらの応答本文パラメーターは、同期モードで照会されたときに受信されます。
    名前 説明
    error_response_body SKU およびエラーメッセージ別にリストされたエラーの説明。

    データタイプ:アレイ

    error_response_body.error_message 詳細なエラーメッセージ。

    データタイプ:文字列

    status_code 「success」や「failure」などの応答ステータス。

    データタイプ:文字列

    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”
                        }
                    ]
                }
            ]
        }
    }