tumainimosha / credit-info
用于与Credit Info (坦桑尼亚) API集成的Laravel包
Requires
- php: >=7.0
- ext-json: *
- ext-simplexml: *
- ext-soap: *
- illuminate/support: ~5.7.0|~5.8.0|^6.0|^7.0|^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.13
- orchestra/testbench: ~3.7.0
- phpunit/phpunit: ^7.0
README
Credit Info (TZ) API Wrapper for Laravel
这是Laravel的非官方Credit Info Tanzania API包装器。
- CreditInfo Tanzania网站
- WSDL (需要基本认证)
安装
通过composer安装
composer require tumainimosha/credit-info
发布配置文件
可选!仅当您希望自定义默认包配置时才发布配置文件。
php artisan vendor:publish --provider="CreditInfo\ServiceProvider" --tag="config"
配置
认证
在.env
文件中配置您的api用户名和密码,如下所示
CREDIT_INFO_USERNAME=your_api_username CREDIT_INFO_PASSWORD=your_api_password
除了认证配置之外,以下剩余的配置是可选的。
对于基本用法,请直接跳转到用法部分
URL
包配置文件包含默认API URL,指向production
。
CREDIT_INFO_WSDL=https://ws.creditinfo.co.tz/WsReport/v5.39/service.svc?wsdl
要将URL指向test
环境,请在.env
文件中将CREDIT_INFO_WSDL键设置为您提供的测试URL。(见下文)
CREDIT_INFO_WSDL=https://wstest.creditinfo.co.tz/WsReport/v5.39/service.svc?wsdl
注意
- WSDL URL应以
?wsdl
后缀结束,如果您还没有添加,请记住添加它。 - 由于WSDL URL使用基本认证加密,您需要首先配置上述各自环境的正确认证详细信息。
响应缓存
默认情况下,此包会缓存来自Credit Info的API响应,以加快后续请求相同数据。
您可以通过在.env
中设置CREDIT_INFO_CACHE_TTL
值(以分钟为单位)来控制此功能。(见下文)
默认情况下,数据会缓存24小时=1440分钟
CREDIT_INFO_CACHE_TTL=1440
将值设置为0(0)以完全禁用缓存。
WSDL缓存
PHP Soap Client的默认行为是缓存WSDL文件以改进性能。
然而,在开发过程中,您可能需要出于调试原因禁用soap客户端的WSDL缓存。
要这样做,请将.env
文件中的CREDIT_INFO_CACHE_WSDL
键设置为false
(见下文)
注意:禁用WSDL缓存会显著降低性能。请记住,在完成调试后始终将此选项还原为true
。
CREDIT_INFO_CACHE_WSDL=false
用法
车辆报告
方法getVehicleReport()
通过车辆注册ID查询车辆信息
$creditInfoService = new \CreditInfo\CreditInfo(); $details = $creditInfoService->getVehicleReport($registration_number);
驾驶执照报告
方法getDrivingLicenseReport()
通过驾驶执照号码查询驾驶员执照信息
$creditInfoService = new \CreditInfo\CreditInfo(); $details = $creditInfoService->getDrivingLicenseReport($driving_license_no);
国家身份证报告
方法getNationalIdReport()
通过国家身份证号码查询个人信息
$creditInfoService = new \CreditInfo\CreditInfo(); $details = $creditInfoService->getNationalIdReport($national_id);
异常处理
上述方法抛出以下异常
异常 | 条件 |
---|---|
CreditInfo\Exceptions\Exception |
这是该包的基本异常。该库中所有异常都继承自它。 *** 应最后捕获,作为一个通配符语句。 |
CreditInfo\Exceptions\InvalidReferenceNumberException |
如果提供的参考号码未通过验证要求,则会抛出。 |
CreditInfo\Exceptions\DataNotFoundException |
如果未找到给定参考号码的数据,则会抛出。 |
CreditInfo\Exceptions\TimeoutException |
如果请求超时,则会抛出。 |
以下示例展示了如何捕获异常
use CreditInfo\Exceptions\DataNotFoundException; use CreditInfo\Exceptions\Exception; use CreditInfo\Exceptions\InvalidReferenceNumberException; use CreditInfo\Exceptions\TimeoutException; use CreditInfo\CreditInfo; ... public function testVehicleInfo() { $registration = 't100abc'; $creditInfoService = new CreditInfo(); try { $details = $creditInfoService->getVehicleReport($registration); } catch(InvalidReferenceNumberException $ex) { // Handle case invalid reference number case throw($ex); } catch(TimeoutException $ex) { // Handle case if request timeout throw($ex); } catch(DataNotFoundException $ex) { // Handle case if registration number not found throw($ex); } catch(Exception $e) { // Handle other API errors throw($e); } dd($details); } ...
待办事项
- 车辆报告
- 驾驶执照报告
- 国家身份证报告
- 税务识别号码报告
安全
如果您发现任何与安全相关的问题,请通过电子邮件联系我,而不是使用问题跟踪器。点击这里联系我。
致谢
本包是在melihovv/laravel-package-generator的帮助下启动的。