An open API service indexing awesome lists of open source software.

https://github.com/mathiconical/php-bnc

Integração BNC
https://github.com/mathiconical/php-bnc

api bnc bnc-compras conceito guzzlehttp licitacao php

Last synced: over 1 year ago
JSON representation

Integração BNC

Awesome Lists containing this project

README

          

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
'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

```php
$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

```php
$client = new \Mathiconical\Client('apikey');

$status = $client->getStatusProcess()->get(['processId' => $guid]);
```

Obter o Resultado do Processo

```php
$client = new \Mathiconical\Client('apikey');

$status = $client->getProcessResult()->get(['processId' => $guid]);
```

Salvar o Processo

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