Documentação D4Sign REST API.
Via composer, encaixe os itens abaixo no seu composer.json: (Talvez seja necessário criar tags novas no json, como o repositories)
{
"require": {
"d4sign/d4sign-php": "dev-master"
},
"minimum-stability": "dev",
"repositories": [
{
"type": "git",
"url": "https://github.com/d4sign/d4sign-php"
}
]
}
Sem gerenciador de dependências:
// inclua antes do código que utilizará o SDK
require_once(__DIR__ . '/sdk/vendor/autoload.php');
PHP 5 >= 5.5.0
Este objeto retornará TODOS os documentos da sua conta.
// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/sdk/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();
}
Esse objeto retornará apenas o documento solicitado.
// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/sdk/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();
}
Esse objeto retornará todos os documentos que estiverem associados ao cofre informado.
// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/sdk/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();
}
Esse objeto retornará todos os documentos que estiverem na fase informada.
// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/sdk/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 - Processando ID 2 - Aguardando Signatários ID 3 - Aguardando Assinaturas ID 4 - Finalizado ID 5 - Arquivado ID 6 - Cancelado
Esse objeto realizará o UPLOAD do seu documento para os servidores da D4Sign.
Após o UPLOAD, o documento será criptografado em nossos cofres e carimbado com um número de série.
Após o processamento um preview será gerado. O processamento será realizado em background, ou seja, a requisição não ficará bloqueada.
Todos os documentos ficam armazenados em COFRES criptografados, ou seja, o parâmetro UUID-SAFE é obrigatório e determina em qual cofre o documento ficará armazenado.
// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/sdk/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();
}
Esse objeto realizará o cadastro dos signatários do documento, ou seja, quais pessoas precisam assinar esse documento.
// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/sdk/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();
}
Esse objeto retornará todos os signatários de um documento.
// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/sdk/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();
}
Esse objeto enviará o documento para assinatura, ou seja, o documento entrará na fase 'Aguardando assinaturas', onde, a partir dessa fase, os signatários poderão assinar os documentos.
// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/sdk/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();
}
Esse objeto irá cancelar o documento.
// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/sdk/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();
}
Esse objeto irá reenviar o link de assinatura para o signatário.
// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/sdk/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();
}
Esse objeto irá disponibilizar um link para download do documento.
// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/sdk/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();
}
Esse objeto irá retornar o webhook cadastrado no documento.
// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/sdk/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();
}
Esse objeto irá cadastrar o webhook no documento.
// inclua aqui o autoloader caso necessário
// require_once(__DIR__ . '/sdk/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();
}
Entre em contato com nossos desenvolvedores pelo e-mail suporte@d4sign.com.br