当前位置: API文档

sales.RawTrade.pushSelf(原始单推送)

¥标准

1.接口说明

1.1 接口描述:①推送销售订单给ERP ②更新已推送成功的销售订单
1.2 适用版本:客户端 V1.5.9.9及以上版本

1.3注意事项:【权限校验】:店铺权限(仅支持自有平台推送);上线之前必须在测试环境测试订单推送之后的相关流程!!!


接口已过时, 请使用   sales.RawTrade.pushSelf2

2.调用场景

2.1 举例说明:自研商城、分销系统、全渠道等系统对接

3.请求参数说明

   3.1 请求地址

环境HTTP地址
测试环境http://47.92.239.46/openapi
正式环境http://wdt.wangdian.cn/openapi

   3.2 公共请求参数

名称字段类型长度
必须描述
卖家账号sidString
是卖家账号, 由旺店通分配
接口账号keyString
是由旺店通分配appkey, 在发送的数据中对应 key 字段,获取方式点击这里
盐saltString
是由旺店通分配appsecret,是由两部分构成, 冒号前面的部分是secret, 冒号后面的部分是salt. 例如一个appsecret是testsecret:testsalt, 那么secret为testsecret, salt为testsalt.
接口名称methodString
是调用的接口名称
版本号vString
是1.0
秒级时间戳timestampInt
是秒级时间戳, 当前时间戳减去 2012-01-01 00:00:00(1325347200), 时间与服务器时间差120s内即合法。
签名signString
是签名

   3.3 业务请求参数

名称字段类型长度必须描述

店铺编号

shop_no

String

40是

店铺编号(平台类型限自有)如何创建自有平台店铺

原始单信息

rawTradeList

List<Map<String, Object>>


是原始单信息信息集合

原始子单信息

rawTradeOrderList

List<Map<String, Object>>


是

原始子单信息集合

优惠信息


discountList

List<Map<String, Object>>


否

不需要优惠明细可不传,优惠明细显示在订单管理界面的优惠明细Tab页

rawTradeList

名称字段类型长度
必须描述
原始单号tidString40是指商城、官网等平台的订单编号,ERP称之为原始单号,同一个sid下通过本接口新增订单的tid保证唯一。
处理状态

process_status

Int

4是是否执行自动递交以系统配置为准

10: 待递交,

20: 已递交,

30: 部分发货,

40: 已发货,

60: 已完成,

70: 已取消

平台状态

trade_status

Int

4是

10未确认 20待尾款 30待发货 40部分发货 50已发货 60已签收 70已完成 80已退款 90已关闭(付款前取消),单据状态变更点击文档查看

退款状态refund_statusInt4是0无退款 1申请退款 2部分退款 3全部退款,单据状态变更点击文档查看
付款状态pay_statusInt4是0未付款1部分付款2已付款
子订单个数order_countInt6是原始单包含的子订单数,rawTradeOrderList节点下所有子单数之和
货品总数量goods_countDecimal(19,4)
是

货品总数量,rawTradeOrderList节点下所有“num”数量之和

支付方式pay_methodInt4是1在线转帐 2现金,3银行转账,4邮局汇款 5预付款 6刷卡 7支付宝 8微信支付
下单时间trade_timeString40
是下单时间
支付时间pay_timeString40否支付时间
交易结束时间end_timeString40是交易结束时间,若无则传null
买家昵称/客户网名buyer_nickString100是若无则传一个固定值
买家备注buyer_messageString1024否若无则传‘’
买家邮箱buyer_emailString40否‘’
买家地区buyer_areaString255否‘’
收件人姓名receiver_nameString100是收件人姓名
省市区receiver_areaString40是省市区空格分隔,示例【北京 北京市 朝阳区】,省市区推送旺店通地址库,点击查看
地址receiver_addressString256是收件人详细地址,不包含省市区,示例【xx街道xx小区xx号楼101】
收件人邮编receiver_zipString20否收件人邮编,若无则传‘’
收件人手机receiver_mobileString40是
该字段必传,收件人手机号,为11位手机号码,示例【13888888888】
收件人电话receiver_telnoString40否收件人固话号,为11位固话号码,示例【02288888888】
邮费post_amountDecimal(19,4)
是邮费
其他费用other_amountDecimal(19,4)
否其他费用
优惠金额discountDecimal(19,4)
是 优惠金额
应收金额receivableDecimal(19,4)
 是应收金额,售前退款会变化,“详细金额逻辑点击查看”
平台费用platform_costDecimal(19,4)
否0.0000
发票类别invoice_typeInt4否0:不需要
1:普通发票
2:增值税普通发票
3:增值税专用发票
发票抬头invoice_titleString255否发票抬头,若无则传‘’
发票内容invoice_contentString255否发票内容,格式:纳税人识别号:*******;地址:*******;开户银行:*******;银行账号:******;联系电话:*****,电子邮箱*****  若无则传‘""
物流类别logistics_typeInt6否-1
物流编号cust_dataString
否系统物流编号(设置--基本设置--物流)
发货条件delivery_termInt4是1款到发货 2货到付款(包含部分货到付款) 
平台支付订单IDpay_idString40否‘’
客服备注remarkString1024否客服备注
客服备注标记remark_flagInt
11
否标旗(1 红、2 黄、3 绿、4 蓝、5 紫、6 橙、7 浅蓝、8 浅粉、9 深绿、10 桃红 无则填0)
货到付款金额cod_amountDecimal(19,4)
否若delivery_term=2,则为应付金额,否则则为0
是否是自流转is_auto_wmsBoolean
是

true自流转,false 非自流转   自动流转模式处理办法详解   单击这里

仓库编号warehouse_noString40是仅自流转订单填写该仓库编号, 非自流转订单传入空字符串即可
买家支付宝帐号pay_accountString128否‘’
买家要求的送货日期to_deliver_timeString20否买家要求的送货日期
已收receivedDecimal(19,4)
 否已从平台收款的金额
淘宝新增,物流到货时效,单位小时consign_intervalInt6否淘宝新增,物流到货时效,单位小时
已支付金额paidDecimal(19,4)
否已支付金额
是否能合并订单is_sealedbyte
否

0:默认
3:不允许合并

分销商名称fenxiao_nickString40否

分销商名称

证件类型id_card_typeInt
否

0:无

1:身份证

2:军官证

3:护照

证件号id_cardString
否

证件号

省份idreceiver_province_noInt
否

省份id,点击查看省市区代码表(传省份id、市id、区id的情况下可以不传receiver_area字段)

市idreceiver_city_noInt
否

市id,点击查看省市区代码表 (传省份id、市id、区id的情况下可以不传receiver_area字段)

区idreceiver_district_noInt
否

区id,点击查看省市区代码表 (传省份id、市id、区id的情况下可以不传receiver_area字段)

物流单号logistics_noString

否

物流单号   is_auto_wms=1自流转模式 支持传入外部发货物流单号

rawTradeOrderList

名称字段类型长度必须描述
原始订单号tidString40是原始订单号
原始子单号oidString40是平台订单货品表主键,子订单唯一标识,同一个sid下通过本接口新增订单的oid(子订单编号)要保证唯一;如果oid重复,ERP生成系统单(递交)时会提示“订单货品数量不一致xxxxxx”
平台的状态statusInt4是10未确认 20待尾款 30待发货 40部分发货 50已发货 60已签收 70已完成 80已退款 90已关闭,单据状态变更点击文档查看
退款标记refund_statusInt4是0无退款1取消退款,2已申请退款,3等待退货,4等待收货,5退款成功,6未付款关闭,单据状态变更点击文档查看
平台货品IDgoods_idString40是平台系统货品(SPU)的唯一标识。SPU和SKU概念介绍,单击这里
平台规格IDspec_idString40是平台系统单品(SKU)的的唯一标识。SPU和SKU概念介绍,单击这里
货品编号goods_noString40是货品编号
规格编码spec_noString80是规格编码
货品名称goods_nameString255是货品名称
规格名称spec_nameString100否规格名称
子单类型order_typeInt4否0正常货品 1虚拟货品 2服务(不传默认为0)
平台类目cidString40否平台类目
数量numDecimal(19,4)
是数量
单价priceDecimal(19,4)
是单价
优惠discountDecimal(19,4)
是

优惠,平台折扣, 不包含手工调整和分摊优惠

分摊优惠share_discountDecimal(19,4)
是分摊优惠,退款不变
总价格

total_amount

Decimal(19,4)
是总价格,“详细金额逻辑点击查看”
手工调整的优惠金额adjust_amountDecimal(19,4)
是手工调整的优惠金额,“详细金额逻辑点击查看”
退款金额refund_amountDecimal(19,4)
是退款金额
备注remarkString255是备注
json串jsonString255是json串,若无可传“”
赠品方式gift_typeInt
否

赠品方式
0非赠品
1自动赠送
2手工赠送
4周期购赠送
8平台赠送
32阶梯满赠 
64CRM追加赠送 
65 主品

discountList (平台,tid,oid,sn,type 联合组成唯一)

名称字段类型长度
必须描述
原始订单号tidString40是

原始订单号

原始子单号
oidString20是

原始子单号

唯一编码sn

String

40否平台上优惠的唯一标识
优惠名称
name

String

50
否优惠名称
优惠详情
detail

String

128
否优惠详情
优惠金额amount

Decimal(19,4)


否优惠金额

4.响应参数

名称字段类型长度
必须描述
状态码statusInt11是

状态码,0表示正常

错误信息messageString255
是

无错误信息不返回

单据数据data

Map<String, Object>


是结果相关数据

data

响应参数说明示例值或者格式、具体含义、使用方法及注意事项(如隐私数据淘系平台不返回,其他平台正常返回)

名称字段类型长度
必须描述

更新订单数

chg_count

Int

11是

返回的为更新订单的数量

新增订单数

new_count

Int

11是

返回的为新增订单的数量

5.请求示例

JSON

["test", [{
"is_auto_wms": false,
"post_amount": 2,
"other_amount": 5.2,
"discount": 1,
"platform_cost": 0,
"cod_amount": "",
"received": "",
"tid": "tid-aqyYHjEldp",
"process_status": 10,
"trade_status": 30,
"refund_status": 0,
"pay_status": 2,
"order_count": 2,
"pay_method": 2,
"trade_time": "2020-03-20 18:24:37",
"pay_time": "2020-03-20 18:24:37",
"end_time": "2020-03-20 18:24:37",
"buyer_nick": "test_openapi",
"buyer_message": "test_openapi",
"buyer_email": "test_openapi@gmail.com",
"buyer_area": "test_area",
"receiver_name": "receiver_name",
"receiver_area": "北京 北京市 朝阳区",
"receiver_address": "春天街道春天花园小区1号楼1单元101",
"receiver_zip": "014500",
"receiver_mobile": "15612340987",
"receiver_telno": "02288888888",
"invoice_type": 0,
"invoice_title": "",
"invoice_content": "",
"logistics_type": -1,
"consign_interval": 0,
"delivery_term": 1,
"to_deliver_time": "",
"pay_id": "",
"pay_account": "",
"remark": "",
"remark_flag": 0,
"goods_count": 6,
"receivable": 17.6
}],
[{
"tid": "tid-aqyYHjEldp",
"oid": "tid-aqyYHjEldp-0",
"order_type": 0,
"status": 30,
"refund_status": 0,
"goods_id": "openapi_gid-0",
"spec_id": "openapi_sid-0",
"goods_no": "api_gno-0",
"spec_no": "api_sno-0",
"goods_name": "api_gname-0",
"spec_name": "api_sname-0",
"num": 3,
"price": 2.5,
"adjust_amount": 2,
"refund_amount": "",
"discount": 0.5,
"share_discount": 0.2,
"total_amount": 9,
"cid": "",
"remark": "",
"json": ""
}, {
"tid": "tid-aqyYHjEldp",
"oid": "tid-aqyYHjEldp-1",
"order_type": 0,
"status": 30,
"refund_status": 0,
"goods_id": "openapi_gid-1",
"spec_id": "openapi_sid-1",
"goods_no": "api_gno-1",
"spec_no": "api_sno-1",
"goods_name": "api_gname-1",
"spec_name": "api_sname-1",
"num": 3,
"price": 2.5,
"adjust_amount": 2,
"refund_amount": "",
"discount": 0.5,
"share_discount": 0.2,
"total_amount": 9,
"share_amount": 8.8,
"cid": "",
"remark": "",
"json": ""
}]
]
PHP
<php
header("Content-Type: text/html; charset=UTF-8");
date_default_timezone_set("Asia/Shanghai");
require_once('wdtsdk.php');
 
function str_rand($length = 10, $char = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') {
    if(!is_int($length) || $length < 0) {
        return false;
    }
 
    $string = '';
    for($i = $length; $i > 0; $i--) {
        $string .= $char[mt_rand(0, strlen($char) - 1)];
    }
 
    return $string;
}
 
$client = new WdtErpClient("url", "wdtapi3", "appkey", "secret"); 
 
$rawTrade = new stdClass();
$rawTrade->is_auto_wms=false;
// $rawTrade->warehouse_no='pos_inner'; // 非自流转订单不需要设置此字段.
 
$rawTrade->post_amount=2.0000;
$rawTrade->other_amount=5.2000;
$rawTrade->discount=1.0000;
// $rawTrade->receivable='';
$rawTrade->platform_cost=0.0000;
$rawTrade->cod_amount='';
$rawTrade->received='';
$rawTrade->goods_amount = $rawTrade->receivable - $rawTrade->post_amount + $rawTrade->discount;
 
$rawTrade->tid='tid-'.str_rand();
$rawTrade->process_status=10;
$rawTrade->trade_status=30;
$rawTrade->refund_status=0;
$rawTrade->pay_status=2;
 
// !!
$rawTrade->order_count=2;
// $rawTrade->goods_count='';
$rawTrade->pay_method=2; //1在线转帐 2现金,3银行转账,4邮局汇款 5预付款 6刷卡
$rawTrade->trade_time=date('Y-m-d H:i:s');
$rawTrade->pay_time=date('Y-m-d H:i:s');
$rawTrade->end_time=date('Y-m-d H:i:s');
 
$rawTrade->buyer_nick='test_openapi';
$rawTrade->buyer_message='test_openapi';
$rawTrade->buyer_email='test_openapi@gmail.com';
$rawTrade->buyer_area='test_area';
 
$rawTrade->receiver_province='3';
$rawTrade->receiver_name='receiver_name';
$rawTrade->receiver_area='85 West Lancaster Court Paramus, NJ 07652';
$rawTrade->receiver_address='ABCDEFG';
$rawTrade->receiver_zip='014500';
$rawTrade->receiver_mobile='15612340987';
$rawTrade->receiver_telno='';
 
$rawTrade->invoice_type=0;
$rawTrade->invoice_title='';
$rawTrade->invoice_content='';
 
$rawTrade->logistics_type=-1; 
$rawTrade->consign_interval=0;
$rawTrade->delivery_term=1;
$rawTrade->to_deliver_time='';
$rawTrade->pay_id='';
$rawTrade->pay_account='';
$rawTrade->remark='';
$rawTrade->remark_flag=0;
 
$tradeOderList = array();
for ($j=0; $j < $rawTrade->order_count; $j++)
{ 
$tradeOrder = new stdClass();
 
$tradeOrder->tid = $rawTrade->tid;
$tradeOrder->oid = $tradeOrder->tid.'-'.$j;
$tradeOrder->order_type = 0;
 
$tradeOrder->status = 30;
$tradeOrder->refund_status = 0;
 
$tradeOrder->goods_id = 'openapi_gid'.'-'.$j;
$tradeOrder->spec_id = 'openapi_sid'.'-'.$j;
$tradeOrder->goods_no = 'api_gno'.'-'.$j;
$tradeOrder->spec_no = 'api_sno'.'-'.$j;
$tradeOrder->goods_name = 'api_gname'.'-'.$j;
$tradeOrder->spec_name = 'api_sname'.'-'.$j;

$tradeOrder->num = 3.0000;
$tradeOrder->price = 2.5000;
$tradeOrder->adjust_amount = 2.0000;
$tradeOrder->refund_amount = '';
$tradeOrder->discount = 0.5000; // 优惠金额
$tradeOrder->share_discount = 0.2000; //分摊优惠金额
$tradeOrder->total_amount = $tradeOrder->price * $tradeOrder->num + $tradeOrder->adjust_amount - $tradeOrder->discount;
// 页面的分摊优惠 = total_amount - 分摊优惠金额, 此参数不需要传入
 
$tradeOrder->cid = '';
$tradeOrder->remark = '';
$tradeOrder->json = '';
 
 
// 处理主单部分数据
$rawTrade->goods_count += $tradeOrder->num;
$rawTrade->receivable += $tradeOrder->share_amount;
$tradeOderList[$j] = $tradeOrder;
}
 
 
$shopNo= "test"; 
$data = $client->call("sales.RawTrade.pushSelf", $shopNo, [$rawTrade], $tradeOderList);
 
var_dump($data);
?>
JAVA

C#

CURL
curl --location 'http://47.92.239.46/openapi?key=wdtapi3-test9&method=sales.RawTrade.pushSelf&salt=136787110023126585465b366becff09&sid=wdtapi3&timestamp=450291004&v=1.0&sign=d1787ad93fd54490b914cbab8db82de1' \
--header 'Content-Type: application/json' \
--data-raw '["test", [{
"is_auto_wms": false,
"post_amount": 2,
"other_amount": 5.2,
"discount": 1,
"platform_cost": 0,
"cod_amount": "",
"received": "",
"tid": "tid-aqyYHjEldp",
"process_status": 10,
"trade_status": 30,
"refund_status": 0,
"pay_status": 2,
"order_count": 2,
"pay_method": 2,
"trade_time": "2020-03-20 18:24:37",
"pay_time": "2020-03-20 18:24:37",
"end_time": "2020-03-20 18:24:37",
"buyer_nick": "test_openapi",
"buyer_message": "test_openapi",
"buyer_email": "test_openapi@gmail.com",
"buyer_area": "test_area",
"receiver_name": "receiver_name",
"receiver_area": "北京 北京市 朝阳区",
"receiver_address": "春天街道春天花园小区1号楼1单元101",
"receiver_zip": "014500",
"receiver_mobile": "15612340987",
"receiver_telno": "02288888888",
"invoice_type": 0,
"invoice_title": "",
"invoice_content": "",
"logistics_type": -1,
"consign_interval": 0,
"delivery_term": 1,
"to_deliver_time": "",
"pay_id": "",
"pay_account": "",
"remark": "",
"remark_flag": 0,
"goods_count": 6,
"receivable": 17.6
}],
[{
"tid": "tid-aqyYHjEldp",
"oid": "tid-aqyYHjEldp-0",
"order_type": 0,
"status": 30,
"refund_status": 0,
"goods_id": "openapi_gid-0",
"spec_id": "openapi_sid-0",
"goods_no": "api_gno-0",
"spec_no": "api_sno-0",
"goods_name": "api_gname-0",
"spec_name": "api_sname-0",
"num": 3,
"price": 2.5,
"adjust_amount": 2,
"refund_amount": "",
"discount": 0.5,
"share_discount": 0.2,
"total_amount": 9,
"cid": "",
"remark": "",
"json": ""
}, {
"tid": "tid-aqyYHjEldp",
"oid": "tid-aqyYHjEldp-1",
"order_type": 0,
"status": 30,
"refund_status": 0,
"goods_id": "openapi_gid-1",
"spec_id": "openapi_sid-1",
"goods_no": "api_gno-1",
"spec_no": "api_sno-1",
"goods_name": "api_gname-1",
"spec_name": "api_sname-1",
"num": 3,
"price": 2.5,
"adjust_amount": 2,
"refund_amount": "",
"discount": 0.5,
"share_discount": 0.2,
"total_amount": 9,
"share_amount": 8.8,
"cid": "",
"remark": "",
"json": ""
}]
]'

6.响应示例

  6.1 正常响应示例 

JSON

{
"status": 0,
"data": {
"chg_count": 0,
"new_count": 1
}
}

   6.2 异常响应示例

JSON
{
"status": 100,
"message": "店铺编号不存在或已停用"
}


常用工具