Ok, trochę to jest skomplikowane ale postaram się:
- kod który pokazałem jest w stanie policzyć tylko 100 pozycji bo na więcej nie pozwala API.
- oryginalnie schemat pobierania jest taki:
1. Ustalenie początkowej daty i podanie jej w polu date_confirmed_from
2. Przetworzenie wszystkich odebranych zamówień. Jeśli odebrano 100 zamówień, oznacza to, że do pobrania może być ich jeszcze więcej.
3. Pobranie kolejnej paczki zamówień, podając w polu date_confirmed_from wartość z date_confirmed ostatnio pobranego zamówienia. Operacja powtarzana aż do otrzymania paczki z ilością zamówień mniejszą niż 100 (oznacza to że nie ma więcej zamówień do pobrania).
4. Zapisanie date_confirmed ostatnio przetworzonego zamówienia. Kolejne pobranie zamówień można wykonać od tej daty, aby nie pobierać dwukrotnie tych samych
Jednak istnieje też możliwość podania numeru zamówienia zamiast daty ("order_id").
Trzeba podawać ostatni otrzymany numer czyli: 100,200,300 itd. Podaje się go w parametrach połączenia.
- potrzebuję pętli która będzie wyciągać zamówienia po 100 aż do momentu kiedy osiągnie 0
Kod do połączenia z api:
function polacz()
{
$params = array ('token' => 'xxxxx','method' => 'getOrders','parameters' => '{"order_id": '.$zam.',"status_id": 40196, "get_unconfirmed_orders": true}'); $query = http_build_query ($params);
$contextData = array ('method' => 'POST','header' => "Content-Type: application/x-www-form-urlencoded\r\n"."Content-Length: ".strlen($query)."\r\n"."User-Agent:MyAgent/1.0\r\n",'content'=> $query ); $dane = json_decode($result, true);
return $dane;
}