memocashweb/d4sign-php

此包的最新版本(dev-master)没有可用的许可证信息。

安装: 2

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 6

类型:

dev-master 2023-09-21 11:30 UTC

This package is not auto-updated.

Last update: 2024-09-20 14:09:57 UTC


README

文档D4Sign REST API

安装

通过composer,将以下项添加到您的composer.json中:(可能需要在json中创建新的标签,如repositories)

{
  "require": {
      "d4sign/d4sign-php": "dev-master"
  },
  "minimum-stability": "dev",
  "repositories": [
      {
          "type": "git",
          "url": "https://github.com/d4sign/d4sign-php"
      }
  ]
}

无依赖管理器

// inclua antes do código que utilizará o SDK
require_once(__DIR__ . '/vendor/autoload.php');

最小配置

PHP 5 >= 5.5.0

步骤

1 - 上传文档

2 - 注册webhook(POSTBack)

3 - 注册签署者

4 - 将文档发送给签署

5 - 使用EMBED D4Sign在您的网站上显示文档

文档

列出所有文档

此对象将返回您的账户中的所有文档。

// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/vendor/autoload.php');

use D4sign\Client;

try{
	$client = new Client();
	$client->setAccessToken("{TOKEN-USER}");

	$docs = $client->documents->find();

	//print_r($docs);
} catch (Exception $e) {
	echo $e->getMessage();
} 

列出特定文档

此对象将仅返回请求的文档。

// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/vendor/autoload.php');

use D4sign\Client;

try{
	$client = new Client();
	$client->setAccessToken("{TOKEN-USER}");

	$docs = $client->documents->find("{UUID-DOCUMENT}");

	//print_r($docs);
} catch (Exception $e) {
	echo $e->getMessage();
} 

列出保险箱中的所有文档

此对象将返回与指定保险箱关联的所有文档。

// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/vendor/autoload.php');

use D4sign\Client;

try{
	$client = new Client();
	$client->setAccessToken("{TOKEN-USER}");

	$docs = $client->documents->safe("{UUID-SAFE}");

	//print_r($docs);
} catch (Exception $e) {
	echo $e->getMessage();
} 

列出阶段的文档

此对象将返回在指定阶段的所有文档。

// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/vendor/autoload.php');

use D4sign\Client;

try{
	$client = new Client();
	$client->setAccessToken("{TOKEN-USER}");

	$docs = $client->documents->status("{ID-FASE}");

	//print_r($docs);
} catch (Exception $e) {
	echo $e->getMessage();
} 

ID 1 - 处理中 ID 2 - 等待签署者 ID 3 - 等待签署 ID 4 - 完成 ID 5 - 归档 ID 6 - 取消

上传文档

此对象将把您的文档上传到D4Sign的服务器。

上传后,文档将在我们的保险箱中被加密并带有序列号盖章。

处理完成后将生成预览。处理将在后台进行,即请求不会被阻塞。

所有文档都存储在加密保险箱中,即必须指定UUID-SAFE参数,并确定文档将存储在哪个保险箱中。

// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/vendor/autoload.php');

use D4sign\Client;

try{
	$client = new Client();
	$client->setAccessToken("{TOKEN-USER}");

	$path_file = '/pasta/arquivo.pdf';
	$id_doc = $client->documents->upload('{UUID-SAFE}', $path_file);

	//print_r($id_doc);
} catch (Exception $e) {
	echo $e->getMessage();
} 

注册签署者

此对象将注册文档的签署者,即哪些人需要签署此文档。

// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/vendor/autoload.php');

use D4sign\Client;

try{
	$client = new Client();
	$client->setAccessToken("{TOKEN-USER}");

	$signers = array(
		array("email" => "email1@dominio.com", "act" => '1', "foreign" => '0', "certificadoicpbr" => '0', "assinatura_presencial" => '0', "embed_methodauth" => 'email', "embed_smsnumber" => ''),
		array("email" => "email2@dominio.com", "act" => '1', "foreign" => '0', "certificadoicpbr" => '0',"assinatura_presencial" => '0', "embed_methodauth" => 'sms', "embed_smsnumber" => '+5511953020202')
	);

	$return = $client->documents->createList("{UUID-DOCUMENT}", $signers);

	//print_r($return);
} catch (Exception $e) {
	echo $e->getMessage();
} 

列出文档的签署者

此对象将返回文档的所有签署者。

// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/vendor/autoload.php');

use D4sign\Client;

try{
	$client = new Client();
	$client->setAccessToken("{TOKEN-USER}");

	$docs = $client->documents->listsignatures("{UUID-DOCUMENT}");

	//print_r($docs);
} catch (Exception $e) {
	echo $e->getMessage();
} 

发送文档供签署

此对象将发送文档供签署,即文档将进入'等待签署'阶段,从这个阶段开始,签署者可以签署文档。

// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/vendor/autoload.php');

use D4sign\Client;

try{
	$client = new Client();
	$client->setAccessToken("{TOKEN-USER}");

	$message = 'Prezados, segue o contrato eletrônico para assinatura.';
	$workflow = 0 //Todos podem assinar ao mesmo tempo;
	$skip_email = 1 //Não disparar email com link de assinatura (usando EMBED ou Assinatura Presencial);

	$doc = $client->documents->sendToSigner("{UUID-DOCUMENT}",$message, $skip_email, $workflow);

	//print_r($doc);
} catch (Exception $e) {
	echo $e->getMessage();
} 

取消文档

此对象将取消文档。

// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/vendor/autoload.php');

use D4sign\Client;

try{
	$client = new Client();
	$client->setAccessToken("{TOKEN-USER}");

	$docs = $client->documents->cancel("{UUID-DOCUMENT}");

	//print_r($docs);
} catch (Exception $e) {
	echo $e->getMessage();
} 

重新发送签署链接

此对象将重新发送签署链接给签署者。

// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/vendor/autoload.php');

use D4sign\Client;

try{
	$client = new Client();
	$client->setAccessToken("{TOKEN-USER}");

	$email = 'email@dominio.com';
	$return = $client->documents->resend('{UUID-DOCUMENT}', $email);

	//print_r($return);
} catch (Exception $e) {
	echo $e->getMessage();
} 

下载文档

此对象将提供下载文档的链接。

// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/vendor/autoload.php');

use D4sign\Client;

try{
	$client = new Client();
	$client->setAccessToken("{TOKEN-USER}");

	//Você poderá fazer download do ZIP ou apenas do PDF setando o último parametro.
	$url_final = $client->documents->getfileurl('{UUID-DOCUMENT}','zip');
	//print_r($url_final);

	$arquivo = file_get_contents($url_final->url);

	//CASO VOCÊ ESTEJA FAZENDO O DOWNLOAD APENAS DO PDF, NÃO ESQUEÇA DE ALTERAR O CONTENT-TYPE PARA application/pdf E O NOME DO ARQUIVO PARA .PDF
	header("Content-type: application/octet-stream");
	header("Content-Disposition: attachment; filename=\"".$url_final->name.".zip"."\"");
	echo $arquivo;
} catch (Exception $e) {
	echo $e->getMessage();
} 

WebHooks服务(POSTBack)

列出文档的webhook

此对象将返回文档中注册的webhook。

// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/vendor/autoload.php');

use D4sign\Client;

try{
	$client = new Client();
	$client->setAccessToken("{TOKEN-USER}");

	$webhook = $client->documents->webhooklist("{UUID-DOCUMENT}");

	//print_r($webhook);
} catch (Exception $e) {
	echo $e->getMessage();
} 

在文档中注册webhook

此对象将在文档中注册webhook。

// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/vendor/autoload.php');

use D4sign\Client;

try{
	$client = new Client();
	$client->setAccessToken("{TOKEN-USER}");

	$url = 'http://seudominio.com.br/post.php';
	$webhook = $client->documents->webhookadd("{UUID-DOCUMENT}",$url);

	//print_r($webhook);
} catch (Exception $e) {
	echo $e->getMessage();
} 

API完整文档

http://docapi.d4sign.com.br/

有问题?

通过电子邮件suporte@d4sign.com.br联系我们的开发人员