qingze-lab / esignbao-sdk-php
易签宝 REST API PHP SDK,支持实名认证V3和PDF合同签署,包含令牌管理、可重试HTTP和领域服务。
Installs: 8
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/qingze-lab/esignbao-sdk-php
Requires
- php: >=8.2
- ext-json: *
- guzzlehttp/guzzle: ^7.8
- psr/log: ^3.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.5
README
易签宝(e签宝)开放平台 V3 API 的非官方 PHP SDK。
注意: 本 SDK 基于易签宝 V3 版本 API 开发,支持 PHP 8.2+。
✨ 特性
- 完整覆盖: 支持实名认证、文件管理、合同模板、签署流程等核心业务。
- 强类型: 充分利用 PHP 8.2 类型系统,代码更加健壮。
- 易于使用: 采用领域服务模式设计,调用逻辑清晰直观。
- 自动签名: 内置 API 请求签名逻辑,开发者无需关心鉴权细节。
- 重试机制: 内置 HTTP 请求自动重试机制,提高网络波动下的稳定性。
📦 安装
使用 Composer 安装:
composer require qingze-lab/esignbao-sdk-php
🚀 快速开始
1. 初始化客户端
use QingzeLab\ESignBao\Client; use QingzeLab\ESignBao\Config\Configuration; $config = new Configuration( appId: 'your_app_id', appSecret: 'your_app_secret', apiBaseUrl: 'https://smlopenapi.esign.cn' // 沙箱环境 ); $client = new Client($config);
2. 发起一份签署流程
// 1. 上传文件 $uploadResult = $client->file()->uploadFileByPath('./contract.pdf'); $fileId = $uploadResult['data']['fileId']; // 2. 创建签署流程 $flowResult = $client->signFlow()->createByFile( docs: [ ['fileId' => $fileId, 'fileName' => '合同.pdf'] ], signFlowConfig: [ 'signFlowTitle' => '测试合同签署', 'autoStart' => true, 'autoFinish' => true ], signers: [ [ 'signerType' => 0, // 个人签署 'psnSignerInfo' => ['psnAccount' => '188****8888'], 'signFields' => [ ['fileId' => $fileId, 'posPage' => '1', 'posX' => 100, 'posY' => 100] ] ] ] ); $signFlowId = $flowResult['data']['signFlowId']; // 3. 获取签署链接 $signUrl = $client->signFlow()->getSignUrl( signFlowId: $signFlowId, operator: ['psnAccount' => '188****8888'] ); echo "签署链接: " . $signUrl['data']['shortUrl'];
📖 文档
详细的接口说明和使用文档请查阅 Wiki。
🤝 贡献
欢迎提交 Issue 或 Pull Request 来改进本项目。
📄 许可证
本项目基于 MIT 许可证开源。详情请参阅 LICENSE 文件。