vitorccs / procob-api-php
Procob S/A API 的 PHP SDK
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-09-21 05:08:27 UTC
README
用于查询 Procob S.A. RESTful API 的 PHP SDK
描述
用于查询 Procob S.A. RESTful API 的 PHP SDK Procob S/A API 文档
安装
通过 Composer
composer require vitorccs/procob-api-php
参数
如何使用
- 参数可以通过环境变量定义
putenv('PROCOB_API_USER=sandbox@procob.com'); putenv('PROCOB_API_PWD=TesteApi'); putenv('PROCOB_API_TIMEOUT=30');
或者通过 array
传递
\Procob\Http\Procob::setParams([ 'PROCOB_API_USER' => 'sandbox@procob.com', 'PROCOB_API_PWD' => 'TesteApi', 'PROCOB_API_TIMEOUT' => 30 ]);
- 然后,只需使用任何可用的方法
$consulta = \Procob\Person::getByCpfCnpj($cpfCnpj);
您可以使用 Procob 的测试用户名和密码(sandbox@procob.com | TesteApi),但是 API 返回的数据都是虚构的
可用方法
// 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)
数据标准化
- CPF 和 CNPJ 的数据可以是数字或文本格式,带或不带掩码。
- CPF 和 CNPJ 的数字总是通过 SDK 自身的数据验证,从而避免向 API 发送请求。
- SDK 会自动识别 Procob API 未能成功(代码不是 "000")的情况,并在这类情况下抛出一个 "异常"(Exception),并带有错误信息。
实现示例
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(); }
测试
如果您想贡献,请实现 PHPUnit 的单元测试。
执行
composer test