picoss / yousign-bundle
Symfony2 YouSign 扩展包
2.2
2019-02-08 14:06 UTC
Requires
- php: >=5.5.9
- doctrine/collections: ~1.2
- psr/log: ^1.0
- symfony/framework-bundle: ~2.8 || ^3.0 || ^4.0
- symfony/options-resolver: ~2.8 || ^3.0 || ^4.0
- yousign/yousign-api-client: ^2.0
Requires (Dev)
- phpunit/phpunit: ^5.7
README
本扩展包为 Symfony2 项目提供了 Yousign 的集成。
许可协议: MIT
安装
步骤 1: 下载扩展包
打开命令行界面,进入您的项目目录,并执行以下命令以下载此扩展包的最新稳定版本
$ composer require picoss/yousign-bundle
此命令需要您全局安装了 Composer,具体请参考 Composer 文档的 安装章节。
步骤 2: 启用扩展包
当使用 Flex 时,此步骤会自动处理。
然后,在您的项目的 app/AppKernel.php
文件中添加以下行以启用扩展包
// app/AppKernel.php class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new Picoss\YousignBundle\PicossYousignBundle(), ); // ... } // ... }
步骤 3: 配置扩展包
# config/packages/picoss_yousign.yml picoss_yousign: env: demo #demo or prod api_key: yousign_api_key username: yousign_username password: yousign_password
注意:如果您需要向 soap 客户端传递一些选项,请添加 soap_options 配置
# config/packages/picoss_yousign.yml picoss_yousign: env: demo #demo or prod api_key: yousign_api_key username: yousign_username password: yousign_password soap_options: trace: 1
查看 soap 客户端的 $options
参数以查看可用选项: https://php.ac.cn/manual/en/soapclient.soapclient.php
步骤 4: 使用方法
4.1: 测试 API 连接
以下示例展示了如何在控制器中测试与 Yousign API 的连接
<?php namespace App\Controller; use Picoss\YousignBundle\Yousign\YousignApi; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Response; class TestController extends Controller { /** * @Route("/test", name="test") */ public function index(YousignApi $api) { $auth = $api->authentication; $result = $auth->connect() ? 'Connected' : 'Enable to connect'; $response = new Response(); $response->setContent(sprintf('<html><body>%s</body></html>', $result)); return $response; } }
4.2: 创建签名请求
<?php namespace App\Controller; use Picoss\YousignBundle\Model\Cosigner; use Picoss\YousignBundle\Model\Demand; use Picoss\YousignBundle\Model\File; use Picoss\YousignBundle\Yousign\YousignApi; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\HttpFoundation\Response; class TestController extends Controller { /** * @Route("/test", name="test") */ public function index(YousignApi $api) { $signatureApi = $api->signature; $file = new File(); $file ->setName('My PDF Filename') ->setContent(file_get_contents('/path/to/the/file.pdf')) ; $cosigner = new Cosigner(); $cosigner ->setFirstName('John') ->setLastName('Doe') ->setMail('john.doe@email.com') ->setAuthenticationMode('mail'); $visibleOptions = array( 'visibleSignaturePage' => '5', 'isVisibleSignature' => true, 'visibleRectangleSignature' => '10,10,10,10', ); $demand = new Demand(); $demand ->addFile($file, $visibleOptions) ->addCosigner($cosigner) ; $signature = $signatureApi->initCosign($demand); $response = new Response(); $response->setContent(sprintf('<html><body>Signature demand id: %s</body></html>', $signature->getIdDemand())); return $response; } }
4.3: 可用方法
4.3.1: 身份验证 API
4.3.2: 签名 API
更多详细信息,请访问 Yousign API 文档