> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# KYTレスポンススキーマ：取引ペイロードリファレンス

> Didit KYTの取引レスポンスを注釈付きで解説。スコア、ルール実行、当事者、デバイス・IP情報の付加、暗号資産スクリーニング、トラベルルールを網羅。月1,000件まで含まれ、以降は1件$0.001。

このページでは、`POST /v3/transactions/`と`GET /v3/transactions/{transaction_id}/`が返すペイロード全体を説明します。どちらのエンドポイントも同じ`TransactionDetail`オブジェクトを返します。フィールドごとのスキーマは[APIリファレンス](https://docs.didit.me/ja/management-api/transactions/get.md)に掲載されており、このページではその内容を順に解説します。

## トップレベルの構造

```json theme={null}
{
  "uuid": "abcdef12-3456-4890-abcd-ef1234567890",
  "environment": "live",
  "transaction_number": 4123,
  "txn_id": "tx-0001",
  "txn_date": "2026-04-16T12:00:00Z",
  "zone_id": "Europe/Madrid",
  "transaction_type": "finance",
  "action_type": "withdrawal",
  "direction": "OUTBOUND",
  "status": "IN_REVIEW",
  "source": "LIVE",
  "amount": "12500",
  "currency": "EUR",
  "currency_type": "fiat",
  "amount_in_default_currency": null,
  "default_currency_code": null,
  "preferred_currency_amount": "13520.75",
  "preferred_currency_code": "USD",
  "payment_details": "Withdrawal to bank account",
  "payment_txn_id": null,
  "score": 65,
  "severity": "MEDIUM",
  "decision_reason_code": "rule_score_threshold",
  "decision_reason_label": "Score above review threshold",
  "vendor_data": "user-42",
  "metadata": { "subject": { ... }, "counterparty": { ... } },
  "props": { "order_id": "ORD-7891" },
  "tags": [ ... ],
  "parties": [ ... ],
  "payment_methods": [ ... ],
  "documents": [ ... ],
  "activities": [ ... ],
  "alerts": [],
  "rule_runs": [ ... ],
  "provider_results": [ ... ],
  "travel_rule": { ... } | null,
  "network_snapshot": { ... } | null,
  "remediation": { ... } | null,
  "action_required": { ... } | null,
  "cost_breakdown": { ... } | null
}
```

同じ取引を2つの識別子が表します。`uuid`はDiditが発行する不変の識別子で、`GET /v3/transactions/{transaction_id}/`のパスに指定する値です。`txn_id`は作成時に指定した`transaction_id`です。`transaction_number`はアプリケーション単位で採番される連番で、コンソールに表示されます。

送信した対象者と取引相手は、トップレベルのキーとしては返されません。これらは`parties`配列の要素として返され、`role`で区別されます。トップレベルの`vendor_data`は、申請者の`vendor_data`を参照しやすいように複製したものです。

## 主要フィールド

### 金額関連フィールド

* `amount` / `currency`：送信された取引金額です。`amount`は末尾のゼロを取り除いた10進数の文字列（`"1500"`、`"0.5"`）で、小数点以下は最大18桁です。
* `currency_type`：`currency_kind`で送信された`fiat`または`crypto`です。省略した場合は`null`です。
* `amount_in_default_currency` / `default_currency_code`：リクエストで指定した換算済みの金額をそのまま返します。送信しなかった場合は`null`です。
* `preferred_currency_amount` / `preferred_currency_code`：`amount`をアプリケーションの優先通貨に換算した金額です。`currency`の為替レートが利用できず、かつ`amount_in_default_currency`を指定しなかった場合は`null`です。
* `payment_details` / `payment_txn_id`：リクエストに含まれる自由記述の支払い参照と、外部の支払い参照（ブロックチェーンのトランザクションハッシュなど）です。

### ステータス関連フィールド

* `status`：`APPROVED`、`IN_REVIEW`、`DECLINED`、`AWAITING_USER`のいずれかです。取引は`APPROVED`で作成され、ルールによって同期的に変更される場合があります。
* `score`：ルールによって累積される整数のリスクスコアです。値が大きいほどリスクが高いことを示します。
* `severity`：`UNKNOWN`、`LOW`、`MEDIUM`、`HIGH`、`CRITICAL`のいずれかです。ルールまたはプロバイダーが設定するまでは`null`です。
* `decision_reason_code` / `decision_reason_label`：現在のステータスの理由を示す、構造化されたコードと人が読める説明です。
* `environment`：取引を所有するアプリケーションに基づく`live`または`sandbox`です。`sandbox`の取引は保存されますが評価は一切されないため、`rule_runs`が空であることは「一致なし」ではなく「未評価」を意味します。詳しくは[サンドボックスでのトランザクションモニタリング](https://docs.didit.me/ja/integration/sandbox-testing.md#サンドボックスでのトランザクションモニタリング)を参照してください。
* `source`：APIまたはSDKで送信された取引は`LIVE`、コンソールのCSVインポートで読み込まれた取引は`IMPORTED`です。

### 当事者

取引のすべての当事者は`parties`のエントリーとして格納されます。作成エンドポイントは対象者を`APPLICANT`、任意の取引相手を`COUNTERPARTY`として記録します。`role`のenumには`REMITTER`と`BENEFICIARY`も含まれます。すべてのエントリーは同じ形式です。

```json theme={null}
"parties": [
  {
    "uuid": "b1111111-2222-4333-8444-555555555555",
    "role": "APPLICANT",
    "entity_type": "individual",
    "kind": "USER",
    "vendor_data": "user-42",
    "full_name": "John Doe",
    "first_name": "John",
    "last_name": "Doe",
    "country_code": "USA",
    "dob": "1990-01-01",
    "address": { "line_1": "...", "city": "...", "country": "USA" },
    "institution_info": { "name": "...", "country_code": "..." },
    "device": {
      "fingerprint": "...",
      "persistent_device_id": "...",
      "user_agent": "...",
      "browser_family": "Chrome",
      "browser_version": "131.0",
      "platform": "web",
      "os_family": "Windows",
      "os_version": "10.0",
      "accept_language": "en-US,en;q=0.9",
      "session_id": "...",
      "session_age_ms": 84000,
      "metadata": {
        "accept_language": "en-US,en;q=0.9",
        "session_id": "...",
        "session_age_ms": 84000
      },
      "network_context": {
        "ip_address": "203.0.113.5",
        "ip_country": "United States",
        "ip_country_code": "US",
        "ip_state": "California",
        "ip_city": "San Francisco",
        "latitude": 37.7749,
        "longitude": -122.4194,
        "isp": "Example ISP",
        "organization": "Example Org",
        "is_vpn_or_tor": false,
        "is_data_center": false,
        "time_zone": "America/Los_Angeles",
        "time_zone_offset": "-0700",
        "asn_number": 64496,
        "asn_organization": "Example ISP",
        "connection_type": "isp",
        "carrier": null,
        "proxy_type": null
      }
    },
    "external_party_snapshot": null
  },
  {
    "uuid": "c2222222-3333-4444-8555-666666666666",
    "role": "COUNTERPARTY",
    "entity_type": "company",
    "kind": "EXTERNAL",
    "vendor_data": null,
    "full_name": "Acme Supplier",
    "first_name": null,
    "last_name": null,
    "country_code": "GBR",
    "dob": null,
    "address": {},
    "institution_info": {},
    "device": {},
    "external_party_snapshot": { "full_name": "Acme Supplier", "country": "GBR", "...": "..." }
  }
]
```

* `role`：`APPLICANT`、`COUNTERPARTY`、`REMITTER`、`BENEFICIARY`のいずれかです。対象者を特定するには、このフィールドでフィルターしてください。
* `entity_type`：送信された`individual`、`company`、`external`、`unhostedWallet`のいずれかです。
* `kind`：当事者が`vendor_data`を通じてDiditのユーザーまたは企業に紐付いている場合は`USER`または`BUSINESS`、それ以外の場合は`EXTERNAL`です。
* `country_code` / `dob`：送信された`address.country`と`date_of_birth`から取得されます。
* `address` / `institution_info`：送信されたオブジェクトそのものです。省略した場合は`{}`です。
* `external_party_snapshot`：`EXTERNAL`の当事者のデータを固定したコピーです。当事者がDiditのユーザーまたは企業に紐付いている間は`null`です。

#### `device`

`device`は、その当事者について送信された`device_context`をsnake\_caseに正規化し、サーバー側のIPエンリッチメントを加えたものです。リクエストにデバイスコンテキストが含まれていない場合は`{}`になるため、すべてのキーを常に省略可能なものとして扱ってください。

| キー | 説明 |
| - | - |
| `fingerprint`、`persistent_device_id` | 送信されたデバイス識別子です。 |
| `user_agent`、`browser_family`、`browser_version`、`platform`、`os_family`、`os_version` | 送信されたブラウザとOSの属性です。`browser_family`と`platform`が`user_agent`から導出されることはありません。 |
| `accept_language`、`session_id`、`session_age_ms` | 送信されたセッション属性です。同じ名前で`device.metadata`にも複製されます。SDK経由の場合はこちらに保存されます。 |
| `metadata` | リクエストに`metadata`オブジェクト、または3つのセッション属性のいずれかが含まれていた場合に存在します。 |
| `network_context` | ネットワークコンテキストです（下記参照）。IPまたはネットワークデータが送信されなかった場合は存在しません。 |

独立したエンリッチメントオブジェクトはありません。当事者に公開の`network_context.ip_address`が含まれていた場合、Diditはそれをインラインで解決し、[エンリッチされたフィールド](https://docs.didit.me/ja/transaction-monitoring/ip-enrichment.md#エンリッチされたフィールド)を同じ`network_context`オブジェクトに書き込みます。書き込まれるのは、指定されていないキーのみです。リゾルバーが空で返したキーは省略されるため、完全にエンリッチされた`network_context`には、送信された4つのキー（`ip_address`、`ip_country_code`、`latitude`、`longitude`）に加えて、`ip_country`、`ip_state`、`ip_city`、`isp`、`organization`、`is_vpn_or_tor`、`is_data_center`、`time_zone`、`time_zone_offset`、`asn_number`、`asn_organization`、`connection_type`、`carrier`、`proxy_type`のうち解決できたものが含まれます。解決に成功した場合、`is_vpn_or_tor`と`is_data_center`は常に存在します。

IPが存在しないかルーティング不可能な場合、アプリケーションがサンドボックスにある場合、または解決に失敗した場合は、エンリッチメントはスキップされ、`network_context`は送信されたとおりに返されます。`ip_country_code`は、Diditが解決した場合はISO 3166-1 alpha-2コード、それ以外の場合は送信された値そのものです。ルールの条件は、比較する前に両方の形式を正規化します。

### 支払い方法

```json theme={null}
"payment_methods": [
  {
    "uuid": "...",
    "payment_method_type": "bank_account",
    "label": null,
    "fingerprint": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
    "account_id": "DE89370400440532013000",
    "issuing_country": "DE",
    "owner_kind": "USER",
    "vendor_data": "user-42",
    "owner_name": "John Doe",
    "institution_info": {},
    "details": { "method_type": "bank_account", "account_id": "DE89370400440532013000", "issuing_country": "DE" },
    "external_owner_snapshot": null,
    "role": "SOURCE"
  }
]
```

* `role`：`SOURCE`、`DESTINATION`、`FUNDING`、`BENEFICIARY`のいずれかです。作成エンドポイントは`direction`に基づいて`SOURCE` / `DESTINATION`を割り当てます。送金（outbound）取引では対象者の支払い方法が`SOURCE`、取引相手の支払い方法が`DESTINATION`となり、入金（inbound）取引ではその逆になります。
* `payment_method_type`：`bank_card`、`bank_account`、`e_wallet`、`crypto_wallet`、`unhosted_wallet`、`other`のいずれかです。
* `fingerprint`：`type:account_id:issuing_country`に対するSHA-256です。取引をまたいで同じ値になるため、同一の支払い手段の再利用を関連付けられます。`account_id`が送信されなかった場合は`null`です。
* `owner_kind` / `vendor_data` / `owner_name`：支払い手段の所有者です。当事者と同じ`USER` / `BUSINESS` / `EXTERNAL`の規則に従います。
* `details`：送信された`payment_method`オブジェクトそのものです。

### ルール実行

```json theme={null}
"rule_runs": [
  {
    "uuid": "...",
    "rule": "f6a7b8c9-0123-4def-b012-3456789abcde",
    "rule_title": "High-value outbound",
    "rule_description": null,
    "rule_category": "finance",
    "matched": true,
    "is_test": false,
    "mode": "ACTIVE",
    "severity": "MEDIUM",
    "score_delta": 30,
    "status_target": null,
    "action_summary": "score +30",
    "metadata": {
      "scope_match": true,
      "conditions": [
        {
          "field": "amount",
          "operator": "gt",
          "expected_value": "10000",
          "current_value": "12500",
          "matched": true,
          "group_index": null,
          "group_logic": "AND",
          "field_source": null
        }
      ],
      "aggregations": []
    },
    "created_at": "2026-04-16T12:00:01Z"
  },
  {
    "uuid": "...",
    "rule": "...",
    "rule_title": "High-risk jurisdiction counterparty",
    "rule_description": null,
    "rule_category": "finance",
    "matched": true,
    "is_test": false,
    "mode": "ACTIVE",
    "severity": "HIGH",
    "score_delta": 35,
    "status_target": "IN_REVIEW",
    "action_summary": "score +35; change_status:IN_REVIEW; add_tag:high_risk_country",
    "metadata": { "scope_match": true, "conditions": [ ... ], "aggregations": [] },
    "created_at": "2026-04-16T12:00:01Z"
  }
]
```

* `rule`：実行されたルールのUUIDです。`rule_title`、`rule_description`、`rule_category`はこのルールからコピーされます。
* `matched`：実行はルールの条件に一致した場合にのみ記録されるため、本番環境での評価では常に`matched: true`になります。評価されたものの一致しなかったルールは、エントリーを残しません。デモデータには`matched: false`の行が含まれる場合があります。
* `is_test` / `mode`：ルールがテストモードで実行された場合は`true`と`TEST`です。テスト実行は記録されますが、`status`、`score`、`severity`には影響しません。
* `score_delta` / `status_target` / `severity`：この実行による寄与です。`status_target`は、`change_status`アクションが実行された場合、または加算されたスコアが[しきい値](https://docs.didit.me/ja/transaction-monitoring/risk-scoring.md)を超えた場合に設定されます。
* `action_summary`：ルールが実行したアクションを`; `で連結した文字列の要約です（`score +30`、`change_status:IN_REVIEW`、`add_tag:<name>`、`add_note`、`add_to_list`、`open_case`）。ルールがアクションを実行しなかった場合は`null`です。
* `metadata`：評価の詳細です。`scope_match`に加えて、`conditions[]`と`aggregations[]`を含みます。2つのリストでは値のキーが異なります。
  * `conditions[]`：条件ごとに1つのエントリーで、`field`、`operator`、`expected_value`、取引から読み取られた`current_value`、`matched`、`group_index`、`group_logic`を含みます。取引のルール実行では`field_source`は常に`null`です。これが分類されるのは[モニタリングイベント](https://docs.didit.me/ja/transaction-monitoring/events.md)の場合のみです。
  * `aggregations[]`：velocity・件数・合計の集計ごとに1つのエントリーで、`metric`、`field`、`operator`、`expected_value`、集計の評価結果である`computed_value`、`window`、`filters`、`matched`、`sample_references`を含みます。非同期でしか計算できなかった集計には、`computed_value: null`と`deferred: true`が設定されます。

### アラート

`alerts`は現時点では常に空の配列です。
未解決のアラートは保留中の取引を意味するため、代わりに`status`（`IN_REVIEW`または`AWAITING_USER`）を確認してください。詳しくは[アラート](https://docs.didit.me/ja/transaction-monitoring/alerts.md)を参照してください。

### アクティビティ

取引のアクティビティログです。作成、メモ、手動レビュー、ステータス変更が記録されます。

```json theme={null}
"activities": [
  {
    "uuid": "...",
    "activity_type": "TRANSACTION_CREATED",
    "source": "TRANSACTION",
    "status": "APPROVED",
    "title": "withdrawal",
    "description": null,
    "metadata": { "action_type": "withdrawal", "direction": "OUTBOUND", "amount": "12500", "currency": "EUR" },
    "occurred_at": "2026-04-16T12:00:00Z"
  }
]
```

アナリストのメモは`TRANSACTION_NOTE_ADDED`エントリとしてここに表示されます。別途`notes`配列はありません。

### 書類

コンソールから取引に添付されたファイルです。添付がない場合は`[]`です。

```json theme={null}
"documents": [
  {
    "uuid": "...",
    "label": "Invoice",
    "note": null,
    "uploaded_by": "...",
    "created_at": "2026-04-16T12:05:00Z",
    "files": [
      { "uuid": "...", "file_url": "https://...", "original_filename": "invoice.pdf", "file_size": 48213 }
    ]
  }
]
```

`file_url`は有効期間の短い署名付きURLです。保存せず、必要なときに取得してください。

### プロバイダー結果

外部プロバイダーの出力（トランザクションハッシュのスクリーニング、ウォレットスクリーニング、法定通貨モニタリング、制裁スクリーニング）です。

```json theme={null}
"provider_results": [
  {
    "uuid": "...",
    "result_type": "TRANSACTION_SCREENING",
    "provider": "merklescience",
    "status": "SCREENED",
    "severity": "HIGH",
    "score": 82,
    "summary": "Merkle Science risk: High (4/5). Dominant risk: stolen_funds. Driven by: 50% direct incoming exposure to Theft / Hack (Stolen Funds)",
    "payload": {
      "provider": "merklescience",
      "screening_type": "TRANSACTION_SCREENING",
      "transaction_hash": "0x...",
      "wallet_address": null,
      "blockchain": "ETH",
      "block_timestamp": "2026-04-01T00:07:11Z",
      "total_value_usd": 2942.31,
      "fee_usd": 0.09,
      "transaction_flows": [
        {
          "flow_type": "token",
          "from_address": "0x...",
          "to_address": "0x...",
          "amount": 72.83039728,
          "amount_usd": 235.97,
          "currency": "UNI",
          "token_name": "Uniswap",
          "token_address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984",
          "transaction_hash": "0x...",
          "block_timestamp": "2026-04-01T00:07:11Z",
          "index": 460,
          "success": true,
          "metadata": {
            "provider": "blockscout",
            "token_type": "ERC-20",
            "token_icon_url": "https://...",
            "token_reputation": "ok",
            "token_holders_count": "410093",
            "from": {
              "label": "ravaga.eth",
              "tags": [{ "name": "Beacon Depositor", "type": "generic" }]
            },
            "to": {
              "label": "AirSwap: Spender",
              "is_contract": true,
              "is_verified": true
            }
          }
        }
      ],
      "source_of_funds": [
        {
          "category": "stolen_funds",
          "entity_name": "Stolen Funds",
          "entity_type": "Theft",
          "entity_subtype": "Hack",
          "exposure_direction": "incoming",
          "exposure_type": "direct",
          "is_direct": true,
          "amount_usd": 1471.16,
          "percentage": 50,
          "country": ""
        }
      ],
      "destination_of_funds": [],
      "counterparty_connections": [],
      "sanctions_hit": false,
      "risk_factors": [
        {
          "source": "exposure",
          "category": "stolen_funds",
          "label": "Theft / Hack",
          "entity_name": "Stolen Funds",
          "direction": "incoming",
          "exposure_type": "direct",
          "amount_usd": 1471.16,
          "percentage": 50,
          "is_high_risk": true,
          "description": "50% direct incoming exposure to Theft / Hack (Stolen Funds)"
        }
      ],
      "raw_response": { "...": "provider-specific details" }
    },
    "created_at": "2026-04-16T12:00:02Z"
  }
]
```

`result_type`：`FIAT_MONITORING`、`WALLET_SCREENING`、`TRANSACTION_SCREENING`、`TRAVEL_RULE`、`NETWORK_GRAPH`、`CUSTOM`。

`payload.risk_factors`は`score`の根拠をランク順に示したもので、判定を生んだ要因を、高リスク要因を先に、その後は移動額の大きい順に並べます。`score`が高いのに`is_high_risk`のエントリがない場合、プロバイダーが制裁や帰属エンティティとの一致を報告せず、独自のエクスポージャーモデルでエンティティを評価したことを意味します。その旨は`summary`に明記されます。フィールドごとの詳細は[リスク要因](https://docs.didit.me/ja/transaction-monitoring/wallet-screening.md#リスク要因)を参照してください。このフィールドの導入前にスクリーニングされた結果には、このキーは含まれません。

暗号資産のトランザクションハッシュのスクリーニングでは、オンチェーンのエンリッチメントが利用可能な場合に`transaction_flows`が設定されます。チェーン上のアクティビティを正規化することで、コンソールは同じレスポンスペイロードから取引の概要と可視化グラフの両方を描画できます。

対応しているエンリッチメントソース：

* EVMチェーンはBlockscoutを使用し、メインの取引、内部呼び出し、トークン転送を正規化します。
* Bitcoinはmempool.spaceを使用し、取引の入力と出力を正規化します。
* SolanaはHeliusを使用し、ネイティブSOLの転送、SPLトークンの転送、利用可能なNFTイベントのコンテキストを正規化します。

各`transaction_flows[]`項目には、安定した正規化フィールド（`flow_type`、`from_address`、`to_address`、`amount`、`amount_usd`、`currency`、`token_name`、`token_address`、`transaction_hash`、`block_timestamp`、`index`、`success`）に加えて、プロバイダー固有の`metadata`が含まれます。

主な`metadata`の例：

```json theme={null}
{
  "provider": "blockscout",
  "decoded_method_call": "swap(string aggregatorId, address tokenFrom, uint256 amount, bytes data)",
  "block_number": 23141214,
  "gas_used": "171843",
  "fee_native": 0.000342317619518133,
  "token_icon_url": "https://...",
  "token_reputation": "ok"
}
```

```json theme={null}
{
  "provider": "mempool",
  "role": "input",
  "previous_txid": "4c0c...",
  "previous_vout": 0,
  "scriptpubkey_type": "v0_p2wpkh",
  "fee_btc": 0.00000322,
  "block_height": 943130
}
```

```json theme={null}
{
  "provider": "helius",
  "source": "MAGIC_EDEN",
  "type": "NFT_BID",
  "description": "Wallet bid 2.5 SOL on an NFT.",
  "slot": 136658192,
  "fee_sol": 0.000005,
  "nft_event": {
    "type": "NFT_BID",
    "source": "MAGIC_EDEN",
    "nft_mints": ["3bUW..."]
  }
}
```

`metadata`には追加のキーが含まれる場合があり、プロバイダーごとに異なります。すべてのチェーンですべてのキーが存在することを前提とした重要な連携は構築しないでください。

### トラベルルール

取引にトラベルルールの送金やチェックがない場合は`null`です。`travel_rule_details`を送信した場合に設定されるほか、アプリケーションで[トラベルルール](https://docs.didit.me/ja/transaction-monitoring/travel-rule.md)が有効になっており、取引が`transaction_category: "travelRule"`で作成された場合にも設定されます。この場合、Diditは`travel_rule_details`の有無にかかわらず自らやり取りを開始し、その`status`をここに報告します。送信したリクエストではなく、このフィールドを参照してください。
受信送金では、ウォレットの所有権が確認されるまで、取引相手の`originator_data`と`beneficiary_data`はマスクされたまま（`data_masked: true`）です（[マスクされた取引相手データ](https://docs.didit.me/ja/transaction-monitoring/travel-rule.md#マスクされた取引相手のデータ)を参照）。

```json theme={null}
"travel_rule": {
  "uuid": "...",
  "status": "COMPLETED",
  "required": true,
  "protocol": "TRP",
  "obligations_count": 2,
  "originator_data": { "name": "...", "wallet_address": "..." },
  "beneficiary_data": { "name": "...", "wallet_address": "..." },
  "metadata": {},
  "direction": "OUTBOUND",
  "rail": "TRP",
  "counterparty_vasp": null,
  "delivery": {
    "kind": "SEND",
    "status": "DELIVERED",
    "rail": "TRP",
    "attempts": 1,
    "last_error": "",
    "next_attempt_at": null,
    "delivered_at": "..."
  },
  "discovery": [ ... ],
  "reason": "",
  "next_actions": []
}
```

`direction`、`rail`、`counterparty_vasp`、`delivery`、`discovery`、`reason`、`next_actions`は、送金エンドポイントと同じ形式です。
`reason`と`next_actions`は、`COUNTERPARTY_VASP_NOT_FOUND`または`COUNTERPARTY_VASP_NOT_REACHABLE`の送金が停止している理由と、先に進めるための方法を示します。それ以外のステータスでは`""`と`[]`です。[送金が停止する理由](https://docs.didit.me/ja/transaction-monitoring/travel-rule.md#送金が停止している理由)を参照してください。
[`GET /v3/transactions/`](https://docs.didit.me/ja/management-api/transactions/list)の各行にも同じブロックが含まれます。

詳しくは[トラベルルール](https://docs.didit.me/ja/transaction-monitoring/travel-rule.md)を参照してください。

### ネットワークスナップショット

保存されたグラフそのものであり、グラフへの参照ではありません。次のいずれかに由来します。

* 取引とともに送信した`network_snapshot`、または
* 暗号資産取引で[AMLウォレットスクリーニング](https://docs.didit.me/ja/transaction-monitoring/aml-screening.md)が成功したときにDiditが構築するグラフ（リクエストに`network_snapshot`が含まれていない場合も同様）。スクリーニングで構築されたグラフは送信されたグラフを置き換え、非同期の再スクリーニングで更新されます。

どちらも存在しない場合は`null`です。

```json theme={null}
"network_snapshot": {
  "uuid": "...",
  "nodes": [ ... ],
  "edges": [ ... ],
  "metrics": { }
}
```

コンソールの取引詳細ページにも同じグラフが表示されます。

### タグ、メタデータ、props

* `tags[]`：付与されたタグ（ルールアクションまたはアナリストによるもの）です：`{ "uuid", "name", "color", "description", "source" }`。`source`はプリセットタグの場合は`didit`、独自のタグの場合は`custom`です。
* `metadata`：作成時に送信した`subject`と`counterparty`のペイロードを、送信したとおりにその2つのキーの下に保存したスナップショットです。
* `props`：作成時に指定した`custom_properties`です。各キーはルール条件で`custom_values.<key>`として参照できます。

### 是正対応

ルールが`AWAITING_USER`をトリガーすると、Diditは紐付けられた検証セッションを作成し、2つのフィールドで返します。

* `remediation`：紐付けられたセッションです：`{ "session_id", "session_token", "url", "status" }`。取引が存在する間は常に値が保持されるため、ユーザーのアクションがどのように終わったかをいつでも確認できます。
* `action_required`：ユーザーが今すぐ行う必要があるアクションで、保留中のものがなくなると`null`になります：`{ "type": "verification_session", "url", "session_id", "session_token", "status" }`。ユーザーを`url`にリダイレクトするか、`session_token`をDidit SDKに渡してください。トラベルルールのウォレット所有権アクションは`{ "type": "wallet_ownership", "url", "widget_session_id", "expires_at" }`を使用し、両方が該当しうる場合はこちらが優先されます。ウォレット所有権アクションが保留中で、送金の取引相手が見つからなかった場合は、同じブロックに`reason`と`next_actions`も含まれます（[取引相手の検出](https://docs.didit.me/ja/transaction-monitoring/travel-rule.md#取引相手の探索)を参照）。

同じ2つのフィールドは、`transaction.created`および`transaction.status.updated`のWebhookペイロード（`action_required`）にも含まれます。[Webhook](https://docs.didit.me/ja/transaction-monitoring/webhooks.md)を参照してください。

### コスト内訳

取引に対して課金対象の機能が実行されるまでは`null`です。実行後は`{ "total_price", "items": [ { "usage_type", "price", "details" } ] }`となり、従量課金の機能（スクリーニング、エンリッチメントなど）ごとに1項目が含まれます。

## 通貨換算

`preferred_currency_amount`は、`amount`をアプリケーションの優先通貨に仲値レートで換算した金額です。ただし、`amount_in_default_currency`を指定した場合は、その換算済みの値がそのまま使用されます。`amount`に対するルール条件は元の通貨の金額で比較されます。複数の通貨にまたがって1つのしきい値を適用する場合は、条件に`preferred_currency_amount`を使用してください。

## 次のステップ

> [card] [取引の送信](https://docs.didit.me/ja/transaction-monitoring/transactions.md)
>
> リクエストスキーマの全容。

> [card] [ステータス](https://docs.didit.me/ja/transaction-monitoring/statuses.md)
>
> 各ステータスの意味。

> [card] [リスクスコアリング](https://docs.didit.me/ja/transaction-monitoring/risk-scoring.md)
>
> スコアの算出方法。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.