# 合作店家交易資料串接 Custos-Enterprise API-P01 V1.0 鼓勵企業會員之員工前往合作店家消費,並記錄消費細節。企業會員之員工於合作店家之購物平台 (Web/APP) 進行消費,確定交易完成後,由合作店家購物平台系統呼叫此 API,將交易細節如:交易日期、會員資訊、交易金額...等資料拋轉回來,寫入 Custos 資料庫。 [toc] ## 作業啟動 1. 傳入下列參數: (1) 合作店家企業流水號代碼 (#corp_data_id) (2) 購買/租賃/維修產品之編號:合作店家自行定義 (#vendor_item_id) (3) 購買/租賃/維修產品之名稱:合作店家自行定義 (#item_name) (4) 使用者手機號碼:合作店家經 [API-P02](https://hackmd.io/@custos-it/SJmaUjdD3) 驗證後,存於自身資料庫之 Custos 會員手機號碼 (#to_emp_phone) (5) 交易行為代碼:購買 = 5、租賃 = 4、維修 = 2、退貨/取消交易 = 7 (#category_id) (6) 交易金額 (#total_amt) (7) 交易日期 (#create_date) (8) 國別語系 (#language_setting) 2. 記錄 SystemLog:合作店家 #corp_data_id|交易資料串接|作業啟動 ## API 作業啟動 1. 以傳入之 #員工手機號碼 (#to_emp_phone) 查詢 (1) 員工企業代碼 (#to_corp_id) (2) 員工企業流水編號 (#to_corp_data_id) (3) 員工編號 (#to_emp_id) (4) 員工流水編號 (#to_emp_data_id) 2. 以傳入之 #合作店家企業流水號代碼 (#corp_data_id) 查詢 (1) 合作店家企業代碼 (#corp_id) (2) 合作店家窗口員工編號 (#emp_id) (3) 合作店家窗口員工流水編號 (#emp_data_id) (4) 合作店家窗口手機號碼 (#emp_phone) (5) 合作店家於 corp_fm_item 資料表上架之物品資料,並取得其 item_image;若有多張則取第一張 (#item_image) 3. 將上述資料寫入交易紀錄資料表 corp_fm_transaction *insert into corp_fm_transaction (vendor_item_id, corp_id, corp_data_id, to_corp_id, to_corp_data_id, emp_id, emp_data_id, to_emp_id, to_emp_data_id, emp_phone, to_emp_phone, category_id, total_amt, item_name, item_image, modify_oper, language_setting) values (#vendor_item_id, #corp_id, #corp_data_id, #to_corp_id, #to_corp_data_id, #emp_id, #emp_data_id, #to_emp_id, #to_emp_data_id, #emp_phone, #to_emp_phone, #category_id, #total_amt, #item_name, #item_image, #corp_id, #language_setting)* 4. 若上述 1 或 2 查詢無資料,則記錄 SystemLog:合作店家 #corp_data_id|交易資料串接,查無XXX資料|作業執行 5. 回傳 result = 'N',message 同上訊息。 ## 作業結束 記錄 SystemLog:合作店家 #corp_data_id|交易資料串接|作業結束 ## 例外處理 若執行中有發生異常,將攔截到的 exception 訊息記錄 ErrorLog:[YYYYMMDDHHMMSS] Enterprise-API-P01 發生異常:【#攔截到的 exception 訊息】 ## 規格及範例 |API No.|Enterprise-API-P01| |-|-| |API Name|setTransactionRecords| |URL|${url}/APP/setData/setTransactionRecords| |Purpose|合作店家交易資料串接| |Description|透過 API 將合作店家交易資料串接寫回 Custos 資料庫| |Content-Type|application/json| **Request** |參數|型態|必填|長度|說明| |-|-|:-:|:-:|-| |corp_data_id|INT|Y||合作店家企業流水號代碼| |vendor_item_id|String|Y|45|購買/租賃/維修產品之編號| |item_name|String|Y|256|購買/租賃/維修產品之名稱| |to_emp_phone|String|Y|16|使用者手機號碼| |category_id|INT|Y||交易行為,對應 corp_fm_item_category 定義| |total_amt|Float|Y||交易金額| |create_date|DateTime|Y||交易日期| |language_setting|String|Y|10|國別語系設定| **Response** |參數|型態|必回|說明| |-|-|:-:|-| |result|String|Y|API 執行結果,Y:成功, N:失敗| |message|String|N|API 執行失敗的訊息說明| **Request Sample** ```javascript var input = { "corp_data_id": 12, "vendor_item_id": "c-002135", "item_name": "1公升環保杯", "to_emp_phone": "0912345678", "category_id": 3, "total_amt": "200", "create_date": "2023-06-01 10:03:28", "language_setting": "zh-TW" } ``` **Response Sample** ```javascript { "result": "Y", //API 結果 "message": "..." //API 訊息 例如:"執行失敗, 原因:XXXXXXXXX" } ```