Spendint API - POST /sn_spend_intg/spendint/orderack
ユーザーがサードパーティカタログから製品を購入する際の注文情報を更新します。ユーザーがチェックアウトすると、購入の承認またはその他のタスクを完了できるように購入明細が作成されます。
- 送信オーダー:注文ヘッダーが含まれます。
- 送信オーダーライン:オーダーラインが含まれます。
サプライヤーは、これらのテーブルをクエリし、処理待ちの注文をフェッチする必要があります。サプライヤーは、ServiceNow データベースと統合するための ワークフロースタジオ アクションのスコープ対象アプリを作成する必要があります。
sysparm_query=supplier_id=<supplier_id>^purchase_order.status=20 for headersysparm_query=purchase_order.supplier_id=<supplier_id>^purchase_order.status=20 for header
- 該当する場合、発注書と発注明細はエンタープライズリソースプランニング (ERP) に送信されます。
- 発注書と発注明細は、顧客 ID、サプライヤー ID、発注書番号、注文日、発注書金額、発注書金額通貨、および発注明細とともに、統合を通じてサードパーティに転送されます。
- 発注書と発注明細は、サードパーティカタログの統合と ERP の両方が確認メッセージを受信するまで、[保留中の送信] ステータスのままになります。確認を受信した後、ステータスが [オーダー] に更新されます。ERP Integration が関連していない場合は、サードパーティ統合からの確認メッセージのみが必要です。
ステータステーブル
注文確認要求のステータスを確認するには、テーブル 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/orderack
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| mode | サードパーティ統合のための非同期モードと同期モードのサポート。 データタイプ:文字列 有効な値:
デフォルト:非同期 |
| 名前 | 説明 |
|---|---|
| customer_id | 必須です。顧客に対する識別子。 データタイプ:文字列 最大長:100 |
| order_number | 必須です。この注文に対して顧客から提供された発注書番号。 データタイプ:文字列 最大長:40 |
| sales_order_lines | この注文の購入に対する一意の更新を含む受注明細行を定義するオブジェクトのリスト。 データタイプ:アレイ |
| sales_order_lines.estimated_arrival_date | 注文の到着予定日。 データタイプ:文字列 最大長:40 形式:YYYY-MM-DD |
| sales_order_lines.line_number | 必須です。特定の購入について顧客が生成された発注書明細行番号。 データタイプ:文字列 最大長:40 |
| sales_order_lines.sales_order_line_number | サプライヤーによって生成された受注明細行番号。この番号は、この購入のリビジョンにのみ必要です。 データタイプ:文字列 最大長:40 |
| sales_order_number | この注文についてサプライヤーが生成した番号または値。 データタイプ:文字列 最大長:40 |
| status_code | 必須です。注文が正常に行われたかどうかを確認する送信済み注文のステータス。 データタイプ:文字列 有効な値:
|
| status_message | ステータスコードに添付されたメッセージ。たとえば、注文が正常に行われて取り寄せ中であるメッセージが表示される場合があります。 データタイプ:文字列 最大長:1000 |
| supplier_id | 必須です。顧客が注文できるリセラーまたはサプライヤーの識別子。 データタイプ:文字列 最大長:100 |
| third_party_import_id | この識別子により、サードパーティは、インポートされたデータのセットを一意に識別する文字列値を渡すことができます。 データタイプ:文字列 最大長:100 |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。
| ステータスコード | 説明 |
|---|---|
| success | 成功。要求が正常に処理されました。 |
| failure | 不成功。要求が処理されました (エラーあり)。 |
応答本文のパラメーター (JSON)
これらの応答本文パラメーターは、同期モードで照会されたときに受信されます。| 名前 | 説明 |
|---|---|
| error_response_body | 受注番号、受注明細行番号、およびエラーメッセージ別にリストされたエラーの説明。 データタイプ:アレイ |
| error_response_body.error_message | 詳細なエラーメッセージ。 データタイプ:文字列 |
| status_code | 「success」や「failure」などの応答ステータス。 データタイプ:文字列 |
cURL 要求
curl "https://instance.service-now.com/api/sn_spend_intg/spendint/orderack" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
{"root":[{
"customer_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"order_number": "PO08903323",
"sales_order_number": "SO03323212",
"status_code": "CONFIRMED",
"status_message": "BACKORDERED",
"sales_order_lines":[
{
"line_number": "POL6789876",
"sales_order_line_number": "SOL5678909",
"estimated_arrival_date": "YYYY-MM-DD"
}
]
}
]}
考えられる応答:
// Success response:
{
"result": {
"response": "success"
}
}
// Error response:
{
"result": {
"response": [
{
"customer_id": "ACME CORP",
"supplier_id": "SUP-123456",
"third_party_import_id": "undefined",
"status_code": "failure",
"error_response_body": [
{
"sales_order_number": "SO03323212",
"sales_order_line_number": "SOL5678909",
"error_message": "Field Value empty/Formatting issue Purchase order number\nField Value empty/Formatting issue Purchase order line number\n"
}
]
}
]
}
}