Rails启动器

signatureapi-rails-starter — Rails 启动器模板

作者 signatureapi

基于 Rails 的 SignatureAPI 电子签名集成启动器,演示发送文档、验证 Webhook 并下载已签署 PDF 的完整流程。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-09查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

演示从创建信封、发送签署链接到 Webhook 回调更新状态的完整电子签名流程

02

使用 Standard Webhooks 库验证 Webhook 签名,并据此更新协议状态

03

已完成的协议可跳转下载签署后的 PDF

04

集成逻辑集中在 service 与 webhooks controller 两个文件,便于扩展收件人、地点或信封选项

05

内置 SignatureAPI agent skills 与 MCP 服务器配置,支持多种 AI 编码工具

06

单元测试使用 WebMock 桩接 API 并签名测试 Webhook,无需 API key

模板详细介绍

这是一个 Ruby on Rails 启动器模板,用于对接 SignatureAPI 电子签名服务。表单收集签署人姓名与邮箱后,应用上传示例 PDF、创建信封并保存 Agreement 记录,SignatureAPI 向签署人发送签署链接。签署完成后,Webhook 将协议状态更新为 completed、rejected、failed 或 canceled,已完成的协议可跳转下载签署后的 PDF。

集成逻辑集中在两个文件:app/services/signature_api.rb 负责调用 REST API,app/controllers/signatureapi_webhooks_controller.rb 使用 Standard Webhooks 库验证 Webhook 并更新协议状态。仓库还内置了 SignatureAPI 的 agent skills 与 MCP 服务器配置,覆盖 Claude Code、Codex、Cursor、Copilot 等工具。

模板默认使用 SQLite,未包含用户认证。README 指出生产环境需要更换 live API key、注册公开 Webhook URL、设置 SECRET_KEY_BASE 并为 SQLite 提供持久化磁盘或切换数据库;交付物链接一小时后过期,如需保留已签署 PDF 需自行下载存储。

Rails启动器

适合你的项目吗?

适用场景

  • 在 Rails 应用中快速接入 SignatureAPI 电子签名能力
  • 学习如何创建信封、处理签署状态回调并获取签署后 PDF
  • 作为需要发送协议供他人签署的内部工具或原型的起点
  • 参考 Standard Webhooks 验证与 AI 编码工具集成的实现方式

适合人群

  • 熟悉 Ruby on Rails 并希望集成电子签名的开发者
  • 需要可运行示例来理解 SignatureAPI 信封与 Webhook 流程的团队
  • 计划在 Rails 项目中添加文档签署环节的产品原型

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    需要 Ruby(见 .ruby-version)和 Node.js 20 或更高版本以使用 npx

  2. 2

    运行 npx --yes signatureapi init 将测试 API key 写入 .env

  3. 3

    执行 bin/setup --skip-server 安装依赖并创建数据库,再运行 bin/rails server -p 3000

  4. 4

    另开终端运行 npx --yes signatureapi listen --forward-to http://127.0.0.1:3000/webhooks/signatureapi 转发测试 Webhook,首次运行会写入 SIGNATUREAPI_WEBHOOK_SECRET,需重启服务器加载

  5. 5

    生产环境需更换 live API key、注册公开 Webhook URL、设置 SECRET_KEY_BASE 并为 SQLite 提供持久化磁盘或切换数据库

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 使用前必须获取并配置 SignatureAPI 的测试 API key,模板依赖该外部服务才能运行。
  • 初始化需通过 npx 运行 SignatureAPI CLI 命令,依赖外部工具与网络。
  • 本地开发需运行 SignatureAPI CLI 转发测试 Webhook,依赖外部服务。
  • 首次运行 listen 会写入 Webhook 密钥,必须重启服务器才能加载,否则 Webhook 验证失败。
  • 端到端测试需要 API key 并保持 listen 运行,依赖外部服务。
  • 生产环境必须使用 SignatureAPI 的 live API key,属于外部付费服务依赖。
  • 生产环境需在 SignatureAPI 控制台注册公开 Webhook URL 并配置签名密钥。
  • 模板不包含用户认证,直接用于生产需自行添加认证机制。
  • 交付物链接一小时后过期,如需长期保存已签署 PDF 必须自行下载存储。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

Write a test API key to `.env`:

README 原文

npx --yes signatureapi init

README 原文

forward test webhooks to the app:

README 原文

The first `listen` writes `SIGNATUREAPI_WEBHOOK_SECRET` to `.env`. Restart the server once so it loads the secret.

README 原文

The end-to-end test in [`e2e/`](e2e/README.md) sends, signs and completes a real test-mode envelope. It needs a key and a running `listen`.

README 原文

Use a live API key in `SIGNATUREAPI_KEY`.

README 原文

Register your public webhook URL in the SignatureAPI dashboard and set `SIGNATUREAPI_WEBHOOK_SECRET` to its signing secret.

README 原文

Add authentication for your users. This app has none.

README 原文

Deliverable URLs expire after an hour. Download and store the signed PDF (for example on `deliverable.generated`) if you need to keep it.

README 原文
https://github.com/signatureapi/signatureapi-rails-starter/blob/main/LICENSEhttps://github.com/signatureapi/signatureapi-rails-starter/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-09。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 83 / 100
技术栈
Rails
网站类型
启动器
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-10-09
截图检查日期
2026-10-09

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Rails。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: [email protected] · 2026-10-10

查看当时使用的来源资料

SHA-256: 7218f92554b9ba11f3721ef180af5c9ebbf96d5a80815cd2ee0110d60eccd609

2026-10-09T16:37:19.811Z

来源文件 / 仓库
# SignatureAPI Rails starter

A Ruby on Rails template for sending documents for signature with the SignatureAPI e-signature API.

[![Demo: send an agreement, sign it, and see it completed](docs/media/demo.gif)](docs/media/demo.mp4)

## What it does

- A form takes a signer's name and email.
- The app uploads a sample PDF, creates an envelope and saves an `Agreement`.
- SignatureAPI emails the signer a signing link.
- A webhook updates the agreement's status: completed, rejected, failed or canceled.
- A completed agreement links to its signed PDF.

## Use this template

Select **Use this template** on GitHub to create your own repository, then clone it.

## Quickstart

You need Ruby (see `.ruby-version`) and Node.js 20 or later for `npx`.

Write a test API key to `.env`:

```bash
npx --yes signatureapi init
```

Install gems, create the database and start the app:

```bash
bin/setup --skip-server
bin/rails server -p 3000
```

In another terminal, forward test webhooks to the app:

```bash
npx --yes signatureapi listen --forward-to http://127.0.0.1:3000/webhooks/signatureapi
```

The first `listen` writes `SIGNATUREAPI_WEBHOOK_SECRET` to `.env`. Restart the
server once so it loads the secret.

Open http://localhost:3000 and send an agreement.

## How it works

```mermaid
sequenceDiagram
    participant U as Browser
    participant A as Rails app
    participant S as SignatureAPI
    participant R as Signer
    U->>A: POST /agreements (name, email)
    A->>S: POST /uploads (sample PDF)
    A->>S: POST /envelopes
    A->>A: Save Agreement (status: sent)
    S->>R: Email with signing link
    R->>S: Signs
    S->>A: POST /webhooks/signatureapi (envelope.completed)
    A->>A: Verify signature, set status: completed
    U->>A: GET /agreements/:id/signed.pdf
    A->>S: GET /envelopes/:id/deliverables
    A-->>U: 302 to the signed PDF
```

Two files hold the integration:

- [`app/services/signature_api.rb`](app/services/signature_api.rb) calls the REST API.
  Add places, recipients or envelope options here.
- [`app/controllers/signatureapi_webhooks_controller.rb`](app/controllers/signatureapi_webhooks_controller.rb)
  verifies each webhook with the [Standard Webhooks](https://github.com/standard-webhooks/standard-webhooks)
  library and updates the agreement. Add events here.

## AI agents

The repo comes with the SignatureAPI agent skills and MCP server set up:

- Claude Code: the SignatureAPI plugin (skills and MCP) in `.claude/settings.json`.
- Codex, Cursor, Copilot and others: the same skills in `.agents/skills/`,
  and the MCP server in `.cursor/mcp.json` and `.codex/config.toml`.

Both are pinned to commit `93c02a9f1336952b0da9c71a2da2f0024e8afaaa` of
[signatureapi/skills](https://github.com/signatureapi/skills). To update:

```bash
scripts/update-agent-skills.sh <commit-sha>
```

## Tests

```bash
bin/rails test
bin/rubocop
```

Unit tests stub SignatureAPI with WebMock and sign test webhooks with the
Standard Webhooks library. They need no API key.

The end-to-end test in [`e2e/`](e2e/README.md) sends, signs and completes a
real test-mode envelope. It needs a key and a running `listen`.

## Going to production

- Use a live API key in `SIGNATUREAPI_KEY`.
- Register your public webhook URL in the SignatureAPI dashboard and set
  `SIGNATUREAPI_WEBHOOK_SECRET` to its signing secret.
- Set `SECRET_KEY_BASE` and give SQLite a persistent disk, or switch databases.
- Add authentication for your users. This app has none.
- Deliverable URLs expire after an hour. Download and store the signed PDF
  (for example on `deliverable.generated`) if you need to keep it.

## License

[MIT](LICENSE)
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。