vitorccs/procob-api-php

Procob S/A API 的 PHP SDK

v1.1.0 2021-10-08 15:12 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

参数

如何使用

  1. 参数可以通过环境变量定义
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
]);
  1. 然后,只需使用任何可用的方法
$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