karim88 / docusign
tjphippen/docusign 的克隆版,包含更新和一些错误修复
Requires
- php: >=5.6.0
- guzzlehttp/guzzle: ^6.2
- illuminate/support: ~5.1
- laravel/framework: 5.*
Requires (Dev)
- phpunit/phpunit: ^6.1
This package is auto-updated.
Last update: 2024-09-24 03:38:58 UTC
README
带有更新和一些错误修复的 tjphippen/docusign 的克隆版
安装
将以下内容添加到您的 composer.json
文件中。
"karim88/docusign": "dev-master"
然后运行 composer install
或 composer update
以下载和安装。
然后您需要在 config/app.php
文件中的 providers
内注册服务提供者。
'providers' => array( Karim88\Docusign\DocusignServiceProvider::class, )
DocuSign 包含一个自动注册的门面,它提供了管理信封、收件人等静态语法。如果您有问题,只需将其手动添加到您的别名单组中
'aliases' => array( 'Docusign' => Karim88\Docusign\Facades\Docusign::class, )
使用 artisan 创建配置文件
$ php artisan vendor:publish
配置文件将被发布到 config/docusign.php
,该文件必须完成以连接到 API。
/** * The DocuSign Integrator's Key */ 'integrator_key' => '', /** * The Docusign Account Email */ 'email' => '', /** * The Docusign Account Password */ 'password' => '', ...
或者通过将 config/docusign.php
中的 dynamic
值更改为 '1' 来动态设置账户信息
'dynamic' => '1',
并在会话中设置账户信息
session(['integrator_key' => $your_integrator_key] session(['account_id' => $your_account_id])) session(['email' => $your_email]) session(['password' => $your_password])
示例
获取用户列表
Docusign::getUsers();
获取单个用户
Docusign::getUser($userId); Docusign::getUser($userId, true); // When true, the full list of user information is returned for the user.
获取文件夹
Docusign::getFolders(); // By default only the list of template folders are returned Docusign::getFolders(true); // Will return normal folders plus template folders
获取文件夹信封列表
Docusign::getFolderEnvelopes($folderId);
查看:[此方法的全部参数](https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST%20API%20References/Get%20Folder%20Envelope%20List.htm%3FTocPath%3DREST%2520API%2520References%7C_____97)
Docusign::getFolderEnvelopes($folderId, array( 'start_position' => 1, // Integer 'from_date' => '', // date/Time 'to_date' => '', // date/Time 'search_text' => '', // String 'status' => 'created', // Status 'owner_name' => '', // username 'owner_email' => '', // email );
获取模板列表
Docusign::getTemplates();
或使用[附加参数](https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST%20API%20References/Get%20List%20of%20Templates.htm%3FTocPath%3DREST%2520API%2520References%7C_____115)
Docusign::getTemplates(array( 'folder' => 1, // String (folder name or folder ID) 'folder_ids' => '', // Comma separated list of folder ID GUIDs. 'include' => '', // Comma separated list of additional template attributes ... );
获取模板
Docusign::getTemplate($templateId);
获取多个信封
$envelopes = array('49d91fa5-1259-443f-85fc-708379fd7bbe', '8b2d44a-41dc-4698-9233-4be0678c345c'); Docusign::getEnvelopes($envelopes);
获取单个信封
Docusign::getEnvelope($envelopeId);
获取信封收件人
Docusign::getEnvelopeRecipients($envelopeId);
要包括标签,只需将第二个参数设置为 true
Docusign::getEnvelopeRecipients($envelopeId, true);
获取信封自定义字段
Docusign::getEnvelopeCustomFields($envelopeId);
获取收件人的标签信息
查看:[标签参数](https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST%20API%20References/Tab%20Parameters.htm%3FTocPath%3DREST%2520API%2520References%7CSend%2520an%2520Envelope%2520or%2520Create%2520a%2520Draft%2520Envelope%7CTab%2520Parameters%7C_____0)
Docusign::getEnvelopeTabs($envelopeId, $recipientId);
修改收件人的标签
这个有点复杂。需要 tabId
,并且必须在数组集中。查看:[标签类型和参数](https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST%20API%20References/Tab%20Parameters.htm)
$tabs = ['textTabs' => [['tabId' => '270269f6-4a84-4ff9-86db-2a572eb73d99', 'value' => '123 Fake Street']]]; Docusign::updateRecipientTabs($envelopeId, $recipientId, $tabs);
从模板创建/发送信封
查看:[发送信封或创建草稿信封](https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST%20API%20References/Send%20an%20Envelope.htm%3FTocPath%3DREST%2520API%2520References%7CSend%2520an%2520Envelope%2520or%2520Create%2520a%2520Draft%2520Envelope%7C_____0) 以获取完整的参数/选项列表。
Docusign::createEnvelope(array( 'templateId' => 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', // Template ID 'emailSubject' => 'Demo Envelope Subject', // Subject of email sent to all recipients 'status' => 'created', // created = draft ('sent' will send the envelope!) 'templateRoles' => array( ['name' => 'John Snow', 'email' => 'john@snow.com', 'roleName' => 'Contractor', 'clientUserId' => 1], ['name' => 'Jane Someone', 'email' => 'demo@demo.com', 'roleName' => 'Customer']), ));
修改草稿信封的电子邮件主题和消息
可以使用 updateEnvelope
方法以多种方式使用。
Docusign::updateEnvelope($envelopeId, array( 'emailSubject' => 'New Email Subject', // Required 'emailBlurb' => 'Email message body text' ));
发布收件人视图
返回嵌入的签名 URL。[参考](https://www.docusign.com/p/RESTAPIGuide/RESTAPIGuide.htm#REST%20API%20References/Post%20Recipient%20View.htm)
Docusign::createRecipientView($envelopeId, array( 'userName' => 'John Snow', 'email' => 'john@snow.com', 'AuthenticationMethod' => 'email', 'clientUserId' => 1, // Must create envelope with this ID 'returnUrl' => 'http://your-site.tdl/returningUrl' ));
发送草稿信封
Docusign::updateEnvelope($envelopeId, ['status' => 'sent']);
下载信封
要仅获取下载 URL,请设置 $download=false
,默认情况下,方法会下载文档。
Docusign::downloadDocuments($envelopeId, $download=true)
更新草稿信封中的收件人或纠正正在处理中的信封的收件人信息。
Docusign::updateRecipients($envelopeId, [ "signers" => [ [ 'recipientId' => '1', 'routingOrder' => '1', 'name' => 'John Snow', 'email' => 'john@snow.com', 'roleName' => 'Client' ] ] ]);
作废信封
Docusign::updateEnvelope($envelopeId, array( 'status' => 'voided', 'voidedReason' => 'Just Testing' ));
删除信封
Docusign::deleteEnvelope($envelopeId);
变更日志
v0.1.0
- 修复
调用未定义的方法 Illuminate/Foundation/Application::bindShared()
- 添加下载信封或获取它的 uri
- 添加更新信封收件人
- 动态设置账户信息