PHP code example of westng / doudian-sdk
1. Go to this page and download the library: Download westng/doudian-sdk library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
westng / doudian-sdk example snippets
use DouDianSdk\Core\Client\DouDianSdk;
// 初始化SDK
$sdk = new DouDianSdk('your_app_key', 'your_app_secret');
// 获取访问令牌
$accessToken = $sdk->getAccessToken('your_shop_id', ACCESS_TOKEN_SHOP_ID);
// 调用API
$result = $sdk->callApi(
'afterSale_List\AfterSaleListRequest',
'afterSale_List\param\AfterSaleListParam',
[
'page' => 1,
'size' => 20,
'start_time' => '2024-01-01 00:00:00',
'end_time' => '2024-01-31 23:59:59'
],
$accessToken
);
print_r($result);
use DouDianSdk\Core\Client\DouDianSdk;
use DouDianSdk\Core\Logger\FileLogger;
// 创建SDK实例
$sdk = new DouDianSdk();
// 设置应用凭证
$sdk->setCredentials('your_app_key', 'your_app_secret');
// 启用调试模式和日志记录
$sdk->setDebug(true)
->setLogger(new FileLogger('/path/to/logs/sdk.log'));
// 设置HTTP客户端配置
$sdk->setHttpConfig([
'timeout' => 30,
'connect_timeout' => 10,
'retry' => 3,
'retry_delay' => 1000
]);
// 获取访问令牌
$accessToken = $sdk->getAccessToken('your_shop_id', ACCESS_TOKEN_SHOP_ID);
// 调用API
$result = $sdk->callApi(
'order_orderDetail\OrderOrderDetailRequest',
'order_orderDetail\param\OrderOrderDetailParam',
['order_id' => '123456789'],
$accessToken
);
use DouDianSdk\Core\Token\AccessTokenBuilder;
use DouDianSdk\Core\Token\ACCESS_TOKEN_CODE;
use DouDianSdk\Core\Token\ACCESS_TOKEN_SHOP_ID;
// 通过店铺ID获取访问令牌
$accessToken = AccessTokenBuilder::build('your_shop_id', ACCESS_TOKEN_SHOP_ID);
// 通过授权码获取访问令牌
$accessToken = AccessTokenBuilder::build('authorization_code', ACCESS_TOKEN_CODE);
// 检查令牌是否有效
if ($accessToken->isSuccess()) {
echo "Token: " . $accessToken->getAccessToken();
echo "有效期: " . $accessToken->getExpireIn() . " 秒";
} else {
echo "获取令牌失败: " . $accessToken->getErrMsg();
}
use DouDianSdk\Core\Exception\DouDianException;
use DouDianSdk\Core\Exception\ApiException;
use DouDianSdk\Core\Exception\HttpException;
try {
$result = $sdk->callApi($apiClass, $paramClass, $params, $accessToken);
if ($result['code'] === 0) {
// 成功处理
$data = $result['data'];
} else {
// API 返回错误
echo "API 错误: " . $result['msg'];
}
} catch (HttpException $e) {
// HTTP 请求错误
echo "HTTP 错误: " . $e->getMessage();
} catch (ApiException $e) {
// API 调用错误
echo "API 错误: " . $e->getMessage();
} catch (DouDianException $e) {
// 其他 SDK 错误
echo "SDK 错误: " . $e->getMessage();
}
// 获取订单详情
$result = $sdk->callApi(
'order_orderDetail\OrderOrderDetailRequest',
'order_orderDetail\param\OrderOrderDetailParam',
['order_id' => '123456789'],
$accessToken
);
// 查询订单列表
$result = $sdk->callApi(
'order_searchList\OrderSearchListRequest',
'order_searchList\param\OrderSearchListParam',
[
'page' => 1,
'size' => 20,
'start_time' => '2024-01-01 00:00:00',
'end_time' => '2024-01-31 23:59:59'
],
$accessToken
);
// 获取商品详情
$result = $sdk->callApi(
'product_detail\ProductDetailRequest',
'product_detail\param\ProductDetailParam',
['product_id' => '123456789'],
$accessToken
);
// 查询商品列表
$result = $sdk->callApi(
'product_listV2\ProductListV2Request',
'product_listV2\param\ProductListV2Param',
[
'page' => 1,
'size' => 20,
'status' => 1
],
$accessToken
);
// 获取售后列表
$result = $sdk->callApi(
'afterSale_List\AfterSaleListRequest',
'afterSale_List\param\AfterSaleListParam',
[
'page' => 1,
'size' => 20,
'start_time' => '2024-01-01 00:00:00',
'end_time' => '2024-01-31 23:59:59'
],
$accessToken
);
use DouDianSdk\Core\Token\AccessTokenBuilder;
use DouDianSdk\Core\Config\GlobalConfig;
// 初始化配置
$globalConfig = GlobalConfig::getGlobalConfig();
$globalConfig->appKey = 'your_app_key';
$globalConfig->appSecret = 'your_app_secret';
// 获取访问令牌
$accessToken = AccessTokenBuilder::build('your_shop_id', ACCESS_TOKEN_SHOP_ID);
// 调用API(使用传统方式)
$request = new \DouDianSdk\Api\afterSale_List\AfterSaleListRequest();
$param = new \DouDianSdk\Api\afterSale_List\param\AfterSaleListParam();
$param->page = 1;
$param->size = 20;
$result = $request->request($param, $accessToken);