zacksleo/suning-sdk

苏宁SDK

1.0.0 2019-07-23 08:21 UTC

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

贡献

你可以通过以下三种方式之一进行贡献

  1. 使用问题追踪器提交错误报告。
  2. 问题追踪器上回答问题或修复错误。
  3. 贡献新功能或更新wiki。

代码贡献过程并不非常正式。你只需确保遵循PSR-0、PSR-1和PSR-2编码规范。任何新的代码贡献都必须附有适用时的单元测试。

许可证

MIT