Search by

lopescte / djen-php

lopescte

Biblioteca para acesso às publicações do Diário de Justiça Eletrônico Nacional e Plataforma de Editais (DJEN).

Package info

github.com/lopescte/DJEN-PHP

pkg:composer/lopescte/djen-php

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-09-02 02:53 UTC

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.