sj_royd / regon_api
v1.0.2
2020-04-10 16:51 UTC
Requires
- ext-json: *
- sj_royd/http_service: ^1.0
This package is auto-updated.
Last update: 2024-09-11 02:52:10 UTC
README
BIR1.1(REGON v1.1 网络数据库)API (https://wyszukiwarkaregon.stat.gov.pl/appBIR/index.aspx).
安装
可以通过Composer安装API客户端。
在你的composer.json文件中
{
"require": {
"sj_royd/regon_api": "~1.0"
}
}
或者使用命令行
composer require sj_royd/regon_api
基本用法
默认日期格式
默认数据日期格式为yyyy-mm-dd
。可以更改日期格式
<?php
require_once 'vendor/autoload.php';
use \SJRoyd\GUS\RegonApi\Date;
Date::setFormat('d.m.Y'); // format dd.mm.yyyy
登录
测试模式
<?php
require_once 'vendor/autoload.php';
use SJRoyd\GUS\RegonApi\Exception\KeyMissingException;
use SJRoyd\GUS\RegonApi\BIRService;
$userKey = null; // In the test mode any key is accepted
$api = new BIRService(true);
try {
$api->login($userKey);
} catch (KeyMissingException $e) {
}
生产模式
<?php
require_once 'vendor/autoload.php';
use SJRoyd\GUS\RegonApi\BIRService;
$userKey = 'my-unique-key'; // User key obtained from the GUS
$api = new BIRService();
$api->login($userKey);
搜索单位
<?php
use SJRoyd\GUS\RegonApi\Enum\SearchType;
use SJRoyd\GUS\RegonApi\Exception\InvalidSearchTypeException;
use SJRoyd\GUS\RegonApi\Exception\NotFoundException;
use SJRoyd\GUS\RegonApi\Exception\NumberMissingException;
use SJRoyd\GUS\RegonApi\Exception\TooManyNumbersException;
try {
$searchBy = SearchType::NIP;
$searchNumber = '5261040828'
$units = $api->search($searchBy, $searchNumber);
} catch (InvalidSearchTypeException $e) {
} catch (NotFoundException $e) {
} catch (NumberMissingException $e) {
} catch (TooManyNumbersException $e) {
}
搜索类型
SearchType::NIP
参数为字符串SearchType::NIPS
参数为数组字符串或以新行、空格、点、逗号或分号分隔的字符串SearchType::REGON
参数为字符串SearchType::REGONS
参数为数组字符串或字符串(...)SearchType::KRS
参数为字符串SearchType::KRSES
参数为数组字符串或字符串(...)SearchType::REGONS9
参数为数组字符串或字符串(...)SearchType::REGONS14
参数为数组字符串或字符串(...)
报告
<?php
use SJRoyd\GUS\RegonApi\Enum\ReportType;
use SJRoyd\GUS\RegonApi\Exception\CivilLawPartnershipException;
use SJRoyd\GUS\RegonApi\Exception\NotFoundException;
use SJRoyd\GUS\RegonApi\Exception\PkdException;
use SJRoyd\GUS\RegonApi\Exception\ReportException;
$regon = '';
$reportType = ReportType::PHYSIC_GENERAL;
try {
$api->getFullReport($regon, $reportType);
} catch (CivilLawPartnershipException $e) {
} catch (NotFoundException $e) {
} catch (PkdException $e) {
} catch (ReportException $e) {
}
报告类型列表
$unit 类型 | $unit silodId | 报告类型 | desc |
---|---|---|---|
F | 1/2/3 | ReportType::PHYSIC_GENERAL | 自然人的所有活动中共同的数据。 |
F | 1 | ReportType::PHYSIC_CEIDG | 在CEIDG注册的活动数据,包括该活动的地址。 |
F | 2 | ReportType::PHYSIC_AGRICULTURAL | 农业活动数据;包括农业业务地址。 |
F | 3 | ReportType::PHYSIC_OTHER | 除CEIDG和农业活动以外的活动数据(如法务、公证人、农业旅游)包括业务地址。 |
F | 4 | ReportType::PHYSIC_DELETED | 2014年11月11日之前从REGON删除的操作数据(即以前的IT系统)。 |
F | 1/2/3 | ReportType::PHYSIC_PKD | 自然人实体的PKD代码列表 |
F | 1/2/3 | ReportType::PHYSIC_LOCALS_LIST | 为自然人实体注册的本地单位(例如公司分支机构)列表 |
F | 1/2/3 | ReportType::PHYSIC_LOCAL (14位REGON) | 自然人实体本地单位的数据 |
F | 1/2/3 | ReportType::PHYSIC_LOCAL_PKD (14位REGON) | 自然人实体本地单位的PKD代码列表 |
P | ReportType::LAW | 法人数据;注意:关于法人实体的报告也包括非法人实体的民事合伙法。 | |
P | ReportType::LAW_PKD | 法人实体的PKD代码列表 | |
P | ReportType::LAW_LOCALS_LIST | 为法人注册的本地单位(例如公司分支机构)列表 | |
LP | ReportType::LAW_LOCAL (14位REGON) | 法人实体本地单位的数据 | |
LP | ReportType::LAW_LOCAL_PKD (14位REGON) | 法人实体本地单位的PKD代码列表 | |
P | ReportType::LAW_SC_COLLABORATORS | 民事合伙法(仅限于S.C.)的合伙人列表。注意:REGON自2012年起注册合伙人。(对于2012年之前成立且未更新的公司,REGON中无合伙人数据)。 |
注意:并非每个法律单位都是S.C.(民事合伙法)且此报告可能会引发CivilLawPartnershipException。
自动获取特定单位的相关报告
<?php
use SJRoyd\GUS\RegonApi\Exception\NotFoundException;
use SJRoyd\GUS\RegonApi\Exception\PkdException;
use SJRoyd\GUS\RegonApi\Exception\ReportException;
try {
foreach($units as $unit){
$unit->getReports();
}
} catch (NotFoundException $e) {
} catch (PkdException $e) {
} catch (ReportException $e) {
}
每个报告都将保存到单位属性中的reports属性。
$unit 类型 | $unit silosId | 报告 |
---|---|---|
F | 1 | 一般,ceidg,pkd,本地 |
F | 2 | 一般,农业,pkd,本地 |
F | 3 | 一般,其他,pkd,本地 |
F | 4 | 已删除 |
LF | 1/2/3 | 一般,pkd |
P | 一般,pkd,本地,合作者 | |
LP | 一般,pkd |
GetValue
<?php
use SJRoyd\GUS\RegonApi\Enum\Value;
$value = $api->getValue(Value::SERVICE_STATUS);
$value->getMessage();