跳转到主要内容
POST
curl

授权

x-api-key
string
header
必填

您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅 https://docs.didit.me/console/api-keys。

请求体

application/json
transaction_id
string
必填

您对此交易的唯一标识符(最多 128 个字符)。

示例:

"your-txn-2026-05-17-001"

transaction_category
enum<string>
必填

交易类别。也接受驼峰命名别名(travelRule、userPlatformEvent、gamblingBet 等);对于多词类别,存储/回显的值为 camelCase。

可用选项:
finance,
kyc,
travel_rule,
user_event,
audit_trail_event,
gambling_bet,
gambling_limit_change,
gambling_bonus_change,
travelRule
示例:

"finance"

transaction_details
object
必填

交易的核心财务详情。

subject
object
必填

交易的主体(申请人)。

transaction_at
string<date-time>

交易发生的时间。如果省略,则默认为当前时间。

time_zone
string

IANA 时区标识符,例如 Europe/Madrid。

counterparty
object

交易对手(可选)。

custom_properties
object

附加到交易的任意键值对。可以在规则条件中通过字段路径 custom_values.<key> 引用每个键。

示例:
travel_rule_details
object

Travel Rule 数据。启用 Travel Rule 且 transaction_category 为 travel_rule 时,Didit 会自行执行信息交换:忽略 status、protocol、required 和 obligations_count,并使用 originator_data、beneficiary_data 和 metadata。否则 Didit 会将这些值存储为被动的 Travel Rule 记录。开启 Travel Rule 期间,达到或超过您阈值的出账转账必须携带其制度所要求的信息(欧盟 TFR 或 FATF 第 16 号建议),并在您发送的一侧进行检查:缺少字段会在 travel_rule_details.originator_data 或 travel_rule_details.beneficiary_data 下返回 400,例如“欧盟 TFR 要求提供汇款人姓名。”

network_snapshot
object

预计算的网络图谱快照。

include_crypto_screening
boolean | null

用于加密货币区块链分析筛查的逐笔交易覆盖项。当为 true 时,无论应用默认设置如何,都会执行加密货币筛查。当为 false 时,即使在应用设置中已启用,也会跳过加密货币筛查。省略或为 null 时,使用在控制台中配置的应用级默认设置。加密货币筛查需要 transaction_details.direction、currency_kind: "crypto"、一条链/币种,以及根据交易方向选取的钱包地址:入账转账前筛查使用 counterparty.payment_method.account_id,入账交易哈希筛查使用 subject.payment_method.account_id,出账筛查使用 counterparty.payment_method.account_id。当 transaction_details.payment_reference_id 包含区块链交易哈希时,Didit 会执行交易筛查并在可用时返回交易摘要增强信息。

响应

交易已提交并受监控。响应体为完整的交易详情(结构与 GET /v3/transactions/{transaction_id}/ 相同),反映已应用的规则结果。

单个交易的完整监控记录,由 GET /v3/transactions/{transaction_id}/ 和 POST /v3/transactions/ 返回。

uuid
string<uuid>

Didit 稳定的交易标识符。用作后续调用的 {transaction_id}。

environment
enum<string>

拥有该交易的应用的环境。sandbox 交易会被存储,但绝不会被评估、筛查、通知或计费,因此其空的 rule_runs 表示“未评估”。

可用选项:
live,
sandbox
transaction_number
integer

控制台中显示的应用范围内连续交易序号(例如 4123)。

txn_id
string

您在创建时提供的 transaction_id(最多 128 个字符)。每个应用唯一。

txn_date
string<date-time>

交易发生的时间(来自 transaction_at;默认为提交时间)。

zone_id
string | null

创建时提供的 IANA 时区标识符。

transaction_type
string

存储的顶级类别:finance、kyc、travelRule、userPlatformEvent、gamblingBet、gamblingLimitChange、gamblingBonusChange、auditTrailEvent。请注意,即使以 snake_case 提交,包含多个单词的值也会以 camelCase 形式返回。

action_type
string

类别内的子类型(例如 deposit、withdrawal、transfer)。未提供时默认为该类别。

direction
enum<string>

相对于主体的方向。无论提交时的大小写如何,均以大写形式存储(输入时接受 in/out/inbound/outbound)。

可用选项:
INBOUND,
OUTBOUND
status
enum<string>

当前监控裁决结果。创建交易时的状态为 APPROVED;规则可能会同步将其更改为 IN_REVIEW/DECLINED。

可用选项:
APPROVED,
IN_REVIEW,
DECLINED,
AWAITING_USER
source
enum<string>

记录的生成来源:通过 API 或 SDK 提交的交易为 LIVE,通过控制台导入加载的交易为 IMPORTED。

可用选项:
LIVE,
IMPORTED
amount
string

作为十进制字符串的交易金额,已去除末尾零(例如 "1500"、"0.5"、"0.123456789012345678")。最多 18 位小数。

currency
string

amount 的货币代码。接受任何 ISO 4217 字母代码(例如 EUR、USD、NGN)以及加密资产符号(例如 BTC)。建议使用当前流通的代码。并非每个接受的代码都有汇率:当该代码没有可用汇率时(例如 ISO 会计单位 XSU,或 Didit 未定价的加密资产符号),自动换算将失败,并且 preferred_currency_amount 将返回 null,除非请求提供了预先换算的 amount_in_default_currency。

currency_type
string | null

fiat 或 crypto,与在 currency_kind 中提交的内容一致。

amount_in_default_currency
string | null

您提供的预先换算金额,为去除了末尾零的十进制数字符串。

default_currency_code
string | null
preferred_currency_amount
string | null

amount 在可用时折算为应用的首选货币。

preferred_currency_code
string | null
payment_details
string | null

提交内容中的自由文本付款参考号或附言。

payment_txn_id
string | null

来自 payment_reference_id 的外部支付系统参考标识(例如区块链交易哈希)。

score
integer

规则累计的风险评分(通常为 0–100)。数值越高 = 风险越大。

severity
enum<string> | null

由规则/提供商设置的分类风险严重程度(UNKNOWN、LOW、MEDIUM、HIGH、CRITICAL)。在设置该值之前为 null。

可用选项:
UNKNOWN,
LOW,
MEDIUM,
HIGH,
CRITICAL
decision_reason_code
string | null

当前 status 的机器可读原因。

decision_reason_label
string | null

decision_reason_code 的便于人类阅读的标签。

vendor_data
string | null

申请人 vendor_data 的便捷副本。

metadata
object

创建时提交的 subject 和 counterparty payload 快照。

props
object

您在创建时提供的 custom_properties。每个键都可以在规则条件中通过 custom_values.<key> 访问。

tags
object[]

附加到交易的标签(手动或通过规则)。

parties
object[]

交易当事方(申请人、交易对手)。

payment_methods
object[]

关联至交易的支付方式。

documents
object[]

从控制台附加到交易的文件。若无则为 []。

activities
object[]

活动日志条目(创建、备注、人工审核、状态变更)。

alerts
object[]

当前始终为空。未结警报是指状态为 IN_REVIEW 或 AWAITING_USER 的交易。

rule_runs
object[]

逐条规则的执行结果:触发了哪条规则,以及产生了怎样的评分影响。

provider_results
object[]

原始供应商 payload(AML 筛查、区块链分析等)。

travel_rule
object | null

Travel Rule 转账或核验。在提交了 travel_rule_details 时填充,以及在启用了 Travel Rule 且创建交易时使用了 transaction_category: travelRule 时填充(即使没有 travel_rule_details,Didit 也会自行发起信息交换)。不存在转账或核验时为 null。在入账转账中,交易对手的 originator_data 和 beneficiary_data 保持掩码状态(data_masked: true),直到钱包所有权得到确认。

network_snapshot
object | null

规则引擎使用的相关交易/关联方图谱快照。可以随交易提交的 network_snapshot,也可以是 Didit 从成功的 AML 钱包筛查中构建的图谱(会替换提交的快照)。两者均不存在时为 null。

remediation
object | null

需要重新验证时向用户提供的补救会话。已被规范字段 action_required 取代;保留以向后兼容。

action_required
Verification session · object

完成此交易所需的待处理终端用户操作,若无则为 null。Didit SDK 默认会自动启动该操作,并在其完成时刷新交易。共有两种变体,通过 type 进行区分:verification_session(由规则操作创建的托管验证会话)和 wallet_ownership(为需要钱包控制权证明的 Travel Rule 转账自动生成的钱包所有权微件会话,受 auto_wallet_verification Travel Rule 设置管控)。当两者均适用时,wallet_ownership 具有更高优先级,因为它会阻断 Travel Rule 交互。

cost_breakdown
object | null

此交易的费用:total_price 和 items,每项收费一条记录,均包含 usage_type、price、details 和 created_at。对同一笔交易重新筛查会产生一个新条目。

最后修改于 2026年11月7日