Есть скрипт, который собирает json из товаров и по curl отправляет на другой сервер
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("iblock");
CModule::IncludeModule("catalog");
header('Content-Type: application/json');
$nPageSize = 10;
$iNumPage = 1;
$arTmp = [];
// выборка товаров
$arSelect = Array("ID", "NAME", 'CATALOG_CATALOG_GROUP_ID_1', "PROPERTY_CML2_ARTICLE", "PROPERTY_MORE_PHOTO", "DETAIL_TEXT", "PROPETY_PROP_13010", "PROPERTY_PROP_13030");
$arFilter = Array("IBLOCK_ID"=>23, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y", "ID"=>array(82353, 82354, 82355, 82357) );
$res = CIBlockElement::GetList(Array("ID"=>"ASC"), $arFilter, false, array('nPageSize' => $nPageSize, 'iNumPage' => $iNumPage), $arSelect);
while($ob = $res->Fetch())
{
// массив для json
$arTmp[] = [
"spu"=>$ob["PROPERTY_CML2_ARTICLE_VALUE"],
"price"=>$ob["CATALOG_PRICE_1"],
"quantity"=>$ob["CATALOG_QUANTITY"],
"property"=>[[
"sku"=>$ob["PROPERTY_CML2_ARTICLE_VALUE"],
"price"=>$ob["CATALOG_PRICE_1"],
"quantity"=>$ob["CATALOG_QUANTITY"]
]],
"crossedPrice"=>"99999999"
];
}
//выборка товаров
// HTTP Request Method
$arRes["jsonrpc"] = "2.0";
$arRes["method"] = "method";
$arRes["id"] = "1";
$arRes["params"] = [$arTmp];
$data_string = json_encode($arRes);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://###.com/something.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_HTTPHEADER, Array('Content-Type: application/json', 'X-RPC-Auth-Username: 1', 'X-Rpc-Auth-Password: ####'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
$result = curl_exec($ch);
curl_close($ch);
?>
Но у принимающего сервера есть ограничение, он принимает не более 10 товаров за раз.
Сейчас скрипт выгружает 10 товаров и все, если запустить его еще раз, то выгрузятся те же товары. В $iNumPage хранится номер страницы, если его сменить сменятся и выгружаемые товары. Как сделать так, чтобы скрипт не требовал моего вмешательства, а сам выгружал по 10 товаров?