<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); 
Cmodule::IncludeModule('catalog');
define('CURRENCY', 'RUB');
define('CATALOG_GROUP_ID', 160);

$entityBody = file_get_contents('php://input'); 
$products = json_decode($entityBody);

/*$db_res = GetCatalogGroups(($b="SORT"), ($o="ASC"));
$catalogGroups=[];
while ($res = $db_res->Fetch())
{
  if ($res["CAN_ACCESS"]=="Y")
  {
    $catalogGroups[ $res['NAME'] ] = $res;
  }
}*/

foreach ($products as $product) {
   $arFields = Array(
       "PRODUCT_ID" => $product->id,
       "CATALOG_GROUP_ID" => CATALOG_GROUP_ID,
       "PRICE" => $product->pr,
       "CURRENCY" => CURRENCY,
       //"QUANTITY_FROM" => 1,
       //"QUANTITY_TO" => 100
   );
   $res = \Bitrix\Catalog\PriceTable::getList(
           array(),
           array(
                   "PRODUCT_ID" => $product->id,
                   "CATALOG_GROUP_ID" => CATALOG_GROUP_ID
               )
       );
   //Добавление/обновление цены
   if ($arr = $res->Fetch())
   {
       \Bitrix\Catalog\Model\Price::update($arr["ID"], $arFields);
       echo 'Цена товара с id: ' . $product->id . " обновлена.\n";
   }
   else
   {
       \Bitrix\Catalog\Model\Price::add($arFields);
       echo 'Добавлена цена для товара с id: ' . $product->id . "\n";
   }

   //Обновление количества товара
   $arFields = array('QUANTITY' => $product->cnt);
   if ( CCatalogProduct::Update($product->id, $arFields) ) {
      echo 'Обновлено количество товара с id: ' . $product->id . "\n";
   }
}
