marciodojr / autentique
Sdk para o autentique
Installs: 24 861
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 4
Forks: 4
Open Issues: 2
Requires
- php: >=7.0
- guzzlehttp/guzzle: ^6.3 || ^7.2
Requires (Dev)
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^7.1
This package is auto-updated.
Last update: 2025-02-20 00:52:06 UTC
README
SDK em php para assinatura digital de documentos utilizando o Autentique.
Observação
Essa SDK foi construída devido a necessidade de integração de um projeto de terceiro com o Autentique. Foi publicada com a ideia de que possa ser útil para outras pessoas. Este repositório (e, consequentemente, seu dono) não possuem qualquer vínculo com o Autentique.
Como instalar
composer require marciodojr/autentique
Como usar
use Mdojr\Autentique\Autentique; use Mdojr\Autentique\Endpoint; use GuzzleHttp\Client; $client = new Client([ 'base_uri' => Endpoint::PRODUCTION, 'headers' => [ 'X-Autntiq-Api' => $productionToken ] ]); $autentique = new Autentique($client); // Manipulação de conta $acc = $autentique->account(); // Manipulação de Documentos $doc = $autentique->document(); // Manipulação de Assinaturas $sign = $autentique->signature(); // Manipulação de Pastas $folder = $autentique->folder();
Conta
Informações de conta:
$result = $acc->info();
Documento
Listar todos os documentos que não estão em uma pasta:
$page = 1; $count = 60; $s = ''; // opcional $result = $doc->listNotInFolder($page, $count, $s);
Resgata informações sobre documento específico
$uuid = '9ab23456325c40c2a5023051cf4bbf0e' // uuid do documento $result = $doc->retrieve($uuid);
Lista apenas documentos recebidos que não estão em numa pasta
$page = 1; $count = 60; $s = ''; // opcional $doc->listReceivedNotInFolder($page, $count, $s);
Lista apenas documentos enviados
$page = 1; $count = 60; $s = ''; // opcional $doc->listOnlySent($page, $count, $s);
Criar um novo documento
$nome = 'Contrato de aluguel'; $partes = [ [ 'email' => 'umemail@gmail.com', 'funcao' => 'assinar' ] ]; $arquivo = fopen('meu_arquivo.txt', 'r'); $rejeitavel = false; $mensagem = 'Mensagem qualquer'; // opcional $lembreteAssinatura = false; // opcional $lembreteVencimento = true; // opcional $frequencia = 'semanal'; // ou 'diario' opcional $diasVencimento = 7; // opcional $dataVencimento = '2018-09-10'; // opcional $qrCode = 'B'; // opctional $doc->create( $nome, $partes, $arquivo, $rejeitavel, $mensagem, $lembreteAssinatura, $lembreteVencimento, $frequencia, $diasVencimento, $dataVencimento, $qrCode );
Reenviar email de assinatura para os signatários que não assinaram/rejeitaram
$uuid = '9ab23456325c40c2a5023051cf4bbf0e'; // uuid do documento $doc->resendNotSignedOrRejected($uuid);
Remover documento
$uuid = '9ab23456325c40c2a5023051cf4bbf0e'; // uuid do documento $result = $doc->deleteDocument($uuid);
Assinatura
Resgatar informações sobre assinatura
$token = 'bf0e456325c40c2a5023051cf4'; $result = $sign->retrieve($token);
Signatário aceitar o documento
$token = 'bf0e456325c40c2a5023051cf4'; $result = $sign->accept($token);
Signatário rejeitar o documento (se po)
$token = 'bf0e456325c40c2a5023051cf4'; $motivo = 'Não estou de acordo com os termos'; $result = $sign->reject($token, $motivo);
Pasta
Listar pasta
$s = ''; // opcional $result = $folder->list($s);
Resgatar informações da pasta
$uuid = '456325c40c2a5023051cf456325c40'; $result = $folder->retrieve($uuid);
Listar documentos da pasta
$uuid = '456325c40c2a5023051cf456325c40'; $s = '' // opcional $result = $folder->listDocuments($uuid, $s);
Criar pasta
$nome = 'Pasta XYZ'; $result = $folder->create($nome);
Mover documentos para pasta
$folderUuid = '456325c40c2a5023051cf456325c40'; $docSignUuids = [ '456325c40c2a5023051cf56656325c40', '456325c40c2a502345451cf456325c40', '456325c40c2a502305ffsdf456325c40' ]; // token de assinaturas de documentos $result = $folder->moveDocumentsTo($folderUuid, $docSignUuids);
Atualizar informações da pasta
$uuid = '456325c40c2a5023051cf456325c40'; $nome = 'Outro nome'; $result = $folder->update($uuid, $nome);
Remover pasta (arquivos são movidos para "Todos")
$uuid = '456325c40c2a5023051cf456325c40'; $result = $folder->deleteFolder($uuid);
Para mais informações sobre parâmetros consulte a documentação da api
https://autentique.docs.apiary.io
Como testar
Por padrão todas as requisições são simuladas:
composer test
Caso queira testar contra o ambiente de sandbox:
export AUTENTIQUE_TOKEN=sandbox_token
export AUTENTIQUE_ENDPOINT=endpoint_url
composer test
Licença
MIT
TODO
- Testes para erros 4xx de pastas e assinaturas.
- Tratamento de erros de falha de conexão (5xx).