繁体   English   中英

使用NextToken PHP遍历Amazon MWS Orders API

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM