globalis/universign-service
Composer 安装命令:
composer require globalis/universign-service
包简介
PHP library for universign service
README 文档
README
Example
Scénario suivi
2 documents à signer :
- Template_1.pdf
- Template_2.pdf
2 signataires
Plan de signature, composé de 6 signatures :
- Signature Cachet serveur sur le 1 er document,
- Signature Cachet serveur sur le 2 ième document,
- Le 1 er signataire signe le 1 er document,
- Le 1 er signataire signe le 2 ième document,
- Le 2 ième signataire signe le 1 er document,
- Le 2 ième signataire signe le 2 ième document.
- Déclaration des signataires
<?php $signer1 = new \Globalis\Universign\Request\TransactionSigner(); $signer1 ->setFirstname('Jean') ->setLastname('Dupond') ->setPhoneNum('0999999999') ->setEmailAddress('jean.dupond@example.com') ->setSuccessURL('https://www.universign.eu/fr/sign/success/') ->setCancelURL('https://www.universign.eu/fr/sign/cancel/') ->setFailURL('https://www.universign.eu/fr/sign/failed/') ->setProfile('profil_vendeur'); $signer2 = new \Globalis\Universign\Request\TransactionSigner(); $signer2 ->setFirstname('Pierre') ->setLastname('Martin') ->setPhoneNum('0888888888') ->setEmailAddress('pierre.martin@example.com') ->setSuccessURL('https://www.universign.eu/fr/sign/success/') ->setCancelURL('https://www.universign.eu/fr/sign/cancel/') ->setFailURL('https://www.universign.eu/fr/sign/failed/') ->setProfile('profil_client'); $signers = [$signer1, $signer2];
- Déclaration des documents à signer
<?php // Signature fields $signatureField1 = new \Globalis\Universign\Request\DocSignatureField(); $signatureField1->setPage(1) ->setX(100) ->setY(200) ->setSignerIndex(0) ->setPatternName('default') ->setLabel("Sur l'ensemble du template 1"); $signatureField2 = new \Globalis\Universign\Request\DocSignatureField(); $signatureField2->setPage(1) ->setX(350) ->setY(200) ->setSignerIndex(1) ->setPatternName('default') ->setLabel("Sur l'ensemble du template 2"); $signatureField3 = new \Globalis\Universign\Request\DocSignatureField(); $signatureField3->setPage(1) ->setX(100) ->setY(200) ->setSignerIndex(0) ->setPatternName('patternVendeur'); $signatureField4 = new \Globalis\Universign\Request\DocSignatureField(); $signatureField4->setPage(1) ->setX(350) ->setY(200) ->setSignerIndex(1) ->setPatternName('patternClient'); $signatureFieldsDoc1 = [$signatureField1, $signatureField2]; $signatureFieldsDoc2 = [$signatureField3, $signatureField4]; // Documents $doc1 = new \Globalis\Universign\Request\TransactionDocument(); $doc1->setPath('doc/Template_2.pdf') ->setSignatureFields($signatureFieldsDoc1); $doc2 = new \Globalis\Universign\Request\TransactionDocument(); $docs2->setPath('doc/Template_2.pdf') ->setSignatureFields($signatureFieldsDoc2);
- Création de la requête et envoie de la requête
<?php $request = new \Globalis\Universign\Request\TransactionRequest(); $request->addDocument($doc1) ->addDocument($doc2) ->setSigners($signers) ->setHandwrittenSignatureMode( \Globalis\Universign\Request\TransactionRequest::HANDWRITTEN_SIGNATURE_MODE_DIGITAL ) ->setMustContactFirstSigner(false) ->setFinalDocRequesterSent(true) ->setChainingMode( \Globalis\Universign\Request\TransactionRequest::CHAINING_MODE_WEB ) ->setDescription("Demonstration de la signature Universign") ->setProfile("profile_demo") ->setCertificateTypes('simple') ->setLanguage('fr'); // Create XmlRpc Client $client = new \PhpXmlRpc\Client('https://url.to.universign/end_point/'); $client->setCredentials( 'UNIVERSIGN_USER', 'UNIVERSIGN_PASSWORD' ); $requester = new \Globalis\Universign\Requester($client); // Return a \Globalis\Universign\Response\TransactionResponse (with transaction url and id) $response = $req->requestTransaction($request); $signatureUrl = $response->url; $transactionId = $response->id;
- Récupération des documents
<?php $response = $requester->getTransaction($transactionId); if ($response->status === \Globalis\UniversitransactionIdgn\Response\TransactionInfo::STATUS_COMPLETED) { $docs = $requester->getDocuments($transactionId); foreach ($docs as $doc) { // Doc content $doc->content; // Doc file_name $doc->name; } }
globalis/universign-service 适用场景与选型建议
globalis/universign-service 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 128.93k 次下载、GitHub Stars 达 7, 最近一次更新时间为 2017 年 07 月 21 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 globalis/universign-service 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 globalis/universign-service 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 128.93k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 7
- 点击次数: 14
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-07-21