sigrun/ceidg-api

1.0.3 2020-03-08 02:36 UTC

This package is auto-updated.

Last update: 2024-09-08 13:23:50 UTC


README

Build Status Coverage Status StyleCI Maintainability

PHP CEIDG API 库

我们自豪地推出一个PHP库,用于通过SOAP协议连接到CEIDG(波兰企业注册)API。

我们的库能够将查询结果解析成格式良好的对象或对象数组,并验证输入数据(如增值税号)。基于SOLID、DRY和KISS原则构建,它为与CEIDG API通信提供了一个全面的工具。

请参考CEIDG系统网站上的官方API文档,网址为https://datastore.ceidg.gov.pl(您需要登录才能查看文档文件)。我们的库完全反映了他们的理念。

使用方法

安装

简单到不能再简单

composer require sigrun/ceidg-api

声明API客户端

要声明API客户端,创建一个新的客户端类,将授权令牌和(可选)沙箱标志作为参数传递

use CeidgApi\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。第一个只返回公司的唯一ID,而第二个则返回公司的全部数据。

$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

当发送SOAP请求包时,所有先前设置的参数都会被清除。