BlackCat-Home-Delivery V1.1
黑貓到店流程說明
串接"選擇物流服務API"選擇"黑貓到店物流服務"取得店鋪資料
完善訂單資料後組成JSON字串Post到"建立物流單"API
成功後到"列印黑貓到店API"列印標籤
將商品準備好打電話給黑貓上門取貨開始配送流程
取消自動授權流程圖
BlackCat-To-Store API
網址連結
1. 選擇物流服務
說明
- 使用者在此頁面選擇取貨門市,選擇完畢後回傳門市資訊至帶入的回傳網址
傳遞方式:Http POST method
API URL:/Member/Order/Choselogistics
Request
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
user_account | 商家主帳號 | string | 10 | Y | |
orderno | 訂單編號 | string | 27 | N | |
apicode | 商家api密碼 | string | 30 | Y | 請以TripleDESEncoding加密後傳送附錄 |
Logistic_serviceID | 物流服務ID | string | 2 | Y | 46:黑貓到店(PayNow) |
returnUrl | 回傳網址 | string | 200 | Y | 回傳店號網址 |
Response
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
orderno | 商家訂單編號 | string | 20 | Y | 如有帶入訂單編號則回傳訂單編號 |
service | 物流服務 | string | 2 | Y | 46:黑貓到店(PayNow) |
storeaddress | 店址 | string | 150 | Y | |
storename | 店名 | string | 30 | Y | |
storeid | 店ID | string | 100 | Y |
2. 建立物流訂單
說明
- 建立物流訂單
傳遞方式:Http POST method application/x-www-form-urlencoded
API URL:/api/Orderapi/Add_Order
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
JsonOrder | 物流單資料 | string | Y | 資料組成JSON字串以TripleDESEncoding加密後UrlEncode傳送 附錄 |
JsonOrder Content
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
Description | 單號描述 | string | 50 | N | |
DeliverMode | 取貨是否付款 | string | 2 | Y | 01:取貨付款 02:取貨不付款 若是保險單須為02 |
Logistic_service | 使用的物流服務 | string | 5 | Y | 46:黑貓到店(PayNow) |
user_account | 商家主帳號 | string | 10 | Y | |
apicode | 商家api密碼 | string | 30 | Y | |
OrderNo | 商家訂單編號 | string | 27 | Y | 限英文與數字 |
Receiver_Name | 收件人姓名 | string | 30 | Y | 中文最多10個字、英文20個字 |
Receiver_Phone | 收件人手機 | string | 10 | Y | Ex:0900000001 |
Receiver_Email | 收件人EMAIL | string | 120 | Y | |
Receiver_address | 收件人地址 | string | 120 | Y | 不可包含特殊字符 |
Sender_Name | 寄件人姓名 | string | 20 | Y | 長度限制為30 |
Sender_Phone | 寄件人手機 | string | 10 | Y | 請填空字串 將會自動帶入0900000000 |
Sender_Tel | 寄件人市話 | string | 10 | Y | 請填空字串 將會自動帶入0900000000 |
Sender_Email | 寄件人EMAIL | string | 120 | Y | 如不填入,請填空字串 |
Sender_address | 寄件人地址 | string | 120 | Y | 如不填入,請填空字串(不可包含特殊符號) |
receiver_storeid | 取件店號 | string | 30 | Y | |
return_storeid | 退件店號 | string | 6 | Y | 請填空字串 |
receiver_storename | 取件店名 | string | 100 | Y | |
Remark | 備註 | string | 200 | Y | 如不填入請填空字串 |
PassCode | 傳遞碼 | string | Y | 以下參數值依序組合起來成一段字串(不包含+號) : user_account + OrderNo + TotalAmount + apicode並使用sha-1雜湊函數取得組合字串的雜湊值附錄 | |
TotalAmount | 總金額 | string | 5 | Y | 正整數且金額不可大於20000 |
EC | EC平台 | string | N | ||
Length | 長 | string | 3 | Y | 長+寬+高不可超過105公分 |
Wide | 寬 | string | 3 | Y | 長+寬+高不可超過105公分 |
High | 高 | string | 3 | Y | 長+寬+高不可超過105公分 |
DeliveryType | 保溫層 | string | 6 | Y | 0001:常溫 0002:冷藏 0003:冷凍 |
Receiver_Tel | 收件人市話 | string | 10 | N |
Response
NewOrderReturn Content
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
Status | 狀態 | string | 1 | Y | S:成功 F:失敗 |
LogisticNumber | PayNow物流單號 | string | 20 | Y | |
LogisticService | 物流服務名稱 | string | Y | 物流服務名稱Ex:黑貓店到店(PayNow) | |
LogisticServiceID | 物流服務代碼 | string | 2 | Y | 46:黑貓店到店(PayNow) |
ErrorMsg | 錯誤訊息 | string | Y | 成功則為null | |
paymentno | 物流商貨運編號 | string | Y | 黑貓配送編號 | |
ReturnMsg | 回傳訊息 | string | Y | ||
orderno | 商家訂單編號 | string | 27 | Y | |
validationno | 物流商驗證碼 | string | Y |
Objec Example
Request Object
{
"DeliverMode": "01",
"Description": "範例",
"Logistic_service": "46",
"OrderNo": "123456789",
"Receiver_address": "台北市北投區承德路六段 2 號",
"Receiver_Email": "12345678@gmail.com",
"Receiver_Name": "王 O 明",
"Receiver_Phone": "0912345678",
"Remark": "備註",
"Sender_address": "台北市中山區松江路 207 號 9 樓",
"Sender_Email": "12345678@gmail.com",
"Sender_Name": "李 O 富",
"Sender_Phone": "0912345678",
"Sender_Tel": "0225215088",
"Receiver_Tel":"0225215088",
"apicode": "12345678",
"TotalAmount": "100",
"user_account": "28229955",
"DeliveryType": "0001",
"PassCode": "2FC3805A8BEEC525F2EDF74B75E7FCE83C980856",
"Deadline": "1"
}
Response Object
{
"Status": "S",
"LogisticNumber": "ABCD123456",
"LogisticService": "46",
"LogisticServiceID": "黑貓到店(PayNow)",
"paymentno": "12345678",
"ReturnMsg": "",
"orderno": "12345678",
"ErrorMsg": ""
}
3. 列印黑貓到店(PayNow)
說明
- 列印黑貓店到店(冷凍)物流單
傳遞方式:Http POST method
API URL:/Member/Order/PrintBlackCat711Label
Request
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
LogisticNumbers | Paynow物流單號組成的字串 | string | 20 | Y | Paynow物流單號+底線+物流單子序號 多筆之間用 , 相隔 EX:ABCD0017B21903001221_1, ABCD0017B21903001270_1 |
Response
回傳列印物流標籤畫面
4. 物流貨態回傳
說明
- 商家接收物流貨態,更新貨態時由PayNow傳送訂單貨態資料給商家
傳遞方式:Http Post method
Request
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
orderno | 商家自訂編號 | string | 30 | Y | |
OriginOrderno | 商家原始自訂單號 | string | 27 | Y | |
PayNowLogisticCode | 物流代碼 | string | 4 | Y | |
Detail_Status_Description | 物流狀態描述 | string | Y | ||
paymentno | 物流商託運單號 | string | Y | ||
StoreDate | 到店日期 | string | Y | 若代碼為5000或5001商品實際到店日期 | |
StoreTime | 到店時間 | string | Y | 若代碼為5000或5001商品實際到店時間 |
5. 重新取號
傳遞方式:Http POST method application/x-www-form-urlencoded
API:/api/Orderapi/ReNewOrder
Request
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
JsonOrder | 物流單資料 | string | Y | 以下資料組成Object後轉換JsonString以TripleDESEncoding加密後urlencode傳送附錄 |
Json Content
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
user_account | 商家主帳號 | string | 10 | Y | |
LogisticNumber | Paynow物流單號 | string | 20 | Y | |
sno | 物流單序號 | int | Y | ||
OrderNo | 商家訂單編號 | string | 27 | Y | 商家原始訂單編號 |
TotalAmount | 訂單總金額 | string | Y | ||
apicode | 商家api密碼 | string | 30 | Y | |
PassCode | 傳遞碼 | string | Y | 以下參數值依序組合成一段字串(不包含+號)user_account + OrderNo + TotalAmount + apicode並使用sha-1雜湊函數取得組合字串的雜湊值 附錄 |
Response
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
Status | 狀態 | string | 1 | Y | S:成功 F:失敗 |
LogisticNumber | PayNow物流單號 | string | 20 | Y | |
OrderNo | 商家原始訂單編號 | string | 27 | Y | |
sno | 物流單序號 | int | Y | ||
paynoworderno | 新訂單編號 | string | 30 | Y | 重新取號後新的商家訂單編號 請以此訂單編號作為批次列印 查詢的訂單編號 |
paymentno | 物流商貨運編號 | string | Y | 重新取號後新的物流商貨運編號 | |
ErrorMsg | 錯誤訊息 | string | Y | 成功則為null |
Objec Example
Request Object
{
"LogisticNumber":"ABCD12345678910",
"OrderNo": "12345678",
"apicode": "12345678",
"TotalAmount": "100",
"user_account": "28229955",
"PassCode": "2FC3805A8BEEC525F2EDF74B75E7FCE83C980856",
"sno": "1",
}
Response Object
{
"LogisticNumber":"ABCD0017C11902001484",
"orderno":"test5111040",
"paynoworderno":"test5111040",
"sno":"1",
"paymentno":"E2468594",
"Status":"S",
"ErrorMsg":null
}
6. 設定黑貓資料
說明
- 在 PAYNOW 設定黑貓資料
傳遞方式:Http GET method application/x-www-form-urlencoded
API::/api/BlackCat/Setting_BlackCat
Request
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
SettingJson | Json字串 | string | Y | 以下資料組成Object後轉換JsonString以TripleDESEncoding加密後urlencode傳送附錄 |
Json Content
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
user_account | 商家主帳號 | string | 10 | Y | |
apicode | 商家api密碼 | string | 30 | Y | |
eshopID | 設定契客代號 | string | 30 | Y | 值帶2822995505 |
ftpusername | 黑貓FTP帳號 | string | 30 | N | |
ftppassword | 黑貓FTP密碼 | string | 30 | N | |
IsInsurance | 是否有簽保險 | string | Y | 有簽請帶1, 沒簽帶0如eshopID為2822995505請帶1 | |
Logistic_service | 使用的物流服務 | string | N | 此欄需填46 | |
size | 簽約包裹尺寸 | string | 30 | Y | S60,S90,S120,S150將有簽約的以,相隔 組成字串 Ex: 有簽約 S60 S90 S120即帶:S60,S90,S120 如為 eshopID 為 2822995505 此欄預設為S60,S90,S120,150 |
PassCode | 傳遞碼 | string | Y | 以下參數值依序組合成一段字串(不包含+號)user_account + apicode + 黑貓契客代號 並使用sha-1雜湊函數取得組合字串的雜湊值 附錄 |
Response
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
回傳字串 | string | 成功回傳:S 失敗回傳:F,錯誤訊息 |
7. 查詢物流單(PayNow物流單號)
說明
- 根據PayNow物流單號查詢物流單資訊
傳遞方式:Http GET method
API URL:/api/Orderapi/Get_Order_Info
Request
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
LogisticNumber | PayNow物流單號 | string | 20 | Y | |
sno | 物流單序號 | int | Y | 固定為1 |
Response
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
LogisticNumber | PayNow物流單號 | string | 20 | Y | |
sno | 物流單序號 | string | Y | ||
orderno | 商家訂單編號 | string | 30 | Y | |
Logistic_Serviece | 物流服務 | string | 2 | Y | 46: 黑貓到店 |
Status | 狀態 | string | 1 | Y | 0:成立中訂單 1:無效訂單 |
Delivery_Status | 物流狀態 | string | 2 | Y | 流程狀態描述 |
PayNowLogisticCode | 物流代碼 | string | 4 | Y | PayNow物流代碼 |
Detail_Status_Description | 物流代碼描述 | string | Y | PayNow物流代碼詳細資訊 | |
paymentno | 物流商託運單號 | string | Y | ||
ErrorMsg | 錯誤訊息 | string | Y | Null則為查詢成功 |
Objec Example
Request Object
{
"LogisticNumber":"MIJA0027B22112100002",
"sno":"1",
}
Response Object
{
"LogisticNumber":"MIJA002FR22112156425",
"orderno":"211215145423",
"Logistic_Serviece":"24",
"Status":"0",
"Delivery_Status":"等待寄件",
"PayNowLogisticCode":"0000",
"Detail_Status_Description":"等待寄件",
"sno":"1",
"ErrorMsg":null,
"paymentno":"11000094930"
}
8. 查詢物流單(商家訂單編號)
說明
- 查詢物流單(商家訂單編號)
傳遞方式:Http GET method
API URL:/api/Orderapi/Get_Order_Info_orderno
Request
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
orderno | 商家訂單編號 | string | 30 | Y | |
user_account | 商家主帳號 | string | 10 | Y | |
sno | 物流單序號 | int | Y | 固定為1 |
Response
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
LogisticNumber | PayNow物流單號 | string | 20 | Y | |
sno | 物流單序號 | string | Y | ||
orderno | 商家訂單編號 | string | 30 | Y | |
Logistic_Serviece | 物流服務 | string | 2 | Y | 46: 黑貓到店 |
Status | 狀態 | string | 1 | Y | 0:成立中訂單 1:無效訂單 |
Delivery_Status | 物流狀態 | string | 2 | Y | 流程狀態描述 |
PayNowLogisticCode | 物流代碼 | string | 4 | Y | PayNow物流代碼 |
Detail_Status_Description | 物流代碼描述 | string | Y | PayNow物流代碼詳細資訊 | |
paymentno | 物流商託運單號 | string | Y | ||
ErrorMsg | 錯誤訊息 | string | Y | Null則為查詢成功 |
Objec Example
Request Object
{
"orderno":"1630206584255",
"user_account":"28229955",
"sno":"1",
}
Response Object
{
"LogisticNumber":"MIJA002FR22112156425",
"orderno":"211215145423",
"Logistic_Serviece":"24",
"Status":"0",
"Delivery_Status":"等待寄件",
"PayNowLogisticCode":"0000",
"Detail_Status_Description":"等待寄件",
"sno":"1",
"ErrorMsg":null,
"paymentno":"11000094930"
}
9. 查詢黑貓材積
說明
- 查詢目前商家申請的材積
傳遞方式:Http POST method application/x-www-form-urlencoded
API:/api/BlackCat/GetBlackCatVolume
Request
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
user_account | 商家主帳號 | string | 10 | Y | |
sonid | 商家分店代號 | string | 3 | Y | |
Logistic_Serviece | 物流服務 | string | 2 | Y | 46:黑貓到店(PayNow) |
Response
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
純字串 | string | 成功時回傳商家有使用的尺寸字串以,相隔 EX: S60,S90,S120失敗時回傳 錯誤訊息 |
10. 查詢黑貓材積(api密碼)
說明
- 查詢目前商家申請的材積
傳遞方式:Http POST method application/x-www-form-urlencoded
API:/api/BlackCat/QueryBlackCatVolume
Request
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
user_account | 商家主帳號 | string | 10 | Y | |
apicode | 商家api密碼 | string | 30 | Y | 請以TripleDESEncoding加密後傳送附錄 |
Logistic_Serviece | 物流服務 | string | 2 | Y | 46:黑貓到店(PayNow) |
Response
參數 | 名稱 | 型態 | 長度 | 必須 | 備註 |
---|---|---|---|---|---|
純字串 | string | 成功時回傳商家有使用的尺寸字串以,相隔 EX: S60,S90,S120失敗時回傳 錯誤訊息 |
貨態代碼流變動程
貨態代碼流變動程 |
---|
一般出貨流程(成功取件) |
4500-> 5500-> 5000 -> 8500 |
一般出貨流程(退貨成功) |
4500-> 5500-> 5000->6002->8520->5520->5500-> 8600 |