Я получаю детали заказа через заказ Flipkar Api.It дает первые 20 (0-20) результат за раз и для последующих записей дает URL следующей страницы. Для выборки Следующие 20 записей (20-40) мы снова должны вызвать скручивание с следующей страницей URL и получать заказы .FOR это я, используя код ниже:Получение данных о заказах через flipkart api с помощью PHP (как вызвать функцию без объявления функции перезаписи)
$listingbulk=array();
$headers = array(
'Cache-Control: no-cache',
'Content-type: application/json',
'Authorization: Bearer '.$fkt
);
$bulkjson= '{
"filter": {
"orderDate": {
"fromDate": "'.$orderfrom.'",
"toDate": "'.$orderto.'"
}
}
}';
$urlbulk = "https://api.flipkart.net/sellers/v2/orders/search";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,$urlbulk);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $bulkjson);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$resultbulksku = curl_exec($curl);
$listingbulk[] = json_decode($resultbulksku);
if (curl_errno($curl)) {
echo 'Error:' . curl_error($curl);
}
curl_close ($curl);
$nextPageUrl= $listingbulk[0]->nextPageUrl;
if ($nextPageUrl !=''){
$newpageurl= orderFk($nextPageUrl,$headers);
if ($newpageurl !='') {
$newpageurl2= orderFk($newpageurl,$headers);
if ($newpageurl2 !=''){
$newpageurl3= orderFk($newpageurl2,$headers);
}
}
}
Функции здесь:
function orderFk($nextPageUrl,$headers){
$fp = fopen('order/order'.$currenttime.'.csv',"a");
$urlbulk1 = "https://api.flipkart.net/sellers/v2/".$nextPageUrl;
$curl1 = curl_init();
curl_setopt($curl1, CURLOPT_URL,$urlbulk1);
curl_setopt($curl1, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl1, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl1, CURLOPT_HTTPHEADER, $headers);
$resultbulksku1 = curl_exec($curl1);
$listingbulk1[] = json_decode($resultbulksku1);
if (curl_errno($curl1)) {
echo 'Error:' . curl_error($curl1);
}
curl_close ($curl1);
$listingbulk=$listingbulk1;
$newnextPageUrl= $listingbulk1[0]->nextPageUrl;
return $listingbulk;
}
Я хочу, чтобы if else условие динамически, поэтому, если «next pageurl» существует в ответ, он должен снова вызвать ту же функцию с новым URL-адресом (без функции вызова несколько раз, если условие else). Если у кого-то есть решение для этого, ответьте. (Ответ на рабочий пример был бы более полезен)
URL страницы есть строка, как: [nextPageUrl] =>/заказы/поиск/ewogICJzb3J0IiA6IHsKICAgICJmaWVsZCIgOiAicGlja3VwX2RhdGUiLAogICAgIm9yZGVyIiA6ICJhc2MiCiAgfSwKICAiZmlsdGVyIiA6IHsKICAgICJzZWxsZXJfaWQiIDogImExY2E4MWNmMTllZjQ0NzAiLAog – Urvashi
в этом случае функция будет выглядеть как ваш orderFk ($ nextPageUrl, $ заголовки), но в цикле, на вершине, создавать новые constant $ currentPageUrl = $ nextPageUrl, после того, как curl_exec установил эту константу как null, после curl_error создайте инструкцию IF, где u проверит, существует ли $ listingbulk [0] -> nextPageUrl, если существует, то обновляет $ currentPageUrl = $ listingbulk [0] -> nextPageUrl ; Я ИЗМЕНИЮ ME ANSEWR –