Spendint API - POST /sn_spend_intg/spendint/orderack

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

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

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

    次のパラメーターを使用してテーブルをクエリします。
    • ヘッダーの場合は sysparm_query=supplier_id=<supplier_id>^purchase_order.status=20
    • ヘッダーの場合は sysparm_query=purchase_order.supplier_id=<supplier_id>^purchase_order.status=20
    購入明細が発注明細に変換されると、次のプロセスが実行されます。
    1. 該当する場合、発注書 (PO) と発注明細がエンタープライズリソースプランニング (ERP) に送信されます。
    2. 発注書と発注書明細は、顧客 ID、サプライヤー ID、発注書番号、注文日、発注金額、発注書金額通貨、発注明細を使用して、統合を通じてサードパーティに転送されます。
    3. サードパーティのカタログ統合と ERP の両方で確認メッセージが受信されるまで、発注書と発注書明細は [送信待ち] ステータスのままになります。確認を受信すると、ステータスが [注文済み] に更新されます。ERP 統合が関係しない場合、サードパーティ統合からの確認メッセージのみが必要です。

    ステータステーブル

    注文確認要求のステータスを確認するには、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/orderack

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

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

    データタイプ:文字列

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

    デフォルト:非同期

    表 : 3. 要求本文パラメーター (XML または JSON)
    名前 説明
    顧客_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 必須。注文が正常に行われたかどうかを確認する送信済み注文のステータス。

    データタイプ:文字列

    有効な値:
    • 確認済み:注文が正常に行われました。
    • rejected:注文が行われていません。
    status_message ステータスコードに添付されるメッセージ。たとえば、注文が正常に行われ、入荷待ちであることを示すメッセージなどです。

    データタイプ:文字列

    最大長:1000

    supplier_id 必須。顧客が注文できるリセラーまたはサプライヤーの識別子。

    データタイプ:文字列

    最大長:100

    third_party_import_id インポートされたデータのセットを一意に識別するために文字列値を渡すことをサードパーティに有効にする識別子。

    データタイプ:文字列

    最大長:100

    ヘッダー

    次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。

    表 : 4. 要求ヘッダー
    ヘッダー 説明
    受容 応答本文のデータ形式。サポートされているタイプ: application/json または application/xml

    デフォルト: application/json

    注:
    調達統合フレームワークでは、 application/json データ形式のみがサポートされています。
    表 : 5. 応答ヘッダー
    ヘッダー 説明
    なし

    ステータスコード

    この HTTP アクションには、次のステータスコードが適用されます。

    表 : 6. ステータスコード
    ステータスコード 説明
    成功 成功。要求が正常に処理されました。
    失敗 不成功。要求はエラーで処理されました。

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

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

    データタイプ:アレイ

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

    データタイプ:文字列

    status_code 「成功」や「失敗」などの応答ステータス。

    データタイプ:文字列

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