作者sennin32 (sennin32)
看板CodeJob
標題[發案] Magento串接eBay API模組/app
時間Fri Mar 25 09:15:27 2016
發案人:楊先生
聯絡方式1:sy_yang@doyuaudio.com
聯絡方式2:
所在地區 :台北大同區
有效時間:~4/25
專案說明:
目前的環境:
使用Magento系統與eBay平台,eBay沒有員工帳號管理的功能,
所以需要使用第三方外掛進行訂單的管理,但現有的第三方插件都各自有優缺點,
沒有一個平台剛好滿足所有的需求。
目前的需求:
1. 製作Magento外掛(Magento使用php),透過eBay API撈資料,寫在Magento這邊的資料
庫中並顯示在後台。
這邊有個需要注意的,ebay辨識一筆訂單的方式很麻煩,有3個id,
Sales Record Number,Transaction ID,Order ID
Sales Record Number : 比較容易讀(短,多ebay帳號時會有問題,只能用在包貨時人工
讀),一個合併結帳多個物品的訂單會有自己的Record Number,但每個物品又都會有自己
的Record Number
Transaction ID : 每購買一個物品都會出現一個ID,如果買家只買了一個物品(貨一個物
品多個數量),這可以當作唯一的辨識值
Order ID : 當買家購買多筆物品時,多個物品的Transaction ID都會不同,這時候要辨
識這筆交易的唯一值就變成Order ID,只買一個物品的訂單不會有Order ID這個參數(單
件物品時這個參數的格式是product ID-Transaction ID)
因為ebay這些id沒有一個可以適用所有狀況,所以我目前的想法是把單一筆訂單的
Transaction ID跟合併結帳訂單的Order ID合併多一個欄位,當作primary key,避免掉
我之前遇到的問題,並且再介面上也顯示Record Number,在包貨時比較容易讀
目前其他三方外掛都是自己創造一個order id,變成又多一個id更難讀
2. 訂單管理介面需顯示訂單的照片(照片的連結來自eBay,一樣匯入到Magento)
3. 我不確定是不是把產品同步到Magento,再用產品編號去對應產品資料比較好,如果這
樣比較好做的話,就需要多一個同步產品的功能
4. 需能夠手動點選同步產品訂單的狀態(例如已付款,未付款,訂單取消...etc),並且
開一個php指令介面,讓cron job自動在背景同步
5. 搜尋/過濾訂單:
基於ebay原生介面的功能,可過濾的項目:
(如果可行,也能夠支援模糊搜尋較好,用一個checkbox,勾選後可搜尋不特定項目中符
合條件的訂單,太麻煩的話不做也沒差,不是很重要)
6. tag
自訂tag功能,
例如我自己新增一個等待退貨、重新補送等等的tag
或是這筆訂單由哪個員工處理等等的tag,訂單下的tag是陣列的,可設定多個tag
7. 訂單詳細資訊:
點訂單後開一個新的網頁tab(或後台有設定可以選擇新開分業或直接進去,不要只有直接
進去的),
顯示如名字、地址、pp交易資訊(目前先不串pp,之後改版再加上,有時候部分狀態eBay
跟PP無法同步,不過目前以eBay取得到的資料為準)等等細節
8. 下載csv或xml檔案:
將訂單資料下載到本機端的功能,或是有一個固定名稱的資料庫,能讓excel連上資料庫
去把資料載下來,這主要是為了在標籤機上印地址標籤
因為這些三方無誤不太可能讓我直接去存取資料庫,所以我現在需要把檔案載下來,再自
己匯入到資料庫,然後用excel同步下來,步驟有點麻煩,可以直接去存取的話最好,但
這個資料庫名字需顯示在後台,不需要到phpmyadmin裡面才看得到
第一版先不做任何修改ebay資料的行為(例如加上追蹤碼,修改訂單狀態,傳訊息給買家
等等),之後的版本再加上
目前eBay的第三方外掛例子:
1. pushauction(網站)
有產品圖片,可下載檔案,會自動合併同一買家未合併的訂單(這個蠻不錯的,但現在先
不要做,簡化功能,以後需要再做),但同步功能很差,已經取消的訂單還是會存在,除
非在這套系統上做操作刪除或移動到其他資料夾,但還是有些bug會造成不可能被刪除,
需投入大量人力避免寄送錯誤,不然這套系統幾乎可以達成所有的需求
2. M2EPRO(Magento 外掛)
不確定同步功能如何,但沒顯示物品縮圖(不清楚是不是magento的限制,但應該能修改?)
,沒辦法下載訂單列表(雖然應該是可以從phpmyadmin找出資料庫,但沒文件也沒說是哪
個資料庫,沒什麼耐心找...),有顯示出兩個唯一值的ID這點很不錯,但是這樣很難讀,
需要有個短一點的ID比較容易辨識
3. Inkforg(網站)
跟M2EPRO相似,同樣有不能下載也沒縮圖的問題,而且這套沒機會存取資料庫,無法透過
他列印標籤,但同步做得很好,再ebay做取消或是刪除等等的操作都真的有同步
功能上大致是這樣,文件的部分:
我還沒有仔細讀,不太確定這些文件寫得好不好。
eBay API :
https://go.developer.ebay.com/
Magento :
http://devdocs.magento.com/
這個版本先這兩個,先以上面的需求報價
目前預定的版本是放在Magento 2上面,我不清楚1跟2的開發差異是不是很多,如果兩個
都開發在成本上不會增加太多很多當然最好,畢竟目前主流還是1,但如果差異太大就以2
為主
確認穩定後再改版,至少會加上paypal api(取得訂單詳情供交叉比對用,
付款用Magento內建),
改版幾次功能完整後,會架設伺服器發token,當其他人使用這個外掛的時候,
必須從伺服器取得token授權跟一些資料才能正常運行3. Inkforg
跟M2EPRO相似,同樣有不能下載也沒縮圖的問題,而且這套沒機會存取資料庫,無法透過
他列印標籤,但同步做得很好,再ebay做取消或是刪除等等的操作都真的有同步
預算:「請報價」
接案者要求:有相關經驗,會考慮code可讀性,能配合之後持續改版佳
附註:
我自己是寫手機app,對這種案子的價格沒概念,試著搜尋關鍵字,
每個都只寫請報價,實在不知道要開多少 囧,
有成功發出去的話我再回來填價格讓以後的人參考
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.133.10.177
※ 文章網址: https://www.ptt.cc/bbs/CodeJob/M.1458868534.A.873.html
※ sennin32:轉錄至看板 soho 03/25 11:23
※ 編輯: sennin32 (220.133.10.177), 03/25/2016 12:57:12
→ brucetu: 存這個訂單結構只要一個order table 欄位(NID)主鍵,(orde 03/26 22:49
→ brucetu: rID)存ebay給的orderLineItemID,各種品名金額圖片超連結 03/26 22:49
→ brucetu: 的欄位,下單多筆商品的訂單ebay也寫了其實就只是多張合 03/26 22:49
→ brucetu: 併在一起的訂單,所以order表再開一個欄位(parentOrderID 03/26 22:50
→ brucetu: ),當抓到一筆有三種商品的訂單,插入三條資料到order表o 03/26 22:50
→ brucetu: rderid填該商品ebay的itemid-transactionid再插第四筆資 03/26 22:50
→ brucetu: 料orderid填ebay的orderid然後前三筆的parentOrderID也 03/26 22:50
→ brucetu: 填ebay的orderID,開一個欄位當flag表明第四筆資料是合 03/26 22:51
→ brucetu: 併單據,有從屬於他的訂單。如果你商品有建檔order表再一 03/26 22:51
→ brucetu: 個(productNID)對應商品表的主鍵,日後ebay的售出商品才 03/26 22:52
→ brucetu: 好做統計,否則itemid跟品名都有可能改動其實是賣同一個 03/26 22:53
→ brucetu: 東西。 ebay單商品訂單的orderLineItemId就是itemid-tran 03/26 22:53
→ brucetu: sactionid文件上寫的 03/26 22:53
→ brucetu: 為什麼不能連推QQ 03/26 22:54
→ brucetu: 第8點訂單資料都寫到magento資料庫了你就可以用程式發給 03/26 22:57
→ brucetu: 標籤機列印了吧何必還要下載 03/26 22:58
→ brucetu: user操作web指定要印的單,server就編好資料發給標籤機 03/26 22:59
手機推文不會分行...重寫
是的,目前ebay的結構就跟你說的相似,但主鍵得用magento的訂單ID,
才不會跟其他magento訂單搞混,所以來自ebay的訂單要基於magento的訂單格式,
再加上跟ebay有關的一些參數,其實還蠻單純的,只是沒寫過php,
要自己研究得花點時間,至於從ebay匯入商品,目前magento 1.x我已經有可用原始碼,
但同一套軟體的2.0版(那套軟體開發兩個版本,不是同一套原始碼)好像有點問題,
部分頁面不會正常顯示,但我看原始碼是有寫的,只是需要研究一下php,
才能自己修bug。
至於匯入order的部分,應該是換API,並且加上user token就可以拿回來,
雖然說起來蠻單純,但是現在都在忙其他事情沒時間寫程式XD,想說找人寫一寫
至於印標籤,因為我目前標籤格式是用標籤軟體做一個執行檔抓excel自動印,
如果需要修改,GUI畢竟比較方便,如果用軟體自動出標籤,比較難自己做小修改,
(例如加上一些讓員工更容易撿貨的資訊,或是印標籤時同時印出貨單等等,
目前我自己不時都會持續修改,用軟體列印修改起來比較麻煩點)
但之後想要上架的話,的確是可以製作預設的幾種預設模板,讓其他用戶使用
※ 編輯: sennin32 (220.133.10.177), 03/28/2016 23:56:43