模擬串接服務 - 後付款更正出貨

經銷商『後付款更正出貨』請求欄位
Id Name Description Type Additional Information
1 agent_uid 經銷商商務代號
string 必填
2 service 服務名稱
string 必填
{ "service_name": "api", "cmd": "api\/afpshipmentupdate" }
JSON格式,AES256加密資料
3 encry_data 『後付款更正出貨』欄位資料 string 必填
『後付款更正出貨』欄位參考
JSON格式,AES256加密資料
特約商店『後付款更正出貨』請求欄位
Id Name Description Type Additional Information
1 store_uid 特約商店商務代號
string 必填
2 service 服務名稱
string 必填
{ "service_name": "api", "cmd": "api\/afpshipmentupdate" }
JSON格式,AES256加密資料
3 encry_data 『後付款更正出貨』欄位資料 string 必填
『後付款更正出貨』欄位參考
JSON格式,AES256加密資料
後付款更正出貨』欄位
Id Name Description Type Additional Information
1 store_uid 特約商店代碼 string
2 key 特約商店驗證碼 string
3 uid 訂單編號(UID) string
4 shipping_info 送貨資訊 (後付款為必填) object 『後付款送貨資訊』欄位參考
後付款更正出貨』回傳欄位
Id Name Description Type Additional Information
1 code 回傳碼 string
2 msg 回傳訊息 string
後付款送貨資訊』欄位
Id Name Description Type Additional Information
1 shipment_type 配送方式 integer 『後付款送貨資訊』值參考
2 company_name 寄送地公司名稱 string
3 department_name 寄送地部門名稱 string
4 name 收貨姓名 string 必填
5 cvs 超商類型(超商店到店必填) integer 『後付款超商取貨』值參考
6 cvs_store 超商店號代碼(超商店到店必填) string
7 cvs_store_name 超商店號名稱(超商店到店必填) string
8 zip_code 收貨郵遞區號(純宅配必填) string
9 ship_address 收貨地址(超商店到店為超商店址) string 必填
10 tel 收貨電話(超商店到店為超商電話) string 必填
後付款送貨資訊』 值內容
Value Description Type Additional Information
2 純宅配 integer
4 超商店到店 integer
後付款超商取貨』 值內容
Value Description Type Additional Information
1 7-11 integer
2 全家 integer
AES256資料加密方式說明

1、所有的API送出HTTPs請求之欄位中,service 和 encry_data 欄位皆進行 AES256+BASE64 加密處理。
2、AES加密,格式為CBC,長度為256bits,金鑰長度32,IV長度16,傳遞內文為加密後組合IV並經過Base64轉換後傳出。

方式:
使用自訂的AES256函式將JSON資料加密後,再將IV資料和此AES256加密後的JSON資料串聯後,使用base64再進行加密成ASCII字串即可完成加密。

    PHP加密示意:
    AesEncrypt -> base64_ecode($IV . $JSON)

    C#加密示意:
    AesEncrypt -> (bytes)IV+(bytes)Json -> toBase64

    Java加密示意:
    AesEncrypt -> (bytes)IV+(bytes)Json -> toBase64

    Node.js加密示意:
    AesEncrypt -> concat([IV,JSON], [IV_SIZE,JSON_SIZE]) -> toString('base64')
    Python加密示意:
    AesEncrypt -> (bytes)IV+(bytes)Json -> base64.b64encode

範例程式碼