Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zacksleo/suning-sdk
🦁️苏宁开放平台SDK
https://github.com/zacksleo/suning-sdk
php7 sdk suning suning-sdk
Last synced: about 1 month ago
JSON representation
🦁️苏宁开放平台SDK
- Host: GitHub
- URL: https://github.com/zacksleo/suning-sdk
- Owner: zacksleo
- Created: 2019-07-16T09:58:42.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-07-26T02:56:41.000Z (over 5 years ago)
- Last Synced: 2024-10-01T18:10:07.815Z (about 2 months ago)
- Topics: php7, sdk, suning, suning-sdk
- Language: PHP
- Homepage: https://open.suning.com/ospos/apipage/toApiListMenu.do
- Size: 339 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
suning-sdk
苏宁开放平台 SDK
## Installing
```shell
$ composer require zacksleo/suning-sdk -vvv
```## Usage
### 1. 初始化客户端
```php
use Zacksleo\SuningSdk\Suning;
$suning = new Suning([
'key' => 'key',
'secret' => 'secret',
'debug' => false,
'log' => [
'file' => __DIR__.'/suning.log',
'level' => 'error',
'permission' => 0777,
]
]);```
### 2.1 链式调用方式
> 该方式支持类型提示和自动补全
```php
$response = $suning->custom->logisticcompany->get(['companyName' => '申通快递',]);
```### 2.2 标准调用方式
```php
$response = $suning->request([
'suning.custom.logisticcompany.get' => 'logisticCompany'
], [
'companyName' => '申通快递',
]);
```> 第一个参数如果是数组,key 为 ApiMethodName, value 为 BizName。第二个参数对应[官方文档示例中](http://open.suning.com/ospos/apipage/toApiListMenu.do) 请求参数的值
以上调用可省略为
```php
$response = $suning->request('suning.custom.logisticcompany.get', [ 'companyName' => '申通快递' ]);
```或
```php
$response = $suning->request('custom.logisticcompany.get', [ 'companyName' => '申通快递', ]);
```> 注意:除标准调用方式外,其他调用方式需要确保 [map.php](https://github.com/zacksleo/suning-sdk/blob/master/src/map.php) 文件中存在对应的值。如果没有,欢迎PR.
### 输出格式
返回值取出的是 sn_header 及 sn_body, 如果不存在 sn_header, 给给予默认值
```bash
array:2 [
"header" => array:4 [
"pageTotal" => 1
"pageNo" => 1
"totalSize" => 1
"returnMessage" => ""
]
"body" => array:2 [
"expressCompanyName" => "申通快递"
"expressCompanyCode" => "S01"
]
]```
### 异常处理
```php
try {
$response = $suning->custom->logisticcompany->get([
'companyName' => '申通快递',
]);
} catch (\Exception $exception) {
var_dump($exception->getMessage());
}
```## 命令行工具
### 生成 map.php 文件
```bash
php ./bin/suning map:generate
```### 生成 fake:generate 用的 map-fake.php 文件
```bash
php ./bin/suning map:generate --fake
```### 生成用于代码补全提示的类
```bash
php ./bin/suning fake:generate
```## Contributing
You can contribute in one of three ways:
1. File bug reports using the [issue tracker](https://github.com/zacksleo/suning-sdk/issues).
2. Answer questions or fix bugs on the [issue tracker](https://github.com/zacksleo/suning-sdk/issues).
3. 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