PHP code example of matfatjoe / bradesco-api

1. Go to this page and download the library: Download matfatjoe/bradesco-api 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/ */

    

matfatjoe / bradesco-api example snippets


$certPath = __DIR__ . '/certificate.pem';
$keyPath = __DIR__ . '/private.key';
$clientId = 'seu_client_id';
$clientSecret = 'seu_client_secret';

// Sandbox (Testes)
$baseUrl = 'https://openapisandbox.prebanco.com.br';

// Produção
$baseUrl = 'https://openapi.bradesco.com.br';

use Matfatjoe\BradescoBoleto\Auth\Authenticator;
use Matfatjoe\BradescoBoleto\Auth\TokenRequest;
use Matfatjoe\BradescoBoleto\HttpClientFactory;

$tokenRequest = new TokenRequest($certPath, $keyPath, $clientId, $clientSecret);
$httpClient = HttpClientFactory::create();
$authenticator = new Authenticator($httpClient, $baseUrl);
$token = $authenticator->getToken($tokenRequest);

use Matfatjoe\BradescoBoleto\Boleto\BoletoService;
use Matfatjoe\BradescoBoleto\Boleto\RegisterBoletoBradescoRequest;
use Matfatjoe\BradescoBoleto\Models\BoletoBradesco;

$boletoService = new BoletoService($httpClient, $token, $certPath, $keyPath, $baseUrl);

$dadosBoleto = [
    'ctitloCobrCdent' => 0,
    'registrarTitulo' => 1,
    'nroCpfCnpjBenef' => 68542653,
    'codUsuario' => 'APISERVIC',
    'filCpfCnpjBenef' => '1018',
    'tipoAcesso' => 2,
    'digCpfCnpjBenef' => 38,
    'cidtfdProdCobr' => 9,
    'cnegocCobr' => 111111111111111111,
    'tipoRegistro' => 1,
    'codigoBanco' => 237,
    'demisTitloCobr' => '17.12.2024',
    'ctitloCliCdent' => 'TESTEBIA',
    'dvctoTitloCobr' => '20.02.2025',
    'vnmnalTitloCobr' => 6000,
    'cindcdEconmMoeda' => 9,
    'cespceTitloCobr' => 2,
    'cindcdAceitSacdo' => 'N',
    'cindcdPgtoParcial' => 'N',
    'cformaEmisPplta' => '02',
    'fase' => '1',
    'cindcdCobrMisto' => 'S',
    'isacdoTitloCobr' => 'TESTE EMPRESA PGIT',
    'enroLogdrSacdo' => 'TESTE',
    'elogdrSacdoTitlo' => 'TESTE',
    'ecomplLogdrSacdo' => 'TESTE',
    'ccepSacdoTitlo' => 6332,
    'ebairoLogdrSacdo' => 'TESTE',
    'ccomplCepSacdo' => 130,
    'imunSacdoTitlo' => 'TESTE',
    'indCpfCnpjSacdo' => 1,
    'csglUfSacdo' => 'SP',
    'nroCpfCnpjSacdo' => 38453450803
];

$boleto = new BoletoBradesco($dadosBoleto);
$resultado = $boletoService->register(new RegisterBoletoBradescoRequest($boleto));

use Matfatjoe\BradescoBoleto\Query\QueryService;

$queryService = new QueryService($httpClient, $token, $certPath, $keyPath, $baseUrl);

$dadosConsulta = [
    'contaProduto' => 38610041000,
    'controleCpfCnpjUsuario' => 38,
    'cpfCnpjUsuario' => 68542653,
    'filialCnpjUsuario' => 1018,
    'idProduto' => 9,
    'nomePersonalizado' => '',
    'nossoNumero' => 970039324,
    'seqTitulo' => 0,
    'status' => 0
];

$boleto = $queryService->consultar($dadosConsulta);

$dadosAlteracao = [
    'codUsuario' => 'NETEMPR',
    'vnmnalTitloCobr' => 655,
    'chave' => [
        'cnpjCpf' => 38052160,
        'filial' => 57,
        'controle' => '01',
        'idprod' => 9,
        'ctaprod' => 39950075557,
        'nossoNumero' => '2570068544'
    ],
    'dadosTitulo' => [
        'seuNumero' => 'JFM ALT 1010',
        'dataVencimento' => 22122024,
        // ... outros campos
    ]
];

$resultado = $boletoService->alterar($dadosAlteracao, '20241122237093995007555702570068544');

$dadosBaixa = [
    'cpfCnpj' => [
        'cpfCnpj' => '1234567',
        'filial' => '1',
        'controle' => '99'
    ],
    'produto' => 9,
    'negociacao' => 28560222654,
    'nossoNumero' => '50150001462',
    'sequencia' => 0,
    'codigoBaixa' => 57
];

$resultado = $boletoService->baixar($dadosBaixa);

### Listar Boletos Liquidados


$filtros = [
    'cpfCnpj' => [
        'cpfCnpj' => 114383908,
        'filial' => 0,
        'controle' => 7
    ],
    'produto' => 9,
    'negociacao' => 28560230114,
    'dataPagamentoDe' => 14092017,
    'dataPagamentoAte' => 15092025
];

$boletos = $queryService->listar($filtros);

use Matfatjoe\BradescoBoleto\Location\LocationService;

$locationService = new LocationService($httpClient, $token, $certPath, $keyPath, $baseUrl);

$dadosReserva = [
    'codUsuario' => 'APISERVIC',
    'cnpjCpfBnf' => 68542653,
    'cflialCnpjCpfBnf' => 1018,
    'cctrlCnpjCpfBnf' => 38,
    'cidtfdProdCobr' => 9,
    'agenciaCobr' => 3861,
    'contaCobr' => 41000
];

$location = $locationService->reservar($dadosReserva);

use Matfatjoe\BradescoBoleto\Webhook\WebhookService;

$webhookService = new WebhookService($httpClient, $token, $certPath, $keyPath, $baseUrl);

$dadosWebhook = [
    'documento' => [
        'cpfCnpj' => '1234567',
        'filial' => '1',
        'controle' => '99'
    ],
    'versaoLayout' => '1',
    'tipoCadastro' => 'C',
    'utilizaWebhook' => 'S',
    'urlEnvio' => 'http://empresa.com.br',
    'tipoAviso' => '1'
];

$resultado = $webhookService->cadastrar($dadosWebhook);
bash
docker-compose run --rm php vendor/bin/phpunit --testdox