作者sennin32 (sennin32)
看板CodeJob
标题[发案] Magento串接eBay API模组/app
时间Fri Mar 25 09:15:27 2016
发案人:杨先生
联络方式1:
[email protected]
联络方式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://webptt.com/cn.aspx?n=bbs/CodeJob/M.1458868534.A.873.html
※ sennin32:转录至看板 soho 03/25 11:23
※ 编辑: sennin32 (220.133.10.177), 03/25/2016 12:57:12
1F:→ brucetu: 存这个订单结构只要一个order table 栏位(NID)主键,(orde 03/26 22:49
2F:→ brucetu: rID)存ebay给的orderLineItemID,各种品名金额图片超连结 03/26 22:49
3F:→ brucetu: 的栏位,下单多笔商品的订单ebay也写了其实就只是多张合 03/26 22:49
4F:→ brucetu: 并在一起的订单,所以order表再开一个栏位(parentOrderID 03/26 22:50
5F:→ brucetu: ),当抓到一笔有三种商品的订单,插入三条资料到order表o 03/26 22:50
6F:→ brucetu: rderid填该商品ebay的itemid-transactionid再插第四笔资 03/26 22:50
7F:→ brucetu: 料orderid填ebay的orderid然後前三笔的parentOrderID也 03/26 22:50
8F:→ brucetu: 填ebay的orderID,开一个栏位当flag表明第四笔资料是合 03/26 22:51
9F:→ brucetu: 并单据,有从属於他的订单。如果你商品有建档order表再一 03/26 22:51
10F:→ brucetu: 个(productNID)对应商品表的主键,日後ebay的售出商品才 03/26 22:52
11F:→ brucetu: 好做统计,否则itemid跟品名都有可能改动其实是卖同一个 03/26 22:53
12F:→ brucetu: 东西。 ebay单商品订单的orderLineItemId就是itemid-tran 03/26 22:53
13F:→ brucetu: sactionid文件上写的 03/26 22:53
14F:→ brucetu: 为什麽不能连推QQ 03/26 22:54
15F:→ brucetu: 第8点订单资料都写到magento资料库了你就可以用程式发给 03/26 22:57
16F:→ brucetu: 标签机列印了吧何必还要下载 03/26 22:58
17F:→ 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