1. 程式人生 > >訂餐系統之同步餓了麽商家訂單

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

測試 -1 del 4.0 type 外賣 sig inf time

背景

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

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

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

準備工作

  

  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=

結語

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

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