zacksleo / suning-sdk
苏宁SDK
1.0.0
2019-07-23 08:21 UTC
Requires
- hanson/foundation-sdk: ^3.0
Requires (Dev)
- symfony/console: ^4.3
- symfony/dom-crawler: ^4.3
This package is auto-updated.
Last update: 2024-10-26 14:54:44 UTC
README
苏宁开放平台 SDK
Installing
$ composer require zacksleo/suning-sdk -vvv
Usage
1. 初始化客户端
use Zacksleo\SuningSdk\Suning; $suning = new Suning([ 'key' => 'key', 'secret' => 'secret', 'debug' => false, 'log' => [ 'file' => __DIR__.'/suning.log', 'level' => 'error', 'permission' => 0777, ] ]);
2.1 链式调用方式
该方式支持类型提示和自动补全
$response = $suning->custom->logisticcompany->get(['companyName' => '申通快递',]);
2.2 标准调用方式
$response = $suning->request([ 'suning.custom.logisticcompany.get' => 'logisticCompany' ], [ 'companyName' => '申通快递', ]);
第一个参数如果是数组,key 为 ApiMethodName, value 为 BizName。第二个参数对应官方文档示例中 请求参数的值
以上调用可省略为
$response = $suning->request('suning.custom.logisticcompany.get', [ 'companyName' => '申通快递' ]);
或
$response = $suning->request('custom.logisticcompany.get', [ 'companyName' => '申通快递', ]);
注意:除标准调用方式外,其他调用方式需要确保 map.php 文件中存在对应的值。如果没有,欢迎PR.
输出格式
返回值取出的是 sn_header 及 sn_body, 如果不存在 sn_header, 给给予默认值
array:2 [ "header" => array:4 [ "pageTotal" => 1 "pageNo" => 1 "totalSize" => 1 "returnMessage" => "" ] "body" => array:2 [ "expressCompanyName" => "申通快递" "expressCompanyCode" => "S01" ] ]
异常处理
try { $response = $suning->custom->logisticcompany->get([ 'companyName' => '申通快递', ]); } catch (\Exception $exception) { var_dump($exception->getMessage()); }
命令行工具
生成 map.php 文件
php ./bin/suning map:generate
生成 fake:generate 用的 map-fake.php 文件
php ./bin/suning map:generate --fake
生成用于代码补全提示的类
php ./bin/suning fake:generate
Contributing
You can contribute in one of three ways:
- File bug reports using the issue tracker.
- Answer questions or fix bugs on the issue tracker.
- Contribute new features or update the wiki.
The code contribution process is not very formal. You just need to make sure that you follow the PSR-0, PSR-1, and PSR-2 coding guidelines. Any new code contributions must be accompanied by unit tests where applicable.
License
MIT