SDK Não oficial de integração á API do serviço D4Sign REST API.
Abra o arquivo composer.json
e insira a seguinte instrução
"require": {
"accordous/d4sign-laravel": "dev-main"
}
Via composer, execute o seguinte comando:
composer require accordous/d4sign-laravel
php artisan vendor:publish --tag=d4sign-config
Coloque dentro do seu .env as seguintes variáveis:
D4SIGN_ENV = homologacao
| producao
- homologação, utiliza o endpoint de demonstração - sem validade jurídica
- produção, utiliza o endpoint de produção - com validade jurídica.
D4SIGN_TOKEN_API = token
D4SIGN_CRYPT_KEY = crypt
Este objeto retornará TODOS os documentos da sua conta.
$docs = D4Sign::documents()->find();
Esse objeto retornará apenas o documento solicitado.
$docs = D4Sign::documents()->find("{UUID-DOCUMENT}");
Para simplificar a requisição foi pensado em instanciar uma classe
$docs = D4Sign::documents()->safe("{UUID-SAFE}");
Esse objeto retornará todos os documentos que estiverem associados ao cofre informado.
$docs = D4Sign::documents()->safe("{UUID-SAFE}");
Esse objeto retornará todos os documentos que estiverem na fase informada.
$docs = D4Sign::documents()->status("{ID-FASE}");
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.
$path_file = '/pasta/arquivo.pdf';
$id_doc = D4Sign::documents()->upload('{UUID-SAFE}', $path_file);
Esse objeto realizará o cadastro dos signatários do documento, ou seja, quais pessoas precisam assinar esse documento.
$signers = [
["email" => "[email protected]", "act" => '1', "foreign" => '0', "certificadoicpbr" => '0', "assinatura_presencial" => '0', "embed_methodauth" => 'email', "embed_smsnumber" => ''],
["email" => "[email protected]", "act" => '1', "foreign" => '0', "certificadoicpbr" => '0',"assinatura_presencial" => '0', "embed_methodauth" => 'sms', "embed_smsnumber" => '+5511953020202']
];
$return = D4Sign::documents()->createList("{UUID-DOCUMENT}", $signers);
Esse objeto retornará todos os signatários de um documento.
$docs = D4Sign::documents()->listSignatures("{UUID-DOCUMENT}");
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.
$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 = D4Sign::documents()->sendToSigner("{UUID-DOCUMENT}",$message, $skip_email, $workflow);
Esse objeto irá cancelar o documento.
$docs = D4Sign::documents()->cancel("{UUID-DOCUMENT}");
Esse objeto irá reenviar o link de assinatura para o signatário.
$email = '[email protected]';
$return = D4Sign::documents()->resend('{UUID-DOCUMENT}', $email);
Esse objeto irá disponibilizar um link para download do documento.
//Você poderá fazer download do ZIP ou apenas do PDF setando o último parametro.
$url_final = D4Sign::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;
Esse objeto irá retornar o webhook cadastrado no documento.
$webhook = D4Sign::documents()->webhookList("{UUID-DOCUMENT}");
Esse objeto irá cadastrar o webhook no documento.
$url = 'http://seudominio.com.br/post.php';
$webhook = D4Sign::documents()->webhookAdd("{UUID-DOCUMENT}",$url);