curl -X POST 'https://verification.didit.me/v3/travel-rule/vasps/' \
-H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"name": "Example VASP", "email": "compliance@example.com", "jurisdiction": "DE", "invite": false}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.travel_rule.create_vasp(
name="Example VASP",
email="compliance@example.com",
jurisdiction="DE",
invite=False,
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.travelRule.createVasp({
name: "Example VASP",
email: "compliance@example.com",
jurisdiction: "DE",
invite: false,
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.TravelRule.CreateVASP(ctx, didit.TravelRuleVASPCreateRequest{
Name: "Example VASP",
Email: "compliance@example.com",
Jurisdiction: didit.String("DE"),
Invite: didit.Bool(false),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.TravelRuleVaspCreateRequest;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.travelRule().createVasp(TravelRuleVaspCreateRequest.builder()
.name("Example VASP")
.email("compliance@example.com")
.jurisdiction("DE")
.invite(false)
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->travelRule->createVasp([
'name' => 'Example VASP',
'email' => 'compliance@example.com',
'jurisdiction' => 'DE',
'invite' => false,
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.travel_rule.create_vasp(
name: "Example VASP",
email: "compliance@example.com",
jurisdiction: "DE",
invite: false
)
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.CreateVaspAsync(new TravelRuleVaspCreateRequest
{
Name = "Example VASP",
Email = "compliance@example.com",
Jurisdiction = "DE",
Invite = false,
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"id": "11111111-2222-3333-4444-555555555555",
"kind": "directory",
"name": "Example VASP",
"lei": "",
"jurisdiction": "DE",
"source": "added_by_you",
"contacts": [
{
"id": "22222222-3333-4444-5555-666666666666",
"email": "compliance@example.com",
"name": "",
"source": "application",
"scope": "application",
"verified_at": null
}
]
}{
"detail": "<string>",
"vasp_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}创建私有 Travel Rule VASP 条目
在 Didit 应用的私有 Travel Rule 目录中添加缺失的交易对手,保存其合规联系方式,并可选择发送邀请。
curl -X POST 'https://verification.didit.me/v3/travel-rule/vasps/' \
-H 'x-api-key: YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"name": "Example VASP", "email": "compliance@example.com", "jurisdiction": "DE", "invite": false}'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
result = client.travel_rule.create_vasp(
name="Example VASP",
email="compliance@example.com",
jurisdiction="DE",
invite=False,
)
print(result)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
const result = await didit.travelRule.createVasp({
name: "Example VASP",
email: "compliance@example.com",
jurisdiction: "DE",
invite: false,
});
console.log(result);ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
result, err := client.TravelRule.CreateVASP(ctx, didit.TravelRuleVASPCreateRequest{
Name: "Example VASP",
Email: "compliance@example.com",
Jurisdiction: didit.String("DE"),
Invite: didit.Bool(false),
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.TravelRuleVaspCreateRequest;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
var result = client.travelRule().createVasp(TravelRuleVaspCreateRequest.builder()
.name("Example VASP")
.email("compliance@example.com")
.jurisdiction("DE")
.invite(false)
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
$result = $didit->travelRule->createVasp([
'name' => 'Example VASP',
'email' => 'compliance@example.com',
'jurisdiction' => 'DE',
'invite' => false,
]);
print_r($result->toArray());require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
result = didit.travel_rule.create_vasp(
name: "Example VASP",
email: "compliance@example.com",
jurisdiction: "DE",
invite: false
)
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.CreateVaspAsync(new TravelRuleVaspCreateRequest
{
Name = "Example VASP",
Email = "compliance@example.com",
Jurisdiction = "DE",
Invite = false,
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"id": "11111111-2222-3333-4444-555555555555",
"kind": "directory",
"name": "Example VASP",
"lei": "",
"jurisdiction": "DE",
"source": "added_by_you",
"contacts": [
{
"id": "22222222-3333-4444-5555-666666666666",
"email": "compliance@example.com",
"name": "",
"source": "application",
"scope": "application",
"verified_at": null
}
]
}{
"detail": "<string>",
"vasp_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}name 和 email。您还可以提供 lei(20 位字母数字字符)、jurisdiction(ISO alpha-2 或 alpha-3 国家/地区代码)以及 invite(默认为 false)。可接受空的可选 LEI 和管辖区值。该 API 需要对交易的写入权限。
201 响应是一条目录条目,其 source: added_by_you。合规联系人仅对您的应用可见。添加条目并不代表对其身份作出认证,也不代表其成为 Didit 网络成员。
若可见名称或 LEI 与现有条目匹配,则返回 409 及 vasp_id;请改为选择该现有条目。字段无效时返回 400。
使用搜索 VASP 目录查找该条目及其可用路由。将其 id 用于更新转账中的 beneficiary_vasp 操作。有关路由和尽职调查,请参阅目录指南。授权
您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅 https://docs.didit.me/console/api-keys。
请求体
VASP 名称(已去除首尾空格);不得为空。
1 - 255以应用私有联系人形式保存的合规邮箱,用于可选的邀请。
254可选,LEI,将规范化为大写。
^([A-Za-z0-9]{20})?$可选,ISO 3166 alpha-2 或 alpha-3 国家/地区代码,将规范化为大写。
3向提供的邮箱发送邀请。
响应
成功响应。
名录中的 VASP 或 Didit 网络的成员,包含您的应用与其建立的路由。仅当客户的应用处于生产环境、启用了 Travel Rule、其资料可被发现、拥有法定名称及已确认的合规邮箱,且 Didit 未将该应用标记为测试、演示或内部应用时,该客户才是 Didit 网络的成员。每一行还包含共享的尽职调查评估(dd_score、risk_level、responsiveness、essential_checks)以及您应用自身的决策、主体筛查和问卷,其他任何客户都无法查看这些内容。
条目 ID,用于 GET /v3/travel-rule/vasps/{vasp_id}/。
directory 表示共享或应用专属的目录条目;didit 表示 Didit 网络成员。
directory, didit 数据源所提供的 ISO 3166 国家/地区代码。
VASP 的 Web 域名。对于 Didit 网络成员始终为空。
您的应用是否有通往该 VASP 或其某个品牌实体的可用路由。对于 Didit 网络成员始终为 true,但在沙盒应用中除外(沙盒应用中每行均为 false)。
用于查找该 VASP 的其他名称。
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
该条目所属受监管实体的品牌。不属于任何受监管实体时为 null。
Show child attributes
Show child attributes
对于品牌,指接收其转账的受监管实体。指定该品牌的转账会路由至其声明管辖区内可达的实体(beneficiary_data.counterparty_vasp_jurisdiction),否则路由至与目标钱包关联的、由区块链分析归因确定的实体,未声明管辖区时则路由至唯一可达的实体。若两个实体匹配度相同,系统绝不会进行主观推测。
Show child attributes
Show child attributes
平台针对该 VASP 的联系方式以及您应用自身的联系方式。
Show child attributes
Show child attributes
该条目的 Didit 验证状态,由 dd_score 的验证组件进行评分。对于 Didit 网络成员,始终为 COMPLETED。
NOT_STARTED, IN_PROGRESS, COMPLETED, REJECTED 名录条目的共享尽职调查评分,范围为 0 到 100,分数越高越安全(参见 dd_score_semantic):即 dd_score_breakdown 中各项分数的总和。Didit 网络成员不进行评分,该值为 null。尚未评估的条目(dd_assessed_at 为 null)显示为 0 且 risk_level 为空,因此请读取 risk_level 而不是原始分数。
0 <= x <= 100条目上记录的 Rails。请读取路由以了解您的应用当前可以使用的内容。
INTERNAL, TRP, GTR, TRUST, VERIFYVASP, SYGNA, EMAIL 对于 Didit 网络的成员(其 dd_status 始终为 COMPLETED,dd_score 为 null 且 risk_level 为空)以及与 Didit 客户关联的目录条目,该值为 true。
dd_score 的每个组成部分对应一个对象。组成部分、其权重(最大值)及其原因代码:jurisdiction, 25 (jurisdiction_not_high_risk, jurisdiction_high_risk, jurisdiction_unknown);verification, 15 (dd_status_completed, dd_status_in_progress, dd_status_not_started, dd_status_rejected);protocol, 15 (native_rail, email_only, no_rail);lei, 10 (lei_valid, lei_missing);history, 10 (history, no_history);essentials, 15 (essential_checks, no_essential_checks);responsiveness, 10 (responsive, unresponsive, responsiveness_unknown)。对于 Didit 网络成员,该字段为空。
Show child attributes
Show child attributes
上次计算 dd_score、risk_level 和 responsiveness 的时间:在与该条目的交互完成、结束、过期、不匹配或被拒绝后,在 Didit 刷新或整理该条目时,以及在每周目录刷新时。对于 Didit 网络成员为 Null。
dd_score 的取向:始终为 higher_is_safer。
higher_is_safer dd_score 所在的区间:LOW(70 或以上)、MEDIUM(40 至 69)或 HIGH(低于 40)。对于 Didit 网络成员以及尚未评估的条目为空。可使用 risk 对其进行过滤。您自己标记的筛查绝不会更改此共享值:而是在您的规则中将 counterparty_risk_level 置为 HIGH。
LOW, MEDIUM, HIGH, 该 VASP 是否响应 Travel Rule 请求:过去 90 天内 Didit 客户向其发起的请求中得到响应的比例。仅计入通过网络或协议轨道发送的请求,或通过电子邮件发送至共享地址(词条的合规邮箱或平台联系人)的请求;发送至客户手动输入的地址或客户私人联系人的请求一律不计入。过期的请求视为未响应;完成的交换、拒绝或数据不匹配均视为已响应;取消的请求或无法连通的轨道两者皆非。对于 Didit 网络成员,始终为 UNKNOWN 且计数为零。
Show child attributes
Show child attributes
目录条目的基本核验报告,仅根据平台验证的来源生成:注册(官方登记簿列出了该 VASP:欧盟临时 MiCA 登记簿、公共 TRISA 目录或全球 LEI 登记簿)、许可证(MiCA 授权已有记录且当前有效)、域名(条目的域名与其 TRP endpoint 或其登记簿提供的网站相匹配)和 LEI(其 LEI 记录处于活跃状态、已签发且与条目的名称和国家/地区一致)。dd_score 的基本核验部分是通过的已判定检查项所占的比例。在每周目录刷新首次检查该条目之前为空,并且对于 Didit 网络成员始终为空。
Show child attributes
Show child attributes
您的应用针对该 VASP 的决策,或者对于未单独设置决策的实体而言为其品牌的决策(inherited_from 会指明品牌名称)。无决策时为 null。仅对您的应用私有。
Show child attributes
Show child attributes
您的应用针对该 VASP 最新的制裁与负面新闻筛查记录。若您从未筛查过该 VASP 则为 null。仅对您的应用私有。
Show child attributes
Show child attributes
您的应用与该 VASP 之间的尽职调查问卷,按最新优先排序。仅对您的应用私有。
Show child attributes
Show child attributes
directory 表示共享目录条目,added_by_you 表示您应用专属的条目,didit_network 表示关联到某个 Didit 客户的目录条目。单独的 kind=didit 成员结果可能省略此字段;请使用 kind 来识别它们。
didit_network, directory, added_by_you