訂餐系統之同步餓了么商家訂單


      隨着阿里入主餓了么,我們一個配送口碑外賣訂單的客戶,正在步入正軌,人員齊整,訓練有素... 但,突然一下子失去的所有訂單來源,沒有訂單,也就沒有了收入,線上7,8個客服,線下近100個配送員,只能開始尋找新的活計了...偶然想起,早年間公司給口碑外賣1.0做打印機時,剛基本完成時,口碑外賣沒了,沒想到幾年后,口碑外賣2.0又深深的傷害了我們一次。。。陳年舊事,唏噓兩下,回歸正文。

 

背景

   之前實時獲取口碑外賣商家訂單,及點點送訂單,再使用的我們的調度系統統一調度各個來源的訂單,再結合配送員自主搶單,加上配送員隊長線上調度,最大限度的讓配送員加”順路單“,提高效率...這套班子不應該因為口碑沒了,就變成破銅廢鐵。暮然回首,原來餓了么也有商戶接口,雖然沒有淘寶外賣開放平台那么強大,提供好幾種語言的示例代碼,沒有怎么辦?自己動手,豐衣足食!

  動手之前,還是偷懶的百度了下,以為能找到一些基礎代碼,或者借鑒之類的,也不知道是沒人用呢,還是沒人分享... 真沒有,有的話,估計也沒有這篇文章了。

  雖然,我們更想能有鋒鳥配送的接口,現實總是那么實現,真沒有,那權且用商戶的接口了解這個流程吧,日后,如果他們能開放配送商接口,估計代碼也能用上。

准備工作

  

  API 文檔 http://merchant.openapi.eleme.io/

      估計大部分程序員,知道上面這個地址就可以了哈,最后有代碼哦。

    文檔中 有一個要注意的地方就是  consumer key,這個目前是通過發送郵件獲取的,郵件里寫上商家的訪問地址就可以了,如下圖(圖一),另外,郵件中還提到接單方式的修改,操作如圖二

      

                                                                        (圖一)

 

     

 

  

   雖然,他們提供了一個 可以測試的商家,但是我好幾個瀏覽器都測試了,下訂單就提示讓我加地址,如圖3,我的內心幾乎是崩潰,最后讓一個客戶給了我一個賬號才勉強撫慰了一下受傷的心。如果你樣要測試,還是用正式的商家吧,我敢保證你們奔潰。

     

      

 

你們熟悉的代碼

   代碼方面,目前實現了兩個主要接口:獲取新訂單,訂單詳情兩個接口。其他接口也都差不多了。代碼寫得不好,若蒙斧正,不勝感激。

   代碼結構如下

   

 

  baseEleAPI.cs 實現簽名,生成請求的url等功能。

  NewOrdersInfo.cs 獲取新訂單對應的實體

    eleOrder.cs  獲取訂單詳情對應的實體

  EleUtil.cs 配置 consumer_key,consumer_secret 及一些 工具之類的方法。

      HttpHelper.cs  看名稱就知道了,這是使用了別人的類,里面有原作者信息。

  

  代碼里就一個地方要注意下,生成簽名時,每個數據都是轉成小寫的。

  結尾部分有 demo 下載。  

 

成功獲取數據

  當看日志輸出下面的信息時,我知道已經已經勝利在望了,集成了這么多接口,流程基本都差不多,個把小時弄好了,當然,要實現所有接口,讓訂單跑起來,還有很多工作要做,等后面有空了,再完善下。當然,更多希望有人能用上這個。

  

2016-05-14 17:43:28 returnmsg={"message":"ok","code":200,"data":{"original_price":58.0,"restaurant_name":"沈蔬果店 ","status_code":2,"restaurant_id":860035,"service_fee":7.5,"consignee":"張一平","invoice":"","description":"","user_id":24086157,"delivery_geo":"24.46839,118.09094","detail":{"abandoned_extra":[],"group":[[{"category_id":1,"name":"鮮切紅心火龍果~1斤裝","price":24.0,"sale_mode":0,"specs":[],"garnish":[],"id":82727401,"quantity":1},{"category_id":1,"name":"三拼果盤","price":12.0,"sale_mode":0,"specs":[],"garnish":[],"id":82727363,"quantity":1},{"category_id":1,"name":"雲霄枇杷之鄉","price":18.0,"sale_mode":0,"specs":[],"garnish":[],"id":82727558,"quantity":1}]],"extra":[{"description":"","quantity":1,"price":-10.0,"stats_quantity":1,"category_id":12,"type":102,"id":10087364,"name":"在線支付立減優惠"},{"description":"","price":4.0,"name":"配送費","category_id":2,"id":-10,"quantity":1},{"description":"","price":-7.0,"name":"使用紅包","category_id":13,"type":0,"id":194098285927,"quantity":1}]},"active_at":"2016-05-13 22:54:30","invoiced":0,"user_name":"32b93b42c","deliver_fee":0,"is_book":0,"restaurant_part":4.0,"deliver_time":null,"order_id":"100646048067066976","eleme_part":6.0,"income":42.5,"restaurant_number":3,"address":"百腦匯科技大廈1906","hongbao":-7.0,"is_online_paid":1,"delivery_poi_address":"百腦匯科技大廈1906(福建省廈門市思明)","total_price":41.0,"created_at":"2016-05-13 22:53:48","service_rate":0.15,"package_fee":0,"activity_total":10.0,"phone_list":["1361092"]},"request_id":"b32835ae1f8040409624274d924860f0"}
2016-05-14 17:43:28 訂單數據:百腦匯科技大廈1906 delivertime=

結語

  商家接口到這里就告一段落了,對於平台配送的,估計意見也不是很大,但對於單個商家,或者連鎖商家還是非常有用的,如果他們在幾個平台都開店了,訂單能合在一起,不管是配送,還是統計就是非常有意義,也不用開着幾個平台的商戶端了。聽着煩人的,您有新的餓了么訂單,您有的百度訂單,您有新的美團外賣訂單...

  接下來,我會關注下其他平台的商戶接口,有新的進展會,再分享給大家,我堅信:予人玫瑰 手有余香。

 

  demo 就在這里,掃碼加好友,哈哈,主要為了交朋友哈.

  

  

     成為一名優秀的程序員!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM