tumainimosha/credit-info

此包已被弃用,不再维护。未建议替代包。

用于与Credit Info (坦桑尼亚) API集成的Laravel包

0.10.0 2020-12-20 15:14 UTC

This package is auto-updated.

Last update: 2023-10-23 15:37:35 UTC


README

Credit Info (TZ) API Wrapper for Laravel

Latest Stable Version License Total Downloads

这是Laravel的非官方Credit Info Tanzania API包装器。

安装

通过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

用法

  1. 车辆报告
  2. 驾驶执照报告
  3. 国家身份证报告
  4. 异常处理

车辆报告

方法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的帮助下启动的。