mohdnazrul / laravel-ctos
v1.1.0
2018-04-24 03:42 UTC
Requires (Dev)
- illuminate/support: 5.6.*
- phpunit/phpunit: ^7.0.2
README
此库允许查询 CTOS - B2B API 的注册用户。
您需要提供的访问详情才能调用 API。有关数据数组/XML中的确切参数,请参考您的离线文档。
如果您不知道这是什么,那么您可能不需要或想要这个库。
配置
.env 文件
当前通过 .env 文件配置允许设置以下变量
- CTOS_ENV=UAT
- CTOS_URL='[http://api.endpoint/url/](http://api.endpoint/url/)'
- CTOS_USERNAME=demouser
- CTOS_PASSWORD=demopassword
- CTOS_ACCOUNT_CODE=ACC_CODE
- CTOS_COMPANY_CODE=COMPANY_CODE
可用函数
** 1. 设置记录 **
$records = new Records($party_type, $basic_group_code, $iclc_no, $nicbr_no, $name, $mobile_no, $ref_no, $distribution_code, $purpose_code, $purpose_content, $state_code, $country_code, $include_consent, $include_ctos, $include_trex, $include_ccris, $summary, $include_ccris_supplementary, $include_dcheque, $include_fico, $include_sme_financial_health_indicator, $include_fico_capacity_index, $include_latest_ssm, $entity_key_confirm);
** 2. 设置批量 CTOS **
$batch = new Batch('0009', '0', 'http://ws.cmctos.com.my/ctosnet/request', $this->company_code, $this->account_code, $this->soapUser, '1');
** 3. 设置批量请求 **
$xml = $batch->XMLBatchWithRecords('request', $records->getRequestXMLFormat('request'));
** 4. 设置格式为 HTML 转义的 XML 并将其放入信封内 **
$dataXML = $ctos->setXMLPostString(htmlentities($xml), true);
** 5. 设置 CTOS 的可变头 **;
$content_type = 'text/xml;charset=\"utf-8\"'; $accept = 'text/xml'; $cache_control = 'no-cache'; $pragma = 'no-cache'; $soap_action = ''; $ctos->setHeader($content_type, $accept, $cache_control, $pragma, $soap_action, true);
** 6. 连接 CTOS **
$ctos->connect();
** 7. 获取响应 **
$res = $ctos->getResponse();
此函数尝试从 CTOS 获取报告数据并返回 XML 响应;在连接错误的情况下,它返回
如果请求成功但查询导致数据相关错误,返回的数组将包含以下字段
code:包含从 CTOS 收到的错误代码
error:包含从 CTOS 收到的错误消息
成功请求返回请求的报告的 XML
- FOR LARAVEL 设置配置:-
composer require mohdnazrul/laravel-ctos
- 执行 composer require mohdnazrul/laravel-ctos
.... 'providers'=> [ . MohdNazrul\CTOSLaravel\CTOSServiceProvider::class, . ], 'aliases' => [ . 'CTOSApi' => MohdNazrul\CTOSLaravel\CTOSServiceFacade::class, ' ],
- 在 config/app.php 中添加以下语法
php artisan vendor:publish --tag=ctos
- 根据您的账户,可以编辑 config/ctos.php 中的默认配置 CBM,如下所示
return [ 'env' => env('CTOS_ENV', 'UAT'), 'url' => env('CTOS_URL', 'http://locahost'), 'username' => env('CTOS_USERNAME', 'xml'), 'password' => env('CTOS_PASSWORD', '123456'), 'account_code' => env('CTOS_ACCOUNT_CODE', 'account_code'), 'company_code' => env('CTOS_COMPANY_CODE', 'company_code') ];