> ## 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.

# トラベルルール相互運用性 - Didit顧客のVASPとの接続

> 他のVASPがDidit顧客とトラベルルールデータを交換する方法を解説します。トラベルアドレス、公開TRPエンドポイント、コールバック、メールでの受け取り、サンライズ登録に対応しています。

このページは、[Didit Travel Rule](https://docs.didit.me/ja/transaction-monitoring/travel-rule.md)のやり取りにおける**相手側**、つまりDidit上で稼働するVASPとの間でトラベルルールのデータを送信または受信する必要がある取引相手のVASP(またはそのエンジニアリングチーム)を対象としています。

ここで説明する内容はすべて、Diditが運用する公開インフラです。
相互運用にDiditのアカウント、APIキー、Diditとの商取引関係は一切必要ありません。最も高度な連携でも、HTTPSとJSONだけで実現できます。

## Didit による送金のルーティング

Didit の顧客が送金を行うと、Didit は以下のレールを厳密な優先順位で試行し、貴社に到達できる最初のレールを使用します。

| 優先度 | レール | 貴社にとっての意味 |
| - | - | - |
| 1 | `INTERNAL` | 両方のVASPがDiditを利用しているため、送金はプラットフォーム内で完結し、外部呼び出しは行われません。 |
| 2 | `TRP` | 貴社がTravel Rule Protocol（TRP）エンドポイントを公開しているか、Didit の顧客が貴社の[トラベルアドレス](#トラベルアドレス)を把握しています。Didit は`BTC`、`ETH`、`USDC`の送金について、貴社のTRP照会エンドポイントをマシン間で呼び出します（`USDC`は、送金が移動するネットワークを指定している場合に限ります）。 |
| 3 | `GTR` | 送信者のGlobal Travel Rule（GTR）メンバーシップが有効で、貴社がGTR VASPコードで宛先指定可能です。Didit は貴社の回答を、GTRのレスポンスから、またはリクエストのステータスをポーリングして読み取ります。 |
| 4 | `TRUST` | 送信者のTRUSTメンバーシップが有効で、貴社がTRUSTメンバーシップIDで宛先指定可能です。送信のみに対応しています。下記の警告を参照してください。 |
| 5 | `VERIFYVASP` | 送信者のVerifyVASPメンバーシップが有効で、貴社がVerifyVASP IDで宛先指定可能です。Didit は検証のステータスをポーリングして貴社の回答を読み取ります。 |
| 6 | `SYGNA` | 送信者のSygna Bridgeメンバーシップが有効で、貴社がSygna VASPコードで宛先指定可能です。Didit はSygnaプロトコル（ECIESで暗号化されたIVMS101、署名付きの許可リクエスト）にネイティブで対応しており、送金のステータスをポーリングして貴社の許可の回答を読み取ります。Didit のSygnaコールバックはまだ稼働していません。 |
| 7 | `EMAIL` | 利用可能なプロトコルチャネルがありません。代わりに、貴社のコンプライアンス窓口がワンタイムの[メールで送られる受取リンク](#メールによる受け取り)を受信します。 |

> [!WARNING]
>
> **Didit は`TRUST`の返信を受信できず、ネットワーク経由で Didit 宛てに送られた送金もまだ受け付けていません。**
> `TRUST`経由の場合、Didit の顧客の送金は貴社に届きますが、貴社の回答は返ってこず、送金は完了せずに送信者の確認期限で期限切れになります。
> `GTR`、`VERIFYVASP`、`SYGNA`経由の場合、Didit は貴社の回答をネットワーク自体から、そのレスポンスにより、または送金のステータスをポーリングして読み取ります。

上の表は、Didit の顧客が送信する送金を対象としています。
貴社がDidit の顧客に送金する場合、Didit がそれを受け付けられるのは、Didit の公開TRPホストが稼働した後の`TRP`の[送金照会](#post-/trp/inquiries//)として（現在はまだ応答しません。[TRPエンドポイント](#trpエンドポイント)を参照）、または決済後の[サンライズ登録](#sunrise-交換前に決済された送金)としてのみです。現時点では、Didit の顧客への着信送金を配信するネットワークレールやメールチャネルはありません。

ネットワークレール（`GTR`、`TRUST`、`VERIFYVASP`、`SYGNA`）は、送信側のメンバーシップを介して動作します。
現時点では、それはDidit の顧客自身が接続したメンバーシップである必要があります。Didit はこれらのいずれのネットワークにもプラットフォームメンバーシップをまだ保有しておらず、プロバイダーとしてオンボーディング中です。
GTRはデフォルトでは利用できず、同じメンバーシップ要件が4つのネットワークすべてに適用されます。
送信者は[トラベルルール設定の取得](https://docs.didit.me/ja/management-api/travel-rule/get-settings.md)の`networks`オブジェクトを確認してください。`didit`はDidit のメンバーシップがそのアプリケーションをネットワーク上の自らの参加者として扱っていること、`own`は接続された顧客のメンバーシップ、`off`はプラットフォームのルーティングが無効であること、`unavailable`はそのアプリケーションでまだそのネットワーク上で何も送信できないことを意味します。
Didit がプラットフォームメンバーシップを保有するまでは、`didit`を返すネットワークはありません。
トラベルルールを有効にしても、ネットワークメンバーシップは有効化されません。
各ネットワークが現在どこまで到達できるかについては、[トラベルルールのネットワーク](https://docs.didit.me/ja/transaction-monitoring/travel-rule-networks.md)を参照してください。

貴社がこれらのネットワークのいずれかに参加しており、Didit の顧客がそのネットワークで自身のメンバーシップを保有している場合は、貴社のネットワーク識別子を顧客と共有してください。送金は貴社がすでに運用しているネットワーク経由で貴社に届きます。
`SYGNA`経由の場合、貴社の許可の回答によって送金が完了または却下されます。Didit は5分ごとに送金のステータスをポーリングするほか、その送金用に発行されたトークンを用いて、各許可リクエストのコールバックとして`https://trp.didit.me/sygna/callbacks/permission/{token}/`を登録します。
このコールバックはDidit の公開TRPホスト上にあり、このホストはまだリクエストを処理していません。
`permission_status`が`ACCEPTED`の場合、送信者の送金は`COMPLETED`に移行し、`REJECTED`の場合は`COUNTERPARTY_VASP_GENERAL_DECLINE`に、`reject_code`が`BVRC007`（受取人の氏名が一致しない）の場合は`COUNTERPARTY_MISMATCHED_DATA`に移行します。
このコールバックには貴社の署名が必要です。有効な署名がない場合は`401`と`{"status": "INVALID_SIGNATURE"}`を返し、不明なトークンの場合は`404`を、すでに適用済みの判定については再度`200`を返します。
共通のネットワークメンバーシップがない場合は、`TRP`を前提に計画してください。貴社のトラベルアドレスをDidit の顧客と共有すれば、その顧客の送金は貴社のTRPエンドポイントに届きます。照会のレスポンスで返した回答は、送金を即座に完了または却下します。後からDidit のコールバックに送信する回答には、まだ稼働していないDidit の公開TRPホストが必要です。

どのレールでも貴社を識別できない場合、Didit はもう1つの解決ステップである**ブロックチェーン分析による帰属判定**を実行します。
送金先ウォレットをブロックチェーン分析データと照合し、それが貴社の取引所またはカストディサービスに帰属すると判定された場合、Didit は貴社の名前をVASPディレクトリに記録し、その名前でレールを再試行します。
これにより、送信者がウォレットアドレスしか提供していない場合でも、貴社を識別できます。
帰属判定された送金が自動的に貴社にルーティングされるのは、貴社のディレクトリエントリにルート（検証済みの`TRP`エンドポイント、ネットワークへの掲載、またはコンプライアンス窓口）が登録されている場合のみです（[Didit VASPディレクトリへの登録](#didit-vaspディレクトリへの登録)を参照）。
したがって、解決チェーン全体は次のとおりです。まずウォレットの管理を証明したDidit の顧客（`INTERNAL`）と送信者がそのウォレットに保存したトラベルアドレス、次にプロトコルとネットワークのレール、最後にブロックチェーン分析です。

## トラベルアドレス

トラベルルールを有効にしているDiditのVASPにはそれぞれ**トラベルアドレス**があります。これは`ta`で始まるコンパクトな文字列で、そのVASP専用のTRP送金照会エンドポイントのURLをエンコードしたものです。
Diditの顧客は自分のトラベルアドレスをトラベルルールの設定で確認し、取引相手と共有します。Diditの顧客からトラベルアドレスを受け取れば、TRP経由でその顧客に接続するために必要な情報がすべて揃います。

エンコードはTRPのトラベルアドレス規約に従います。

* `ta`プレフィックスを取り除きます。
* 残りの部分をBase58Checkでデコードします（Bitcoinアルファベット、double-SHA256チェックサム）。
* デコードしたバイト列は、スキームを除いた照会URLです。先頭に`https://`を付加します。
* URLには常にクエリパラメーター`t=i`（type: inquiry）が含まれます。

デコードしたDiditのトラベルアドレスは、次の2つの形式のいずれかです。

```
https://trp.didit.me/trp/inquiries/{profile_uuid}/?t=i
https://trp.didit.me/trp/inquiries/{profile_uuid}/wallets/{entry_uuid}/?t=i
```

`{profile_uuid}`はホスト型VASPプロファイルを識別します。送金照会はこのURLにPOSTしてください。その前に、対応する[identityエンドポイント](#get-/trp/identity//)を呼び出して、通信相手が誰であるかを確認してください。
2つ目の形式は**ウォレット単位**のトラベルアドレスです。Diditの顧客のウォレット1つ（そのアドレス帳の`receiving_travel_address`）を指すため、顧客が口座番号や名義人名で照合しなくても、照会がそのウォレットに届きます。ウォレットが削除されるか、別のVASPのものとして記録されると、`404`を返します。

## TRPエンドポイント

DiditはベースURL`https://trp.didit.me`でTRP APIバージョン`3.2.1`に対応しています。
すべてのエンドポイントはHTTPS経由でJSONをやり取りします。

> [!WARNING]
>
> DiditのパブリックTRPホストは、現時点ではこれらのエンドポイントをまだ提供していません。提供が始まるまでは、Didit顧客宛てのTRP照会や識別情報リクエストは配信できません。このセクションは、ホストの稼働後にホストが応答する際の仕様を示しています。

| メソッド | パス | 目的 |
| - | - | - |
| `GET` | `/identity` | プラットフォーム運営者の識別情報(`/trp/identity`でも提供)。 |
| `GET` | `/trp/identity/{profile_uuid}/` | ホストされている1つのVASPプロファイルの識別情報。 |
| `POST` | `/trp/inquiries/{profile_uuid}/` | ホストされているVASPに送金照会を送信します。 |
| `POST` | `/trp/inquiries/{profile_uuid}/wallets/{entry_uuid}/` | ホストされているVASPの1つのウォレットに対する送金照会を送信します(ウォレット単位のトラベルアドレス)。 |
| `POST` | `/trp/callbacks/resolution/{token}/` | **Didit**から送られた照会を解決します(承認または拒否)。 |
| `POST` | `/trp/callbacks/confirmation/{token}/` | Diditが承認した送金を確定またはキャンセルします。 |

重要なTRPヘッダーは2つあります。

* `api-version`:利用するTRPプロトコルのバージョン。例:`3.2.1`。
  照会と両方のコールバックで必須です。
* `request-identifier`:リクエストに付与する一意のID。レスポンスヘッダーでそのまま返されます。
  照会と両方のコールバックで必須です。

照会エンドポイントまたはコールバックエンドポイントへのリクエストで、いずれかのヘッダーが欠けている場合は`400`が返されます。

Diditからのすべてのレスポンスには`api-version: 3.2.1`が含まれ、送信した`request-identifier`がそのまま返されます。

### GET /identity

プラットフォーム運営者の識別情報を返します。
ヘッダーは不要です。

```bash theme={null}
curl https://trp.didit.me/identity
```

```json theme={null}
{
  "name": "Didit",
  "lei": "",
  "x509": ""
}
```

### GET /trp/identity/{profile_uuid}/

これからやり取りする特定のVASPの識別情報を返します。PIIを送信する前に、名称とLEIの確認に使用してください。
Diditが開始側となる場合も、逆方向に同じ確認を行います。相手のエンドポイントが返す識別情報が想定されるLEIまたは名称と一致しない場合、やり取りは中止されます。

```bash theme={null}
curl https://trp.didit.me/trp/identity/11111111-2222-3333-4444-555555555555/
```

```json theme={null}
{
  "name": "Bene CASP GmbH",
  "lei": "5493001KJTIIGC8Y1R12",
  "x509": ""
}
```

プロファイルが存在しない場合、またはそのトラベルルール設定が無効になっている場合は`404`を返します。

### POST /trp/inquiries/{profile_uuid}/

送金照会を送信します。この場合、あなたが送金人VASP、Didit顧客が受取人VASPです。

```bash theme={null}
curl -X POST https://trp.didit.me/trp/inquiries/11111111-2222-3333-4444-555555555555/ \
  -H "Content-Type: application/json" \
  -H "api-version: 3.2.1" \
  -H "request-identifier: 7f6a1c1e-0a63-4b1f-9f6e-7dcd7c3f1a01" \
  -d '{
    "asset": { "dti": "X9J9K872S" },
    "amount": 250000000000000000,
    "callback": "https://trp.yourvasp.example/callbacks/inquiry/abc123",
    "IVMS101": {
      "originator": {
        "originatorPersons": [
          { "naturalPerson": { "name": { "nameIdentifier": [{ "primaryIdentifier": "Ruiz", "secondaryIdentifier": "Carlos", "nameIdentifierType": "LEGL" }] } } }
        ],
        "accountNumber": ["0x77ccff0cc624a53cd8b8d8703ced826710211ec7"]
      },
      "beneficiary": {
        "beneficiaryPersons": [
          { "naturalPerson": { "name": { "nameIdentifier": [{ "primaryIdentifier": "Diaz", "secondaryIdentifier": "Ana", "nameIdentifierType": "LEGL" }] } } }
        ],
        "accountNumber": ["0xede2d7e4f5b097e6391ab6bbcf2f47a53f4778cb"]
      }
    }
  }'
```

| フィールド | 型 | 説明 |
| - | - | - |
| `asset.dti` | string | 必須。送金する資産のDigital Token Identifier(ISO 24165)。これがない照会には`400`が返されます。3.2.0より前の`asset.slip0044`は読み取られません。 |
| `amount` | number | 必須。資産の最小単位での整数金額(DTIの小数桁数に基づく基本単位)。整数であれば指数表記を含むどのJSON表記も受け付け、数字のみの文字列も受け付けます。小数、または記録できないほど大きな金額には`400`が返されます。 |
| `callback` | string | 必須。Diditが照会の解決結果をPOSTする、送信側の公開`http(s)`絶対URL(`https`を推奨)。同じ`callback`を繰り返す再試行は、それが繰り返している照会と照合されます。 |
| `IVMS101` | object | 必須。IVMS 101ペイロード。`originator.originatorPersons`と`beneficiary.beneficiaryPersons`(Diditはそれぞれ最初の`naturalPerson`を読み取り、法人データは読み取りません)、および`accountNumber`のウォレット配列を含みます。 |

このレールでは資産はDTIで識別され、1つのDTIは単一のブロックチェーン上の1つのトークンを識別します。
Diditは現在、`BTC`(`4H95J0R2X`)、`ETH`(`X9J9K872S`)、および9つのネットワーク上の`USDC`をマッピングしており、今後さらに資産を追加していきます。
全一覧は[TRP資産識別子](https://docs.didit.me/ja/transaction-monitoring/travel-rule.md#trpアセット識別子)を参照してください。
DiditがDTIを認識しない照会も受け付けられ、DTIが資産コードとして受取人VASPに表示されます。

`200`レスポンスは照会が処理のために受け付けられたことを意味します。`400`はTRPヘッダーの欠落または無効な本文、`404`はプロファイル(ウォレット単位のアドレスの場合はそのウォレット)が不明または無効であること、`422`はリクエストがTRP拡張を使用していることを意味します。Diditは拡張を一切サポートしていないため、`api-extensions`ヘッダーまたは本文中の`extensions`キーは拒否されます。
同じ`request-identifier`を再送しても冪等です。元の照会が重複して作成されることはなく、再利用されます。

その後、Diditは顧客のアプリケーション上に受信送金を作成し、顧客のウォレットアドレス帳とポリシーに照らして解決します。
受取人は、ウォレット単位のトラベルアドレスが指定するウォレットで照合し、それがない場合は`IVMS101.beneficiary.accountNumber`の最初のウォレットアドレスで照合します。それもない場合は、`beneficiaryPersons[0].naturalPerson`の氏名を顧客の検証済みウォレットエントリと照合します。

Diditが即座に回答できる場合、`200`レスポンスに回答が含まれます。

* 照会が自動承認された場合は`{"approved": {"address": "...", "callback": "..."}}`。Diditはこの承認を`callback`に別途POSTすることはありません。
* 照会に受取人とウォレットアドレスのいずれも含まれていない場合は`{"rejected": "NOT_ENOUGH_COUNTERPARTY_DATA: inquiry carries no beneficiary identification"}`。そのため、必ず両方を含めてください。
* 判定がDidit顧客の対応待ちの場合は`{"version": "3.2.1"}`。その後、**解決結果**が`callback`URLへのPOSTとして後から届き、本文は以下の2つのいずれかになります。

```json theme={null}
{
  "approved": {
    "address": "0xede2d7e4f5b097e6391ab6bbcf2f47a53f4778cb",
    "callback": "https://trp.didit.me/trp/callbacks/confirmation/{token}/"
  }
}
```

```json theme={null}
{
  "rejected": "Wallet ownership denied by beneficiary VASP"
}
```

承認は、受取人VASPが自動承認を有効にしており、受取人が資産のチェーン上の検証済みウォレットエントリと一致する場合には自動で行われます。また、受取人側での手動レビューやウォレット所有証明を経て行われる場合もあるため、照会から解決までの遅延を考慮してください。
照会が、Didit顧客が他のVASPのものとして記録したウォレットと一致することはありません。また、`originatingVASP`に記載したVASP名が、Didit顧客には送金の送金人VASPとして表示されます。
Diditは送信された照会に期限を設けず、Didit顧客が照会をキャンセルしても拒否は送信されないため、独自のタイムアウトを適用してください。

承認を受け取って送金をオンチェーンでブロードキャストした後、受け取った`approved.callback`URLにPOSTしてやり取りを完了します。

```bash theme={null}
curl -X POST "https://trp.didit.me/trp/callbacks/confirmation/{token}/" \
  -H "Content-Type: application/json" \
  -H "api-version: 3.2.1" \
  -H "request-identifier: 0b8e2f4a-6c1d-4e9a-8f3b-2d7c5a1e9f60" \
  -d '{ "txid": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060" }'
```

送金を中止する場合は、代わりに同じURLへ`{ "canceled": "reason" }`を送信してください。
`txid`は受取人側の送金を`FINISHED`に移行させ、`canceled`は`CANCELLED`に移行させます。
どちらのコールバックも、処理が完了すると`204`を返します。不明なトークン、またはそのコールバックをすでに待機していない送金には`404`を、コールバックの2つのフィールドのいずれも含まない本文には`400`を返します。

### Diditから届く照会を処理する

Diditの顧客がTRP経由で貴社宛ての送金を開始すると、Diditは次の処理を行います。

1. 照会URLのホストのルートにある`/identity`（`https://{your-host}/identity`）を取得し、報告された名称とLEIが顧客の想定と一致するかを検証します。経路がDiditのディレクトリから得られた場合、貴社の`/identity`はそのディレクトリエントリのLEIを報告する必要があります。
2. 上記と同じ形式の本文（`asset.dti`、JSON数値で表した基本単位の`amount`、`callback`、`IVMS101`ペイロード）で、送金の照会を貴社の照会URLにPOSTします。

配信済みとみなされるのは`2xx`の応答のみです。リダイレクトは追跡されないため`3xx`は拒否されます。それ以外の応答は、貴社のステータスコードとともに顧客の送金タイムラインに記録されます（例: `refused by counterparty (HTTP 403): ...`）。

どちらの呼び出しにも2つのTRPヘッダーが付与されます。DiditはこれらのHTTPリダイレクトを追跡しないため、`/identity`と照会URLは直接応答してください。
`/identity`に到達できない場合、LEIを報告しない場合、顧客がLEIを指定しているのに異なるLEIを報告する場合、または名称が一致しない場合、Diditは照会を送信する前に処理を停止し、顧客の送金は`COUNTERPARTY_VASP_NOT_REACHABLE`に移行します。
その後に照会のPOSTが失敗した場合、または貴社のエンドポイントが`4xx`や`5xx`のステータスで応答した場合も、送金は`COUNTERPARTY_VASP_NOT_REACHABLE`に移行します。

この照会に含まれる`callback`は、Diditの解決エンドポイント（`/trp/callbacks/resolution/{token}/`）を指します。
Diditが使用するものと同じ解決結果の本文をPOSTして応答してください。承認する場合は`{ "approved": { "address": "...", "callback": "..." } }`（貴社の`callback`は、Diditがオンチェーン確認をPOSTする宛先です）、却下する場合は`{ "rejected": "reason" }`を送信します。
その際、両方のTRPヘッダーを付与してください。
Diditは、処理が完了すると`204`を返します。送金がすでに解決待ちでない場合は`404`を返します。`address`のない承認、または`callback`がDiditの呼び出し先となる公開の`http(s)` URLでない承認には`400`を返します。

承認されると、Didit側は`COMPLETED`に移行します。顧客がオンチェーンのハッシュを報告すると、Diditは貴社が指定した確認用コールバックに`{ "txid": "..." }`をPOSTします（先に送金がキャンセルされた場合は`{ "canceled": "reason" }`をPOSTします）。

> [!NOTE]
>
> コールバックトークンは、送金ごとに発行される単一用途の推測不可能なシークレットです。完全なコールバックURLは機密情報として扱ってください。また、解決は送金がまだ解決待ちの間に限り受け付けられます。

## メールによる受け取り

貴社に到達できるプロトコルチャネルがなく、Diditの顧客が貴社のコンプライアンス用メールアドレスを指定している場合、Diditはメールにフォールバックします。貴社のコンプライアンス窓口に、送金人VASPの名称と、ワンタイムの安全な受け取りリンクを記載したメッセージが届きます。
アカウント、APIキー、連携は一切不要です。リンクのトークンが認証の役割を果たします。

リンクを開くと、保留中の交換が表示されます。その基盤となるAPI（ホスト型ページが代わりに操作します）は公開されています。

```bash theme={null}
curl https://verification.didit.me/v3/travel-rule/pickup/{token}/
```

```json theme={null}
{
  "originator_vasp_name": "Origin CASP SL",
  "amount": "0.250000000000000000",
  "currency": "ETH",
  "beneficiary_wallet": "0xede2d7e4f5b097e6391ab6bbcf2f47a53f4778cb",
  "status": "AWAITING_COUNTERPARTY"
}
```

`amount`は保存されている10進数値をそのまま返すため、小数点以下18桁がすべて含まれます。

```bash theme={null}
curl -X POST https://verification.didit.me/v3/travel-rule/pickup/{token}/respond/ \
  -H "Content-Type: application/json" \
  -d '{ "decision": "accept", "beneficiary_name": "Ana Diaz" }'
```

`decision`は`accept`または`decline`です。受け入れる場合は、送金人側で名前照合を実行できるよう、貴社の記録にある受取人の氏名を指定するか、IVMS 101の完全なレスポンスを`ivms_response`として送信してください。後者の場合は、そこに含まれる受取人名が優先されます。
却下する場合は、`decline_reason`（`data_mismatch`、`not_our_customer`、`wallet_not_hosted`、`sanctions`、`risk_appetite`、`jurisdiction`、`insufficient_data`、`other`のいずれか）と、最大512文字の`decline_detail`を指定できます。`other`の場合、この詳細は必須です。
`beneficiary_name`なしで受け入れた場合、送信者が受取人名を指定していれば、送信者が名前照合を無効にしていない限り、不一致として記録されます。
レスポンスは結果を示す`{"status": "..."}`です。名前が一致すれば`COMPLETED`、一致しなければ`COUNTERPARTY_MISMATCHED_DATA`、却下した場合は`COUNTERPARTY_VASP_GENERAL_DECLINE`となります。
応答できるのは、送金が貴社の応答を待っている間の1回のみです。応答後、送金のキャンセル後、または確認期限の経過後は、両方のエンドポイントが`410`を返します。不明なトークンには`404`が返されます。
リクエストには、送信者が共有する送金人フィールドとIVMS 101の`ivms_request`が、貴社の管轄地域の言語で表示されます。未回答の間は、期限の72時間前、24時間前、6時間前にリマインダーが届きます。

## Sunrise: 交換前に決済された送金

当時共通のレールが存在しなかったなどの理由で、トラベルルール情報が交換される前に送金がDidit顧客のウォレットに着金した場合でも、決済後でもデータを送信できます。

Diditの顧客（貴社にとって受取人側の取引相手）に通常のチャネルでトラベルルールのペイロードを送り、登録を依頼してください。顧客は、入金のチェーン、`txid`、ウォレットアドレス、金額、通貨、貴社の送金人データを指定して[`POST /v3/travel-rule/inbound/`](https://docs.didit.me/ja/transaction-monitoring/travel-rule#入金後のサンライズ登録)を呼び出します。
そのペイロードには、貴社のVASP情報（名称、LEI、トラベルアドレス）を`originating_vasp`として含めてください。これにより、Didit顧客の送金に入金の送信元が記録されます。
この情報はその送金にのみ保持され、貴社の[ディレクトリエントリ](#didit-vaspディレクトリへの登録)を作成または変更することはありません。
LEIは有効な20文字のLEIであり、トラベルアドレスも有効なものである必要があります。そうでない場合、登録は拒否されます。

## Didit VASPディレクトリへの登録

DiditはVASPディレクトリを管理しており、顧客のアウトバウンドルーティングはこのディレクトリを参照します。
エントリーは次の情報源から作成されます。

* ESMAが公開するMiCAの暗号資産サービスプロバイダー暫定登録簿(毎週読み込み):掲載されている場合は、お客様の名称、LEI、本拠加盟国。
* 公開TRISAディレクトリ(毎週読み込み):お客様の事業者情報、国、TRISAの掲載情報。
* グローバルLEI登録簿:お客様のLEI、その他の法的名称、国を補完します。
* ブロックチェーン分析による帰属情報:送金先ウォレットがお客様の取引所またはカストディサービスに紐付けられた場合、Diditはお客様のエントリーを追加または照合し、帰属先の名称をエイリアスとして保持します。
* Diditスタッフによるエントリーのキュレーション:スタッフが検証したルーティング識別子とネットワーク掲載情報、コンプライアンス窓口、エイリアス、ブランドとその法人。

Didit顧客がお客様について報告する内容(サンライズ登録の`originating_vasp`や送金のトラベルアドレスなど)は、その顧客の送金にのみ残り、お客様のエントリーを変更することはありません。
お客様がDidit顧客に送信した送金照会によって、お客様のエントリーが作成または更新されることもありません。

検証済みの`TRP`エンドポイント、送信側が利用できるネットワーク掲載情報、またはメールによるフォールバック用のコンプライアンス窓口がエントリーに含まれている場合、そのエントリーによって送金がお客様にルーティングされます。
お客様自身のドメインのコンプライアンス用メールアドレスがレスポンスリンクを通じてリクエストに応答すると、そのアドレスはすべてのDidit顧客が利用できる連絡先になります。
エントリーにルートが含まれるまでは、Didit顧客がお客様に到達できるのは、各送金で渡すフィールドを通じてのみです。すなわち、トラベルアドレス、ネットワーク識別子(`counterparty_gtr_vasp_code`、`counterparty_trust_membership_id`、`counterparty_verifyvasp_id`、または`counterparty_sygna_vasp_code`)、またはコンプライアンス用メールアドレス(`counterparty_vasp_email`)です。
今すぐお客様に送金をルーティングできるようにするには、取引のあるDidit顧客にトラベルアドレス、ネットワーク識別子、またはコンプライアンス用メールアドレスを共有してください。

## 取引相手VASP向けチェックリスト

* **すでにTRPを運用している場合**:トラベルアドレスとLEIをDidit顧客に共有してください。その顧客の`BTC`、`ETH`、`USDC`の送金は、標準的なTRP照会としてお客様のエンドポイントに届きます。回答は照会へのレスポンスで行ってください。後から回答するにはDiditの公開TRPホストが必要ですが、まだ稼働していません。
* **GTR、TRUST、VerifyVASPに参加している場合**:ネットワーク識別子を共有してください。Didit顧客がそのネットワークに自社のメンバーシップを持っている場合、送金はそのネットワーク経由で届きます。DiditはGTRまたはVerifyVASPでのお客様の回答をネットワークから読み取りますが、TRUSTでの回答は読み取りません。そのため、TRUST経由のやり取りを完了させる必要がある場合は、TRPエンドポイントも公開してください。この点がいつ変わるかは[トラベルルールネットワーク](https://docs.didit.me/ja/transaction-monitoring/travel-rule-networks.md)に記載されています。
* **Sygna Bridgeに参加している場合**:Sygna VASPコードを共有してください。Didit顧客が自社のSygnaメンバーシップを持っている場合、お客様の許可に関する回答をDiditがポーリングで読み取った時点で、送金は完了または却下されます。
* **まだプロトコルチャネルがない場合**:監視されているコンプライアンス用メールアドレスをDidit顧客に伝えてください。受け取りリンクが届き、連携なしでホスト型ページから回答できます。
* **送金がすでに決済済みの場合**:Didit顧客を通じて、[サンライズ登録](#sunrise-交換前に決済された送金)でデータを提供してください。
* **Didit VASPへの送金も開始したい場合**:取引相手に、Diditのトラベルルール設定にあるトラベルアドレスを尋ねてください。そのうえで、Diditの公開TRPホストが稼働したら[POST /trp/inquiries](#post-/trp/inquiries//)の手順に従ってください。

## 次のステップ

> [card] [トラベルルール](https://docs.didit.me/ja/transaction-monitoring/travel-rule.md)
>
> 顧客向けの製品:ライフサイクル、設定、レール、/v3/ API。

> [card] [ウォレット所有権ウィジェット](https://docs.didit.me/ja/transaction-monitoring/wallet-ownership-widget.md)
>
> ウォレットがセルフホスト型の場合に、受取人側の所有権証明を収集する方法。

> [card] [サンライズ登録](https://docs.didit.me/ja/transaction-monitoring/travel-rule.md#入金後のサンライズ登録)
>
> すでにオンチェーンで決済済みの入金について、トラベルルールのデータを登録する方法。

> [card] [Webhook](https://docs.didit.me/ja/integration/webhooks.md)
>
> Didit顧客が自社側でやり取りのすべての状態遷移を確認する方法。


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