Search by

ged / api-laravel

Welinaldo Lopes Nascimento

Laravel Package para integracao com GED API

2.3.0 2026-10-13 23:35 UTC

This package is not auto-updated.

Last update: 2026-10-24 16:51:26 UTC


README

Laravel Package para integracao com GED API.

Instalacao

composer require ged/api-laravel
php artisan vendor:publish --tag=ged-api-config

Configuracao (.env)

GED_API_KEY=sua-chave-api
GED_API_URL=https://ged.api.br/api

Assinatura Digital

use Ged\ApiLaravel\Facades\GedApi;

// Assinar PDF com certificado A1
$result = GedApi::sign('/caminho/documento.pdf', '/caminho/certificado.pfx', 'senha');

// PDF assinado
file_put_contents('assinado.pdf', base64_decode($result['signed_pdf_base64']));

// Ou via download URL
// $result['download_url']

Com assinatura visual

$result = GedApi::sign('/caminho/doc.pdf', '/caminho/cert.pfx', 'senha', [
    'rect' => [100, 100, 300, 150],
    'page' => 1,
    'signer_name' => 'Joao da Silva',
]);

A partir de base64

$result = GedApi::signFromBase64($pdfBase64, $pfxContent, 'senha');

Assinatura em duas fases (certificado A3 / token)

Quando a chave privada está em um token A3 na máquina do usuário (extensão GED Assinador), o servidor inicia a assinatura, devolve o hash ao navegador, que o assina no token e envia de volta.

// 1) Iniciar
$start = GedApi::startSignature('/caminho/doc.pdf', $signerCertDerBase64, [
    'rect' => [100, 700, 300, 750], 'page' => 0, 'signer_name' => 'João da Silva',
]);
// Guardar $start['token'] no servidor, devolver $start['hash'] ao navegador

// 2) Browser assina o hash no token

// 3) Concluir
$result = GedApi::completeSignature($start['token'], $signatureHex);

Certificados

// Emitir certificado
$result = GedApi::issueCertificate('Joao da Silva', '123.456.789-00', 'joao@email.com', 'senha123');

// Listar
$result = GedApi::listCertificates(page: 1, status: 'active');

// Revogar
$result = GedApi::revokeCertificate(serial: '12345', reason: 'Comprometido');

// Verificar validade
$result = GedApi::verifyCertificate(serial: '12345');

Requisitos

  • PHP >= 8.0
  • Laravel >= 9.0
  • ext-openssl

Suporte