Python
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.travel_rule.unmatched_deposits.match(
"11111111-2222-3333-4444-555555555555",
transaction_id="e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.travelRule.unmatchedDeposits.match("11111111-2222-3333-4444-555555555555", {
transaction_id: "e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.TravelRule.UnmatchedDeposits.Match(ctx, "11111111-2222-3333-4444-555555555555", didit.TravelRuleManualMatchRequest{
TransactionID: "e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.TravelRuleManualMatchRequest;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.travelRule().unmatchedDeposits().match("11111111-2222-3333-4444-555555555555", TravelRuleManualMatchRequest.builder()
.transactionId("e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->travelRule->unmatchedDeposits->match('11111111-2222-3333-4444-555555555555', [
'transaction_id' => 'e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.travel_rule.unmatched_deposits.match(
"11111111-2222-3333-4444-555555555555",
transaction_id: "e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.TravelRule.UnmatchedDeposits.MatchAsync("11111111-2222-3333-4444-555555555555", new TravelRuleManualMatchRequest
{
TransactionId = "e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24",
});
Console.WriteLine(JsonSerializer.Serialize(result));curl --request POST \
--url https://verification.didit.me/v3/travel-rule/unmatched/{transaction_uuid}/match/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"transaction_id": "e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24"
}
'{
"deposit": {
"id": "7d3a1c55-0b9e-4d52-8a3c-1f6e2b9d4a08",
"transaction_id": "c41f9b2e-5a8d-4e0c-9f17-3b6d8a2e5c91",
"txn_id": "dep-2026-10-20-0007",
"txn_date": "2026-10-19T08:41:12Z",
"kind": "deposit",
"direction": "INBOUND",
"status": "AWAITING_COUNTERPARTY",
"rail": "TRP",
"asset": "ETH",
"amount": "1.25",
"originator_vasp": "Example Counterparty VASP",
"beneficiary_vasp": "Example Counterparty VASP",
"originator_wallet": "0x77ccff0cc624a53cd8b8d8703ced826710211ec7",
"beneficiary_wallet": "0xede2d7e4f5b097e6391ab6bbcf2f47a53f4778cb",
"originator_memo": "",
"beneficiary_memo": "",
"originator_wallet_type": "vasp",
"beneficiary_wallet_type": "vasp",
"matched_transaction_id": "e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24",
"deadline_at": null,
"created_at": "2026-10-19T08:41:13Z"
},
"message": {
"id": "2b8e6f10-9c3a-47d1-b5e2-0a4c7d9f3e66",
"transaction_id": "e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24",
"txn_id": "msg-2026-10-20-0003",
"txn_date": "2026-10-19T08:41:12Z",
"kind": "message",
"direction": "INBOUND",
"status": "COMPLETED",
"rail": "TRP",
"asset": "ETH",
"amount": "1.25",
"originator_vasp": "Origin CASP SL",
"beneficiary_vasp": "Example Counterparty VASP",
"originator_wallet": "0x77ccff0cc624a53cd8b8d8703ced826710211ec7",
"beneficiary_wallet": "0xede2d7e4f5b097e6391ab6bbcf2f47a53f4778cb",
"originator_memo": "",
"beneficiary_memo": "",
"originator_wallet_type": "vasp",
"beneficiary_wallet_type": "vasp",
"matched_transaction_id": null,
"deadline_at": "2026-10-21T08:41:13Z",
"created_at": "2026-10-19T08:41:13Z"
}
}トラベルルール
トラベルルール入金照合API:メッセージとの紐付け
Diditの本APIは、送金人データ待ちの着金を送金元VASPが送ったトラベルルールメッセージと紐付け、入金に送金人データを反映させます。
POST
/
v3
/
travel-rule
/
unmatched
/
{transaction_uuid}
/
match
/
Python
from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.travel_rule.unmatched_deposits.match(
"11111111-2222-3333-4444-555555555555",
transaction_id="e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.travelRule.unmatchedDeposits.match("11111111-2222-3333-4444-555555555555", {
transaction_id: "e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.TravelRule.UnmatchedDeposits.Match(ctx, "11111111-2222-3333-4444-555555555555", didit.TravelRuleManualMatchRequest{
TransactionID: "e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.TravelRuleManualMatchRequest;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.travelRule().unmatchedDeposits().match("11111111-2222-3333-4444-555555555555", TravelRuleManualMatchRequest.builder()
.transactionId("e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->travelRule->unmatchedDeposits->match('11111111-2222-3333-4444-555555555555', [
'transaction_id' => 'e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.travel_rule.unmatched_deposits.match(
"11111111-2222-3333-4444-555555555555",
transaction_id: "e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.TravelRule.UnmatchedDeposits.MatchAsync("11111111-2222-3333-4444-555555555555", new TravelRuleManualMatchRequest
{
TransactionId = "e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24",
});
Console.WriteLine(JsonSerializer.Serialize(result));curl --request POST \
--url https://verification.didit.me/v3/travel-rule/unmatched/{transaction_uuid}/match/ \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"transaction_id": "e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24"
}
'{
"deposit": {
"id": "7d3a1c55-0b9e-4d52-8a3c-1f6e2b9d4a08",
"transaction_id": "c41f9b2e-5a8d-4e0c-9f17-3b6d8a2e5c91",
"txn_id": "dep-2026-10-20-0007",
"txn_date": "2026-10-19T08:41:12Z",
"kind": "deposit",
"direction": "INBOUND",
"status": "AWAITING_COUNTERPARTY",
"rail": "TRP",
"asset": "ETH",
"amount": "1.25",
"originator_vasp": "Example Counterparty VASP",
"beneficiary_vasp": "Example Counterparty VASP",
"originator_wallet": "0x77ccff0cc624a53cd8b8d8703ced826710211ec7",
"beneficiary_wallet": "0xede2d7e4f5b097e6391ab6bbcf2f47a53f4778cb",
"originator_memo": "",
"beneficiary_memo": "",
"originator_wallet_type": "vasp",
"beneficiary_wallet_type": "vasp",
"matched_transaction_id": "e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24",
"deadline_at": null,
"created_at": "2026-10-19T08:41:13Z"
},
"message": {
"id": "2b8e6f10-9c3a-47d1-b5e2-0a4c7d9f3e66",
"transaction_id": "e90a4d7b-1c2f-4b83-a6d5-8f0e3c1b7a24",
"txn_id": "msg-2026-10-20-0003",
"txn_date": "2026-10-19T08:41:12Z",
"kind": "message",
"direction": "INBOUND",
"status": "COMPLETED",
"rail": "TRP",
"asset": "ETH",
"amount": "1.25",
"originator_vasp": "Origin CASP SL",
"beneficiary_vasp": "Example Counterparty VASP",
"originator_wallet": "0x77ccff0cc624a53cd8b8d8703ced826710211ec7",
"beneficiary_wallet": "0xede2d7e4f5b097e6391ab6bbcf2f47a53f4778cb",
"originator_memo": "",
"beneficiary_memo": "",
"originator_wallet_type": "vasp",
"beneficiary_wallet_type": "vasp",
"matched_transaction_id": null,
"deadline_at": "2026-10-21T08:41:13Z",
"created_at": "2026-10-19T08:41:13Z"
}
}使用するタイミング
未照合の入金を一覧表示で取得した入金に、その入金に対応する受信済みのトラベルルールメッセージがあり、Diditが両者を自動で紐付けなかった場合に使用します。 入金にはメッセージの送金人データ、取引相手のVASP、レールが反映され、両方の送金のタイムラインに照合が記録されます。リクエスト
curl -X POST "https://verification.didit.me/v3/travel-rule/unmatched/DEPOSIT_TRANSACTION_ID/match/" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"transaction_id": "MESSAGE_TRANSACTION_ID"}'
注意事項
- パスの
transaction_uuidは入金を指します。ボディのtransaction_idはメッセージを指します。 - メッセージは入金と同じアセットのものである必要があります。
- いずれかの側がすでに次の状態に進んでいる場合、呼び出しは
409で失敗し、何も変更されません。 - Consoleから削除された取引は、どちらの側であっても
404を返します。
関連情報
承認
お客様のアプリケーションのAPIキーです。Business ConsoleのDevelopers -> API keysで取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権(なし、読み取り、書き込み)、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLがnullで返されます。セッションの書き込み権限がないキーでは、セッションのリンクとトークンがnullで返されます。詳細は次を参照してください: https://docs.didit.me/console/api-keys
パスパラメータ
未照合の入金のtransaction_id。
ボディ
application/json
受信したトラベルルールメッセージ(kind: messageの行)のtransaction_idです。
最終更新日 2026年11月1日