lopescte / djen-php
Biblioteca para acesso às publicações do Diário de Justiça Eletrônico Nacional e Plataforma de Editais (DJEN).
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.8
- symfony/yaml: ^5.4 || ^6.0 || ^7.0 || ^8.0
Requires (Dev)
- phpunit/phpunit: ^9.6
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-09-02 03:15:08 UTC
README
Biblioteca PHP, baseada em Guzzle 7, para acesso às publicações do Diário de Justiça Eletrônico Nacional e Plataforma de Editais (DJEN).
Instalação
composer require lopescte/djen-php
Uso
Não há credenciais: o pacote inclui somente os quatro endpoints públicos de consulta do contrato oficial.
<?php require 'vendor/autoload.php'; use Lopescte\DJEN\Configuration; use Lopescte\DJEN\DJENClient; $client = new DJENClient(new Configuration()); $response = $client->resources()->endpoint('consultarComunicacoes')->call([ 'query' => [ 'siglaTribunal' => 'TJBA', 'dataDisponibilizacaoInicio' => '2026-08-26', 'dataDisponibilizacaoFim' => '2026-08-26', 'itensPorPagina' => 100, ], ]); $dados = json_decode((string) $response->getBody(), true);
Operações disponíveis:
| operationId | Endpoint |
|---|---|
consultarComunicacoes |
GET /api/v1/comunicacao |
obterCertidao |
GET /api/v1/comunicacao/{hash}/certidao |
listarTribunais |
GET /api/v1/comunicacao/tribunal |
consultarCaderno |
GET /api/v1/caderno/{sigla_tribunal}/{data}/{meio} |
Exemplo de caderno com parâmetros de caminho:
$response = $client->resources()->endpoint('consultarCaderno')->call([ 'path' => [ 'sigla_tribunal' => 'TJBA', 'data' => '2026-08-26', 'meio' => 'D', // D = Diário; E = Edital ], ]);
Rate limit
Depois de cada resposta, o cliente lê x-ratelimit-limit e x-ratelimit-remaining.
Quando a cota chega a zero — ou a API responde 429 — a próxima chamada aguarda automaticamente
o Retry-After informado pela API ou, na ausência dele, 60 segundos, conforme orientação do Swagger.
$estado = $client->rateLimit(); $estado->limit(); // limite da janela $estado->remaining(); // chamadas restantes $estado->retryAfter(); // segundos até a próxima chamada permitida
Para não bloquear o processo, desative a espera automática. Nesse modo, a próxima chamada lança
Lopescte\DJEN\Exception\RateLimitException, cujo método retryAfter() informa a espera necessária:
$client = new DJENClient(new Configuration( waitForRateLimit: false, ));
O contrato oficial completo está embarcado em resources/djen.yml. O catálogo filtra somente as
operações GET públicas; chamadas com outros métodos são rejeitadas pelo cliente.
Licença
Consulte LICENSE.md.