yihaitao / wangdiantong
旺店通SDK
Installs: 17
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 0
pkg:composer/yihaitao/wangdiantong
Requires
- php: ^7.0|^8.0
- ext-iconv: *
- ext-json: *
- hanson/foundation-sdk: ^5.0
README
.
https://open.wangdian.cn/qyb/open/apidoc 旺店通开放平台api文档
安装
$ composer require yihaitao/wangdiantong -vvv
使用
<?php use YiHaiTao\WangDianTong\WangDianTong; $config = [ 'appkey' => 'xxxx', 'appsecret' => 'xxxx', 'sid' => 'xxxxxx', 'baseUrl' => 'xxxxxxxx', ]; // 实例化旺店通sdk $wtd = new WangDianTong($config); $basic = $wtd->basic; // 基础类接口实例 $goods = $wtd->goods; // 货品类接口实例 $trade = $wtd->trade; // 订单类接口实例 $stock = $wtd->stock; // 库存类接口实例 $purchase = $wtd->purchase; // 采购类接口实例 $refund = $wtd->refund; // 售后退款类接口实例
基础类接口
<?php // 查询店铺 $basic->shop($otherParams = []); // 查询仓库详细信息 $basic->warehouseQuery($otherParams = []); // 获取ERP的物流公司档案资料 查询物流 $basic->logistics($otherParams = []); // 查询供应商管理 $basic->purchaseProviderQuery($column, $otherParams = []); // 推送供应商档案资料给ERP 创建供应商 $basic->purchaseProviderCreate($provider_no, $provider_name, $min_purchase_num, $purchase_cycle_days, $arrive_cycle_days, $otherParams = []);
货品类
<?php // 货品类 // 创建货品档案 $goods->goodsPush($goods_list); // 查询货品档案 $goods->goodsQuery($start_time, $end_time, $otherParams = []); // 创建平台货品 $goods->apiGoodsspecPush($platform_id, $shop_no, $goods_list); // 查询组合装 $goods->suitesQuery($start_time, $end_time, $suite_no, $otherParams = []);
采购类
<?php // 创建采购单 $purchase->purchaseOrderPush($purchase_info); // 推送采购单对应的入库单给ERP 创建采购入库单 $purchase->stockinPurchasePush($purchase_info); // 获取ERP的采购单信息 查询采购单管理 $purchase->purchaseOrderQuery($start_time, $end_time, $otherParams = []); // 获取ERP采购单对应的入库单信息 查询采购入库单 $purchase->stockinOrderQueryPurchase($start_time, $end_time, $otherParams = []); // 推送采购退货单据给ERP 创建采购退货单 $purchase->purchaseReturnPush($return_info); // 推送采购退货单对应的出库单给ERP 创建采购退货出库单 $purchase->purchaseReturnOrderPush($purchase_return_info); // 获取ERP的采购退货单信息 查询采购退货单 $purchase->purchaseReturnQuery($start_time, $end_time, $otherParams = []); // 查询ERP中采购退货出库单信息 查询采购退货出库单 $purchase->stockoutOrderQueryReturn($start_time, $end_time, $otherParams = []);
售后退款类
<?php // 创建原始退款单 $refund->salesRefundPush($api_refund_list); // 创建销售退货入库单 // 推送ERP销售退货(换货)订单对应的入库单据给ERP 推送前提ERP的退换单状态为“待收货” $refund->stockinRefundPush($stockin_refund_info); // 获取ERP销售退货(换货)订单信息 查询退换管理 $refund->refundQuery($start_time, $end_time, $otherParams = []); // 获取ERP销售退货(换货)订单对应的入库单信息 查询退货入库单管理 $refund->stockinOrderQueryRefund($start_time, $end_time, $otherParams = []);
库存类接口
<?php // 查询库存API $stock->stockQuery($start_time, $end_time, $otherParams = []); // 创建盘点开单 // ERP库存需要调整时,推送盘点库存单据给ERP 注:ERP盘点成功后,盘点单内的库存值直接覆盖前库存 $stock->stockSyncByPd($warehouse_no, $is_adjust_stock, $goods_list, $otherParams = []); // 查询盘点单 // 获取调整ERP库存的盘点单据信息 注:ERP盘点成功后,盘点单内的库存值直接覆盖前库存 $stock->stockPdOrderQuery($otherParams = []); // 创建其他入库单 $stock->stockinOrderPush($stockin_info); // 查询入库单管理 $stock->stockinOrderQuery($start_time, $end_time, $otherParams = []); // 创建其他出库单 $stock->stockoutOrderPush($stockout_info); // 查询出库单管理 $stock->stockoutOrderQuery($start_time, $end_time, $otherParams = []); // 创建调拨单 // ERP内仓与仓之间的库存需要调度时,推送调拨单给ERP $stock->stockTransferPush($transfer_info); // 创建调拨出库单 // ERP调拨业务走到出库步骤时,推送调拨出库单给ERP $stock->stockoutTransferPush($stockout_info); // 创建调拨入库单 // ERP调拨业务中发货仓库出库完成,收货仓库需要入库单前推送调拨入库单给ERP $stock->stockinTransferPush($stockin_info); // 查询调拨单信息 // 获取ERP的调拨单据信息 $stock->stockTransferQuery($start_time, $end_time, $otherParams = []);
订单类
<?php // 1. 推送销售订单给ERP // 2. 更新已推送成功的销售订单 $trade->tradePush($trade_list, $shop_no, $switch = 0); // 获取ERP的销售订单信息 $trade->tradeQuery($start_time, $end_time, $otherParams = []); // 获取ERP销售订单的出库单信息 查询销售出库单 $trade->stockoutOrderQueryTrade($start_time, $end_time, $otherParams = []); // ERP销售订单的发货状态、物流单号等同步给其他系统。 // 注:”查询物流同步”与“物流同步回写”两个接口配合使用,完成“销售订单发货同步” // 查询物流同步 $trade->logisticsSyncQuery($limit, $shop_no = '', $is_part_sync_able = -1); // 同步发货状态、物流单号给平台是否成功的状态回传给ERP // 物流同步回写 $trade->logisticsSyncAck($logistics_list); // 获取变化后的ERP可销库存,并同步至平台店铺 // 注:”查询同步库存”与“库存同步回写”两个接口配合使用,完成“库存同步” // 查询同步库存 $trade->apiGoodsStockChangeQuery($shop_no, $limit); // 库存量同步至平台是否成功的状态回传给ERP // 库存同步回写 $trade->apiGoodsStockChangeAck($stock_sync_list);
旺店通旗舰版 OpenApi 接口(使用新的签名算法)
注意:旺店通分为企业版和旗舰版两套不同的接口系统:
- 企业版:使用
$wdt->trade,$wdt->basic等,接口路径为openapi2,使用旧的签名算法 - 旗舰版:使用
$wdt->qijianApi,接口路径为openapi,使用新的签名算法
<?php use YiHaiTao\WangDianTong\WangDianTong; $config = [ 'appkey' => 'czhc', 'appsecret' => '693f9fed686bfe13441385da98b436b6:dd488d0802b1e431e4c72cd355847853', // 格式:secret:salt 'sid' => 'wdterp30', 'baseUrl' => 'http://47.92.239.46/openapi', // 旗舰版使用 openapi 路径 ]; // 实例化旺店通sdk $wdt = new WangDianTong($config); // 获取旗舰版 OpenApi 实例 $qijianApi = $wdt->qijianApi; // 非分页调用接口(数组参数方式) $result = $qijianApi->call("wms.stockout.Sales.weighingExt", [ "xc109393939393939", "", 1.2, 0, false ]); // 分页调用接口(分页参数会自动添加到 URL,不会放入 body) // 分页参数说明: // - page_size: 分页大小(必填) // - page_no: 分页编号,从 0 开始(必填) // - calc_total: 是否计算总数,1=计算,0=不计算(可选,默认0) $result = $qijianApi->call("sales.TradeQuery.queryWithDetail", [ // body 参数(业务参数) 'start_time' => '2020-08-28 9:01:00', 'end_time' => '2020-08-28 10:00:00', // 分页参数(会自动识别并添加到 URL,参与签名计算) 'page_size' => 20, 'page_no' => 1, 'calc_total' => 1, ]);
旗舰版签名算法说明
旺店通旗舰版 OpenApi 使用新的签名算法(与企业版不同):
-
参数说明:
sid: 卖家账号key: appkeyappsecret: 格式为secret:salt,例如:testsecret:testsaltmethod: 接口名称v: 版本号,固定为1.0timestamp: 秒级时间戳,当前时间戳减去 2012-01-01 00:00:00(1325347200)body: 业务参数的 JSON 格式(压缩,不包含换行等字符)
-
签名步骤:
- 按照键名做正序排序
- 拼接字符串:
secret + 排序后的键值对拼接 + secret - 对字符串做 MD5
-
请求方式:
- 方法:POST
- Content-Type: application/json
- URL 参数:使用
http_build_query()生成(不包括 body) - body:作为 POST 请求体发送(JSON 格式)
License
MIT