Skip to content

Latest commit

 

History

History
107 lines (74 loc) · 2.51 KB

README.md

File metadata and controls

107 lines (74 loc) · 2.51 KB

PHP BNC

Abstração da API da BNC em PHP

Objetivo Instalação Configuração Exemplos

Em Construção...

Objetivo

Tornar mais flexível a integração da API da BNC em diferentes projetos.

Instalação

Instale usando o comando:

composer require mathiconical/php-bnc

Configuração

Para incluir no projeto e usar, basta fazer o seguinte:

<?php

require('vendor/autoload.php');

use Mathiconical\Client;

// alterne entre TEST e PROD.
$client = new Mathiconical\Client('TOKEN_API', 'TEST_or_PROD');

Headers customizados, se necessário headers customizados, basta informá-los na instanciação do objeto Client:

<?php

require('vendor/autoload.php');

// alterne entre TEST e PROD.
$client = new Mathiconical\Client(
    'TOKEN_API',
    'TEST_or_PROD',
    [
        'foo' => 'bar',
        'x-key' => 'x-value',
    ],
    'TEST_or_PROD'
);

Com isto feito, agora já é possível realizar requisições ao BNC, veja os exemplos a seguir.

Exemplos

Obter Processo GUID
$client = new \Mathiconical\Client('apikey');

// Os Endpoints contidos na pasta Endpoints possuem alguns metodos que por padrão recebem 2 parametros.
// O primeiro é um array associativo que vai ser convertido em parametros para a uri.
// Exemplo: ['id' => 2], irá resultar na string '?id=2'.
// O segundo é um array que será convertido em json e passado para o body da requisição.
$guid = $client->getProcessGuid()->get(['param' => 1312]);
Obter Status do Processo
$client = new \Mathiconical\Client('apikey');

$status = $client->getStatusProcess()->get(['processId' => $guid]);
Obter o Resultado do Processo
$client = new \Mathiconical\Client('apikey');

$status = $client->getProcessResult()->get(['processId' => $guid]);
Salvar o Processo
$client = new \Mathiconical\Client('apikey');

// Mapear os parametros do processo com o objeto BncProcesso, BncItem e BncLote
$bncProcesso = new \Mathiconical\BncProcesso();
// ...
// Converter os dados salvos para objeto
$obj = $bncProcesso->convertToObject();
// Caso o processo já exista no sistema da BNC, deve ser passado o GUID
$obj->idIntegProcess = $guid;

// O retorno será do guid interno do processo.
$processo_guid = $client->getProcessResult()->get([], (array)$obj);