dominservice/ceidg-api

该软件包已被废弃,不再维护。未建议替代软件包。

PHP CEIDG API 库

2.0.1 2022-02-08 19:21 UTC

This package is auto-updated.

Last update: 2022-08-08 21:14:50 UTC


README

Latest Version Total Downloads Software License

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 函数 - GetIdGetMigrationData201901。第一个只返回公司的唯一标识符,而第二个则返回公司的完整数据。

$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请求封装时,所有之前设置的参数都会被清除。