SuperAPI AI 工具集

sumsub-create-transaction

安全与审计

查看项目

更新于 10-16 10:41

技能介绍

用途

该技能用于向 Sumsub 的 Transaction Monitoring(KYT)系统提交单笔交易数据。它接收用户以精简规格(compact spec)描述的交易意图,构建完整的 KytTxnData JSON 载荷,向 Sumsub KYT 端点发起 POST 请求,并报告服务端返回的 txnId、评分与审核结果。

主要能力

  • 根据精简规格生成完整 KytTxnData 载荷(借助 build_transaction.py 脚本)。
  • 自动路由至两种端点:
    • 申请人已存在时:POST https://api.sumsub.com/resources/applicants/{applicantId}/kyt/txns/-/data
    • 申请人不存在时:POST https://api.sumsub.com/resources/applicants/-/kyt/txns/-/data?levelName=<levelName>(由 Sumsub 根据 applicant.externalUserId 创建申请人)
  • 支持交易类型:finance、travelRule、kyc、userPlatformEvent、iGamingSession(默认 finance)。
  • 支持法币与加密货币;加密货币块可指定链(如 ETH/BTC/TRX)、合约地址、链上交易哈希、fingerprint、UTXO 的 outputIndex 等。
  • 支持申请人信息(外部用户 ID、类型、姓名、出生日期、联系方式、地址、支付方式、身份证件、设备信息)与交易对手方信息(含机构信息、LEI 码、注册号、CEO 等)。
  • 支持 userPlatformEvent 事件(login、failedLogin、signup、passwordReset、twoFaReset、general)。
  • 支持 sourceKey 与 props 自定义字符串键值对(如 dailyOutLimit)。
  • 在提交前校验必填字段与枚举值,失败时给出完整允许值列表。
  • 生成指向 Sandbox 工作区的仪表盘链接。

使用方式

认证使用 App Token 与配对密钥,每个请求按 Sumsub 认证规范签名。环境变量包括 SUMSUB_APP_TOKEN(须以 sbx: 开头)、SUMSUB_SECRET_KEY,以及可选的 SUMSUB_BASE(默认 https://api.sumsub.com)。

流程:

  1. 将用户意图映射为精简规格。多数交易为 type: finance,此时核心是金额、币种、方向、申请人与交易对手方。
  2. 校验 txnId 非空、applicant.externalUserId 非空,并按类型校验必填项:finance/travelRule 需要 info.amount、info.currencyCode、info.direction;userPlatformEvent 需要 userPlatformEvent.type。
  3. 调用 build_transaction.py 生成完整载荷。
  4. 调用 post_transaction.sh 提交,脚本根据规格中是否设置 _applicantId 自动选择端点。
  5. 从响应中读取服务端分配的 id 与 clientId,构建仪表盘链接:https://cockpit.sumsub.com/checkus/kyt/txns/<id>?clientId=<clientId>&sbx=true。注意 URL 中使用服务端 id,而非用户提供的 txnId。
  6. 报告 txnId、服务端 id、申请人 externalUserId、方向与金额币种、交易对手方(如有)、响应中的 score/reviewAnswer/riskLabels(如存在)以及可点击的仪表盘链接。

签名要点:需对带上查询字符串的路径签名,动态段需 URL 编码,发送的字节必须与签名的字节一致。

适用场景

  • 在平台上记录并监控用户发起的法币或加密货币资金进出交易。
  • 提交 Travel Rule 相关的加密货币转账。
  • 记录用户平台事件(如登录、注册、密码重置)。
  • 当申请人尚未创建时,由 Sumsub 依据 externalUserId 自动建档。

限制

  • 仅允许使用沙盒(sandbox)Token;脚本会拒绝不以 sbx: 开头的 Token,禁止使用生产 App Token,因为交易监控会作用于真实申请人数据并可能触发真实 KYT 告警。
  • 两个端点均被官方标记为 deprecated,但仍是官方文档中提交交易的规范入口,暂未提供 v2/v3 替代。
  • 若在对话中已提供凭据则复用,否则需询问一次;禁止回显密钥。
  • paymentMethod.type 不做枚举校验(OpenAPI 仅列出 smartContract、bankCard、bankAccount,但文档与线上数据接受更多值)。
  • 常见失败:409(txnId 冲突)、400(缺少必填字段,如 info.amount、info.currencyCode、info.direction 或 applicant.externalUserId)、400(levelName 未知)。

关于生产环境价格、性能指标或其他收费信息,资料暂未提供。