API开放平台
v8.0
开放平台( Open Platform)是基于业务系统的开放平台,提供外部合作伙伴及用户产品信息、订单信息、包裹计费、包裹查询等信息,用户可以方便的集成到网站或系统,实现信息无缝对接。
如何使用
1
|
首先您需要拥有系统账号 |
2
|
进入用户中心启用自定义API服务,获取秘钥 |
3
|
API服务请求的地址(网址替换当前页面域名): "http://网址/webservice/APIWebService.asmx" |
授权
-
第一步
使用API需要到用户中心申请,系统生成秘钥,秘钥可停用或更换
-
第二步
API只能调用自己账户的信息
功能
API用户授权类型
需要
创建客户
- 应用场景:客户注册
- 函数名称:AddCustomers(参数(键值对形式))
- 返回:JSON
输入参数
字段 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
CnName |
String |
必须 |
|
用户名 |
591888888@qq.com |
Email |
String |
必须 |
|
Email |
591888888@qq.com |
CusPsw |
String |
必须 |
|
密码 |
******* |
Phone |
String |
非必须 |
|
联系方式 |
15963333000 |
Mobile |
String |
非必须 |
|
联系方式 |
0755-1010101 |
Country |
String |
非必须 |
|
国家 |
中国 |
Province |
String |
非必须 |
|
省份/州 |
广东省 |
City |
String |
非必须 |
|
城市 |
深圳市 |
Zipcode |
String |
非必须 |
|
邮编 |
518000 |
Address1 |
String |
非必须 |
|
地址 |
|
QQMSN |
String |
非必须 |
|
通讯方式 |
|
C_Name |
String |
非必须 |
|
公司名 |
|
返回结果
字段 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
success |
bool |
必须 |
|
返回成功与否 |
true |
result |
String |
|
|
成功返回 |
用户注册成功 |
error |
String |
|
|
失败返回失败原因 |
用户注册Email(用户名不能为空) |
CusCode |
String |
|
|
成功返回 |
用户客户编码 |
Key |
String |
|
|
成功返回 |
用户秘钥 |
错误码
名称 |
类型 |
是否必须 |
示例值 |
描述 |
success |
Boolean |
否 |
true |
true表示提交成功 |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://{网址}/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
.webservice p=new .webservice();
string result = p.AddCustomers(参数(键值对形式对应));
返回示例
{ "success":"true","result":"用户注册成功","error":"","CusCode":"10043","Key":"8cea63a6-f2d3-4274-8c0e-8599c687e73b10043"}
获取国家名称
- 应用场景:查询所支持的邮寄国家
- 函数名称:getCountry(secretkey)
- 提交参数:secretkey(API密钥)
- 授权:需要
- 返回:JSON
输入参数
字段 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
Secretkey |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
返回结果
字段 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
ShortName |
String |
必须 |
|
国家简写 |
AF |
EnName |
String |
必须 |
|
国家英文名称 |
Afghanistan |
Cnname |
String |
必须 |
|
国家中文名称 |
阿富汗 |
Base_placeId |
String |
必须 |
|
国家编码 |
20 |
错误码
名称 |
类型 |
是否必须 |
示例值 |
描述 |
complete |
Boolean |
否 |
true |
true表示提交成功 |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址,网址替换成当前系统域名:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p.getCountry(secretkey);
[{"ShortName":"AF","EnName":"Afghanistan","Cnname":"\u963F\u5BCC\u6C57","Base_placeId":"20"}]
查询支持的服务
- 应用场景:获取有效的运输方式列表(中文名,英文名,代码,时效,图标)
- 函数名称:getChannel(secretkey)
- 提交参数:secretkey(API密钥)
- 授权:需要
- 返回:JSON
输入参数
字段 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
Secretkey |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
返回结果
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
Base_ChannelInfoID |
String |
必须 |
|
渠道代码 |
46 |
ChannelCode |
String |
必须 |
|
运输编码 |
CNDHL |
CnName |
String |
必须 |
|
运输中文名称 |
大陆DHL普货价 |
EnName |
String |
必须 |
|
运输英文名称 |
CNDHL |
RefTime |
String |
必须 |
|
时效 |
2 - 4 |
ShortenImage |
String |
可选 |
|
运输图标 |
635195880046832907_dhl.gif |
错误码
名称 |
类型 |
是否必须 |
示例值 |
描述 |
complete |
Boolean |
否 |
true |
表示提交是否成功 |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p.getChannel (secretkey);
[{"base_Channelinfoid":"46","ChannelCode":"CNDHL","CnName":"\u5927\u9646DHL\u666E\u8D27\u4EF7","enname":"CNDHL","reftime":"2 - 4","shortenimage":"635195880046832907_dhl.gif"}
运费查询
- 应用场景:通过国家和重量及体积获取各运输方式价格(运输方式中文名CHCnName、英文名CHEnName、服务代码ChannelCode、时效RefTime、图标、总费用MinSaleAmountTotal)
- 函数名称:getFeeByCWV(string country,stringweight,stringvolume,stringcustomerid, string secretkey)
- 如果可以识别账户得的是折扣后总费用
- 提交参数:country(国家ID), weight(重量), volume(体积), customerid(客户ID),scretkey(密钥)
- 授权:需要
- 返回:JSON
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
country |
String |
必须 |
|
目的地国家ID |
221 |
Weight |
String |
必须 |
|
重量 |
0.25 |
Volume |
String |
必须 |
|
体积 |
0.25 |
Customer ID |
String |
必须 |
|
客户ID |
10000 |
Identifier |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
返回结果
名称 |
类型 |
返回值 |
描述 |
CHCnName |
string |
香港邮政航空大包 |
服务中文名 |
CHEnName |
string |
HKBPOST |
服务英文名 |
ChannelCode |
string |
HKBPOST |
渠道代码 |
RefTime |
string |
7 - 14 |
参考时效 |
MinSaleAmountTotal |
string |
109.740 |
总金额(RMB) |
错误码
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p.getFeeByCWV(country,weight, volume,stringcustomerid, secretkey);
[{"CHCnName":"\u9999\u6E2F\u90AE\u653F\u822A\u7A7A\u5927\u5305","CHEnName":"HKBPOST","ChannelCode":"HKBPOST","RefTime":"7 - 14","MinSaleAmountTotal":"200.620"}
运费查询2.0
- 应用场景:通过国家和重量及体积获取各运输方式价格(运输方式中文名CHCnName、英文名CHEnName、服务代码ChannelCode、时效RefTime、图标、总费用MinSaleAmountTotal)
- 函数名称:getFeeByCWV(string country,stringweight,stringvolume,stringcustomerid, string secretkey)
- 如果可以识别账户得的是折扣后总费用
- 提交参数:ServiceType(查询类型),Storehouse(为仓储时的仓库ID),BillingLatitude(计费方式),Billing(邮编或省份),country(国家ID), weight(重量), volume(体积), customerid(客户ID),scretkey(密钥)
- 授权:需要
- 返回:JSON
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
ServiceType |
String |
必须 |
|
类型 |
为仓储1还是转运0 |
Storehouse |
String |
必须 |
|
仓储ID |
例221 |
BillingLatitude |
String |
必须 |
|
计费方式 |
国家0 邮编1 省份2 |
Billing |
String |
必须 |
|
邮编或省份 |
例:40001或广州省 |
country |
String |
必须 |
|
目的地国家ID |
221 |
Weight |
String |
必须 |
|
重量 |
0.25 |
Volume |
String |
必须 |
|
体积 |
0.25 |
Customer ID |
String |
必须 |
|
客户ID |
10000 |
Identifier |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
返回结果
名称 |
类型 |
返回值 |
描述 |
CHCnName |
string |
香港邮政航空大包 |
服务中文名 |
CHEnName |
string |
HKBPOST |
服务英文名 |
ChannelCode |
string |
HKBPOST |
渠道代码 |
RefTime |
string |
7 - 14 |
参考时效 |
MinSaleAmountTotal |
string |
109.740 |
总金额(RMB) |
错误码
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p.getFeeByCWVCode(ServiceType,Storehouse,BillingLatitude,Billing,country,weight, volume,stringcustomerid, secretkey);
[{"CHCnName":"\u9999\u6E2F\u90AE\u653F\u822A\u7A7A\u5927\u5305","CHEnName":"HKBPOST","ChannelCode":"HKBPOST","RefTime":"7 - 14","MinSaleAmountTotal":"200.620"}
订单信息查询
- 应用场景:通过订单号或跟踪号获取(订单状态、总费用、订单号、跟踪号、转单号)
- 函数名称:getPackage(string orderNo,stringcustomerid, string secretkey)
- 提交参数:strwhere(订单号或跟踪号), customerid(客户ID),scretkey(密钥)
- 授权:需要
- 返回:JSON
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
OrderNo |
String |
必须 |
|
订单号 |
R100001407290002
|
CustomerId |
String |
必须 |
|
客户编号 |
10000 |
SecretKey |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
Remark |
String |
可选
|
|
备注 |
Null |
返回结果
名称 |
类型 |
返回值 |
描述 |
OrderNo |
String |
R100001407290002 |
订单号 |
TrackingNo |
String |
RS12345678910 |
跟踪号 |
field1 |
String |
17215154036266959 |
转单号 |
OrderStatus |
String |
6 |
订单状态1 |
OrderStatus2 |
String |
已发货 |
订单状态2 |
TotalAmount |
String |
6027.250 |
总费用 |
EnName |
String |
Albania |
收件人国家英文名 |
ChannelCode |
String |
GBPOST |
渠道代码 |
错误码
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p.getPackage(orderNO, string customerid, secretkey);
[{"OrderNo":"R100001411160002","TrackingNo":"DDU1371690781102767","field1":"","OrderStatus2":"\u5DF2\u53D1\u8D27","TotalAmount":"26.500","ChannelCode":"GBPOST","EnName":"Argentina","OrderStatus":"6"}]
创建产品
- 应用场景:用户可以通过API建立订单信息到系统中
- 请求的地址:
"http://网址/webservice/APIWebService.asmx"
- 授权:需要
- 输入参数:如下"SKU:asd,GoodsCode:sdf,EnName:sdf,CnName:sdf,Remark:sdf,Price:2,Weight:2,Length:2,Width:2,High:2,CustomcCode:123123,ProducingArea:123,ExpectNum:1,Brand:1,GoodsStatus:1;"
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
Secretkey |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
SKU |
String |
必须 |
|
SKU |
SKUtest |
GoodsCode |
String |
必须 |
|
条码 |
SKUtest |
EnName |
String |
必须 |
|
产品英文名 |
pen |
CnName |
String |
必须 |
|
产品中文名 |
铅笔 |
Price |
String |
必须 |
|
产品价值 |
2.0 |
Weight |
String |
必须 |
|
重量 |
2.0 |
Length |
String |
必须 |
|
长 |
2 |
Width |
String |
必须 |
|
宽 |
2 |
High |
String |
必须 |
|
高 |
2 |
CustomcCode |
String |
|
|
海关编码 |
5180000 |
ProducingArea |
String |
|
|
原产地 |
CN |
GoodsStatus |
String |
必须 |
|
状态1启用0禁用 |
1 |
Brand |
String |
|
|
品牌 |
ppp |
ExpectNum |
String |
|
|
库存预警数量 |
1 |
返回结果
名称 |
类型 |
是否必须 |
示例值 |
描述 |
complete |
Boolean |
否 |
True |
表示提交是否成功
|
返回示例
描述 |
示例 |
提交成功 |
"{\"flag\": \"success\", \"message\": \"" + "产品新建成功" + "\"}" |
错误码
错误码 |
错误描述 |
解决方案 |
|
"{\"flag\": \"failure\", \"message\": \"" + "失败原因" + "\"}"/td>
| 根据提示请输入正确的数据 |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p. InsertGoods(GFF_CustomerID, strorderproduct, secretkey);
strorderproduct JSON格式
创建入库单
- 应用场景:用户可以通过API建立入库单信息到系统中
- 请求的地址:
"http://网址/webservice/APIWebService.asmx"
- 授权:需要
- 输入参数:如下"{
"ASNMain": {
"ASNDetail": [{
"GFF_GoodsID": "cxl001",
"ShouldQuantity": 100,
"Carton_Number": 1,
"Field11": "ZP;"
}, {
"GFF_GoodsID": "cxl002",
"ShouldQuantity": 200,
"Carton_Number": 1,
"Field11": "ZP;"
}],
"DeliveryStyle": "2",
"WaybillNumber": "",
"warehouseCode": "931",
"EnchaseNum": 1,
"ReachStartTime": "",
"ReachEndTime": "",
"Field2": "OJY20180330000002",
"Style": "CGRK",
"ReferenceNo": "KJTH20180403000001",
"ODR_OrderMainID": ""
}
}"
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
Secretkey |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
SKU |
String |
必须 |
|
GFF_GoodsID |
aiyou13 |
ShouldQuantity |
int |
必须 |
|
数量 |
1 |
Carton_Number |
int |
必须 |
|
箱数 |
1 |
Field11 |
String |
必须 |
|
产品类型 |
ZP |
DeliveryStyle |
String |
必须 |
|
运输方式 |
1 Express delivery(快递) 2 Their delivery(自行送货) |
WaybillNumber |
String |
必须 |
|
快递单号 |
259874152001 |
warehouseCode |
String |
必须 |
|
仓储ID |
可通过接口获取也可联系WMS提供 |
EnchaseNum |
int |
必须 |
|
箱数 |
2 |
ReachStartTime |
String |
|
|
开始时间 |
|
ReachEndTime |
String |
|
|
结束时间 |
|
Field2 |
String |
|
|
平台单号 |
|
Style |
String |
必须 |
|
类型 |
CGRK=采购入库;DBRK=调拨入库;THRK=退货入库; |
ReferenceNo |
String |
|
|
参考号 |
KJTH20180403000001 |
ODR_OrderMainID |
String |
|
|
订单ID 退货入库必须 |
351126 |
返回结果
名称 |
类型 |
是否必须 |
示例值 |
描述 |
complete |
Boolean |
否 |
True |
表示提交是否成功
|
返回示例
描述 |
示例 |
提交成功 |
"{\"flag\": \"success\", \"message\":""}" |
错误码
错误码 |
错误描述 |
解决方案 |
|
"{\"flag\": \"failure\", \"message\": \"" + "失败原因" + "\"}"/td>
| 根据提示请输入正确的数据 |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p. Create_ASNMain(ASNMain, Userid, Key);
ASNMain JSON格式
入库单信息查询
- 应用场景:通过订单号或跟踪号获取(订单状态、总费用、订单号、跟踪号、转单号)
- 函数名称:getASNNOInfo(string ASNNumber,string customerid, string secretkey)
- 提交参数:ASNNumber(入库单号), customerid(客户ID),scretkey(密钥)
- 授权:需要
- 返回:JSON
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
OrderNo |
String |
必须 |
|
入库单号 |
A100001810170003
|
CustomerId |
String |
必须 |
|
客户编号 |
10000 |
SecretKey |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
返回结果
名称 |
类型 |
返回值 |
描述 |
ASNNumber |
String |
A100001810170003 |
入库单号 |
FullName |
String |
**仓 |
仓库名称 |
ReferenceNo |
String |
17215154036266959 |
参考号 |
CreateTime |
String |
2018-10-24 10:10:55 |
创建时间 |
sumSKU |
int |
10 |
SKU种类数 |
totall |
int |
100 |
总数量 |
OKQty |
String |
90 |
合格数量 |
FQty |
String |
10 |
不合格数量 |
错误码
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p.getASNNOInfo(ASNNumber, customerid, secretkey);
[{"ASNNumber":"A100001808080001","CreateTime":"2018-08-08 09:26:04","ReferenceNo":"I0000980014276","sumSKU":"1","totall":"10","OKQty":"10","FQty":"0","FullName":"\u7F8E\u56FD\u4ED3"}]
创建订单
- 应用场景:用户可以通过API建立订单信息到系统中
- 请求的地址:
"http://网址/webservice/APIWebService.asmx"
- 授权:需要
- 输入参数:如下
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
Secretkey |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
OrderType |
String |
必须 |
|
订单类型(仓储订单或普通订购单)仓储订单为1,普通订单为2 |
2 |
CustomID |
String |
必须 |
|
客户ID |
10000 |
ConsigneeName |
String |
必须 |
|
收件人名称 |
lemon |
Consignee Country |
String |
必须 |
|
收件人国家 |
221 |
Shipping service |
String |
必须 |
|
运输方式(渠道) |
91 |
State |
String |
必须 |
|
州 |
Vlaams Brabant |
City |
String |
必须 |
|
城市 |
Londerzeel |
Order Status |
String |
必须 |
|
订单状态--(草稿=1),(确认=3) |
1 |
Address1 |
String |
必须 |
|
收件人地址行 1 |
United States,,,MN.USA |
Address2 |
String |
可选 |
|
收件人地址行 2 |
United States,,,MN.USA |
CsRefNo |
String |
可选 |
|
客户参考号 |
1122 |
Zipcode |
String |
可选 |
|
邮编 |
2134342 |
Contact |
String |
可选 |
|
联系方式 |
180344345665 |
CusRemark |
String |
可选 |
|
客户订单备注 |
Null |
TrackingNo |
String |
可选 |
|
跟踪号 |
RT209114500HK |
OrderNo |
String |
可选 |
|
新增订单留空,更新订单填写订单号 |
R100001411160002 |
MaterialRefNo |
String |
必须 |
|
物品1 产品编号 |
SKU1 |
MaterialQuantity |
String |
必须 |
|
物品1 数量 |
10 |
Price |
String |
必须 |
|
物品1 单位价值(美元) |
10.2 |
Weight |
String |
必须 |
|
物品1 重量(KG) |
10 |
Product English name |
String |
必须 |
|
物品1 产品英文名 |
MP31232 |
Warehouse ID |
String |
必须 |
|
物品1 仓储ID |
302,可使用仓储信息查询api获取 |
ProducingArea |
String |
可选 |
|
物品1 原产地 |
|
MaterialRefNo |
String |
必须 |
|
物品2 产品编号 |
A0002 |
MaterialQuantity |
String |
必须 |
|
物品2 数量 |
100 |
Price |
String |
必须 |
|
物品2 单位价值 |
10.2 |
Weight |
String |
必须 |
|
物品2 重量 |
10 |
Product English name |
String |
必须 |
|
物品2 产品英文名 |
MP31232 |
Warehouse ID |
String |
必须 |
|
物品2 仓储ID |
302 |
ProducingArea |
String |
可选 |
|
物品2 原产地 |
|
...... |
...... |
...... |
...... |
...... |
...... |
返回结果
名称 |
类型 |
是否必须 |
示例值 |
描述 |
complete |
Boolean |
否 |
True |
表示提交是否成功
输出参数提交后返回系统生成的订单号加返回的提示信息,订单号和提示信息用'-'隔开,如果错误返回错误编码信息
返回成功的示列直接返回字符串:订单保存并提交成功!-DL140887(追踪号);R100001409100028(订单号)注:有追踪号返回追踪号,没有追踪号不返回,订单号必返回
返回错误信息实例:保存失败,请检查数据录入项是否有误!收件人国家错误!系统匹配不到相应的收件人国家
订单新建成功,预报成功结果实例:订单保存并提交成功!-DL140887(追踪号);R100001409100028(订单号)预报结果:预报:1条记录!,成功预报1条记录
订单新建成功,预报失败结果实例:订单保存并提交成功!-DL140887(追踪号);R100001409100028(订单号)预报结果:预报失败的订单号:R100001409090003错误信息:订单验证错误,错误信息为【商品重量不能为0】 |
返回示例
描述 |
示例 |
订单保存并提交成功 |
R100001411160002 |
错误码
错误码 |
错误描述 |
解决方案 |
|
保存失败,请检查数据录入项是否有误!! |
根据提示请输入正确的数据 |
API示例工具
提交实例
.NET提交实例参数
- 主信息:string strorderinfo = "Style:1;GFF_CustomerID:10000;GFF_ReceiveSendAddressID:;ConsigneeName:Ameerahmed;Country:84;Base_ChannelInfoID:UPS;State:Paris;
City:Paris;OrderStatus:1;Address1:144 rue de rennes;Address2:;CsRefNo:D4N3YZMJ69LI;
Zipcode:75006;Contact:+33643052323;CusRemark:;TrackingNo:;";
- 明细信息:string strorderproduct = "MaterialRefNo:VB40021,MaterialQuantity:1,Price:27.5,Weight:0.2,EnName:Handheld Massager,WarehouseID:931,ProducingArea:112,CnName:,;
MaterialRefNo:VB40021,MaterialQuantity:1,Price:27.5,Weight:0.2,EnName:Handheld Massager,WarehouseID:931,ProducingArea:112,CnName:,;";
- string stradd = "";(不要传NULL 传空)
- 密钥:string key = "ca0c0b19-4d8c-46b2-b91b-10fb3b44da9f10000";
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p. InsertUpdateOrder(strorderinfo, strorderproduct, stradd, secretkey);
JAVA提交实例
- String endpoint=" http://网址/webservice/APIWebService.asmx";
try{ //创建一个服务(service)调用(call)
Service service=new Service();
Call call= (Call) service.createCall();//通过service创建call对象
//设置service所在URL
call.setTargetEndpointAddress(new java.net.URL(endpoint)); //这个就是传参数的变量,也就是NET方面的参数,一定不要带错了
call.addParameter(new QName(" http://tempuri.org/","strorderinfo"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(" http://tempuri.org/","strorderproduct"),org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(" http://tempuri.org/","stradd"),
org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(" http://tempuri.org/","secretkey"),
org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.setOperationName(new QName(" http://tempuri.org/","InsertUpdateOrder"));//方法名
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
call.setUseSOAPAction(true);
call.setSOAPActionURI(" http://tempuri.org/InsertUpdateOrder");
- 主信息:string strorderinfo = "Style:1;GFF_CustomerID:10000;GFF_ReceiveSendAddressID:;ConsigneeName:Ameerahmed;Country:84;Base_ChannelInfoID:UPS;State:Paris;
City:Paris;OrderStatus:1;Address1:144 rue de rennes;Address2:;CsRefNo:D4N3YZMJ69LI;
Zipcode:75006;Contact:+33643052323;CusRemark:;TrackingNo:;";
- 明细信息:string strorderproduct = "MaterialRefNo:VB40021,MaterialQuantity:1,Price:27.5,Weight:0.2,EnName:Handheld Massager,WarehouseID:931,ProducingArea:112,CnName:,;
MaterialRefNo:VB40021,MaterialQuantity:1,Price:27.5,Weight:0.2,EnName:Handheld Massager,WarehouseID:931,ProducingArea:112,CnName:,;";
- string stradd = "";(不要传NULL 传空)
- String a = (String) call.invoke(new Object[] { strorderinfo,strorderproduct,"","d0fc2606-611f-443a-aea2-aa209673a32c10000"});
System.out.println("--------"+a); } catch (ServiceException e) { e.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); }
订单保存并提交成功!-R100001501190004
创建订单2.0
- 应用场景:用户可以通过API建立订单信息到系统中
- 请求的地址:
"http://网址/webservice/APIWebService.asmx"
- 授权:需要
- 输入参数:如下
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
Secretkey |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
strorderinfo |
String |
必须 |
|
订单信息 |
参数如下(JSON格式) |
strorderinfo订单信息参数 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
Style |
String |
必须 |
|
订单类型(仓储订单或普通订购单)仓储订单为1,普通订单为2 |
2 |
CustomerID |
String |
必须 |
|
客户ID |
10000 |
ChannelInfoID |
String |
必须 |
|
渠道 |
ups |
ShipToName |
String |
必须 |
|
收件人名称 |
lemon |
ShipToPhoneNumber |
String |
可选 |
|
联系方式 |
180344345665 |
ShipToCountry |
String |
必须 |
|
收件人国家 |
US |
ShipToState |
String |
必须 |
|
州 |
Vlaams Brabant |
ShipToCity |
String |
必须 |
|
城市 |
Londerzeel |
ShipToAdress1 |
String |
必须 |
|
收件人地址行 1 |
United States,,,MN.USA |
ShipToAdress2 |
String |
可选 |
|
收件人地址行 2 |
United States,,,MN.USA |
ShipToZipCode |
String |
可选 |
|
邮编 |
2134342 |
ShipToCompanyName |
String |
可选 |
|
收件人公司 |
xx公司 |
OrderStatus |
String |
必须 |
|
订单状态--(草稿=1),(确认=3) |
1 |
TrackingNo |
String |
可选 |
|
跟踪号 |
RT209114500HK |
CusRemark |
String |
可选 |
|
客户订单备注 |
Null |
CODType |
String |
可选 |
|
COD类型 |
0 |
CODMoney |
String |
可选 |
|
COD金额 |
120 |
IDCardNo |
String |
可选 |
|
身份证 |
420621199102147874 |
CsRefNo |
String |
可选 |
|
客户参考号 |
1122 |
WarehouseId |
String |
可选 |
|
仓储订单所需的仓储ID(可以通过接口获得) |
589 |
Products |
String |
必须 |
|
产品信息 |
参数如下 |
产品信息参数 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
SKU |
String |
必须 |
|
物品SKU |
SKU1 |
EnName |
String |
必须 |
|
物品1 产品英文名 |
MP31232 |
CnName |
String |
必须 |
|
物品1 产品中文名 |
MP31232 |
MaterialQuantity |
String |
必须 |
|
物品1 数量 |
10 |
Weight |
String |
必须 |
|
物品1 重量(KG) |
10 |
Price |
String |
必须 |
|
物品1 单位价值(美元) |
10.2 |
ProducingArea |
String |
必须(可空) |
|
物品1 原产地 |
|
HSCode |
String |
必须(可空) |
|
物品海关编码 |
000000 |
返回结果
名称 |
类型 |
是否必须 |
示例值 |
描述 |
返回信息 |
string |
是 |
success |
success表示提交成功
"{ "success":"success","Info":"订单保存并提交成功!","CsRefNo":" 2018001002 ","OrderNo":" M100001411160002 ","TrackingNo":"RT209114500HK","Enmessage":""}";
|
返回信息 |
string |
是 |
failure |
failure表示提交失败
{ "success":"failure","Info":"客户参考号重复!存在的订单号:M100000001383295 客户参考号:5137020688824157","Enmessage":"fails"}
|
提交实例
.NET提交实例参数
- secretkey = "a2a1163e-a94b-4117-af04-0ad4ec5b3aa410000";
- strorderinfo 示例
{
"Style": 2,
"CustomerID": "10000",
"ChannelInfoID": "ups",
"ShipToName": "Dawei Liu",
"ShipToPhoneNumber": "8919266766",
"ShipToCountry": "US",
"ShipToState": "NewYork oblast",
"ShipToCity": "Livenskiy rayon",
"ShipToAdress1": "Dubki , rabochaya 13/3",
"ShipToAdress2": "",
"ShipToZipCode": "12345",
"ShipToCompanyName": "Express",
"RecipientEmail": "",
"OrderStatus": 3,
"TrackingNo": "",
"CusRemark": "",
"CODType": 0,
"CODMoney": 0,
"IDCardNo": "",
"CsRefNo": "5137020688824157",
"WarehouseId": "",
"Products": [{
"SKU": "0110700",
"EnName": "Other",
"CnName": "手机壳",
"MaterialQuantity": 1,
"Weight": 0.1,
"Price": 5.00,
"ProducingArea": "CN",
"HSCode": "000000"
}, {
"SKU": "0110701",
"EnName": "Other",
"CnName": "手机壳2",
"MaterialQuantity": 1,
"Weight": 0.1,
"Price": 5.00,
"ProducingArea": "CN",
"HSCode": "000000"
}]
}
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p.AddorUpdateOrders(strorderinfo,secretkey);
JAVA提交实例
- String endpoint=" http://网址/webservice/APIWebService.asmx";
try{ //创建一个服务(service)调用(call)
Service service=new Service();
Call call= (Call) service.createCall();//通过service创建call对象
//设置service所在URL
call.setTargetEndpointAddress(new java.net.URL(endpoint)); //这个就是传参数的变量,也就是NET方面的参数,一定不要带错了
call.addParameter(new QName(" http://tempuri.org/","strorderinfo"), org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.addParameter(new QName(" http://tempuri.org/","secretkey"),
org.apache.axis.encoding.XMLType.XSD_STRING, javax.xml.rpc.ParameterMode.IN);
call.setOperationName(new QName(" http://tempuri.org/","AddorUpdateOrders"));//方法名
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
call.setUseSOAPAction(true);
call.setSOAPActionURI(" http://tempuri.org/AddorUpdateOrders");
- secretkey = "a2a1163e-a94b-4117-af04-0ad4ec5b3aa410000";
strorderinfo = {
"Style": 2,
"CustomerID": "10000",
"ChannelInfoID": "ups",
"ShipToName": "Dawei Liu",
"ShipToPhoneNumber": "8919266766",
"ShipToCountry": "US",
"ShipToState": "NewYork oblast",
"ShipToCity": "Livenskiy rayon",
"ShipToAdress1": "Dubki , rabochaya 13/3",
"ShipToAdress2": "",
"ShipToZipCode": "12345",
"ShipToCompanyName": "Express",
"RecipientEmail": "",
"OrderStatus": 3,
"TrackingNo": "",
"CusRemark": "",
"CODType": 0,
"CODMoney": 0,
"IDCardNo": "",
"CsRefNo": "5137020688824157",
"WarehouseId": "",
"Products": [{
"SKU": "0110700",
"EnName": "Other",
"CnName": "手机壳",
"MaterialQuantity": 1,
"Weight": 0.1,
"Price": 5.00,
"ProducingArea": "CN",
"HSCode": "000000"
}, {
"SKU": "0110701",
"EnName": "Other",
"CnName": "手机壳2",
"MaterialQuantity": 1,
"Weight": 0.1,
"Price": 5.00,
"ProducingArea": "CN",
"HSCode": "000000"
}]
}
- String a = (String) call.invoke(new Object[] { strorderinfo,"d0fc2606-611f-443a-aea2-aa209673a32c10000"});
System.out.println("--------"+a); } catch (ServiceException e) { e.printStackTrace(); } catch (MalformedURLException e) { e.printStackTrace(); }
"{ "success":"success","Info":"订单保存并提交成功!","CsRefNo":" 2018001002 ","OrderNo":" M100001411160002 ","TrackingNo":"RT209114500HK","Enmessage":""}"
查询产品库存
- 应用场景:用户可以通过API查询SKU/条形码的存储信息。
- 需要授权,请到用户中心申请key.
- 请求的地址:
"http://网址/webservice/APIWebService.asmx/getStock"
- 输入参数:如下
- 授权:需要
- 返回:Json
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
skuorcode |
String |
必须 |
|
SKU/条形码 |
A00001 |
customerid |
String |
必须 |
|
用户 id |
10000 |
Secretkey |
String |
必须 |
|
密钥 --identifier |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
WarehouseName |
String |
必须 |
|
请使用获取仓储信息功能查看仓储代码 |
302 |
返回结果
名称 |
返回值 |
描述 |
OutinQuantity |
820 |
库存数量 |
Stock |
6 |
占用数量 |
CnName |
MP31243 112\uFF0C |
产品中文名 |
EnName |
MP31 |
产品英文名 |
错误码
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址
:"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
string result = p. getStock (skuorcode, customerid, secretkey, WarehouseName);
例如:p.getStock(S4-ACHEB, 80003,2acd2496-78f8-4eac-ba9c-fd152c2fb41e80003,302)
[{"OutinQuantity":"8662","Stock":"6","CnName":"MP31243 112\uFF0C","EnName":"MP31"},{"OutinQuantity":"1","Stock":"1","CnName":"MP31243 112\uFF0C","EnName":"MP31"}]
包裹追踪信息
- 应用场景:用户可以通过API查询订单追踪信息.
- 请求的地址:
"http://网址/webservice/APIWebService.asmx/getOrder_Track"
- 输入参数:Orderid(订单号,追踪号)
- 输出参数:返回json字符串
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
Order number/Tracking number |
String |
必须 |
|
订单号/快递单号 |
R100001411160002 |
返回结果
名称 |
返回值 |
系统单号 |
OrderNo |
运单号 |
TrackingNo |
转单号 |
TurnNo |
派送状态 |
DeliveryStatus |
目的地 |
Destination |
派送内容 |
SHENZHEN - CHINA:交运发往目的地(Departed Facility) |
时间 |
2014-11-16 16:19:55 |
错误码
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址。假设为:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据。
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p. getOrder_Track("R807521408070065")
描述( Describe) 最后投递时间(the last delivery time)
SHENZHEN - CHINA:交运发往目的地(Departed Facility) 2014-11-16 16:32:09
SHENZHEN - CHINA:收取包裹(Shipment picked up) 2014-11-16 16:19:55
返回例子:{
"OrderNo": "M100000000327645",
"TrackingNo": "472787677400",
"TurnNo": "472787677400",
"DeliveryStatus": "",
"Destination": "LOS ANGELES",
"data": [
{
"DetailDesc": "[荆州市] [松滋]的派件已签收 感谢使用中通快递,期待再次为您服务!",
"OccurTime": "2018-01-02 14:46:44"
},
{
"DetailDesc": "[金华市] 快件离开 [义乌中转部]已发往[金华中转部]",
"OccurTime": "2017-12-31 22:36:20"
},
{
"DetailDesc": "[金华市] 快件到达 [义乌中转部]",
"OccurTime": "2017-12-31 22:02:26"
},
{
"DetailDesc": "[金华市] 快件离开 [义乌青口]已发往[荆州中转部]",
"OccurTime": "2017-12-31 18:01:06"
},
{
"DetailDesc": "[金华市] [义乌青口]的义乌青口中通已收件 电话:85319001",
"OccurTime": "2017-12-31 17:21:20"
},
{
"DetailDesc": "到达转运中心(The waybill is at the transfer center)",
"OccurTime": "2017-11-20 14:56:56"
},
{
"DetailDesc": "创建运单(Create a waybill)",
"OccurTime": "2017-11-14 17:36:06"
}
]
}
打印标签
- 应用场景:用户可以通过API获取面单
- 请求的地址:
"http://网址/webservice/APIWebService.asmx"
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
OrderNo |
String |
必须 |
|
单号(系统单号或者运单号) |
M100000001383256 |
Types |
String |
必须 |
|
面单类型(0为热敏 1为A4) |
0 |
Secretkey |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
返回结果
名称 |
返回值 |
success |
false/true |
error |
错误信息 |
OrderNo |
M100000001383256 |
PDF |
https://wms.do2do.com/pdf/20180912093924.pdf |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址。假设为:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据。
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p.Get_PDFs(OrderNo,Types,secretkey);
获取仓储信息
- 应用场景:用户可以通过API获取仓储信息
- 请求的地址:
"http://网址/webservice/APIWebService.asmx"
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
Secretkey |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
返回结果
名称 |
返回值 |
SZWH-深圳西丽仓 |
仓储名称 |
302 |
仓储ID |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址。假设为:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据。
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p. GetWarehouse();//返回字符串
302:SZWH-深圳西丽仓;381:GZWH广州仓储;382:HKWH-香港仓储;457:深圳VIP仓储
查询入库费用
- 应用场景:用户可以通过API建立订单信息到系统中
- 请求的地址:
"http://网址/webservice/APIWebService.asmx"
- 授权:需要
- 输入参数:如下""
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
Storage |
String |
必须 |
|
仓储ID |
获取仓储接口可以获取 |
weight |
String |
必须 |
|
重量 |
2.5 |
volume |
String |
必须 |
|
体积 |
1000 |
customerid |
String |
必须 |
|
客户ID |
10000 |
Secretkey |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
返回结果
名称 |
类型 |
是否必须 |
示例值 |
描述 |
success |
Boolean |
否 |
success |
表示提交成功
|
TotalFee |
|
|
11 |
总费用
|
WeightFee |
|
|
1 |
重量费用
|
VolumeFee |
|
|
10 |
体积费用
|
返回示例
描述 |
示例 |
提交成功 |
{ "success":"success","result":"","TotalFee":"11","WeightFee":"1","VolumeFee":"10"} |
错误码
错误码 |
错误描述 |
解决方案 |
|
此仓库ID不存在WMS系统中 |
根据提示请输入正确的数据 |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p.WarehousingFee(Storage,weight,volume,customerid,secretkey);
查询仓租费用
- 应用场景:用户可以通过API建立订单信息到系统中
- 请求的地址:
"http://网址/webservice/APIWebService.asmx"
- 授权:需要
- 输入参数:如下""
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
Storage |
String |
必须 |
|
仓储ID |
获取仓储接口可以获取 |
volume |
String |
必须 |
|
体积 |
10 |
quantity |
String |
必须 |
|
商品数量 |
20 |
species |
String |
必须 |
|
商品种类 |
2 |
customerid |
String |
必须 |
|
客户ID |
10000 |
Secretkey |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
返回结果
名称 |
类型 |
是否必须 |
示例值 |
描述 |
success |
Boolean |
否 |
success |
表示提交成功
|
TotalFee |
|
|
11 |
总费用
|
CBMPrice |
|
|
1 |
体积单价
|
CBMPrices |
|
|
10 |
体积费用
|
SKUPrice |
|
|
1 |
SKU种类单价
|
SKUPrices |
|
|
10 |
SKU种类费用
|
ProductQtyPrice |
|
|
1 |
SKU数量单价
|
ProductQtyPrices |
|
|
10 |
SKU数量费用
|
返回示例
描述 |
示例 |
提交成功 |
{ "success":"success","result":"","TotalFee":"11","WeightFee":"1","VolumeFee":"10"} |
错误码
错误码 |
错误描述 |
解决方案 |
failure |
此仓库ID不存在WMS系统中 |
根据提示请输入正确的数据 |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p.StorageCharges(Storage,volume,quantity,species,customerid,secretkey);
获取仓储处理费用
- 应用场景:用户可以通过API建立订单信息到系统中
- 请求的地址:
"http://网址/webservice/APIWebService.asmx"
- 授权:需要
- 输入参数:如下"SKU:SKUTEST,Weight:2,quantity:3;"
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
Storage |
String |
必须 |
|
仓储ID |
API获取仓储信息可获取 |
customerid |
String |
必须 |
|
客户ID |
10000 |
Secretkey |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
product |
String |
必须 |
|
产品信息 |
SKU:SKUTEST,Weight:2,quantity:3; |
Type |
String |
|
|
|
2 |
返回结果
名称 |
类型 |
是否必须 |
示例值 |
描述 |
complete |
Boolean |
否 |
success |
表示提交是否成功
|
返回示例
描述 |
示例 |
提交成功 |
"{ \"success\":\"success\",\"result\":\"" + "失败原因" + "\",\"TotalFee\":\"10.0\"}" |
错误码
错误码 |
错误描述 |
解决方案 |
|
"{\"success\": \"failure\", \"result\": \"" + "失败原因" + "\"}"/td>
| 根据提示请输入正确的数据 |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p. HandlingFee(Storage,product,customerid,secretkey,Type);
strorderproduct 格式:SKU:SKUTEST,Weight:2,quantity:3;
获取增值服务信息
- 应用场景:用户可以通过API获取仓储信息
- 请求的地址:
"http://网址/webservice/APIWebService.asmx"
输入参数
名称 |
类型 |
是否必须 |
默认值 |
说明 |
示例 |
Secretkey |
String |
必须 |
|
密钥 |
d0fc2606-611f-443a-aea2-aa209673a32c10000 |
返回结果
名称 |
返回值 |
ID |
|
增值服务名称 |
FullName |
单价 |
UnitPrice |
API示例工具
示例
.NET 示例
- 第一步:在你建好的asp.net项目中,添加web引用,输入提供的API服务地址。假设为:
"http://网址/webservice/APIWebService.asmx"
- 第二步:初始化,再调用方法,即可获取到数据。
mzl.apiwebservice p=new mzl.apiwebservice();
string result = p.getValueAdded(Key);//返回