請勿依賴相符的異常訊息文字來評估行動方針。

  1. 評估異常的性質 (處理、類別、訊息)
  2. 評估異常並非因您的要求錯誤而發生
    • 檢視正確的範例要求以確保您正確提交所有項目和值。
    • 偵錯工作表 將協助比對您的要求和正確的要求。使用 XML 自我練習 提出相同的要求,複製 XML 要求字串,並將每個項目與您自己的一一做比較。
  3. 根據回傳的處理、類別,以及使用者之前的行動來決定行動步驟。
    • 使用者需要選取另一個物業嗎?
    • 使用者需要修正他們輸入的資料嗎?
    • 請讓使用者瞭解,當返回 handling=AGENT_ATTENTION 時,將會有旅行社聯絡他們以追蹤訂房要求

由於供應商錯誤訊息變更不另行通知,且系統也不會發布,因此無法得知訊息的完整清單。

  • 在錯誤發生時記錄並收集錯誤訊息,以便建立自己的錯誤資料庫。
  • 在您自己的系統中收集處理、類別以及訊息元素,日後發生錯誤時,即可以處理所有的錯誤,包括從供應商資源返回的任何新訊息。

常見的回傳元素

元素 類型 說明
customerSessionId (字串) 系統將會傳回此值以追蹤使用者工作階段活動,藉此編譯統計資料、使用者行為及流量。將此值納入每一個要求中......進行記錄個別使用者的工作階段。
EanWsError (EanWsError 物件) 異常根節點

EanWsError

元素 類型 說明
itineraryId (長整數) 與 EAN 行程相關聯的 ID。預訂時與客服人員之間的所有信件均需納入此值。  行程 ID 只在預訂要求時返回。預訂要求中的資料驗證錯誤不會回傳行程 ID。  如有回傳情況發生,那麼請務必將該項資訊回傳給客戶做為參考號碼。 如果沒有回傳,那麼表示錯誤還未能產生參考的行程 ID。
  • 如果回傳 -1,則表示未建立行程記錄且現有的要求也未記錄。
  • 如果返回行程 ID,則在進行任何預訂時,此行程 ID 必須使用於與客戶關懷專員的所有往來信件中。
  • 若系統能記錄該事件,則預訂要求失敗時將返回行程,。
  • 在某些情況下,例如信用卡驗證失敗,行程 ID 能納入任何後續要求中,以修正失敗的預訂,其可以成功的行程覆寫失敗的行程。  這可以防止相同客戶收到一連串的失敗行程。  在預訂要求傳送行程 ID 時務必小心,以免成功的預訂被自己錯誤覆寫。
  • 若同時返回 handling=AGENT_ATTENTION,那麼錯誤就會被標幟起來,好讓代理程式能追蹤。否則,若 handling= UNKNOWN 或 UNRECOVERABLE,則表示必須重新提交新的預訂要求。
  • 返回的類別規定是否可重試同樣的預約 (引號鍵失敗),或是必須選取新的物業。(例如:售完)。
  • 如果重新提交相同的要求,請重新整理客房資料,並對使用者顯示價格變更以便重新選取。接下來請在重新提交的預約中傳送新的客房資料。
exceptionConditionId (整數) 僅供內部參考
presentationMessage (字串) 返回呈現錯誤訊息
verboseMessage (字串) 更為特定詳細的錯誤訊息
處理 (errorHandling 物件) 值表示異常的嚴重性及能處理的程度
類別 (errorCategory 物件) 值表示異常的本質或發生的原因
ErrorAttributes
(Error Attributes 物件) 額外的錯誤資料。此元素一般會返回可供安全代碼信用卡處理或修正多重地點錯誤之用的資料。
ServerInfo (ServerInfo 物件)

(minRev 7 及更高)

屬性:

  • serverTime = 目前可讀的格式化時間
  • timestamp = 目前以秒計的時間
    • 使用 簽章驗證時如果收到驗證錯誤,請使用此值重新傳送要求以建立 sig 參數。由於時區差異,某些聯盟夥伴於產生 sig 值時無法正確地符合時間。當建立 sig 值與使用此方法驗證時,請使用此值來將時間與我們的伺服器同步。
  • instance = 內部伺服器執行個體
範例: <ServerInfo serverTime="19:11:13.082-0500" timestamp="1311725473" instance="48" />

errorHandling

元素 說明
UNKNOWN 無法成功預訂且失敗的原因未知。
可復原 這通常表示使用者錯誤,例如無法通過驗證的錯誤項目。若要復原,使用者只需依照訊息指示修正欄位的項目錯誤。使用重新整理的值來重新提交預訂,也可以復原此錯誤。
不可復原 發生的錯誤不管是使用者或是客服人員皆無法修正。若要進行此預訂,使用者必須返回並重新開始或重新整理搜尋。此錯誤的發生原因為要求無效、資料無法使用或供應商問題。
AGENT_ATTENTION

我們能記錄行程,然而,由於錯誤的性質或預訂嘗試:

  • 人員必須追蹤並以手動方式完成預訂
  • 驗證標幟為詐騙的預訂
  • 回覆使用者有錯誤發生的狀況,並詢問他們是否願意繼續預訂要求。在多數情況下,使用者會被導回網站以再次嘗試線上預訂。

errorCategory

元素 說明
UNKNOWN 未知的處理失敗
EXCEPTION 無法辨識的錯誤
信用卡 信用卡處理錯誤
DATA_VALIDATION 使用者項目錯誤
驗證 未經授權的存取,無法 驗證 存取許可
UNABLE_TO_PROCESS_REQUEST 無法處理要求
INVALID_PROPERTY_ID 無效的飯店 ID 或未啟用的飯店 ID
RESULT_NULL 沒有結果
PROCESS_FAIL 處理失敗
SOLD_OUT 售完
RESTRICTED_CHECKIN 日期或過夜天數不符合限制入住規則
ONEROOM  
SUPPLIER_COMMUNICATION 供應商通訊失敗,供應商連線問題
DATA_PARSE_RESULT 資料剖析問題
CORPORATE_RATE 公司 ID 為價格必要元素
RES_NOT_FOUND 找不到訂房
RES_CANCELLED 取消訂房
HRN_QUOTE_KEY_FAILURE 價格鍵失敗,請重新整理搜尋來取得新的價格鍵
HRN_QUOTE_KEY_FAILURE 無效的價格鍵,請重新整理搜尋來取得新的價格鍵
SYS_OFFLINE 供應商系統離線或故障
SUPPLIER_COMMUNICATION 無法連線至供應商
SUPPLIER_COMMUNICATION 無法連線至供應商
EJB_CREATE_EXCEPTION 預約異常
FINDER_EXCEPTION 供應商異常
BML_FAIL 供應商異常
PRICE_MISMATCH 價格變更,請重新整理搜尋或選取新的客房或物業以取得新的價格
CSV_FAIL 錯誤的信用卡安全值
PAYER_AUTH_REQUIRED 信用卡需要顯示在預約要求和測試預訂程序之中的 VBV/3DS 信用卡處理 安全代碼。
PAYER_AUTH_REQUIRED 安全碼不正確或安全碼處理失敗
ITINERARY_ALREADY_BOOKED 現有的行程已在系統內

ErrorAttributes

元素 type
項目 (項目物件)
項目
(errorAttributesMap 物件)
value (字串)

errorAttributesMap

元素 說明
CC_TRANSACTIONSTATUS  
TRANSACTIONSTATUSMSG  
PA_TRANSACTIONSTATUS VBV / 3DS 詳細資料
XID VBV / 3DS 詳細資料
ACS_URL  
VBV / 3DS 詳細資料
PA_REQ VBV / 3DS 詳細資料
AUTH_CODE VBV / 3DS 詳細資料
PAS_TRANSACTION_ID VBV / 3DS 詳細資料
SUPPLIER_ERROR_CODE  

XML 範例異常

<ns2:HotelRoomAvailabilityResponse size="0">
  <EanWsError>
    <itineraryId>-1</itineraryId>
    <handling>RECOVERABLE</handling>
    <category>DATA_VALIDATION</category>
    <exceptionConditionId>-1</exceptionConditionId>
    <presentationMessage>TravelNow.com cannot service this request.</presentationMessage>
    <verboseMessage>Data in this request could not be validated: Specified arrival date is prior to today's date.</verboseMessage>
    <ServerInfo serverTime="19:11:13.082-0500" timestamp="1311725473" instance="48" />
  </EanWsError>
  <customerSessionId>0ABAA825-0BE2-8912-CF12-59D0D9032F8</customerSessionId>
</ns2:HotelRoomAvailabilityResponse>