2013-12-13 53 views
3

我使用cron作業從亞馬遜賬戶返回訂單,並且自2至3周後它工作正常。的確,訂單比平常多(由於聖誕節前期),看起來cron任務無法獲得所有訂單。撥打亞馬遜MWS上的ListOrders時缺少多個訂單

因此,我決定以不同的方式安排,以避免錯過一些訂單。現在cron作業每小時運行一次(而不是每兩個小時),並且我將new DateTime('-5 hours', new DateTimeZone('UTC'));應用於CreatedAfter請求的參數(之前,它被指定爲-10小時)。

我不得不手動運行cron作業,以返回在亞馬遜界面上可見的缺少訂單,因爲「未發貨」並且客戶端信息已完全完成。

$start_date = new DateTime('2012-04-12 10:30:00', new DateTimeZone('UTC')); 
$request->setCreatedAfter($start_date); 

$end_date = new DateTime('2012-04-12 11:30:00', new DateTimeZone('UTC')); 
$request->setCreatedBefore($end_date); 

你能告訴我爲什麼它仍然缺少一些訂單嗎?請詢問你是否有更多信息或代碼。

+0

OP:你有沒有想過這個? – IcedDante

回答

5

一對夫婦的想法:

  1. 默認情況下,ListOrders最大的100個訂單返回。如果有超過100個訂單,則可以使用ListOrdersByNextToken檢索另一組訂單。有必要的時候你打電話給ListOrdersByNextToken嗎?
  2. API文檔說明:「對於批量訂單數據報告,您應該使用Reports API部分創建訂單報告。」 http://docs.developer.amazonservices.com/en_US/orders/index.html 您是否考慮過調度訂單報告(使用Reports API)而不是輪詢ListOrders?然後,您可以發回訂單確認Feed,以確認收到您收到的訂單。