[英]Looping through Amazon MWS orders API by using NextToken PHP
我向Amazon MWS订单API发出curl请求以获取ListOrders,然后使用foreach循环遍历xml响应并将响应打印在html表中。
但是根据Amazon MWS Orders API,它仅在一个请求中返回100个结果,并且要获得更多结果,我需要通过使用从上一个请求的最后一个响应中获得的其他参数NextToken进行另一个卷曲请求,然后再返回下一个100个订单,直到没有更多的NextToken可用。
所以我的问题是如何反复遍历NextToken请求的新响应并在html表中打印响应,直到没有更多NextToken可用?
这就是我用来将报表的csv响应转换为数组以保存到数据库的方法。
$report_listing = explode("\n", $report_data["report_data"]);
$orders_list = '';
$i = 0;
$headers = '';
// Building an Associative array of CSV report
foreach($report_listing as $listing)
{
if($i == 0)
{
$headers = explode("\t", trim($listing));
}
else
{
$csv_data = explode("\t", $listing);
if(!isset($csv_data[1]))
continue;
foreach($headers as $key => $index)
{
$orders_list[$i - 1][$index] = $csv_data[$key];
}
}
$i++;
}
$new_order = array();
// Combining order items into one order array
foreach($orders_list as $orders)
{
$new_order[$orders['amazon-order-id']][] = $orders;
}
报告响应也可以采用XML格式
对于那些仍在挣扎中并且想要一种简单的方法来获取订单数据的人。 请使用Amazon MWS Reports API,并使用-请求报告
报告类型: _GET_XML_ALL_ORDERS_DATA_BY_ORDER_DATE_
有关更多信息,请参见https://docs.developer.amazonservices.com/zh_CN/reports/Reports_ReportType.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.