English
Pass2U 票務宝服務API規格書

Pass2U票務宝服務提供相關API,擔任第三方處理電子票券票務的程式銜接,內容包含:建立訂單、訂單明細查詢以及訂單退票處理。
1.2.0
版本編號
2016年07月15日
更新時間
平台技術
  • RESTful API,利用HTTPS連線以JSON格式交換資料
  • 運行於穩定安全的 AWS雲端服務
  • 符合支付卡產業資料安全標準(Payment Card Industry Data Security Standard; PCI DSS)
使用說明
開始使用API前,請確認以下準備事項是否完成 :
  • 註冊一組Pass2U帳號,向Pass2U申請為銷售通路帳號並確認該帳號已被合作的票券發行商之Pass2U帳號核准使用票務宝服務。
  • 請與您的票劵服務供應商確認是否已授權您販售票劵。通過授權後,您將會收到使用票務宝服務的Email,內含使用API的相關銜接資訊,並配合您Pass2U帳號管理底下的API Key開始進行技術串接。
  • 使用票務宝服務API前,請確認您已於Pass2U帳號上,設定您使用API的伺服器IP位置。一個Pass2U帳號,可以設定一個服務器IP位址使用API。
建立訂單交易內容規格 (Generate an order API)

此API提供您透過Pass2U票務宝產生票劵,並回傳相關票劵資訊。
URL Structure
POST to https://www.pass2u.net/api/v1/public/product/generate/
HTTP Request Headers
Accept application/json
Content-Type application/json
Authorization {API_Key}
HTTP Request Body
以下範例是如何傳送JSON payload進行取票。
{
	   "productSaleId":"02955ccca3352ef0734a4aecc9f86083",
	   "channelOrderId":"P00001",
	   "mailTo":"kan@gmail.com",
	   "quantity":2,
	   "pickupType":"voucher"
	}
參數名稱 是否必填 參數說明
productSaleId 此為您於商品銷售通知信中所取得的銷售活動序號,也是取得票券的唯一識別碼,例如 : 02955ccca3352ef0734a4aecc9f86083
channelOrderId 此為您自己針對此訂單交易的內部識別碼,例如訂單編號。Pass2U會記錄此識別碼,作為您之後查詢訂單紀錄的依據。
mailTo 您可以指定一個Email,Pass2U將於訂單建立成功後,幫您寄送一封訂單的通知信到該Email。若不需要則無須帶入欄位值。
quantity 此此筆交易要產生的票劵數量,票劵數量將與票劵發行商授權您取得的數量有關。
pickupType Pass2U 提供兩種取票方式:指定 order 則需輸入回傳之認證碼方可取得該訂單內的票券;指定 voucher 則可直接取得單張票券無須進行驗證流程。
HTTP Reponse Body
以下範例為API呼叫成功的回傳值範例。
假設 pickupType 選擇 voucher:
{
	   "pass2uOrderId":"123932ewxrtg",
	   "productSaleId":"02955ccca3352ef0734a4aecc9f86083",
	   "channelOrderId":"P100001",
	   "mailTo":"kan@gmail.com",
	   "expriationDate":"2015-03-15T13:00:00+08:00",
	   "createdTime":"2015-03-15T13:00:00+08:00",
	   "vouchers": [{
			"barcodeMessage": "123456789",
			"status":"notPickedup",
			"statusUpdateTime":"2015-03-15T13:00:00+08:00",
			"voucherUrl":"https://pass2u.net/v/76545678765?t=234566543&token=gadjfiaoefaksdfasdffd"
	   }]
	}
參數名稱 參數說明
pass2uOrderId 此為 Pass2U 票務宝本次交易,成功產生訂單後的唯一識別碼,建議您進行儲存,以便之後可用此識別碼查詢該訂單交易內容。
productSaleId 此為您於商品銷售通知信中所取得的銷售活動序號,也是取得票券的唯一識別碼,例如 : 02955ccca3352ef0734a4aecc9f86083
channelOrderId 此為您自己針對此取票交易的內部識別碼,例如訂單編號。Pass2U此識別碼,作為您之後查詢取票紀錄的依據。
mailTo 若您呼叫取票交易時,有指定通知信寄送的Email,將會回傳此欄位資料。
expirationDate 該商品票券的使用期限將依據您與服務供應商所協議的使用期限為計算,當到達逾期日期時,該票券將無法被核銷成功。
createdTime 此為Pass2U票務宝已成功建立該筆訂單交易之時間。
barcodeMessage 此為產生該張票券時所指定的條碼內容,即是商家實際核銷的條碼內容。
status 此為該張票券目前查詢結果的使用狀態,您可以依據此狀態進行票務上的管理,狀態分為:
未領取:notPickedup
已領取:pickedup
已核銷:redeemed
已退票:refunded
已逾期:expired
statusUpdateTime 此為以上票券狀態最後更新的時間。
voucherUrl 此為產生該張票券之索取連結,透過此連結等同完成取票,即可立即使用。
假設 pickupType 選擇order:
{
	   "pass2uOrderId":"87N6G7Szo4feKC",
	   "productSaleId":"02955ccca3352ef0734a4aecc9f86083",
	   "channelOrderId":"P00001",
	   "mailTo":"kan@gmail.com",
	   "orderUrl":"https://www.pass2u.net/xxxxx/xxxxx",
	   "orderPasscode":"9005445" ,
	   "expriationDate":"2015-03-15T13:00:00+08:00",
	   "createdTime":"2015-03-15T13:00:00+08:00"
	}
參數名稱 參數說明
orderUrl 此為Pass2U票務宝本次交易,成功產生票劵後,該訂單交易取得票劵的網頁入口。
orderPasscode 此為進入上述該訂單交易取得票劵的網頁入口前,需要輸入的驗證碼。
查詢已建立之訂單交易規格 (Query an order API)

此API提供您透過Pass2U票務宝查詢已建立之訂單交易內容,並回傳相關訂單資訊。
URL Structure
POST to https://www.pass2u.net/api/v1/public/product/query/
HTTP Request Headers
Accept application/json
Content-Type application/json; charset=utf-8
Authorization {API_Key}
HTTP Request Body
以下範例是如何傳送JSON payload進行已取票交易查詢。
{
	   "pass2uOrderId":"12393223434343",
	   "channelOrderId":"P00001",
	   "productSaleId":"02955ccca3352ef0734a4aecc9f86083",
	   "mailTo":"kan@gmail.com",
	   "pickupType":"order"
	}
參數名稱 是否必填 參數說明
pass2uOrderId 是,二選一 此為Pass2U票務宝本次交易,成功產生訂單後的唯一識別碼,建議您進行儲存,以便之後可用此識別碼查詢該訂單交易內容。此參數不可與channelOrderId共同使用。
channelOrderId 是,二選一 此為您自己針對此取票交易的內部識別碼,例如訂單編號。此參數不可與pass2uOrderId共同使用。
productSaleId 此為您於商品銷售通知信中所取得的銷售活動序號,也是取得票券的唯一識別碼,例如 : 02955ccca3352ef0734a4aecc9f86083
mailTo 您可以指定一個Email,Pass2U將於訂單建立成功後,幫您寄送一封訂單的通知信到該Email。若不需要則無須帶入欄位值。
pickupType Pass2U 提供兩種取票方式:指定order則需輸入回傳之認證碼方可取得該訂單內的票券;指定voucher則可直接取得單張票券無須進行驗證流程。
HTTP Reponse Body
以下範例為API呼叫成功的回傳值範例。
假設 pickupType 選擇voucher:
{
	   "pass2uOrderId":"123932ewxrtg",
	   "productSaleId":"02955ccca3352ef0734a4aecc9f86083",
	   "channelOrderId":"P100001",
	   "mailTo":"kan@gmail.com",
	   "expriationDate":"2015-03-15T13:00:00+08:00",
	   "createdTime":"2015-03-15T13:00:00+08:00",
	   "vouchers": [{
			"barcodeMessage": "123456789",
			"status":"notPickedup",
			"statusUpdateTime":"2015-03-15T13:00:00+08:00",
			"voucherUrl":"https://pass2u.net/v/76545678765?t=234566543&token=gadjfiaoefaksdfasdffd"
	   }]
	}
參數名稱 參數說明
pass2uOrderId 此為Pass2U票務宝本次交易,成功產生訂單後的唯一識別碼,建議您進行儲存,以便之後可用此識別碼查詢該訂單交易內容。
productSaleId 此為您於商品銷售通知信中所取得的銷售活動序號,也是取得票券的唯一識別碼,例如 : 02955ccca3352ef0734a4aecc9f86083
channelOrderId 此為您自己針對此取票交易的內部識別碼,例如訂單編號。Pass2U此識別碼,作為您之後查詢取票紀錄的依據。
mailTo 若您呼叫取票交易時,有指定通知信寄送的Email,將會回傳此欄位資料。
expirationDate 該商品票券的使用期限將依據您與服務供應商所協議的使用期限為計算,當到達逾期日期時,該票券將無法被核銷成功。
createdTime 此為Pass2U票務宝已成功建立該筆訂單交易之時間。
barcodeMessage 此為產生該張票券時所指定的條碼內容,即是商家實際核銷的條碼內容。
status 此為該張票券目前查詢結果的使用狀態,您可以依據此狀態進行票務上的管理,狀態分為:
未領取:notPickedup
已領取:pickedup
已核銷:redeemed
已退票:refunded
已逾期:expired
statusUpdateTime 此為以上票券狀態最後更新的時間。
voucherUrl 此為產生該張票券之索取連結,透過此連結等同完成取票,即可立即使用。
假設 pickupType 選擇order:
{
	   "pass2uOrderId":"87N6G7Szo4feKC",
	   "productSaleId":"02955ccca3352ef0734a4aecc9f86083",
	   "channelOrderId":"P00001",
	   "mailTo":"kan@gmail.com",
	   "orderUrl":"https://www.pass2u.net/xxxxx/xxxxx",
	   "orderPasscode":"9005445" ,
	   "expriationDate":"2015-03-15T13:00:00+08:00",
	   "createdTime":"2015-03-15T13:00:00+08:00"
	}
參數名稱 參數說明
orderUrl 此為Pass2U票務宝本次交易,成功產生票劵後,該訂單交易取得票劵的網頁入口。
orderPasscode 此為進入上述該訂單交易取得票劵的網頁入口前,需要輸入的驗證碼。
已建立之訂單交易退票處理規格 ( Refund tickets of an order API)

此API提供您透過Pass2U票務宝針對已建立之訂單交易進行退票處理,並回傳結果。
URL Structure
POST to https://www.pass2u.net/api/v1/public/product/refund/
HTTP Request Headers
Accept application/json
Content-Type application/json; charset=utf-8
Authorization {API_Key}
HTTP Request Body
以下範例是如何傳送JSON payload進行已取票交易之退票處理。
{
		"pass2uOrderId":"123456789",
		"productSaleId":"02955ccca3352ef0734a4aecc9f86083",
		"channelOrderId":"P00001",
		"mailTo":"kan@gmail.com",
		"pickupType":"order",
		"quantity":20
	}
參數名稱 是否必填 參數說明
pass2uOrderId 此為Pass2U票務宝本次交易,成功產生訂單後的唯一識別碼,建議您進行儲存,以便之後可用此識別碼查詢該訂單交易內容。
productSaleId 此為您於商品銷售通知信中所取得的銷售活動序號,也是取得票券的唯一識別碼,例如 : 02955ccca3352ef0734a4aecc9f86083
channelOrderId 此為您自己針對此取票交易的內部識別碼,例如訂單編號。Pass2U此識別碼,作為您之後查詢取票紀錄的依據。
pickupType Pass2U提供兩種取票方式:指定order則需輸入回傳之認證碼方可取得該訂單內的票券;指定voucher則可直接取得單張票券無須進行驗證流程。
mailTo 您可以指定一個Email,Pass2U將於訂單建立成功後,幫您寄送一封訂單的通知信到該Email。若不需要則無須帶入欄位值。
quanity 此筆交易要退票的票劵數量,最大退票數量不可超過原訂單交易中未退票票劵之總數量。退票處理系統將針對該交易中的票劵隨機進行退票,不可指定票號。
HTTP Reponse Body
以下範例為API呼叫成功的回傳值範例。
假設 pickupType 選擇 voucher:
{
		"pass2uOrderId":"123932ewxrtg",
		"productSaleId":"02955ccca3352ef0734a4aecc9f86083",
		"channelOrderId":"P100001",
		"mailTo":"kan@gmail.com",
		"expriationDate":"2015-03-15T13:00:00+08:00",
		"createdTime":"2015-03-15T13:00:00+08:00",
		"vouchers": [{
			"barcodeMessage": "123456789",
			"status":"notPickedup",
			"statusUpdateTime":"2015-03-15T13:00:00+08:00",
			"voucherUrl":"https://www.pass2u.net/v/xxxxx/xxxxx"
		}]
	}
參數名稱 參數說明
pass2uOrderId 此為Pass2U票務宝本次交易,成功產生訂單後的唯一識別碼,建議您進行儲存,以便之後可用此識別碼查詢該訂單交易內容。
productSaleId 此為您於商品銷售通知信中所取得的銷售活動序號,也是取得票券的唯一識別碼,例如 : 02955ccca3352ef0734a4aecc9f86083
channelOrderId 此為您自己針對此取票交易的內部識別碼,例如訂單編號。Pass2U此識別碼,作為您之後查詢取票紀錄的依據。
mailTo 若您呼叫取票交易時,有指定通知信寄送的Email,將會回傳此欄位資料。
expirationDate 該商品票券的使用期限將依據您與服務供應商所協議的使用期限為計算,當到達逾期日期時,該票券將無法被核銷成功。
createdTime 此為Pass2U票務宝已成功建立該筆訂單交易之時間。
barcodeMessage 此為產生該張票券時所指定的條碼內容,即是商家實際核銷的條碼內容。
status 此為該張票券目前查詢結果的使用狀態,您可以依據此狀態進行票務上的管理,狀態分為:
未領取:notPickedup
已領取:pickedup
已核銷:redeemed
已退票:refunded
已逾期:expired
statusUpdateTime 此為以上票券狀態最後更新的時間。
voucherUrl 此為產生該張票券之索取連結,透過此連結等同完成取票,即可立即使用。
API錯誤訊息規格說明

以下範例為API呼叫失敗的回傳值範例。
{
	   "message":"productSaleId Does Not Exist.",
	   "type":"NonExistedException"
	}
錯誤訊息 錯誤說明
productSaleId Does Not Exist. 銷售活動序號不存在。
Sale Campaign Has Expired. 銷售活動期間已結束。
pass2uOrderId Does Not Exist. Pass2U訂單交易編號不存在。
quantity Is Not Enough. 票券數量不足,無法產生該筆訂單。
pickupType Format Error. 取票方式格式錯誤,未正確使用指定參數。
channelOrderId Repeated. 銷售通路訂單交易編號重複。
channelOrderId Does Not Exist. 銷售通路訂單序號不存在。
Create Trade Fail. 建立訂單交易失敗。
channelOrderId Repeated. 銷售通路訂單交易編號重複。
quantity Format Error. 票券數量格式錯誤。
pickupType Format Error. pickutType格式錯誤。
Refundable Quantity Is Not Enough. 可退票數量不足,無法進行該筆退票處理。
Invalid Query Criteria 查詢參數錯誤。
Oops! Something Went Wrong. 其他錯誤。