苏宁开放平台 SDK
$ composer require zacksleo/suning-sdk -vvv
use Zacksleo\SuningSdk\Suning;
$suning = new Suning([
'key' => 'key',
'secret' => 'secret',
'debug' => false,
'log' => [
'file' => __DIR__.'/suning.log',
'level' => 'error',
'permission' => 0777,
]
]);
该方式支持类型提示和自动补全
$response = $suning->custom->logisticcompany->get(['companyName' => '申通快递',]);
$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());
}
php ./bin/suning map:generate
php ./bin/suning map:generate --fake
php ./bin/suning fake:generate
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.
MIT