使用n8n自动化您的签名
n8n是一个可以自行托管的开源自动化平台。通往Certyneo有两条路:导入我们现成的工作流,它仅使用n8n附带的Webhook和HTTP Request节点,无需任何安装;或者如果您更喜欢在面板中使用Certyneo节点,可以安装社区节点n8n-nodes-certyneo。无论哪种情况,粘贴您的API密钥,您的签名事件将驱动其余堆栈。
该工作流无需任何安装:它仅使用n8n附带的节点,因此无处不在,包括n8n Cloud。社区节点n8n-nodes-certyneo发布在npm上,可在自托管实例上从Settings → Community nodes安装;n8n Cloud仅提供n8n已验证的节点。
为什么要将Certyneo连接到n8n
n8n让您有选择权:托管服务或您自己的服务器。无论哪种情况,Certyneo集成都使用公共API和webhooks,您的合同和工具之间没有专有中介。
11个事件,而不是四个
Webhook节点接收信封的整个生命周期——创建、发送、打开、签署、拒绝、取消、过期、返回给发件人。没有任何触发器被遗漏,这与列表固定的连接器不同。
完整的API,无需等待
HTTP Request 节点调用 Certyneo API 的任何端点,只要存在:创建信封、发送信封、存储文档、获取已签署的 PDF 或证明文件夹。
自主托管成为可能
在您托管的 n8n 实例上,您合同的元数据不会通过任何第三方:流量直接从您的服务器到 Certyneo,不经过其他地方。这对法律团队和信息主管来说是一个重要论据。
API 密钥和 HMAC 签名
连接通过范围有限且随时可撤销的 API 密钥进行身份验证。每个传入事件都由 HMAC-SHA256 签名:您的工作流可以验证它确实来自 Certyneo。
可用事件
将 Webhook 节点订阅到您选择的事件。它们实时到达,带有需要在 n8n 端验证的 X-Certyneo-Signature 签名标头。
| 事件 | 触发条件… |
|---|---|
信封已创建envelope.created | 刚刚创建了一个信封,仍处于草稿状态。 |
信封已发出envelope.sent | 信封离开草稿状态并发送给其收件人。 |
信封已签署envelope.completed | 所有收件人都已签署:信封已完成,带有已签署 PDF 的下载链接。 |
信封已拒绝envelope.declined | 收件人拒绝签署,并说明了其指定的原因。 |
信封已取消envelope.voided | 发件人取消了已发送的信封:签署链接变为不可用。 |
信封已过期envelope.expired | 截止日期已过,但并非所有收件人都已签署。 |
信封退回给发送人envelope.returned_to_sender | 收件人返回信封要求更正,而不是签署信封。 |
信封重新提交envelope.resubmitted | 发件人更正然后重新发送已退回给他的信封。 |
收件人已签署recipient.signed | 一位收签人完成签署。每个签署人触发一次,不仅仅在最后触发。 |
收件人已打开recipient.viewed | 收件人第一次打开信封——有助于在合适的时机进行跟进。 |
收件人已批准recipient.approved | 角色为「批准者」的收件人验证信封,无需附加签名。 |
地址无法送达recipient.bounced | 收件人的地址返回永久失败(邮箱不存在、域名已停用)。重试将停止:请更正地址并重新发送信封。 |
您可以控制的内容
每一行都是HTTP Request节点的一次调用,具有Header Auth身份验证和您的Certyneo密钥。
创建信封
POST /envelopes — 从Certyneo模板或已上传的文档组成信封,包含其收件人。
发送信封
POST /envelopes/:id/send — 将信封从草稿中移出并发送签署邀请。
列出信封
GET /envelopes — 分页列表,最近的优先,带可选的状态过滤器。
上传文档
POST /documents — 从任何 n8n 节点发送 PDF,包括电子邮件附件或 Drive 文件。
列出模板
GET /templates — 检索您的模板标识符,以免必须在工作流中硬编码。
下载签署的 PDF
GET /envelopes/:id/signed-document — 检索签署的文档,以及 /audit-trail 用于证明文件。
建立集成
我们提供的工作流已包含 webhook、事件路由、订阅调用和发送示例。预计需要五分钟。
- 1
导入工作流
在 n8n 中,打开工作流菜单,选择「Import from URL…」并粘贴我们模板的地址。您也可以下载文件并将其拖放到画布上。
- 2
生成您的 API 密钥
打开 Certyneo → 设置 → REST API,并使用信封和 webhooks 作用域创建密钥。复制它:它只显示一次。
- 3
创建 Header Auth 标识符
在 n8n 中,添加一个「Header Auth」标识符:名称为「Authorization」,值为「Bearer」后跟您的密钥。在工作流的 HTTP Request 节点上选择它。
- 4
订阅然后激活
复制 Webhook 节点的生产 URL,将其粘贴到订阅调用中,执行一次,然后激活工作流。保存返回的「secret」:它用于验证事件的签名。
- 5
连接 Google Drive
该模板将签署的 PDF 及其审计证明放在您的 Drive 中:在两个存档节点上选择您的 Google 账户。您可以将它们替换为 S3、SharePoint 或任何其他存储,它们使用相同的二进制字段。
安全与合规性
n8n 集成基于 Certyneo 公共 API,与平台其余部分的要求级别相同。
- 端到端 HTTPS 加密交换。
- 作用域受限的 API 密钥:仅授予必要的权限。
- 每个事件都用 HMAC-SHA256 签署——在对其采取行动前验证它。
- 随时从您的仪表板撤销密钥。
常见问题
需要在 n8n 中安装 Certyneo 节点吗?
这不是强制性的。我们发布的工作流仅使用 n8n 附带的 Webhook 和 HTTP Request 节点:无需安装,在 n8n Cloud 上也能正常工作。如果您愿意,存在一个社区节点 — npm 上的 n8n-nodes-certyneo,包含一个操作节点、一个触发器节点及其标识符 — 可从自托管实例上的 Settings → Community nodes 安装。n8n 文档将 n8n Cloud 保留给其已验证的节点。
使用 n8n 需要哪个 Certyneo 订阅?
真实密钥(sk_live_…)需要包含 API 访问权限的计划(标准及以上)。免费和个人计划提供沙箱密钥(sk_test_…),用于在测试信封上完整演练,无需向签署者发送电子邮件。
如何获取我的 API 密钥?
从 Certyneo,转到设置 → API REST,并创建一个具有 envelopes:read、envelopes:write 和 webhooks:write 范围的密钥。它以 sk_live_ 开头(或沙箱的 sk_test_),只显示一次:立即复制它。
这在自托管的 n8n 实例上工作吗?
可以,这是最有趣的用例。您的实例只需从互联网上可达,以接收我们的 webhook:一个公共 HTTPS URL 就足够了。这样数据不会通过任何第三方服务传输。
涵盖了哪些签名事件?
生命周期的十一个事件:信封已创建、已发送、已签署、已拒绝、已取消、已过期、已退回给发件人、已重新提交,以及收件人已打开、已签署或已批准。您选择要订阅的事件。
如何验证事件确实来自 Certyneo?
每次交付都带有 X-Certyneo-Signature 标头,其中包含请求正文的 HMAC-SHA256,使用订阅创建时返回的密钥计算。在处理事件之前,在 Code 节点中比较它。
n8n 集成是否收费?
Certyneo 不收取额外费用。在 n8n 方面,自托管实例是免费的;在 n8n Cloud 上,每次执行都消耗您计划的配额。
进一步发展
从今天开始自动化您的合同
导入工作流,粘贴您的 API 密钥,让您的签名触发其余流程。