定制 marciodojr/autentique 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

marciodojr/autentique

Composer 安装命令:

composer require marciodojr/autentique

包简介

Sdk para o autentique

README 文档

README

SDK em php para assinatura digital de documentos utilizando o Autentique.

Codacy Badge Build Status StyleCI Coverage Status

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).

marciodojr/autentique 适用场景与选型建议

marciodojr/autentique 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 34.06k 次下载、GitHub Stars 达 4, 最近一次更新时间为 2018 年 05 月 27 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 marciodojr/autentique 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 marciodojr/autentique 我们能提供哪些服务?
定制开发 / 二次开发

基于 marciodojr/autentique 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 34.06k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 8
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 2
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-05-27