Chaindoc logoChaindoc

Last updated: April 28, 2026

变更日志

Chaindoc 服务器 SDK嵌入 SDK 和公共 REST API 的发布历史记录。两个 SDK 均遵循 semver。主要版本表示重大更改,次要版本添加向后兼容功能,补丁是错误修复。当功能准备就绪时发布船舶;没有固定的节奏。

v2.0.0-alpha。 2026 年 4 月(当前 Alpha 版)

在我们稳定新模块的同时,在 npm 上的 `@alpha` 标签上发布。将合同、发票、交易、模板和 Webhook 签名验证添加到 Server SDK。使用 `npm install @chaindoc_io/server-sdk@alpha` 安装。如需了解更多信息,请参阅语义版本控制 2.0.0

服务器软件开发工具包。新模块

  • `chaindoc.contracts.*`。完整的合同生命周期:创建、发送、取消、终止、添加付款设置、列表、获取状态、获取活动
  • `chaindoc.invoices.*`。创建、列出、获取、发送、收费、标记已付款
  • `chaindoc.transactions.*`。每个合约的列表,通过 UUID 获取
  • `chaindoc.templates.*`。将模板呈现为文档、签名请求或合同
  • `Chaindoc.webhooks.verify(rawBody, signature, timestamp, secret)`。用于 webhook HMAC-SHA256 验证的静态帮助程序,具有 5 分钟重播窗口
  • `chaindoc.getApiKeyInfo()`。返回密钥元数据(keyId、keyName、accessLevel 等)

服务器软件开发工具包。其他补充

  • 构造函数上的 `environment` 选项 (`'production'` | `'staging'` | `'development'`)。选择目标环境,无需手动构建`baseUrl`
  • `isRetryable` 标记在 `ChaindocError` 上。让调用者决定是否在 SDK 的内置重试预算之上重试
  • 重试配置现在是一个对象:`{ maxRetries, baseDelayMs, maxDelayMs }`

服务器软件开发工具包。重大变化

  • 删除 KYC 模块。 KYC 现在仅发生在 Embed SDK 流程内;没有专用的服务器端 KYC 方法。迁移:删除代码中的任何 `chaindoc.kyc.*` 调用。
  • `chaindoc.healthCheck()` 不再返回 `userId`。响应形状现在为 `{ status, timestamp, apiKeyValid }`。

嵌入SDK。 v1.1.0-alpha

  • 新回调:`onClose`(在任何拆卸时触发,包括成功后触发)和 `onResendOtp`(当签名者请求新的 OTP 时触发)
  • 新实例方法:`isReady()` 和 `getSessionId()`
  • 新的 `openSignatureFlow` 选项:`modalWidth`、`modalHeight`、`zIndex`、`closeOnClickOutside`、`closeOnEscape`、`language`(支持 14 个区域设置)
  • 中断: `theme` 不再是构造函数选项。将其传递到 `openSignatureFlow({ theme: 'light' | 'dark' })` 中

公共API

  • 新端点:`/api/v1/contracts/*`、`/api/v1/contracts/:id/invoices/*`、`/api/v1/transactions/*`、`/api/v1/templates/:id/*`
  • Webhook 信封形状稳定在 `{ id, type, createdAt, data }`
  • 添加了 11 个新的 Webhook 事件类型:`contract.created`、`contract.status_changed`、`contract.signed`、`contract.cancelled`、`contract.terminated`、`invoice.created`、`invoice.sent`、`invoice.paid`、`invoice.cancelled`、`transaction.created`、`transaction.updated`

v1.0.0。 2025 年 12 月 10 日

首个稳定版本。 Server SDK 和 Embed SDK 与公共 REST API 一起提供。

服务器 SDK (`@chaindoc_io/server-sdk`)

  • Node.js 18+ 支持,零运行时依赖(本机 `fetch`、`Blob`、`FormData`)
  • 完整的 TypeScript 定义
  • 自动重试,具有指数退避 + 5xx / 429 / 网络错误抖动
  • 模块:`media`、`documents`、`signatures`、`embedded`、`kyc`(KYC 后来在 v2.0.0-alpha 中被删除)

嵌入 SDK (`@chaindoc_io/embed-sdk`)

  • 与框架无关的浏览器 SDK。适用于 React、Vue、Angular、Svelte 和普通 JS
  • 模态和内联显示模式
  • 浅色/深色主题
  • 通过 npm 提供,并通过 unpkg/jsDelivr 作为 UMD 捆绑包提供

公共API

  • `/api/v1/*` 下的 REST API,使用 `sk_` / `pk_` 基于密钥的身份验证
  • 文档、签名、媒体上传、嵌入式会话创建、常规(`/me`、`/health`)
  • 速率mit(公共端点上每个密钥 10 个请求/60 秒)
  • PAdES - 嵌入在签名 PDF 中的 BES 签名(EU DSS 管道、每用户 ECDSA 证书)
  • SKALE Calypso 上签名文档哈希值的区块链锚定
  • 带有 HMAC-SHA256 签名的 Webhook 用于事件传递
  • Sumsub 支持的 KYC 可通过嵌入式签名流程使用

接下来做什么