Max-pain of It-Infinity
10/18/2018 - 10:36 AM

Bitrix API Menu

Битрикс API - меню выбора действия


//Подключаем API битрикса
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");

//Заголовки
header('Cache-Control: no-cache, no-store, must-revalidate'); //Отключает кэширование
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); //Дата и время после которой ответ считается устаревшим
header('Content-type: application/json'); // Тип возвращаемого контекта

//Отключаем статистику Bitrix
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS", true);

$dataResult =  [
	'error' => false,
	'error_msg' => '',
	'result' => '',
];

try {
	$action = $_REQUEST['action'];
	if (empty($action) || !isset($action) || count($action) === 0) {
		throw new Exception('Действие не указано');
	}
	
	switch ($action) {
		case 'actionName' : include_once 'actionFileName.php'; break;
		default : throw new Exception('Обработка на указанное("'.$action.'"") действие отсутствует');
	}
	
} catch (Exception $e) {
	//Обработка ошибок
	$dataResult['error'] = true;
	$dataResult['error_msg'] = $e->getMessage();
}

//Отправка (вывод) ответа на frontend
echo json_encode($dataResult,JSON_UNESCAPED_UNICODE);