PHP code example of mpma / serpro-proid-consumer

1. Go to this page and download the library: Download mpma/serpro-proid-consumer library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

mpma / serpro-proid-consumer example snippets


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;

e($config->scope)
    ->getToken();

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

$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();

$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();

$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)
);

$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)
);