Цикл через API заказов Amazon MWS с использованием переполнения стека NextToken

Я делаю запрос curl в API заказов Amazon MWS, чтобы получить ListOrders, затем перебираю xml-ответ, используя цикл foreach, и распечатываю ответ в html-таблице.

Но в соответствии с API заказов Amazon MWS он возвращает только 100 результатов в одном запросе, и для получения большего количества результатов мне нужно сделать еще один запрос curl, используя другой параметр NextToken, полученный из последнего ответа предыдущего запроса, который затем вернет следующие 100 заказов и и так до тех пор, пока не останется больше NextToken.

Поэтому мой вопрос заключается в том, как я могу снова и снова переходить к новому ответу на запрос NextToken и печатать ответ в html-таблице, пока не останется больше NextToken?

0

Решение

Это то, что я использую для преобразования ответа 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;
}
0

Другие решения

Ответ на отчет также доступен в формате XML

Для тех, кто все еще борется и хочет получить простой способ получения данных о заказах. Пожалуйста, используйте Amazon MWS Reports API и запросите отчет, используя —

Тип отчета:_GET_XML_ALL_ORDERS_DATA_BY_ORDER_DATE_

Для получения дополнительной информации см.
https://docs.developer.amazonservices.com/en_UK/reports/Reports_ReportType.html

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector