Spendint API - POST /sn_spend_intg/spendint/orderack

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:7分
  • ユーザーがサードパーティカタログから製品を購入する際の注文情報を更新します。ユーザーがチェックアウトすると、購入の承認またはその他のタスクを完了できるように購入明細が作成されます。

    ServiceNow データベースで発注書が生成されると、その注文は次のテーブルにプッシュされます。
    • 送信オーダー:注文ヘッダーが含まれます。
    • 送信オーダーライン:オーダーラインが含まれます。

    サプライヤーは、これらのテーブルをクエリし、処理待ちの注文をフェッチする必要があります。サプライヤーは、ServiceNow データベースと統合するための ワークフロースタジオ アクションのスコープ対象アプリを作成する必要があります。

    次のパラメーターを使用してテーブルをクエリします。
    • sysparm_query=supplier_id=<supplier_id>^purchase_order.status=20 for header
    • sysparm_query=purchase_order.supplier_id=<supplier_id>^purchase_order.status=20 for header
    購入明細が発注明細に変換されると、次のプロセスが実行されます。
    1. 該当する場合、発注書と発注明細はエンタープライズリソースプランニング (ERP) に送信されます。
    2. 発注書と発注明細は、顧客 ID、サプライヤー ID、発注書番号、注文日、発注書金額、発注書金額通貨、および発注明細とともに、統合を通じてサードパーティに転送されます。
    3. 発注書と発注明細は、サードパーティカタログの統合と 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

    サポートされている要求パラメーター

    表 : 1. パスパラメーター
    名前 説明
    なし
    表 : 2. クエリパラメータ
    名前 説明
    mode サードパーティ統合のための非同期モードと同期モードのサポート。

    データタイプ:文字列

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

    デフォルト:非同期

    表 : 3. 要求本文パラメーター (XML または JSON)
    名前 説明
    customer_id 必須です。顧客に対する識別子。

    データタイプ:文字列

    最大長:100

    order_number 必須です。この注文に対して顧客から提供された発注書番号。

    データタイプ:文字列

    最大長:40

    sales_order_lines この注文の購入に対する一意の更新を含む受注明細行を定義するオブジェクトのリスト。

    データタイプ:アレイ

    "sales_order_lines":[
      {
        "estimated_arrival_date": "String",
        "line_number": "String",
        "sales_order_line_number": "String"
      }
    ]
    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 必須です。注文が正常に行われたかどうかを確認する送信済み注文のステータス。

    データタイプ:文字列

    有効な値:
    • 確認済み (confirmed):注文が正常に完了しました。
    • 却下 (rejected):注文は行われませんでした。
    status_message ステータスコードに添付されたメッセージ。たとえば、注文が正常に行われて取り寄せ中であるメッセージが表示される場合があります。

    データタイプ:文字列

    最大長:1000

    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 受注番号、受注明細行番号、およびエラーメッセージ別にリストされたエラーの説明。

    データタイプ:アレイ

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