PHPackages                             mpma/serpro-proid-consumer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. mpma/serpro-proid-consumer

ActiveLibrary[API Development](/categories/api)

mpma/serpro-proid-consumer
==========================

Consumer para API ProId SERPRO

2.0.0(5y ago)114[2 PRs](https://github.com/ministeriopublicoma/serpro-proid-consumer/pulls)GPL-3.0-onlyPHP

Since Apr 20Pushed 3y ago1 watchersCompare

[ Source](https://github.com/ministeriopublicoma/serpro-proid-consumer)[ Packagist](https://packagist.org/packages/mpma/serpro-proid-consumer)[ RSS](/packages/mpma-serpro-proid-consumer/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (1)Versions (6)Used By (0)

MPMA Consumer ProID SERPRO
==========================

[](#mpma-consumer-proid-serpro)

Esta biblioteca tem o objetivo de interfacear a API ProID do SERPRO para emissão, bloqueio, restrição, liberação e exclusão de documentos, bem como envio de mensagens para o App ProID.

Foi desenvolvida pela Coordenadoria de Modernização e Tecnologia da Informação do Ministério Público do Estado do Maranhão.

Instalação
----------

[](#instalação)

Para instalar a biblioteca no seu projeto, utilize o `composer`:

```
composer require mpma/serpro-proid-consumer:2.0.0

```

Dados Fornecidos pelo SERPRO
----------------------------

[](#dados-fornecidos-pelo-serpro)

Os dados abaixo serão fornecidos pelo SERPRO e são diferentes em homologação e produção. Entre parênteses está o nome do parâmetro que usamos nos exemplos a seguir.

- URL Base (`$config->baseUrl`)
- URL de Autenticação (`$config->authUrl`)
- Id da Aplicação (`$config->appId`)
- Chave da Aplicação (`$config->appKey`)
- Escopo de Autenticação (`$config->scope`)
- ID do Documento de Membro (`$config->docIdMembro`)
- ID do Documento de Servidor (`$config->docIdServidor`)

Exemplos de Uso
---------------

[](#exemplos-de-uso)

### Estrutura básica do script

[](#estrutura-básica-do-script)

```
use \MPMA\ProIDConsumer\Service\Consumer,
    \MPMA\ProIDConsumer\Model\VO\ImagemFuncional,
    \MPMA\ProIDConsumer\Model\VO\ImagensFuncionais,
    \MPMA\ProIDConsumer\Model\VO\DadosFuncionais,
    \MPMA\ProIDConsumer\Model\CarteiraFuncional,
    \MPMA\ProIDConsumer\Model\Autenticacao;

require 'vendor/autoload.php';

$authConsumer = new Consumer();
$dataConsumer = new Consumer();

$authConsumer
    ->setBaseUrl($config->authUrl)
    ->setDebug(true);

$autenticacao = new Autenticacao($authConsumer);
$token = $autenticacao
    ->setAppId($config->appId)
    ->setAppKey($config->appKey)
    ->setScope($config->scope)
    ->getToken();

$dataConsumer
    ->setBaseUrl($config->baseUrl)
    ->setDebug(true)
    ->setToken($token);
```

### Adicionar um novo documento

[](#adicionar-um-novo-documento)

```
$dadosFuncionais = new DadosFuncionais();
$dadosFuncionais
    ->setNumeroRegistro('0000001') // matrícula
    ->setNome('RICARDO AUGUSTO MARTINS COELHO')
    ->setCargo('ANALISTA MINISTERIAL')
    ->setEspecialidade('INFORMATICA')
    ->setRG('123456789-0')
    ->setEmissorRG('SSP')
    ->setUFRG('MA')
    ->setDtEmissaoRg('01/01/2001')
    ->setCPF('123.456.789-00')
    ->setDtNascimento('01/01/2000')
    ->setNaturalidade('SAO LUIS')
    ->setNomePai('NOME DO PAI')
    ->setNomeMae('NOME DA MAE')
    ->setUFNascimento('MA')
    ->setNacionalidade('BRASIL')
    ->setGrupoSanguineo('X')
    ->setFatorRH('+/-')
    ->setLocalExpedicao('SAO LUIS')
    ->setDataExpedicao('31/12/2020')
    ->setCodigo('123456');   // senha

$foto = new ImagemFuncional();
$foto->load('assets/foto.jpg');

$assinatura = new ImagemFuncional();
$assinatura->load('assets/assinatura.png');

$assinatura_pgj = new ImagemFuncional();
$assinatura_pgj->load('assets/assinatura_pgj.png');
$assinatura_pgj->chave = 'assinatura_presidente';  // chave SERPRO desta imagem

/* Este QRCode é gerado internamente e só é apresentado na cópia digital
 * da carteira impressa. Não confundir com o QRCode Vio, gerado pelo
 * ProID autormaticamente.
 */
$qrcode = new ImagemFuncional();
$qrcode->load('assets/qrcode.png');
$qrcode->chave = 'qrcode';    // chave SERPRO desta imagem

$imagensFuncionais = new ImagensFuncionais();
$imagensFuncionais
    ->setFoto($foto)
    ->setAssinatura($assinatura)
    ->setOutrasImagens([
        $assinatura_pgj,
        $qrcode
    ]);

$carteira = new CarteiraFuncional(
    $dataConsumer,
    $config->docIdServidor,  // ou $config->docIdMembro
    $dadosFuncionais,
    $imagensFuncionais
);

$carteira->add();
```

### Gerenciar um documento

[](#gerenciar-um-documento)

```
$dadosFuncionais = new DadosFuncionais();
$dadosFuncionais->setNumeroRegistro('0000001'); // matrícula

$carteira = new CarteiraFuncional(
    $dataConsumer,
    $config->docIdServidor,  // ou $config->docIdMembro
    $dadosFuncionais
);

/* Bloqueia o documento */
$carteira->block('Motivo do bloqueio');

/* Adiciona restrição a um documento */
$carteira->restrict('Descrição da restrição');

/* Ativa (remove bloqueios e/ou restrições) um documento */
$carteira->activate();

/* Exclui o documento */
$carteira->delete();
```

### Enviar uma mensagem direcionada

[](#enviar-uma-mensagem-direcionada)

```
$carteira = new CarteiraFuncional(
    $dataConsumer,
    $config->docIdServidor  // ou $config->docIdMembro
);

$carteira->sendMessage(
    'Teste de mensagem direcionada',  // título
    'Este é um teste de mensagem ProID',   // conteúdo
    [ '0000001' ], // matrículas dos destinatários
    [ 'https://www.mpma.mp.br' => 'Site do Ministério Público do Estado do Maranhão' ] // link (opcional)
);
```

O método `sendMessage` aceita dois outros parâmetros opcionais após o link para informar o início e o fim da validade da mensagem. Estes campos são do tipo *timestamp* com *timezone*, que pode ser gerado com `date('Y-m-d\TH:i:s-03:00')`.

### Enviar uma mensagem para todos

[](#enviar-uma-mensagem-para-todos)

```
$carteira = new CarteiraFuncional(
    $dataConsumer,
    $config->docIdServidor  // ou $config->docIdMembro
);

$carteira->sendBroadcast(
    'Teste de mensagem geral', // título
    'Este é um teste de broadcast ProID. Não é necessário informar destinatários.',  // conteúdo
    [ 'https://www.mpma.mp.br' => 'Site do Ministério Público do Estado do Maranhão' ] // link (opcional)
);
```

O método `sendBroadcast` aceita dois outros parâmetros opcionais após o link para informar o início e o fim da validade da mensagem. Estes campos são do tipo *timestamp* com *timezone*, que pode ser gerado com `date('Y-m-d\TH:i:s-03:00')`.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity60

Established project with proven stability

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~29 days

Total

3

Last Release

2151d ago

Major Versions

1.1.0 → 2.0.02020-06-18

### Community

Maintainers

![](https://www.gravatar.com/avatar/c282235688166e7e04ae8a559072c3fd908903c195efc06187f8b2c0985a774a?d=identicon)[ramcoelho](/maintainers/ramcoelho)

---

Tags

SERPROProID

### Embed Badge

![Health badge](/badges/mpma-serpro-proid-consumer/health.svg)

```
[![Health](https://phpackages.com/badges/mpma-serpro-proid-consumer/health.svg)](https://phpackages.com/packages/mpma-serpro-proid-consumer)
```

###  Alternatives

[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)[convertkit/convertkitapi

Kit PHP SDK for the Kit API

2167.1k1](/packages/convertkit-convertkitapi)[mapado/rest-client-sdk

Rest Client SDK for hydra API

1125.9k2](/packages/mapado-rest-client-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
