curl -X POST https://verification.didit.me/v3/travel-rule/test-vasp/inbound/ \
-H 'x-api-key: YOUR_SANDBOX_API_KEY' -H 'Content-Type: application/json' \
-d '{"beneficiary_wallet_address":"0xYourSandboxWallet","scenario":"accept","reference":"demo-001"}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.transactions.travel_rule.trigger_test_vasp_inbound(
beneficiary_wallet_address="0xYourSandboxWallet",
scenario="accept",
amount="1",
reference="demo-001",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.transactions.travelRule.triggerTestVaspInbound({
beneficiary_wallet_address: "0xYourSandboxWallet",
scenario: "accept",
amount: "1",
reference: "demo-001",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Transactions.TravelRule.TriggerTestVASPInbound(ctx, didit.TravelRuleTestVASPInboundRequest{
BeneficiaryWalletAddress: "0xYourSandboxWallet",
Scenario: didit.Some(didit.TravelRuleTestVASPInboundRequestScenario("accept")),
Amount: didit.String("1"),
Reference: didit.String("demo-001"),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.TravelRuleTestVaspInboundRequest;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.transactions().travelRule().triggerTestVaspInbound(TravelRuleTestVaspInboundRequest.builder()
.beneficiaryWalletAddress("0xYourSandboxWallet")
.scenario(TravelRuleTestVaspInboundRequest.Scenario.of("accept"))
.amount("1")
.reference("demo-001")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->transactions->travelRule->triggerTestVaspInbound([
'beneficiary_wallet_address' => '0xYourSandboxWallet',
'scenario' => 'accept',
'amount' => '1',
'reference' => 'demo-001',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.transactions.travel_rule.trigger_test_vasp_inbound(
beneficiary_wallet_address: "0xYourSandboxWallet",
scenario: "accept",
amount: "1",
reference: "demo-001"
)
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.TriggerTestVaspInboundAsync(new TravelRuleTestVaspInboundRequest
{
BeneficiaryWalletAddress = "0xYourSandboxWallet",
Scenario = new TravelRuleTestVaspInboundRequestScenario("accept"),
Amount = "1",
Reference = "demo-001",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"txn_id": "<string>",
"scenario": "<string>",
"travel_rule_status": "<string>",
"detail": "<string>",
"test_vasp": true,
"travel_rule": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "AWAITING_COUNTERPARTY",
"direction": "INBOUND",
"rail": "INTERNAL",
"protocol": "<string>",
"ivms_version": "ivms101.2023",
"required": true,
"ownership_confirmed": true,
"deadline_at": "2023-11-07T05:31:56Z",
"timeline": [
{
"status": "<string>",
"at": "2023-11-07T05:31:56Z",
"detail": "<string>",
"name_match": {
"score": 50,
"matched": true,
"method": "none",
"strictness": "NONE",
"compared_with": "wallet_holder",
"transfer_name": "<string>",
"compared_name": "<string>",
"matched_names": [
"<string>"
],
"mismatched_names": [
"<string>"
]
},
"reason": "<string>"
}
],
"counterparty_vasp": {
"name": "<string>",
"lei": "<string>",
"dd_score": 123,
"dd_score_breakdown": {},
"dd_assessed_at": "2023-11-07T05:31:56Z"
},
"originator_data": {},
"beneficiary_data": {},
"name_match": {
"score": 50,
"matched": true,
"method": "none",
"strictness": "NONE",
"compared_with": "wallet_holder",
"transfer_name": "<string>",
"compared_name": "<string>",
"matched_names": [
"<string>"
],
"mismatched_names": [
"<string>"
]
},
"data_match": {
"matched": true,
"mismatched_fields": [
"name"
],
"fields": {}
},
"mismatched_fields": [
"<string>"
],
"data_unmasked": {
"at": "2023-11-07T05:31:56Z",
"reason": "ownership_confirmed",
"actor": "<string>"
},
"data_masked": true,
"created_at": "2023-11-07T05:31:56Z",
"delivery": {
"kind": "SEND",
"status": "QUEUED",
"rail": "INTERNAL",
"attempts": 1,
"last_error": "email undeliverable",
"next_attempt_at": "2023-11-07T05:31:56Z",
"delivered_at": "2023-11-07T05:31:56Z"
},
"discovery": [
{
"step": "internal_address_book",
"outcome": "match",
"reason": "<string>",
"vasp": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"rail": "<string>",
"at": "2023-11-07T05:31:56Z"
}
],
"reason": "<string>",
"next_actions": [
{
"action": "select_counterparty_vasp",
"url": "<string>"
}
],
"chain_details": {
"chain": "<string>",
"shape": "utxo",
"originator": {
"address": "<string>",
"memo": "<string>",
"source": "declared"
},
"beneficiary": {
"address": "<string>",
"memo": "<string>",
"source": "declared"
},
"utxo": {
"inputs": [
{
"address": "<string>",
"amount": "0.0125",
"txid": "<string>",
"vout": 1
}
],
"outputs": [
{
"address": "<string>",
"amount": "0.0125",
"txid": "<string>",
"vout": 1
}
],
"change_output_indexes": [
123
],
"beneficiary_output_index": 123
},
"lightning": {},
"warnings": [
"declared_originator_not_an_input"
],
"not_applicable_reason": "LIGHTNING_NO_PAYEE_IDENTIFIER"
}
}
}{}{
"detail": "<string>"
}トラベルルール テストVASP受信転送トリガーAPI
サンドボックス専用:Didit Test VASPからアプリケーションへトラベルルールの受信転送を送信させ、自社の判定、受信箱、所有確認フローの動作を確認できます。
curl -X POST https://verification.didit.me/v3/travel-rule/test-vasp/inbound/ \
-H 'x-api-key: YOUR_SANDBOX_API_KEY' -H 'Content-Type: application/json' \
-d '{"beneficiary_wallet_address":"0xYourSandboxWallet","scenario":"accept","reference":"demo-001"}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.transactions.travel_rule.trigger_test_vasp_inbound(
beneficiary_wallet_address="0xYourSandboxWallet",
scenario="accept",
amount="1",
reference="demo-001",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.transactions.travelRule.triggerTestVaspInbound({
beneficiary_wallet_address: "0xYourSandboxWallet",
scenario: "accept",
amount: "1",
reference: "demo-001",
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.Transactions.TravelRule.TriggerTestVASPInbound(ctx, didit.TravelRuleTestVASPInboundRequest{
BeneficiaryWalletAddress: "0xYourSandboxWallet",
Scenario: didit.Some(didit.TravelRuleTestVASPInboundRequestScenario("accept")),
Amount: didit.String("1"),
Reference: didit.String("demo-001"),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.TravelRuleTestVaspInboundRequest;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.transactions().travelRule().triggerTestVaspInbound(TravelRuleTestVaspInboundRequest.builder()
.beneficiaryWalletAddress("0xYourSandboxWallet")
.scenario(TravelRuleTestVaspInboundRequest.Scenario.of("accept"))
.amount("1")
.reference("demo-001")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->transactions->travelRule->triggerTestVaspInbound([
'beneficiary_wallet_address' => '0xYourSandboxWallet',
'scenario' => 'accept',
'amount' => '1',
'reference' => 'demo-001',
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.transactions.travel_rule.trigger_test_vasp_inbound(
beneficiary_wallet_address: "0xYourSandboxWallet",
scenario: "accept",
amount: "1",
reference: "demo-001"
)
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.TriggerTestVaspInboundAsync(new TravelRuleTestVaspInboundRequest
{
BeneficiaryWalletAddress = "0xYourSandboxWallet",
Scenario = new TravelRuleTestVaspInboundRequestScenario("accept"),
Amount = "1",
Reference = "demo-001",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"txn_id": "<string>",
"scenario": "<string>",
"travel_rule_status": "<string>",
"detail": "<string>",
"test_vasp": true,
"travel_rule": {
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "AWAITING_COUNTERPARTY",
"direction": "INBOUND",
"rail": "INTERNAL",
"protocol": "<string>",
"ivms_version": "ivms101.2023",
"required": true,
"ownership_confirmed": true,
"deadline_at": "2023-11-07T05:31:56Z",
"timeline": [
{
"status": "<string>",
"at": "2023-11-07T05:31:56Z",
"detail": "<string>",
"name_match": {
"score": 50,
"matched": true,
"method": "none",
"strictness": "NONE",
"compared_with": "wallet_holder",
"transfer_name": "<string>",
"compared_name": "<string>",
"matched_names": [
"<string>"
],
"mismatched_names": [
"<string>"
]
},
"reason": "<string>"
}
],
"counterparty_vasp": {
"name": "<string>",
"lei": "<string>",
"dd_score": 123,
"dd_score_breakdown": {},
"dd_assessed_at": "2023-11-07T05:31:56Z"
},
"originator_data": {},
"beneficiary_data": {},
"name_match": {
"score": 50,
"matched": true,
"method": "none",
"strictness": "NONE",
"compared_with": "wallet_holder",
"transfer_name": "<string>",
"compared_name": "<string>",
"matched_names": [
"<string>"
],
"mismatched_names": [
"<string>"
]
},
"data_match": {
"matched": true,
"mismatched_fields": [
"name"
],
"fields": {}
},
"mismatched_fields": [
"<string>"
],
"data_unmasked": {
"at": "2023-11-07T05:31:56Z",
"reason": "ownership_confirmed",
"actor": "<string>"
},
"data_masked": true,
"created_at": "2023-11-07T05:31:56Z",
"delivery": {
"kind": "SEND",
"status": "QUEUED",
"rail": "INTERNAL",
"attempts": 1,
"last_error": "email undeliverable",
"next_attempt_at": "2023-11-07T05:31:56Z",
"delivered_at": "2023-11-07T05:31:56Z"
},
"discovery": [
{
"step": "internal_address_book",
"outcome": "match",
"reason": "<string>",
"vasp": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"rail": "<string>",
"at": "2023-11-07T05:31:56Z"
}
],
"reason": "<string>",
"next_actions": [
{
"action": "select_counterparty_vasp",
"url": "<string>"
}
],
"chain_details": {
"chain": "<string>",
"shape": "utxo",
"originator": {
"address": "<string>",
"memo": "<string>",
"source": "declared"
},
"beneficiary": {
"address": "<string>",
"memo": "<string>",
"source": "declared"
},
"utxo": {
"inputs": [
{
"address": "<string>",
"amount": "0.0125",
"txid": "<string>",
"vout": 1
}
],
"outputs": [
{
"address": "<string>",
"amount": "0.0125",
"txid": "<string>",
"vout": 1
}
],
"change_output_indexes": [
123
],
"beneficiary_output_index": 123
},
"lightning": {},
"warnings": [
"declared_originator_not_an_input"
],
"not_applicable_reason": "LIGHTNING_NO_PAYEE_IDENTIFIER"
}
}
}{}{
"detail": "<string>"
}承認
お客様のアプリケーションのAPIキーです。Business ConsoleのDevelopers -> API keysで取得できます。プライマリキーはフルアクセス権を持ちます。名前付きキーにはスコープを設定できます。リソースごとのアクセス権(なし、読み取り、書き込み)、一部のワークフローまたは承認済みセッションへの限定、IPアドレスのリストへの限定、有効期限の設定です。401は、キーが誤っている、失効している、または期限切れであることを意味します。403は、キーが送信されていない、キーにこのリソースやアクションへのアクセス権がない、またはIPリスト外のアドレスからリクエストが送信されたことを意味します。セッションのルートでの404は、セッションがキーのワークフローまたはステータスの対象外であることを意味します。メディアへのアクセス権がないキーでは、画像、動画、PDFのURLがnullで返されます。セッションの書き込み権限がないキーでは、セッションのリンクとトークンがnullで返されます。詳細は次を参照してください: https://docs.didit.me/console/api-keys
ボディ
送金先のウォレットアドレスです。Didit Test VASPはこのアドレスに送信し、資産のチェーン上でウォレットアドレス帳と照合されます。一致するエントリがないウォレットも受け付けられ、受信取引はON_HOLDとして記帳されます。
Didit Test VASPが申告する受取人の情報です。acceptは保有者本人の氏名を申告し、name_mismatchはどの保有者とも一致しない氏名を申告します。判定そのものは常にお客様が行います。
accept, name_mismatch 資産のチェーン。
10進数の文字列で表した金額。
資産コード。
任意の冪等性キーです。同じ値で繰り返し呼び出すと、最初の呼び出しで記帳された送金が返されます。
レスポンス
受信送金が記帳され、判定されました。同じreferenceで繰り返すと、同じボディが返されます。
受信した送金のDidit取引UUIDです。
Diditが生成したtxn_idです。
実行されたシナリオです。
アプリケーション自身の判定で決まったステータス。
送金がそのステータスに確定した理由。
常にtrueです。送信者はDidit Test VASPでした。
所有権確認エンドポイントおよび完了/キャンセルエンドポイントから返される完全な送金オブジェクト。受信送金のウォレット所有権が未確認の間、取引相手のoriginator_dataとbeneficiary_dataはマスクされた状態で返され(各単語の最初の文字のみが残り、ウォレット、チェーン、VASPのルーティング情報は判読可能なままです)、data_maskedはtrueになります。
Show child attributes
Show child attributes