次の方法で共有


Traceability API (プレビュー)

[この記事はプレリリース ドキュメントであり、変更されることがあります。]

この記事では、API を使用して、Dynamics 365 Supply Chain Managementの Traceability アドインを外部システムと統合する方法について説明します。

認証

プラットフォーム セキュリティ トークンは、Traceability パブリック API を呼び出すために必要です。 次の例では、不眠症の構成を使用します。 詳細については、 Dataverse Web API での不眠症の使用に関するページを参照してください。

Microsoft Entra トークンを取得するには、次の属性を持つ HTTP リクエストを送信するために、Insomnia を使用します。

Key 価値
許可の種類 暗黙的
認可 URL https://login.microsoftonline.com/common/oauth2/authorize?resource={Traceability URL}{Traceability URL} は、Traceability インストールの URL であり、次のようになります。https://operationsxxx.crm.dynamics.com
クライアントID Azure ポータルに登録されているアプリケーション ID (クライアント ID)。
応答の種類 アクセストークン

次の図は、不眠症構成の例を示しています。 前の表で説明したキーを、不眠症の特定の HTTP 要求の 認証 タグに構成できます。

不眠症の構成例

次の JSON ファイルを、不眠症プロジェクトのグローバル環境として作成できます。 versionフィールドとwebapiurl フィールドは、特定の API のパスを構築するために使用されます。

不眠症環境の例

使用可能な API

次の表に、Traceability で使用できる API の一覧を示します。

経路 メソッド Description
/api/data/v9.0/msdyn_sctquerytrace_v1 投稿 ID を追跡してクエリを実行する

残りのセクションでは、各 API に関する詳細情報を提供します。

単一クエリ API

この API は、追跡情報のクエリを受け入れ、系図、アクティビティ、およびデータ収集情報を返します。

  • パス – 追跡可能性 URL を指定します。 例: https://operationsxxx.crm.dynamics.com/api/data/v9.0/msdyn_sctquerytrace_v1
  • メソッドPOST

単一クエリリクエストペイロード

{
    "tracingDirection": "Forward/Backward",
    "eventDetailOption": "EventIdOnly",
    "traceNodeOption": "BuildNodeDictionary",
    "shouldGenerateSummary": true/false,
    "itemNumber": "BIKE-DEMO",
    "serialNumber": "BIKE-S0001",
    "batchNumber": "",
    "company": "USMF",
    "trackingId": "",
    "shouldIncludeEvents": true/false
}

単一クエリ要求フィールドの説明

フィールド Description
tracingDirection 検索の方向を制御します: 後方 または 前方逆方向 は完成品から原材料へ進むという意味です。順方向 は原材料から完成品へ進むという意味です。
trackingId 系図ノードのキー値。 これは、 itemNumbercompanybatchNumber、および serialNumberの組み合わせです。
company 上位完成品の企業。 Supply Chain Managementの場合、このフィールドは法人にマップされます。
itemNumber 上位完成品の品目番号。
serialNumber 上位完成品のシリアル番号。
batchNumber 上位完成品のバッチ番号。
ShouldIncludeEvents イベントの詳細を含めるかどうかを制御します。 既定値は falseです。
ShouldGenerateSummary True に設定して、使用場所検索のコパイロット概要を含めます。
ShouldIncludeEvents 次のいずれかの値を指定します。
  • EventIdOnly – トレース ノードのプロパティとしてイベント ID を配置します。
  • EventInTrace – イベントの詳細をトレース ノードのプロパティとして配置します。
  • EventInDictionary – イベント ID をトレース ノードのプロパティとして配置し、キーがイベント ID で、値がイベントの詳細であるマップを返します。
TraceNodeOption 次のいずれかの値を指定します。
  • BuildNodeGraph – 結果をツリーとしてレンダリングします。
  • BuildNodeDictionary – 結果を追跡ノード ディクショナリとしてレンダリングします。ここで、キーは追跡 ID、値はノードの詳細です。

単一クエリ応答ヘッダー フィールドの説明

フィールド Description
TracingDirection 検索の方向を制御します: 後方 または 前方逆方向 は完成品から原材料へ進むという意味です。順方向 は原材料から完成品へ進むという意味です。 結果の上または下の 1 つのレベルのみを返します。

単一クエリ応答のルート要素フィールドの説明

フィールド Description
trackingId 系図ノードのキー値。 これは、 itemIdcompanyCodebatchId、および serialIdの組み合わせです。

単一クエリ応答イベント要素フィールドの説明

フィールド Description
eventId イベントの一意識別子 (SerialId/BatchId)。 重複する値は許可されません。 値が指定されていない場合は、この値が生成されます。
companyCode 上位完成品の会社コード。 Supply Chain Managementの場合、このフィールドは法人にマップされます。
operator アクティビティ イベントを実行した演算子。 値には、ユーザー ID、従業員 ID、または類似の値を指定できます。
description アクティビティ イベントの説明。
activityType 定義済みのアクティビティの種類 (購買販売生産など) を参照します。
activityCode 構成されたアクティビティの種類 (GoodsReceipt追加削除など) を参照します。
dateTime アクティビティ イベントが発生した日時。
<データ コレクション名> これらのフィールドは、カスタマイズ値を収集するために使用されます。

単一クエリ応答のproductTransaction要素のフィールド説明

フィールド Description
transactionId トランザクションの識別子として一意です。 重複する値は許可されません。
itemId 上位完成品の品目番号。
trackingId 系図ノードのキー値。 これは、 itemIdcompanyCodebatchId、および serialIdの組み合わせです。
serialId 上位完成品のシリアル番号。
batchId 上位完成品のバッチ番号。
quantity 上位完成品の稼働量。
unitOfMeasure 受け取った数量の測定単位。

単一クエリ応答の consumptionTransactions 要素フィールドの説明

フィールド Description
transactionId トランザクションの識別子として一意です。 重複する値は許可されません。
itemId コンポーネントの項目番号。
trackingId 系図ノードのキー値。 これは、 itemIdcompanyCodebatchId、および serialIdの組み合わせです。
serialId コンポーネントのシリアル番号。
batchId コンポーネントのバッチ番号。
quantity コンポーネントの消費数量。
unitOfMeasure 消費数量の測定単位。

単一クエリ要求の例

完成品 BIKE-S001 の結果を照会します。

単一クエリ要求ペイロードのサンプル例

{
    "tracingDirection": "Forward",
    "eventDetailOption": "EventIdOnly",
    "traceNodeOption": "BuildNodeDictionary",
    "shouldGenerateSummary": false,
    "itemNumber": "BIKE-DEMO",
    "serialNumber": "BIKE-S0001",
    "batchNumber": "",
    "company": "USMF",
    "trackingId": "",
    "shouldIncludeEvents": false
}

単一クエリ要求の API 応答の例

{
    "@odata.context": "https://aurorabapenv2bbcd.crm10.dynamics.com/api/data/v9.0/$metadata#Microsoft.Dynamics.CRM.msdyn_sctquerytrace_v1Response",
    "output": "{\"tracingDirection\":\"Forward\",\"root\":{\"trackingId\":\"BIKE-DEMO~USMF~~BIKE-S0001~~\",\"next\":[],\"nextIds\":[],\"events\":[{\"eventId\":\"2026-01-07-09~1~15~3\"},{\"eventId\":\"2026-01-07-09~1~16~3\"},{\"eventId\":\"2026-01-07-09~1~17~3\"},{\"eventId\":\"2026-01-07-09~1~18~3\"},{\"eventId\":\"2026-01-07-09~1~19~3\"},{\"eventId\":\"2026-01-07-09~1~20~3\"},{\"eventId\":\"2026-01-07-09~1~27~4\"},{\"eventId\":\"2026-01-07-09~1~29~2\"}]},\"traceNodesDictionary\":{\"BIKE-DEMO~USMF~~BIKE-S0001~~\":{\"trackingId\":\"BIKE-DEMO~USMF~~BIKE-S0001~~\",\"next\":[],\"nextIds\":[],\"events\":[{\"eventId\":\"2026-01-07-09~1~15~3\"},{\"eventId\":\"2026-01-07-09~1~16~3\"},{\"eventId\":\"2026-01-07-09~1~17~3\"},{\"eventId\":\"2026-01-07-09~1~18~3\"},{\"eventId\":\"2026-01-07-09~1~19~3\"},{\"eventId\":\"2026-01-07-09~1~20~3\"},{\"eventId\":\"2026-01-07-09~1~27~4\"},{\"eventId\":\"2026-01-07-09~1~29~2\"}]}}}"
}