接口地(dì)址:https://wmsdev.boudata.com/tss/wms/edi/sku
請求方式:POST
請求編碼:UTF-8
請求參數:
名稱 | 說(shuō)明(míng) | 備注 |
---|---|---|
uName | 對(duì)接賬号 | |
timestamp | 當前時(shí)間(jiān)戳 | 格式:2018-12-12 12:12:12 |
params | JSON字符串 | sku數組的(de)JSON格式數據,例: [ {"code": "001", "name": "xxx1", "barcode": "001"......}, {"code": "002", "name": "xxx2", "barcode": "002"......}, ...... ] 具體(tǐ)見下(xià)面sku字段說(shuō)明(míng) |
uSign | 簽名 | MD5(uToken + timestamp),其中uToken為(wèi)秘鑰;timestamp為(wèi)時(shí)間(jiān)戳,有(yǒu)效期3分鐘(zhōng) |
sku字段說(shuō)明(míng):
名稱 | 編碼 | 類型 | 必填 | 示例 |
---|---|---|---|---|
貨品編碼 | code | 字符串 | 是 | 要求唯一 |
貨品名稱 | name | 字符串 | 是 | |
貨品條碼 | barcode | 字符串 | 是 | |
貨主 | owner | 字符串 | 貨主編碼或名稱 | |
規格(型号) | guige | 字符串 | 600ml/瓶 | |
包裝單位 | uom | 字符串 | 瓶 | |
大類 | category | 字符串 | ||
品牌 | brand | 字符串 | ||
進價 | price | 數字 | ||
售價 | price2 | 數字 | ||
保質期 | shelflife | 數字 | ||
安全庫存 | safety_qty | 數字 | ||
ABC分類 | abc | 字符串 | ||
自(zì)定義1 | udf1 | 字符串 | ||
自(zì)定義2 | udf2 | 字符串 | ||
自(zì)定義3 | udf3 | 字符串 | ||
自(zì)定義4 | udf4 | 字符串 | ||
備注 | remark | 字符串 |
示例:
響應結果:
{ "code": 100, "message": "success" }
接口地(dì)址:https://wmsdev.boudata.com/tss/wms/edi/asn
請求方式:POST
請求編碼:UTF-8
請求參數:
名稱 | 說(shuō)明(míng) | 備注 |
---|---|---|
uName | 對(duì)接賬号 | |
timestamp | 當前時(shí)間(jiān)戳 | 格式:2018-12-12 12:12:12 |
params | JSON字符串 | JSON字符串,具體(tǐ)見下(xià)面params格式說(shuō)明(míng) |
uSign | 簽名 | MD5(uToken + timestamp),其中uToken為(wèi)秘鑰;timestamp為(wèi)時(shí)間(jiān)戳,有(yǒu)效期3分鐘(zhōng) |
params格式說(shuō)明(míng):
名稱 | 編碼 | 類型 | 必填 | 示例 |
---|---|---|---|---|
入庫單号 | code | 字符串 | 是 | ASN191027001 |
倉庫 | warehouse | 字符串 | 倉庫編碼或名稱,為(wèi)空則默認取第一個(gè)倉庫 | |
貨主 | owner | 字符串 | 貨主編碼或名稱 | |
下(xià)單日(rì)期 | asnday | 字符串 | 是 | 2019-10-27 |
入庫類型 | type | 字符串 | 是 | 普通(tōng)入庫 |
供貨方 | supplier | 字符串 | 18767166333 | |
備注 | remark | 字符串 | ||
自(zì)定義1 | udf1 | 字符串 | ||
自(zì)定義2 | udf2 | 字符串 | ||
自(zì)定義3 | udf3 | 字符串 | ||
自(zì)定義4 | udf4 | 字符串 | ||
入庫明(míng)細 | items | json | 是 | 參考下(xià)面表格出庫詳情 |
入庫明(míng)細(items)字段說(shuō)明(míng):
名稱 | 編碼 | 類型 | 必填 | 示例 |
---|---|---|---|---|
貨品編号 | code | 字符串 | 是 | 貨品編碼,非條碼 |
貨品名稱 | name | 字符串 | 否 | |
入庫數量 | qty | 數字 | 是 | 要求為(wèi)數字,支持小(xiǎo)數 |
單價 | price | 數字 | ||
金(jīn)額 | money | 數字 | ||
生(shēng)産日(rì)期 | createdate | 日(rì)期 | yyyy-MM-dd | |
過期日(rì)期 | expiredate | 日(rì)期 | yyyy-MM-dd | |
貨品狀态 | invstatus | 字符串 | ||
裝箱量 | pack_qty | 字符串 | ||
批次1 | lotatt01 | 字符串 | ||
批次2 | lotatt02 | 字符串 | ||
批次3 | lotatt03 | 字符串 | ||
批次4 | lotatt04 | 字符串 |
示例:
響應結果:
{ "code": 100, "message": "success" }
接口地(dì)址:https://wmsdev.boudata.com/tss/wms/edi/order
請求方式:POST
請求編碼:UTF-8
請求參數:
名稱 | 說(shuō)明(míng) | 備注 |
---|---|---|
uName | 對(duì)接賬号 | |
timestamp | 當前時(shí)間(jiān)戳 | 格式:2018-12-12 12:12:12 |
params | JSON字符串 | JSON字符串,具體(tǐ)見下(xià)面params格式說(shuō)明(míng) |
uSign | 簽名 | MD5(uToken + timestamp),其中uToken為(wèi)秘鑰;timestamp為(wèi)時(shí)間(jiān)戳,有(yǒu)效期3分鐘(zhōng) |
params格式說(shuō)明(míng):
名稱 | 編碼 | 類型 | 必填 | 示例 |
---|---|---|---|---|
出庫單号 | code | 字符串 | 是 | O191027001 |
倉庫 | warehouse | 字符串 | 倉庫編碼或名稱,為(wèi)空則默認取第一個(gè)倉庫 | |
貨主 | owner | 字符串 | 貨主編碼或名稱 | |
下(xià)單日(rì)期 | orderday | 字符串 | 是 | 2019-10-27 |
出庫類型 | type | 字符串 | 銷售出庫 | |
收件(jiàn)人(rén) | d_receiver | 字符串 | 是 | 李四 |
收件(jiàn)人(rén)電(diàn)話(huà) | d_mobile | 字符串 | 是 | 18767166333 |
收件(jiàn)省份 | d_province | 字符串 | 江蘇省 | |
收件(jiàn)市(shì) | d_city | 字符串 | 揚州市(shì) | |
收件(jiàn)區(qū) | d_district | 字符串 | 白鹭區(qū) | |
收件(jiàn)地(dì)址 | d_addr | 字符串 | 是 | xx小(xiǎo)區(qū)x幢 |
備注 | remark | 字符串 | ||
自(zì)定義1 | udf1 | 字符串 | ||
自(zì)定義2 | udf2 | 字符串 | ||
自(zì)定義3 | udf3 | 字符串 | ||
自(zì)定義4 | udf4 | 字符串 | ||
出庫明(míng)細 | items | json | 是 | 參考下(xià)面表格出庫詳情 |
出庫明(míng)細(items)字段說(shuō)明(míng):
名稱 | 編碼 | 類型 | 必填 | 示例 |
---|---|---|---|---|
貨品編号 | code | 字符串 | 是 | 貨品編碼,非條碼 |
貨品名稱 | name | 字符串 | 否 | |
出庫數量 | qty | 數字 | 是 | 要求為(wèi)數字,支持小(xiǎo)數 |
單價 | price | 數字 | ||
金(jīn)額 | money | 數字 | ||
生(shēng)産日(rì)期 | createdate | 日(rì)期 | yyyy-MM-dd | |
過期日(rì)期 | expiredate | 日(rì)期 | yyyy-MM-dd | |
貨品狀态 | invstatus | 字符串 | ||
裝箱量 | pack_qty | 字符串 | ||
批次1 | lotatt01 | 字符串 | ||
批次2 | lotatt02 | 字符串 | ||
批次3 | lotatt03 | 字符串 | ||
批次4 | lotatt04 | 字符串 |
示例:
響應結果:
{ "code": 100, "message": "success" }
接口地(dì)址:https://wmsdev.boudata.com/tss/wms/edi/order/cancel
請求方式:POST
請求編碼:UTF-8
請求參數:
名稱 | 說(shuō)明(míng) | 備注 |
---|---|---|
uName | 對(duì)接賬号 | |
timestamp | 當前時(shí)間(jiān)戳 | 格式:2018-12-12 12:12:12 |
code | 出庫單号 | |
reason | 取消原因 | |
uSign | 簽名 | MD5(uToken + timestamp),其中uToken為(wèi)秘鑰;timestamp為(wèi)時(shí)間(jiān)戳,有(yǒu)效期3分鐘(zhōng) |
示例:
響應結果:
{ "code": 100, "message": "success" }
接口地(dì)址:https://wmsdev.boudata.com/tss/wms/edi/asn/cancel
請求方式:POST
請求編碼:UTF-8
請求參數:
名稱 | 說(shuō)明(míng) | 備注 |
---|---|---|
uName | 對(duì)接賬号 | |
timestamp | 當前時(shí)間(jiān)戳 | 格式:2018-12-12 12:12:12 |
code | 出庫單号 | |
reason | 取消原因 | |
uSign | 簽名 | MD5(uToken + timestamp),其中uToken為(wèi)秘鑰;timestamp為(wèi)時(shí)間(jiān)戳,有(yǒu)效期3分鐘(zhōng) |
示例:
響應結果:
{ "code": 100, "message": "success" }
反饋方式:接收方提供結果接收接口地(dì)址,維護在WMS系統中,WMS推送反饋結果後,接收方通(tōng)過WMS提供的(de)uToken驗簽
請求方式:POST
請求編碼:UTF-8
請求參數:
名稱 | 說(shuō)明(míng) | 備注 |
---|---|---|
uName | 對(duì)接賬号 | |
timestamp | 當前時(shí)間(jiān)戳 | 格式:2018-12-12 12:12:12 |
uSign | 簽名 | MD5(uToken + timestamp),其中uToken為(wèi)秘鑰;timestamp為(wèi)時(shí)間(jiān)戳 |
method | 字符串 | asn.confirm:入庫單反饋;order.confirm:出庫單反饋 |
params | JSON字符串 | JSON字符串,具體(tǐ)見下(xià)面params格式說(shuō)明(míng) |
入庫反饋params格式說(shuō)明(míng):
名稱 | 編碼 | 類型 | 必填 | 示例 |
---|---|---|---|---|
入庫單号 | code | 字符串 | 是 | ASN191027001 |
入庫日(rì)期 | indate | 日(rì)期 | 是 | yyyy-MM-dd HH:mm:ss |
貨主 | owner | 字符串 | 是 | 貨主編碼 |
倉庫 | warehouse | 字符串 | 是 | 倉庫編碼 |
入庫狀态 | status | 字符串 | 是 | 已完成、關閉 |
反饋信息 | msg | 字符串 | 否 | 當入庫失敗時(shí),會将入庫單中的(de)備注返回 |
入庫明(míng)細 | items | json | 是 | 返回json數組 |
入庫明(míng)細(items)字段說(shuō)明(míng):
名稱 | 編碼 | 類型 | 必填 | 示例 |
---|---|---|---|---|
ID | id | 數字 | 是 | 明(míng)細唯一ID |
貨物(wù)名稱 | skuname | 字符串 | 是 | sku名稱 |
貨物(wù)編碼 | skucode | 字符串 | 是 | sku編碼 |
貨物(wù)條碼 | barcode | 字符串 | 否 | sku條碼 |
貨物(wù)數量 | qty | 數字 | 是 | 理(lǐ)論入庫數量 |
入庫數量 | qtyActual | 數字 | 否 | 實際入庫數量 |
生(shēng)産日(rì)期 | createdate | 日(rì)期 | 否 | yyyy-MM-dd HH:mm:ss |
過期日(rì)期 | expiredate | 日(rì)期 | 否 | yyyy-MM-dd HH:mm:ss |
出庫反饋params格式說(shuō)明(míng):
名稱 | 編碼 | 類型 | 必填 | 示例 |
---|---|---|---|---|
出庫單号 | code | 字符串 | 是 | O191027001 |
出庫日(rì)期 | outdate | 日(rì)期 | 是 | yyyy-MM-dd HH:mm:ss |
貨主 | owner | 字符串 | 是 | 貨主編碼 |
倉庫 | warehouse | 字符串 | 是 | 倉庫編碼 |
入庫狀态 | status | 字符串 | 是 | 已完成、關閉 |
承運商名稱 | carrier | 字符串 | 否 | 順豐速運 |
運單号 | logisticscode | JSON數組 | 是 | 運單号可能會有(yǒu)多個(gè),["ZTO123","ZTO124"] |
反饋信息 | msg | 字符串 | 否 | 當出庫失敗時(shí),會将出庫單中的(de)備注返回 |
響應結果:當接收方成功接收到信息,需要返回成功響應,code需要為(wèi)100,WMS接收到成功響應後,代表此單反饋完成;若接收方返回的(de)code非100或者無返回信息,則代表接收失敗,WMS會定時(shí)重試,響應示例如下(xià)
成功:{ "code": 100, "message": "success" }
失敗:{ "code": 500, "message": "此處可返回失敗原因" }
/* 參數大緻格式: { code: 'xxx', warehouse: '倉庫編碼或名稱', owner: '貨主編碼或名稱', orderday: '2020-02-02', d_receiver, d_mobile, d_addr, udfx, remark, items: [ {code: 'sxx1', qty: 100, lotattx: 'xxx'....}, {code: 'sxx2', qty: 200, lotattx: 'xxx'....} ] } */ public void pushOrder() { JSONObject ov = new JSONObject(); ov.put("code", "O191027001"); ov.put("warehouse", "W002"); ov.put("owner", "O001"); ov.put("orderday", "2024-01-01 22:13:46"); ov.put("d_receiver", "李四"); ov.put("d_mobile", "18767166333"); ov.put("d_province", "北京市(shì)"); ov.put("d_city", "北京市(shì)"); ov.put("d_district", "東城(chéng)區(qū)"); ov.put("d_addr", "中關村(cūn)119号"); ov.put("remark", "請盡快安排出庫"); JSONArray items = new JSONArray(); JSONObject item1 = new JSONObject(); item1.put("code", "S001"); item1.put("name", "農(nóng)夫山泉(560ml*24)"); item1.put("qty", 96); items.put(item1); JSONObject item2 = new JSONObject(); item2.put("code", "S002"); item2.put("name", "鴻茅藥酒(360ml*16)"); item2.put("qty", 32); items.put(item2); ov.put("items", items); PostMethod postMethod = new PostMethod("https://wmsdev.boudata.com/tss/wms/edi/order"); postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); postMethod.setParameter("params", ov.toString()); postMethod.setParameter("uName", uName); String time = DateUtil.formatCare2Second(new Date()); postMethod.setParameter("timestamp", time); postMethod.setParameter("uSign", InfoEncoder.string2MD5(uToken + time)); // 必要工(gōng)具:MD5加密方法,此處為(wèi)自(zì)有(yǒu)方法 InfoEncoder.string2MD5 HttpClient httpClient = new HttpClient(); httpClient.executeMethod(postMethod); String responseBody = postMethod.getResponseBodyAsString(); System.out.println(responseBody); } 以上(shàng)示例代碼依賴的(de)jar包: <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20180130</version> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.1</version> </dependency>
響應結果:
響應code及含義: 100 成功 101 參數錯(cuò)誤 102 重複請求 503 簽名為(wèi)空 504 時(shí)間(jiān)戳無效 505 驗簽失敗 506 令牌驗證失敗 555 接口內(nèi)部異常