Spendint API - POST /sn_spend_intg/spendint/price
サプライヤー製品レコードの価格設定を更新します。
サプライヤー製品レコードの価格設定が利用可能な場合、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
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| mode | サードパーティ統合のための非同期モードと同期モードのサポート。 データタイプ:文字列 有効な値:
デフォルト:非同期 |
| 名前 | 説明 |
|---|---|
| catalog_id | 必須です。顧客が購入できるカタログコンテンツの識別子。 データタイプ:文字列 最大長:100 |
| customer_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 アクションには、次のステータスコードが適用されます。
| ステータスコード | 説明 |
|---|---|
| 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”
}
]
}
]
}
}