dominservice / ceidg-api
PHP CEIDG API 库
Requires
- php: >=7.3
- ext-simplexml: ^7|^8
- ext-soap: ^7|^8
Requires (Dev)
- php-coveralls/php-coveralls: 2.1.x-dev
- phpunit/php-code-coverage: ^7.0@dev
- phpunit/phpcov: ^6.0@dev
- phpunit/phpunit: ^8.4@dev
- vlucas/phpdotenv: ^3.4@dev
This package is auto-updated.
Last update: 2022-08-08 21:14:50 UTC
README
PHP CEIDG API 库
我们自豪地向您展示一个用于通过 SOAP 协议连接 CEIDG (波兰商业登记处) API 的 PHP 库。
我们的库能够将查询结果解析为格式良好的对象或对象数组,验证输入数据(如增值税号)。基于 SOLID、DRY 和 KISS 原则构建,它提供了一组全面的工具来与 CEIDG API 通信。
请参考官方 API 文档,可在 CEIDG 系统网站上找到 https://datastore.ceidg.gov.pl(您需要登录才能查看文档文件)。我们的库完全反映了他们的理念。
使用方法
安装
非常简单
composer require dominservice/ceidg-api
声明 API 客户端
要声明 API 客户端,创建一个新的客户端类,将授权令牌和(可选)沙盒标志作为参数传递
use Dominservice\CeidgApi; $authToken = 'secret'; // To connect with the production environment $ceidgProductionApi = new CeidgApi($authToken); // To connect with the sandbox environment $ceidgSandboxApi = new CeidgApi($authToken, true);
声明请求的函数
CEIDG API 提供了两个 SOAP 函数 - GetId 和 GetMigrationData201901。第一个只返回公司的唯一标识符,而第二个则返回公司的完整数据。
$getId = $ceidgProductionApi->getId(); $getMigrationData = $ceidgProductionApi->getMigrationData(); // or $getMigrationData = $ceidgProductionApi->getMigrationData201901();
使用简单责任链模式设置查询参数
我们已经实现了一种简单的责任链模式,可以轻松设置查询参数。
// To get IDs of all companies modified or created on August 5th, 2019 $result = $getId->setMigrationDateFrom('2019-08-05')->setMigrationDateTo('2019-08-05')->send(); // To get IDs of all companies having postcode '02-662' $result = $getId->setPostcode('02-662')->send();
响应解析
您可以要求即时解析结果。根据检索到的条目数量,您将收到单个对象或它们的数组。 send()
方法有一个 $parse
参数,默认设置为 true
。
解析响应的示例(简化版)如下
{ "IdentyfikatorWpisu": "ff83fff2fc2ab947f78fb6069f1767df", "DanePodstawowe": { "Imie": "Ryszard", "Nazwisko": "Petru", "NIP": "8991999655", "REGON": "147022306", "Firma": "Ryszard Petru Consulting" } }
单行代码
您可以在一行代码内完成所有上述操作
$result = (new CeidgApi($authToken))->getId()->setMigrationDateFrom('2019-08-05')->setMigrationDateTo('2019-08-05')->send();
可用参数
可用的查询参数与官方 API 文档中描述的参数一致。可以使用 'setUniqueId' 方法设置 'UniqueId' 参数,使用 'setNIP' 方法设置 'NIP' 参数等。
从查询中删除参数
要从查询参数数组中删除一个参数,您可以调用一个只有一个参数为 'null' 的方法,如 'SetUniqueId(null)'。首字母大写的名称和方法名称首字母不大写之间没有区别。
GetMigrationData
参数 | 查询函数 | 设置方法 | 类型 | 是否有验证器? |
---|---|---|---|---|
日期到 | 获取Id,获取迁移数据 | 设置日期到 | 字符串 ('Y-m-d') | 尚未 |
日期从 | 获取Id,获取迁移数据 | 设置日期从 | 字符串 ('Y-m-d') | 尚未 |
迁移日期到 | 获取Id,获取迁移数据 | 设置迁移日期到 | 字符串 ('Y-m-d') | 尚未 |
迁移日期从 | 获取Id,获取迁移数据 | 设置迁移日期从 | 字符串 ('Y-m-d') | 尚未 |
唯一标识符 | 获取迁移数据 | 设置唯一标识符 | 字符串数组 | 尚未 |
NIP | 获取迁移数据 | 设置NIP | 字符串数组 | 是 |
REGON | 获取迁移数据 | 设置REGON | 字符串数组 | 是 |
NIP_SC | 获取迁移数据 | 设置NIP_SC | 字符串数组 | 是 |
REGON_SC | 获取迁移数据 | 设置REGON_SC | 字符串数组 | 是 |
名称 | 获取迁移数据 | 设置名称 | 字符串数组 | 否 |
省份 | 获取迁移数据 | 设置省份 | 字符串数组 | 否 |
县 | 获取迁移数据 | 设置县 | 字符串数组 | 否 |
乡 | 获取迁移数据 | 设置乡 | 字符串数组 | 否 |
市 | 获取迁移数据 | 设置市 | 字符串数组 | 否 |
街道 | 获取迁移数据 | 设置街道 | 字符串数组 | 否 |
邮政编码 | 获取迁移数据 | 设置邮政编码 | 字符串数组 | 是 |
PKD | 获取迁移数据 | 设置PKD | 字符串数组 | 是 |
状态 | 获取迁移数据 | 设置状态 | 整数数组,范围在[1,2,3,4,9]内 | 是 |
当发送SOAP请求封装时,所有之前设置的参数都会被清除。