商品管理 / 新增商品

應用場景

特店於電子票券服務中,可透過本 API 建立新的票券商品,設定商品名稱、商品面額等基本資訊,並可同時指定該商品可於哪些門市(特店)進行核銷(AuthorizeList),以及設定消費者於使用票券前應知悉的使用須知或注意事項(InstructionsList)。此設計適用於連鎖品牌總部統一建立票券商品、再授權旗下多間分店核銷的情境,亦可依商品類型附加不同的使用說明內容,滿足多店點、多商品類型的票券發行與管理需求。

API 介接網址

  • 測試環境:https://ecticket-stage.ecpay.com.tw/api/Ticket/Addproducts
  • 正式環境:https://ecticket.ecpay.com.tw/api/Ticket/Addproducts

HTTPS傳輸協定

  • Accept:text/html
  • Content Type:application/json
  • HTTP Method:POST

特店Request參數說明(JSON格式)

PlatformID String(10)
平台商編號

平台商在綠界的會員編號 [MerchantID]

MerchantID String(10)
特店編號 必填

RqHeader Object
傳輸資料 必填

Timestamp Number
傳入時間 必填

請將傳輸時間轉換為時間戳(GMT+8),綠界會利用此參數將當下的時間轉為Unix TimeStamp來驗證此次介接的時間區間。

❗ 注意事項:

  • 驗證時間區間暫訂為10分鐘內有效,若超過此驗證時間則此次訂單將無法建立,參考資料:http://www.epochconverter.com/。
  • 合作特店須進行主機「時間校正」,避免主機產生時差,延伸API無法正常運作。

ProductImg String
商品圖片

  • 商品圖片的 Base64 編碼字串,請先將商品圖片轉換為 Base64 格式後傳入
  • 格式:JPEG/JPG/PNG,大小 ≤ 5MB,建議尺寸 800×800px

Data Object
加密資料 必填

CheckMacValue String
驗證碼 必填

請參考附錄檢查碼機制進行計算

特店Request參數範例(JSON格式)

				
					{
    "PlatformID": "3002599",
    "MerchantID": "2000132",
    "RqHeader": {
        "Timestamp": 1525168923
    },
    "ProductImg":"Base64字串",
    "Data": "…",
    "CheckMacValue": "…"
}

				
			

Data參數說明(Json格式)

❗ 注意事項:請在加密前對參數值進行 URLEncode

MerchantID String(10)
特店編號 必填

MerchantProductNo String(13)
廠商貨號 必填

  • 限1~13碼英數字

TicketType String(1)
票券類型 必填

  • 1:提貨券
  • 2:贈品券

ItemName String(20)
商品名稱 必填

  • 長度需為 4~20 個字
  • 僅接受中文、半形英文字母及半形數字;英文單字間如需分隔,請使用底線(_),不接受空白字元

ItemAmount Int
商品面額 必填

依票券類型(TicketType)不同,此參數須符合以下規範:

  • 提貨券:須為大於 0 的整數,且最多 9 位數。
  • 贈品券:固定傳入 0。

AuthorizeList Array[Object]
權限設定列表

❗ 注意事項:

  • 權限設定列表為可選參數,若不帶入,則商品將無任何核銷/退貨權限設定,僅能由商品建立者核銷/退貨。
  • 若有帶入 AuthorizeList,則物件內的 Type 與 StoreIDs 皆為必填欄位。

Type String(1)
權限類型 必填

  • 1:跨店核銷權限
  • 2:分店核銷權限
  • 3:分店退貨權限

StoreIDs Array[String]
特店編號列表 必填

依 Type 傳入對應的編號:

  • Type = 1(可跨店核銷):請傳入會員編號(MID)
  • Type = 2(可核銷分店):請傳入分店編號
  • Type = 3(可退貨分店):請傳入分店編號

InstructionsList Array[Object]
使用說明列表 必填

IssueType String(1)
發行類型 必填

  • 2:紙本票券
  • 3:電子票券

Description String(100)
使用說明內容 必填

  1. 依 IssueType 不同,有以下限制:
    • IssueType = 2(紙本票券):每項內容長度上限 50 字元,最多 10 項,至少需傳入 1 項。
    • IssueType = 3(電子票券):每項內容長度上限 100 字元,最多 6 項,至少需傳入 1 項。
  2. 共同限制:內容不得包含全形英文字母及全形數字。
  •  

Data加密前資料範例(JSON格式)

				
					{
  "MerchantID":"2000132",
  "MerchantProductNo": "A123456789012",
  "TicketType":"1",
  "ItemName":"商品名稱",
  "ItemAmount":100,
  "AuthorizeList":[
     {"Type":"1","StoreIDs":[2000132,2000133]},
     {"Type":"2","StoreIDs":[1234567,1234568]},
     {"Type":"3","StoreIDs":[1234567]}
  ],
  "InstructionsList":[
     {"IssueType":"2","Description":"請於有效期限內使用"},
     {"IssueType":"2","Description":"此票券僅限於指定門市使用"}
  ]
}
				
			

特店Response參數說明(JSON格式)

PlatformID String(10)
平台商編號

平台商在綠界的會員編號 [MerchantID]

MerchantID String(10)
特店編號

特店編號

RpHeader Object
回傳資料

Timestamp Number
回傳時間 

時間戳 Unix timestamp

TransCode Int
回傳代碼 

1 代表 API 傳輸資料 (PlatformID, MerchantID, RqHeader, Data) 接收成功,實際的API執行結果狀態請參考 RtnCode 參數

TransMsg String(200)
回傳訊息 

Data String
加密資料 

此參數為加密過的 JSON 格式資料。加密方法說明

CheckMacValue String
檢查碼

請參考附錄檢查碼機制進行計算

綠界Response參數範例 (Json格式)

				
					{
    "PlatformID": "3002599",
    "MerchantID": "2000132",
    "RpHeader": {
        "Timestamp": 1525169058
    },
    "TransCode": 1,
    "TransMsg": "",
    "Data": "…",
    "CheckMacValue": "…"  
}

				
			

Data參數說明(Json格式)

RtnCode Int
回應代碼

1為成功,其餘為失敗

RtnMsg String(200)
回應訊息

ProductNo String(8)
商品編號

MerchantProductNo String(13)
廠商貨號

Data加密前資料範例(JSON格式)

				
					{
  "RtnCode":1,
  "RtnMsg":"成功",
  "ProductNo":"20240001",
  "MerchantProductNo":"A123456789012"
}
				
			

❗ 注意事項:

  1. 商品新增成功後,狀態預設為「上架」,可透過「修改商品資訊」API 調整上架/下架狀態。
  2. 新增成功後回傳 ProductNo,後續修改商品、查詢商品狀態皆以此為識別。

Copyright © Green World FinTech Service Co., Ltd. All rights reserved.

綠界官方網站