PHPackages                             qingze-lab/esignbao-sdk-php-7.0 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. qingze-lab/esignbao-sdk-php-7.0

ActiveLibrary[HTTP &amp; Networking](/categories/http)

qingze-lab/esignbao-sdk-php-7.0
===============================

易签宝 REST API PHP SDK，支持实名认证V3和PDF合同签署，包含令牌管理、可重试HTTP和领域服务。

v0.1.5(2mo ago)04↓50%MITPHPPHP &gt;=7.0

Since Mar 4Pushed 2mo agoCompare

[ Source](https://github.com/qingze-lab/esign-sdk-php-7.0)[ Packagist](https://packagist.org/packages/qingze-lab/esignbao-sdk-php-7.0)[ Docs](https://github.com/qingze-lab/esign-sdk-php-7.0)[ RSS](/packages/qingze-lab-esignbao-sdk-php-70/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (12)Versions (6)Used By (0)

易签宝 PHP SDK
===========

[](#易签宝-php-sdk)

易签宝（e签宝）开放平台 V3 API 的非官方 PHP SDK。

[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE)

> **注意**: 本 SDK 基于易签宝 V3 版本 API 开发，兼容 PHP 7.0+。

✨ 特性
----

[](#-特性)

- **完整覆盖**: 支持实名认证、文件管理、合同模板、签署流程等核心业务。
- **兼容性好**: 支持 PHP 7.0 及以上版本，兼容 Laravel、ThinkPHP、FastAdmin 等主流框架。
- **强类型支持**: 代码中广泛使用 PHP 7 类型提示，提高代码质量和开发体验。
- **易于使用**: 采用领域服务模式设计，调用逻辑清晰直观。
- **自动签名**: 内置 API 请求签名逻辑，开发者无需关心鉴权细节。
- **重试机制**: 内置 HTTP 请求自动重试机制，提高网络波动下的稳定性。

📦 安装
----

[](#-安装)

使用 Composer 安装：

```
composer require qingze-lab/esignbao-sdk-php-7.0
```

🚀 快速开始
------

[](#-快速开始)

### 1. 初始化客户端

[](#1-初始化客户端)

```
use QingzeLab\ESignBao\Client;
use QingzeLab\ESignBao\Config\Configuration;

$config = new Configuration(
    'your_app_id',
    'your_app_secret',
    'https://smlopenapi.esign.cn' // 沙箱环境
);

$client = new Client($config);
```

### 2. 发起一份签署流程

[](#2-发起一份签署流程)

```
// 1. 上传文件
$uploadResult = $client->file()->uploadFileByPath('./contract.pdf');
$fileId = $uploadResult['data']['fileId'];

// 2. 创建签署流程
$flowResult = $client->signFlow()->createByFile(
    [
        ['fileId' => $fileId, 'fileName' => '合同.pdf']
    ],
    null, // attachments
    [
        'signFlowTitle' => '测试合同签署',
        'autoStart' => true,
        'autoFinish' => true
    ],
    null, // signFlowInitiator
    [
        [
            '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,
    ['psnAccount' => '188****8888']
);

echo "签署链接: " . $signUrl['data']['shortUrl'];
```

🛠 框架集成
------

[](#-框架集成)

### Laravel

[](#laravel)

在 Laravel 中，你可以将 `Client` 绑定到服务容器中。

在 `AppServiceProvider` 的 `register` 方法中：

```
use QingzeLab\ESignBao\Client;
use QingzeLab\ESignBao\Config\Configuration;
use QingzeLab\ESignBao\Log\LaravelLogger;

public function register()
{
    $this->app->singleton(Client::class, function ($app) {
        $config = new Configuration(
            env('ESIGN_APP_ID'),
            env('ESIGN_APP_SECRET'),
            env('ESIGN_API_URL', 'https://openapi.esign.cn')
        );

        // 使用 Laravel 的日志系统
        $config->setLogger(new LaravelLogger(app('log')));

        return new Client($config);
    });
}
```

使用时注入：

```
public function sign(Client $client)
{
    // ...
}
```

### ThinkPHP / FastAdmin

[](#thinkphp--fastadmin)

在 ThinkPHP 或 FastAdmin 中，你可以创建一个公共的服务类或直接在控制器中实例化。

#### 1. 基础集成

[](#1-基础集成)

```
use QingzeLab\ESignBao\Client;
use QingzeLab\ESignBao\Config\Configuration;

class ESignService
{
    protected static $client;

    public static function getClient()
    {
        if (!self::$client) {
            $config = new Configuration(
                config('esign.app_id'),
                config('esign.app_secret'),
                config('esign.api_url')
            );
            self::$client = new Client($config);
        }
        return self::$client;
    }
}
```

#### 2. 日志集成 (ThinkPHP 5.0)

[](#2-日志集成-thinkphp-50)

ThinkPHP 5.0 的日志系统是静态调用的，你可以实现一个简单的适配器类来接入 SDK 的日志。

首先定义适配器类 `Tp5Logger`：

```
namespace app\common\library; // 命名空间根据实际情况调整

use QingzeLab\ESignBao\Log\LoggerInterface;
use think\Log;

/**
 * 适配 ThinkPHP 5.0 的日志类
 */
class Tp5Logger implements LoggerInterface
{
    public function info(string $message, array $context = [])
    {
        // 记录 info 级别日志
        // JSON_UNESCAPED_UNICODE 确保中文不被转义
        $contextStr = !empty($context) ? ' ' . json_encode($context, JSON_UNESCAPED_UNICODE) : '';
        Log::record('[ESignBao] ' . $message . $contextStr, 'info');
    }

    public function error(string $message, array $context = [])
    {
        // 记录 error 级别日志
        $contextStr = !empty($context) ? ' ' . json_encode($context, JSON_UNESCAPED_UNICODE) : '';
        Log::record('[ESignBao] ' . $message . $contextStr, 'error');
    }
}
```

然后在初始化 SDK 时注入该日志类：

```
// 在 ESignService::getClient() 中
$config = new Configuration(
    config('esign.app_id'),
    config('esign.app_secret'),
    config('esign.api_url')
);

// 注入日志适配器
$config->setLogger(new \app\common\library\Tp5Logger());

self::$client = new Client($config);
```

📖 文档
----

[](#-文档)

详细的接口说明和使用文档请查阅 [Wiki](.wiki.md)。

- [认证服务 (AuthService)](.wiki.md#%E8%AE%A4%E8%AF%81%E6%9C%8D%E5%8A%A1-authservice)
- [文件服务 (FileService)](.wiki.md#%E6%96%87%E4%BB%B6%E6%9C%8D%E5%8A%A1-fileservice)
- [模板服务 (TemplateService)](.wiki.md#%E6%A8%A1%E6%9D%BF%E6%9C%8D%E5%8A%A1-templateservice)
- [签署流程服务 (SignFlowService)](.wiki.md#%E7%AD%BE%E7%BD%B2%E6%B5%81%E7%A8%8B%E6%9C%8D%E5%8A%A1-signflowservice)

🤝 贡献
----

[](#-贡献)

欢迎提交 Issue 或 Pull Request 来改进本项目。

📄 许可证
-----

[](#-许可证)

本项目基于 MIT 许可证开源。详情请参阅 [LICENSE](LICENSE) 文件。

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance87

Actively maintained with recent releases

Popularity4

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity22

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

5

Last Release

64d ago

PHP version history (2 changes)v0.1.0PHP &gt;=5.6

v0.1.1PHP &gt;=7.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/e7b237ece7b85bc0d10e934879e4c5f6c28e65052cfd0d697af82d27b9c5cd11?d=identicon)[luck-ming](/maintainers/luck-ming)

---

Tags

phpsdkrestAuthenticationcontracte-signatureesignbao

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/qingze-lab-esignbao-sdk-php-70/health.svg)

```
[![Health](https://phpackages.com/badges/qingze-lab-esignbao-sdk-php-70/health.svg)](https://phpackages.com/packages/qingze-lab-esignbao-sdk-php-70)
```

###  Alternatives

[xeroapi/xero-php-oauth2

Xero official PHP SDK for oAuth2 generated with OpenAPI spec 3

1054.3M14](/packages/xeroapi-xero-php-oauth2)[onesignal/onesignal-php-api

A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com

34170.2k2](/packages/onesignal-onesignal-php-api)[zenditplatform/zendit-php-sdk

PHP client for Zendit API

1204.3k](/packages/zenditplatform-zendit-php-sdk)[huaweicloud/huaweicloud-sdk-php

Huawei Cloud SDK for PHP

1829.2k2](/packages/huaweicloud-huaweicloud-sdk-php)[ory/hydra-client-php

Documentation for all of Ory Hydra's APIs.

1710.8k](/packages/ory-hydra-client-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
