daadkracht-marketing-bv/dutch-chamber-of-commerce-api

用于与荷兰商会API (KVK) 交互的包


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

此包提供了一种简单的方式来与荷兰商会API (KVK) 交互。

要求

您需要从荷兰商会获取有效的API密钥。您可以在这里申请一个。

功能

  • 通过名称、地址、邮政编码、城市等搜索公司
  • 通过商会编号获取公司的基本信息
  • 通过商会编号获取公司的分支
  • 通过分支编号获取分支的详细信息
  • 请求可链式操作

安装

您可以通过Composer安装此包

composer require daadkracht-marketing-bv/dutch-chamber-of-commerce-api

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="dutch-chamber-of-commerce-api-config"

以下是发布配置文件的内容

return [
    'api_key' => env('DUTCH_CHAMBER_OF_COMMERCE_API_KEY'),
];

使用方法

搜索API

以下是如何启动基本搜索请求

$response = DutchChamberOfCommerceApi::searchRequest()
    ->place('Drachten')
    ->streetName('De Opgang')
    ->fetch();

可链式搜索方法包括

  • cocNumber(string $cocNumber) - 公司的商会编号
  • rsin(string $rsin) - 公司的RSIN
  • branchNumber(string $branchNumber) - 公司的分支编号
  • name(string $name) - 公司的名称
  • place(string $place) - 公司的位置
  • streetName(string $streetName) - 公司的街道名称
  • houseNumber(int $houseNumber) - 公司的房屋编号
  • houseLetter(string $houseLetter) - 公司的房屋字母
  • postalCode(string $postalCode) - 公司的邮政编码
  • place(string $place) - 公司的位置
  • poBoxNumber(int $poBoxNumber) - 公司的邮政信箱编号
  • type(array|string $type) - 公司的类型(例如,“总部”
  • includeInactiveRegistrations(bool $includeInactiveRegistrations) - 是否包括非活动登记

您还可以指定返回的结果数量和页面编号

$response = DutchChamberOfCommerceApi::searchRequest()
    ->place('Leeuwarden')
    ->streetName('Sophialaan')
    ->resultsPerPage(10)
    ->page(2)
    ->fetch();

fetch 方法将返回一个包含 results 集合的 SearchResponse 对象

results 集合中的项是 SearchResponseResultItem 对象,具有以下属性

  • cocNumber - 公司的商会编号
  • rsin - 公司的RSIN
  • branchNumber - 公司的分支编号
  • name - 公司的名称
  • addresses - 公司的地址(一个包含 DomesticAddress 和/或 ForeignAddress 对象的集合)。与通用的 Address 对象不同,它们有不同的属性。
  • type - 公司/分支的类型
  • active - 公司/分支是否活跃

分支API

以下是通过商会编号获取公司分支的方式

$response = DutchChamberOfCommerceApi::baseProfileBranchesRequest()
    ->cocNumber('12345678')
    ->fetch();

fetch 方法将返回一个 BaseProfileBranchesResponse 对象。

您可以通过以下方式查询此响应对象上的分支

$branches = $response->branches;

这将返回一个包含 Branch 对象的集合。

您可以使用例如

$branches = $response->branches->where('isMainBranch', true);

分支对象还允许您调用 createFullBranchProfileRequest 方法以获取分支的完整配置文件。(有关完整分支配置文件API的更多信息,请参见下文

这可以按以下方式链式操作

$fullBranchProfile = DutchChamberOfCommerceApi::baseProfileBranchesRequest()
    ->cocNumber('63546167')
    ->fetch()
    ->branches->firstWhere('isMainBranch', true)
    ->createFullBranchProfileRequest()
    ->fetch();

分支对象具有以下属性

  • branchNumber - 分支的分支编号
  • firstTradeName - 分支的第一个贸易名称
  • isMainBranch - 该分支是否是公司的主分支
  • isShieldedAddress - 分支的地址是否被屏蔽
  • isCommercialBranch - 分支是否是商业分支
  • fullAddress - 分支的完整地址

(完整) 分支资料 API

您可以通过以下方式通过分支编号获取分支的资料

$response = DutchChamberOfCommerceApi::branchProfileRequest()
    ->branchNumber('12345678')
    ->fetch();

如果您还想请求地理信息,您可以这样做

$response = DutchChamberOfCommerceApi::branchProfileRequest()
    ->branchNumber('12345678')
    ->withGeo(true)
    ->fetch();

fetch 方法将返回一个 BranchProfileResponse 对象。

分支资料响应有以下属性

  • branchNumber - 分支的分支编号
  • cocNumber - 公司的商会编号
  • rsin - 公司的RSIN
  • nonMailingIndicator - 公司的非邮寄指标
  • formalDateOfRecord - 公司的正式记录日期(记录更改时的日期)
  • materialRegistration - 公司的材料登记
  • statutoryName - 公司的法定名称
  • firstTradeName - 公司的第一个贸易名称
  • isMainBranch - 该分支是否是公司的主分支
  • isCommercialBranch - 分支是否是商业分支
  • fulltimeEmployees - 分支的全职员工数量
  • parttimeEmployees - 分支的兼职员工数量
  • totalEmployees - 分支的总员工数量
  • tradeNames - 分支的贸易名称(一组 TradeName 对象)
  • addresses - 分支的地址(一组 Address 对象)
  • websites - 分支的网站(一组 URL)
  • sbiActivities - 分支的 SBI 活动(一组 SbiActivity 对象)

基础资料 API

您可以通过以下方式通过商会编号获取公司的基础资料

$response = DutchChamberOfCommerceApi::baseProfileRequest()
    ->cocNumber('12345678')
    ->fetch();

如果您还想请求地理信息,您可以这样做

$response = DutchChamberOfCommerceApi::baseProfileRequest()
    ->cocNumber('12345678')
    ->withGeo(true)
    ->fetch();

fetch 方法将返回一个具有以下属性的 BaseProfileResponse 对象

  • cocNumber - 公司的商会编号
  • nonMailingIndicator - 公司的非邮寄指标
  • name - 公司的名称
  • formalDateOfRecord - 公司的正式记录日期(记录更改时的日期)
  • totalNumberOfEmployees - 公司的总员工数量
  • statutoryName - 公司的法定名称
  • tradeNames - 公司的贸易名称(一组 TradeName 对象)
  • sbiActivities - 公司的 SBI 活动(一组 SbiActivity 对象)

测试

composer test

变更日志

请参阅变更日志,了解最近有哪些变化。

贡献

请参阅贡献指南以获取详细信息。

安全漏洞

请查阅我们的安全策略了解如何报告安全漏洞。

鸣谢

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅许可证文件