我已經實施了一個系統來下載亞馬遜賣家的訂單。該系統的工作原理是這樣的:亞馬遜MWS API:我們下載訂單時缺少一些訂單
- 我們開始想從下午12:00下載訂單 - 下午2:00,所以我告訴亞馬遜(通過他們的Java客戶端):「給我所有的訂單從12:02到2 :00(兩分鐘的時間差是爲了適應亞馬遜在其API中描述的掛單)
- 我們完全下載這些訂單:如果有超過一百個,我們使用下一個標記,一旦我們擁有它們全部我們對每個訂單使用listOrderItems操作來獲取訂單項
其中一些訂單正在等待處理,如果是,我們將它們存儲在我們的數據庫中並檢查它們是否爲nex看看他們是否準備好下載。我們的下一份工作將在接下來的兩個小時內完成,要求所有訂單從2點到3點58分。
此操作運行正常,但我們的客戶開始報告缺失訂單。顯然,每隔一段時間,一個訂單就會滑過這個衆所周知的裂縫,我們不知道爲什麼。爲了解決這個問題,我們設置了30分鐘的重疊時間,以便每次下載訂單時,我們都會在過去30分鐘內查看。除了下載冗餘訂單的懲罰之外,我們必須檢查數據庫以查看訂單是否已經處理完畢,所以它會減慢相當多的事情。
and在傷口擦鹽,它仍然還沒有解決問題!這種情況並不常見,但平均每天缺貨0-4份。
你的應用程序調用MWS ListOrders完全使用哪些參數?您可以選擇「LastUpdatedAfter/Before」和「CreatedAfter/Before」。順便說一句,我沒有看到掛單如何需要「兩分鐘的時間差」,因爲他們可以待在幾天的狀態? – Hazzit
我們在 – IcedDante