curl
curl -X POST 'https://verification.didit.me/v3/transactions/{transaction_id}/travel-rule/user-link/' \
-H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"channel": "link"}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.transactions.travel_rule.create_user_link(
"11111111-2222-3333-4444-555555555555",
channel="link",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.transactions.travelRule.createUserLink("11111111-2222-3333-4444-555555555555", {
channel: "link",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Transactions.TravelRule.CreateUserLink(ctx, "11111111-2222-3333-4444-555555555555", didit.TravelRuleUserLinkRequest{
Channel: didit.Some(didit.TravelRuleUserLinkRequestChannel("link")),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.TravelRuleUserLinkRequest;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.transactions().travelRule().createUserLink("11111111-2222-3333-4444-555555555555", TravelRuleUserLinkRequest.builder()
.channel(TravelRuleUserLinkRequest.Channel.of("link"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->transactions->travelRule->createUserLink('11111111-2222-3333-4444-555555555555', [
'channel' => 'link',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.transactions.travel_rule.create_user_link(
"11111111-2222-3333-4444-555555555555",
channel: "link"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Transactions.TravelRule.CreateUserLinkAsync("11111111-2222-3333-4444-555555555555", new TravelRuleUserLinkRequest
{
Channel = new TravelRuleUserLinkRequestChannel("link"),
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"end_user_link": "<string>",
"expires_at": "2023-11-07T05:31:56Z",
"emailed_to": "<string>",
"email_available": true
}{
"detail": "This end user has no email on their Didit record. Copy the link instead.",
"code": "end_user_email_missing"
}トラベルルール
トラベルルールの認証リンクを作成・メール送信
Didit のAPIで、トラベルルールの認証リンクを新規発行したり、ユーザーの登録済みアドレスへメール送信したりできます。リンクの有効期限、無効化、送信結果のフィールドを含みます。
POST
/
v3
/
transactions
/
{transaction_id}
/
travel-rule
/
user-link
/
curl
curl -X POST 'https://verification.didit.me/v3/transactions/{transaction_id}/travel-rule/user-link/' \
-H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"channel": "link"}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.transactions.travel_rule.create_user_link(
"11111111-2222-3333-4444-555555555555",
channel="link",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.transactions.travelRule.createUserLink("11111111-2222-3333-4444-555555555555", {
channel: "link",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Transactions.TravelRule.CreateUserLink(ctx, "11111111-2222-3333-4444-555555555555", didit.TravelRuleUserLinkRequest{
Channel: didit.Some(didit.TravelRuleUserLinkRequestChannel("link")),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.TravelRuleUserLinkRequest;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.transactions().travelRule().createUserLink("11111111-2222-3333-4444-555555555555", TravelRuleUserLinkRequest.builder()
.channel(TravelRuleUserLinkRequest.Channel.of("link"))
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->transactions->travelRule->createUserLink('11111111-2222-3333-4444-555555555555', [
'channel' => 'link',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.transactions.travel_rule.create_user_link(
"11111111-2222-3333-4444-555555555555",
channel: "link"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
var result = await client.Transactions.TravelRule.CreateUserLinkAsync("11111111-2222-3333-4444-555555555555", new TravelRuleUserLinkRequest
{
Channel = new TravelRuleUserLinkRequestChannel("link"),
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"end_user_link": "<string>",
"expires_at": "2023-11-07T05:31:56Z",
"emailed_to": "<string>",
"email_available": true
}{
"detail": "This end user has no email on their Didit record. Copy the link instead.",
"code": "end_user_email_missing"
}Didit のトラベルルール向けエンドユーザーリンク API は、ユーザーがウォレットまたは取引相手の選択を完了するためのリンクを発行します。このリンクは、登録されているメールアドレス宛てに送信することもできます。
{"channel": "link"} を送信するとリンクをコピーできます。{"channel": "email"} を送信すると、メール配信も試行されます。channel を省略した場合の既定値は link です。メールは、エンドユーザーの Didit 登録メールアドレスと、利用可能な場合は認証セッションの言語を使って送信されます。任意の宛先を指定することはできません。
この API には、取引への書き込み権限と、次のいずれかの状態にある出金トランザクションが必要です: AWAITING_COUNTERPARTY、COUNTERPARTY_VASP_NOT_FOUND、COUNTERPARTY_VASP_NOT_REACHABLE、UNCONFIRMED_OWNERSHIP、ON_HOLD。それ以外の状態では 409 を返します。存在しない取引、または送金が見つからない場合は 404 を返します。
レスポンスには end_user_link、expires_at、emailed_to、email_available が含まれます。新しいリンクを発行すると、その送金に対して以前の有効なエンドユーザーリンクはすべて無効になります。発行したリンクは、意図したエンドユーザーにのみ共有してください。
登録済みのメールアドレスがない場合、channel: email は code: end_user_email_missing を含む 409 を返します。その場合は、代わりに channel: link をリクエストしてください。送信に失敗した場合も、API は利用可能なリンクを返しますが、emailed_to は空になります。email_available は、メールアドレスが存在することを示すもので、配信が成功したことを示すものではありません。
作成時にユーザーの選択を明示的に指定する方法については、取引の作成とトラベルルールガイドを参照してください。送金に対する操作については、送金の更新を参照してください。承認
お客様のアプリケーションのAPIキーです。Business ConsoleのDevelopers -> API keysで取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権(なし、読み取り、書き込み)、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLがnullで返されます。セッションの書き込み権限がないキーでは、セッションのリンクとトークンがnullで返されます。詳細は次を参照してください: https://docs.didit.me/console/api-keys
パスパラメータ
この送金を所有する取引の、Diditの安定したUUIDです。
ボディ
application/json
linkは新しいリンクを返します。emailは、エンドユーザーのDiditの記録にあるメールアドレスへの送信も試みます。
利用可能なオプション:
link, email 最終更新日 2026年11月12日