次の方法で共有


API 経由で Intelligent Order Management のフルフィルメント最適化エンジン (DOM) を呼び出す

2023 年 4 月のリリースの一部として、Microsoft Dynamics 365 Intelligent Order Management のフルフィルメント最適化エンジン (DOM) をアプリケーション プログラミング インターフェイス (API) 経由で販売注文オーケストレーションの外部から呼び出すことができます。 eコマース、マーケットプレース、エンタープライズ・リソース・プランニング (ERP) プラットフォームなど、どのプラットフォームでも、Intelligent Order Management に API 要求を行うことで、最適なフルフィルメントのソースを、配送業者の送料や配送予定日の情報などの配送オプションとともに取得することができます。 フルフィルメント計画だけを取得する場合は、少なくとも配送先住所、製品、および数量を API 要求に含める必要があります。 フルフィルメント計画に加えて配送業者の送料と配送予定日を取得する場合は、配送業者情報を渡す必要があります。 現在、API は FedEx レート API を呼び出して送料を取得するように作成されています。 ただし、ペイロード応答はどの配送業者に対しても汎用的なものです。

前提条件

API 経由で Intelligent Order Management のフルフィルメント最適化エンジン (DOM) を使用する前に、次の前提条件を満たす必要があります:

  • 最新バージョンの Intelligent Order Management (バージョン 1.0.0.6035) をインストールします。
  • 戦略、ソース リスト、制約などのフルフィルメント設定を設定します。 詳細については、フルフィルメントと返品の最適化プロバイダーの概要 を参照してください。
  • Inventory Visibility プロバイダーを設定します。 詳細については、Inventory visibility を参照してください。
  • フルフィルメント のソース設定の各フルフィルメント ソースに倉庫IDがマップされている必要があります。

Fedex 配送業者からの配送オプションを持つ結果を期待する場合は、次の設定が完了していることを確認する必要があります。

  1. FedEx プロバイダーを設定します。 詳細については、FedEx プロバイダーの設定 を参照してください。
  2. 設定>フルフィルメント設定>休日カレンダー で休日カレンダーを設定します。
  3. 配送業者の集荷スケジュールは、設定>フルフィルメント設定>配送業者 で設定します。 配送業者を選択し、集荷スケジュールに移動して、新しい集荷スケジュールを追加します。
  4. フルフィルメント ソースの設定に少なくとも 1 つのカレンダーと集荷スケジュールが割り当てられていることを確認します。
  5. 重量および寸法が製品の共有製品テーブルにあることを確認します。
  6. 配送業者の輸送料係数テーブルが、輸送料係数と予備料金情報で更新されていることを確認します。 輸送料係数テーブルにアクセスするには、設定>フルフィルメント設定>配送業者>輸送料係数 に移動します。

機能説明

API 要求が行われると、Intelligent Order Management のフルフィルメント最適化エンジン (DOM) が呼び出され、事前構成されたフルフィルメントの最適化戦略と制約に基づいて、各行に最適なフルフィルメント ソースが返されます。 要求に FedEx などの配送業者が含まれている場合、配送業者の集荷スケジュールをフルフィルメント ソースの作業カレンダーとともに確認し、次回集荷可能な時間を配送業者 API に送信します。 DOM API に対する応答は、フルフィルメント計画と配送業者の出力の両方を組み合わせ、呼び出し元のアプリケーションに返します。

API 要求の例

環境でテストする Power Automate flow–to–Dataverse アンバウンド アクションを作成します。

{{Dataverse URL}}/api/data/v9.2/msdyn_IomDomAPI  
**apiVersion**: 1.0 
{ 
    "fnoCompanyId": "USMF", 
    "orderId": "b16bd573-ad9a-4188-bc08-e5ac5eca776e", 
    "strategyId": null, 
    "carrier": "fedex", 
    "salesOrderOrigin": null, 
    "customerInformation": { 
        "name": "Whole sales", 
        "customerNumber": "US-001", 
        "customerGroup": "10", 
        "customerEmail": "test@microsoft.com" 
    }, 
    "orderDestinationAddress": { 
        "addressType": "Residence", 
        "address1": "537 N St. Francis", 
        "address2": null, 
        "address3": null, 
        "city": "Wichita", 
        "stateOrProvince": "KS", 
        "postalCode": "67214", 
        "phoneNumber": null, 
        "country": "US" 
    }, 
    "lineItems": [ 
        { 
            "lineId": "d5670621-910d-486b-90ca-61d739e9a92e", 
            "itemId": "1000", 
            "quantity": 2, 
            "freeShipping": "No" 
        }, 
        { 
            "lineId": "5c8b423b-c9fe-4ff1-a16e-a75a35d7c424", 
            "itemId": "T0001", 
            "quantity": 2, 
            "freeShipping": "Yes", 
            "dimensions": { 
                "sizeId": "10" 
            } 
        }, 
        { 
            "lineId": "a359a0ec-cded-4eda-b7b0-d7478dff48b9", 
            "itemId": "T0004", 
            "quantity": 2, 
            "freeShipping": "Yes", 
            "dimensions": { 
                "colorId": "black" 
            } 
        } 
    ] 
}

応答の例

Fulfillment Successful 
{ 
    "fulfillmentPlan": { 
        "executionId": "616d8797-0654-4ca7-bae2-c4771521e5f4", 
        "planLines": [ 
            { 
                "orderId": "47c1c1c6-5cc7-4691-a0ae-b50b83b2bba1", 
                "lineId": "34d8209b-3a4b-4c54-a666-76fef99bef63", 
                "quantityToFulfill": 1.0, 
                "orderedQuantity": 1.0, 
                "fulfillmentCenter": "127", 
                "itemId": "1000" 
            } 
        ], 
        "notFulfilledLines": [] 
    } 
} 

API 参照ガイド

このセクションでは、API 要求のデータ型とヘッダー フィールドについて説明します。

名前 データ型 Description
fnoCompanyId 文字列、オプション システム内の企業に対する識別子。 このフィールドは、Dataverse が財務と運用アプリにリンクされている場合に必要です。
salesOrderOrigin 文字列、オプション システム内の発注元に対する識別子。 このフィールドは、発注元に基づいて、在庫が割り当てられたものから消費される必要がある場合に必要です。
orderId guid 文字列、必須 元のシステムで注文または カート ID を識別するために使用されるユーザー定義の注文番号。
strategyId guid 文字列、オプション Intelligent Order Management のフルフィルメント戦略に対する識別子。 この識別子が指定されていない場合、プロセスはシステムで定義されている既定の戦略を使用します。
carrier 文字列、オプション このフィールドは、送料および予想の配送推定を取得するために必要です。 サポートされている値は、FedEx です。
orderDestinationAddress アドレス、必須 受取人の配送先住所。 アドレス モデルを使用します。
customerInformation CustomerInformation、オプション 注文の顧客情報。 顧客情報モデルを使用します。
lineItems OrderDetail、必須 注文詳細オブジェクトの配列。 注文詳細モデルの配列を使用します。

モデル

このセクションでは、API 要求でデータ モデルを使用するフィールドについて説明します。

住所

このセクションでは、API 要求のアドレス オブジェクトのフィールドについて説明します。

名前 データ型 Description
addressType 文字列、オプション、値: ビジネス、居住地、任意 指定した住所が居住用かどうかを示す値。
名前 文字列、オプション 名前。
address1 文字列、オプション 住所の 1 行目。
address2 文字列、オプション 住所の 2 行目。
address3 文字列、オプション 住所の 3 行目。
city 文字列、必須 市町村。
stateOrProvince 文字列、必須 都道府県。 2 文字の ISO Origin State コードが必要です。
postalCode 文字列、必須 郵便番号。
country 文字列、必須 国または地域のコード。 2 文字の ISO Origin Country コードが必要です。
phoneNumber 文字列、オプション 電話番号。

注文の詳細

このセクションでは、API 要求の注文詳細セクションのフィールドについて説明します。

名前 データ型 Description
lineId guid 文字列、必須 元のシステムの注文明細行に対する識別子。
itemId 文字列、必須 この明細行品目に関連付けられている製品の名前。 値を null にすることはできません。
quantity 数値、必須 注文された製品の数量。
freeShipping 文字列、オプション、値: はい、いいえ はい の値は、レート要求が行われたときに製品の重量が除外されることを意味します。
dimensions ProductDimensions、オプション 製品分析コードは、製品バリアントを識別する特性です。 製品分析コード モデルを使用します。 このフィールドは、Dataverse が財務と運用アプリにリンクされている場合に必要です。 製品バリアントを識別するための製品分析コードを選択します。

製品分析コード

このセクションでは、製品分析コード テーブルのフィールドについて説明します。

名前 データ型 Description
colorId 文字列、オプション 品目の色の値。 このフィールドは、Dataverse が財務と運用アプリにリンクされている場合に必要です。 製品分析コードを選択して、使用する製品バリアントを識別します。
sizeId 文字列、オプション 品目サイズの値。 このフィールドは、Dataverse が財務と運用アプリにリンクされている場合に必要です。 製品分析コードを選択して、使用する製品バリアントを識別します。
styleId 文字列、オプション 品目スタイルの値。 このフィールドは、Dataverse が財務と運用アプリにリンクされている場合に必要です。 製品分析コードを選択して、使用する製品バリアントを識別します。
configId 文字列、オプション 品目構成の値。 このフィールドは、Dataverse が財務と運用アプリにリンクされている場合に必要です。 製品分析コードを選択して、使用する製品バリアントを識別します。