模擬串接服務 - 查詢發行商票券

經銷商『查詢發行商票券』請求欄位
Id Name Description Type Additional Information
1 agent_uid 經銷商商務代號
string 必填
2 service 服務名稱
string 必填
{ "service_name": "api", "cmd": "api\/voucherdatainquirer" }
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\/voucherdatainquirer" }
JSON格式,AES256加密資料
3 encry_data 『查詢發行商票券』欄位資料 string 必填
『查詢發行商票券』欄位參考
JSON格式,AES256加密資料
查詢發行商票券』欄位
Id Name Description Type Additional Information
1 issuance_uid 委託發行商商務代號 string 必填
2 type 查詢類型 int 必填
『查詢發行商票券』值參考
3 product_ids 查詢之票券產品編號
如果未指定,則回傳全部票券
array
查詢發行商票券』回傳欄位
Id Name Description Type Additional Information
1 code 執行狀態碼 string 『票券執行狀態碼』值參考
2 msg 執行狀態訊息 string
3 content 查詢到的票券產品編號 array 每筆『發行商票券資訊』欄位參考
查詢發行商票券』 值內容
Value Description Type Additional Information
1 指定票券產品編號(預設) integer
2 只有上架票券 integer
3 所有票券 integer
票券執行狀態碼』 值內容
Value Description Type Additional Information
100 資料不正確 string
400 系統錯誤 string
B200 執行成功 string
B500 執行失敗 string
發行商票券資訊』欄位
Id Name Description Type Additional Information
1 area_type 適用區域類型 integer 『適用區域類型』值參考
2 product_id 票券產品編號 string
3 is_paid 票券價值類型 integer 『票券價值類型』值參考
4 detail object 『單店券資訊』欄位參考
『通用券資訊』欄位參考
『區域券資訊』欄位參考
適用區域類型』 值內容
Value Description Type Additional Information
1 單店券(預設) integer
2 通用券 integer
3 區域券 integer
票券價值類型』 值內容
Value Description Type Additional Information
1 有償 integer
0 無償 integer
單店券資訊』欄位
Id Name Description Type Additional Information
1 is_on 上下架狀態 integer 『票券上下架狀態』值參考
2 is_gift 是否可轉贈 integer 『票券是否可轉贈』值參考
3 material_code 委託發行商的商品料號 string
4 product_name 票券名稱 string
5 product_description 票券產品敘述 string
6 declaration 宣告內容 string
7 store_uid 可核銷特約商店商務代號 string
通用券資訊』欄位
Id Name Description Type Additional Information
1 is_on 上下架狀態 integer 『票券上下架狀態』值參考
2 is_gift 是否可轉贈 integer 『票券是否可轉贈』值參考
3 material_code 委託發行商的商品料號 string
4 product_name 票券名稱 string
5 product_description 票券產品敘述 string
6 declaration 宣告內容 string
區域券資訊』欄位
Id Name Description Type Additional Information
1 is_on 上下架狀態 integer 『票券上下架狀態』值參考
2 is_gift 是否可轉贈 integer 『票券是否可轉贈』值參考
3 material_code 委託發行商的商品料號 string
4 product_name 票券名稱 string
5 product_description 票券產品敘述 string
6 declaration 宣告內容 string
7 used_name 群體名稱 string
8 store_uids 可核銷特約商店商務代號 array
票券上下架狀態』 值內容
Value Description Type Additional Information
1 上架(預設) integer
0 下架 integer
票券是否可轉贈』 值內容
Value Description Type Additional Information
1 可轉贈(預設) integer
0 不可轉贈 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

範例程式碼