tylermenezes / legalesign-php
用于与Legalesign API交互的库。
0.10
2017-06-15 15:17 UTC
Requires
- guzzlehttp/guzzle: ^6.1
- nesbot/carbon: ^1.21
This package is not auto-updated.
Last update: 2024-09-18 17:50:44 UTC
README
基于PHP的Legalesign接口。
使用
使用Composer包含它
composer require tylermenezes/legalesign-php
设置您的凭据
您可以在您的用户页面底部查看您的API凭据。目前非沙箱模式使用需要付费计划,但您可以在沙箱中测试您的集成。(在沙箱模式下,您只能向您的个人资料页面中指定的五个电子邮件发送请求。)
您可以这样设置凭据
Legalesign\Api::credentials('ffffffffffffffffffffffffffff', '000000000000000000000000000000000000000000');
如果您使用Laravel,凭据将自动从存在的legalesign.php
配置文件中提取。此文件的格式应该是
return [ 'userid' => 'ffffffffffffffffffffffffffffff', 'secret' => '000000000000000000000000000000000000000000' ];
更改API基础URL
由于某些原因,某些账户无法使用https://api.legalesign.com/api/v1
。
您可以通过调用apiBase()
方法来更改基础API URL。
Legalesign\Api::apiBase('https://eu-api.legalesign.com/api/v1');
创建一个签署者
$me = new Legalesign\Signer; $me->firstName = 'Tyler'; $me->lastName = 'Menezes'; $me->email = 'tylermenezes@protonmail.ch';
创建一个签署请求
$document = Legalesign\Document::create() ->name('Waiver of Liability') ->group('mygroup') ->addSigner($me) ->sendWithTemplatePdf('mytemplate');
Document::create()
方法实际上返回一个Document\SigningRequest
对象,允许您配置您的签署请求。如上所示,您应通过链式调用方法与要设置的属性名称来配置属性。
以下属性是支持的
groupId
(必需):文档应属于的组的ID。如果您不确定这个ID是什么,最简单的方法是在页眉中悬停在公司名称上。组ID将在URL的最后部分。name
(必需):公司名称。userId
:要发送文档的用户的ID。您可以将此留空为默认值。appendLegalesignValidationInfo
(默认true):如果为true,将在文档中添加包含审计日志的页面。autoArchive
(默认true):在完成后自动存档文档。这主要只是从仪表板中隐藏它。signaturesOnAllPages
(默认false):如果为true,在所有页面上显示签名。否则,仅在最后一页显示。certify
(默认true):如果为true,Legalesign应验证PDF。这是推荐的。signInOrder
(默认true):如果为true,第二个签署者不能在第一个签署者签署之前签署,等等。签署顺序是您添加签署者的顺序。password
(默认null):如果设置,PDF将以设置的密码进行密码保护。storePassword
(默认false):如果设置了密码,这将影响Legalesign是否保存密码。footer
、footerHeight
、header
、headerHeight
(所有默认null):如果设置,这些将控制页脚和页眉。pdfText
(默认[]):如果设置,PDF发送者字段将根据这些值预先填充。signerText
(默认[]):如果设置,PDF签署者字段将根据这些值预先填充。
您还可以使用addSigner
和addCc
方法添加签署者和cc'ers(将在所有电子邮件中cc的人)。
要实际发送文档,请使用以下三种方法之一结束链式调用
sendWithHtml($html)
:指定要发送的HTML文档,并发送它。sendWithTemplateHtml($template)
:指定用于文档的HTML模板,并发送它。sendWithTemplatePdf($template)
:指定用于文档的PDF模板,并发送。
这些方法都返回一个Document
,您通常应该保存其id
。
获取签署者字段
$document = Legalesign\Document::find($documentId); foreach ($document->signers as $signer) { $fields = $signer->getSignerFields(); }
getSignerFields()
方法返回一个包含所有签署者字段的关联数组。请参考下方的示例格式。
[ 'key' => 'value' ]
检索现有的签署请求,并尝试下载已执行协议。
$document = Legalesign\Document::find('my-document-id'); if ($document->downloadReady) { file_put_contents('/tmp/test.pdf', $document->getPdf()); } else { echo 'Document is not yet ready!'; }