Spendint API - POST /sn_spend_intg/spendint/price
サプライヤー製品レコードの価格設定を更新します。
サプライヤー製品レコードの価格設定が利用可能な場合、API は製品 SKU を使用して既存のサプライヤー製品を検索します。一致するサプライヤー製品が存在する場合、対応する契約価格が更新されます。一致するサプライヤー製品が見つからない場合は、価格設定を更新しようとしている製品が存在しないことを示すエラーメッセージが生成されます。
ステータステーブル
価格インポート要求のステータスを確認するには、Table 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
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| mode | サードパーティ統合のための非同期モードと同期モードのサポート。 データタイプ:文字列 有効な値:
デフォルト:非同期 |
| 名前 | 説明 |
|---|---|
| catalog_id | 必須。顧客が購入できるカタログコンテンツの識別子。 データタイプ:文字列 最大長:100 |
| 顧客_ID | 必須。顧客の識別子。 データタイプ:文字列 最大長:100 |
| 製品 | 作成または更新する製品を定義するオブジェクトのリスト。各トランザクションには 1000 個の製品制限があります。 データタイプ:アレイ |
| products.contract_agreement | 製品の契約の詳細。 データタイプ:オブジェクト |
| 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 アクションにのみ適用されるか、別の方法でこのアクションに適用されます。
| ヘッダー | 説明 |
|---|---|
| 受容 | 応答本文のデータ形式。サポートされているタイプ: application/json または application/xml。 デフォルト: application/json |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。
| ステータスコード | 説明 |
|---|---|
| 成功 | 成功。要求が正常に処理されました。 |
| 失敗 | 不成功。要求はエラーで処理されました。 |
応答本文のパラメーター (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”
}
]
}
]
}
}