• Модуль: market
  • Путь к файлу: ~/bitrix/modules/market/lib/Controller/Application.php
  • Класс: BitrixMarketControllerApplication
  • Вызов: Application::addReviewAction
public function addReviewAction(string $appCode, string $reviewText, int $currentRating): AjaxJson
{
	global $USER;

	$userName = $USER->GetFirstName() . ' ' . mb_substr($USER->GetLastName(), 0, 1) . '.';
	$fields = [
		'app_code' => $appCode,
		'rating' => $currentRating,
		'user_id' => $USER->GetID(),
		'user_name_hash' => md5($userName),
		'text_hash' => md5($reviewText),
	];

	if (function_exists('bx_sign')) {
		$fields['hash'] = bx_sign(md5(implode('|', $fields)));
	}

	$fields['user_name'] = $userName;
	$fields['user_email'] = $USER->GetEmail();
	$fields['text'] = $reviewText;

	$response = Transport::instance()->call(
		Transport::METHOD_ADD_REVIEW,
		$fields,
	);
	$error = (array)($response['ERROR'] ?? []);

	return AjaxJson::createSuccess([
		'success' => $response['SUCCESS'] === 'Y' ? 'Y' : 'N',
		'can_review' => $response['CAN_REVIEW'] === 'Y' ? 'Y' : 'N',
		'review_info' => $response['REVIEW_INFO'] ?? [],
		'error' => $error,
	]);
}