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-09-26 14:44:40 UTC
README
苏宁开放平台 SDK
安装
$ composer require zacksleo/suning-sdk -vvv
用法
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
贡献
你可以通过以下三种方式之一进行贡献
代码贡献过程并不非常正式。你只需确保遵循PSR-0、PSR-1和PSR-2编码规范。任何新的代码贡献都必须附有适用时的单元测试。
许可证
MIT