daadkracht-marketing-bv / dutch-chamber-of-commerce-api
用于与荷兰商会API (KVK) 交互的包
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.8
- illuminate/contracts: ^10.0|^11.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- larastan/larastan: ^2.0.1
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.8|^9.0
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.5
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-09-05 20:11:48 UTC
README
此包提供了一种简单的方式来与荷兰商会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)
- 公司的RSINbranchNumber(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
- 公司的RSINbranchNumber
- 公司的分支编号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
- 公司的RSINnonMailingIndicator
- 公司的非邮寄指标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)。有关更多信息,请参阅许可证文件。