vitorccs / procob-api-php
SDK PHP para a API da Procob S/A
v1.1.0
2021-10-08 15:12 UTC
Requires
- php: >=7.1
- ext-json: *
- guzzlehttp/guzzle: ^6.3.3|^7.0.1
Requires (Dev)
- php: >=7.1
- fakerphp/faker: ^1.9.1
- phpunit/phpunit: ^8.5
This package is not auto-updated.
Last update: 2024-11-02 05:41:32 UTC
README
SDK em PHP para consulta a API RESTful da Procob S.A.
Descrição
SDK em PHP para consulta a API RESTful da Procob S.A. Documentação da API da Procob S/A
Instalação
Via Composer
composer require vitorccs/procob-api-php
Parâmetros
Como usar
- Os parâmetros podem ser definidos por váriaveis de ambiente:
putenv('PROCOB_API_USER=sandbox@procob.com'); putenv('PROCOB_API_PWD=TesteApi'); putenv('PROCOB_API_TIMEOUT=30');
ou passados por array
:
\Procob\Http\Procob::setParams([ 'PROCOB_API_USER' => 'sandbox@procob.com', 'PROCOB_API_PWD' => 'TesteApi', 'PROCOB_API_TIMEOUT' => 30 ]);
- Em seguida, basta utilizar qualquer um dos métodos disponíveís:
$consulta = \Procob\Person::getByCpfCnpj($cpfCnpj);
Você poderá usar o usuário e senha de testes da Procob (sandbox@procob.com | TesteApi), porém, os dados retornados pela API são todos fictícios
Métodos disponíveis
// CPF/CNPJ Completo Procob\Person::getByCpfCnpj($cpfCnpj) // CPF/CNPJ pelo Nome Procob\Person::getByName($cpfCnpj, $params = []) // DDD + Telefone Procob\Person::getByPhone($ddd, $number) // Sintegra Procob\Person::getCpfCnpjStatus($cpfCnpj, $params = []) // Quadro Societário / Participação em Empresa(s) Procob\Person::getCompanyPartners($cnpj) // Vizinhos Procob\Person::getNeighbors($params) // CPF/CNPJ pelo E-mail Procob\Person::getByEmail($email) // Número do Benefício Procob\Person::getNationalInsuranceStatus($cpf) // Dados Gerais Procob\Person::getBasicData($cpfCnpj) // Perfil CNPJ Procob\Person::getCompanyProfile($cnpj)
Normalização de dados
- Os dados de CPF e CNPJ podem ser passados no formato número ou texto, com ou sem máscaras.
- Os números de CPF e CNPJ sempre passam por validação de dados da própria SDK, evitando com isso consumir uma requisição a API.
- A SDK reconhece automaticamente quando a API da Procob não teve sucesso (código diferente de "000") e nestes casos, lança uma "exceção" (Exception) com a mensagem de erro.
Exemplo de implementação
use Procob\Exceptions\ProcobApiException; use Procob\Exceptions\ProcobRequestException; error_reporting(E_ALL); ini_set('display_errors', 1); require __DIR__ . '/vendor/autoload.php'; putenv('PROCOB_API_TIMEOUT=30'); putenv('PROCOB_API_USER=sandbox@procob.com'); putenv('PROCOB_API_PWD=TesteApi'); try { $response = Procob\Person::getByCpfCnpj('06.116.543/0001-55'); print_r($response); } catch (ProcobApiException $e) { // erros retornados pela API Procob echo sprintf("%s (%s)", $e->getMessage(), $e->getErrorCode()); } catch (ProcobRequestException $e) { // erros de servidor (erros HTTP 4xx e 5xx) echo sprintf("%s (%s)", $e->getMessage(), $e->getErrorCode()); } catch (\Exception $e) { // demais erros echo $e->getMessage(); }
Testes
Caso queira contribuir, por favor, implementar testes de unidade em PHPUnit.
Para executar:
composer test