PankovAlxndr
@PankovAlxndr
Fullstack web developer

Как писать api на битриксе для работы с node.js фронтендом\мобильным api?

Здравствуйте, есть сайт на битрикс, последняя версия ядра, редакция Старт
80% бизнес логики написано на д7
есть своя админка, в ней работают человек 20
/bitrix заглядывают только чтобы блог писать
все товары через парсеры\импорты и тп
работа с заказами через самописную crm

Приняли решение делать мобильное приложение, нужно апи, в связи с этим и фронтенд решили перетянуть на node.js + ssr, сейчас уже часть шаблонов перевели с мок-данными

подходит время писать api для фронта на node.js и для мобильных приложений, отсюда и вопрос, подскажите пожалуйста ссылки или репозитории, сайты с хорошими практиками, как в битриксе все лучше организовать, писать, какие константы устанавливать и тп? любая информация пригодится, от структуры папок до настройки nginx?
  • Вопрос задан
  • 170 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ну наверное можно предложить 2 подхода:

1 Юзать новый ajax компонентов, т.е. писать свои компоненты, в которых реализовывать бизнес-логику и использовать встроенный механизм для обращения к ним с фронта. Вот статья кратенькая: https://verstaem.com/ajax/new-bitrix-ajax/

2 Тупо, в лоб писать скрипты api. Просто скрипты которые просто используют внутренний API проекта, а уже всю логику реализовывать в этом внутреннем API.
Сами скрипты получаются примерно такие, какие-то:
<?
require('.prolog.php');
// добавляем в избранное
	$favorites = \Model\Favorites::getInstance();
if ($_REQUEST['add']) {
	
	$favorites->add2Fav(intval($_REQUEST['add']));
} elseif ($_REQUEST['remove']) {
	$favorites->remove2Fav(intval($_REQUEST['remove']));
} elseif (strlen(trim($_REQUEST['note'])) && $_REQUEST['fav']) {
	$favorites->note2Fav(intval($_REQUEST['fav']),trim($_REQUEST['note']));
}

$arResult['appdata']['user'] = \Model\User::getInstance()->getData();

require('.epilog.php');


Первый подход стильный, модный, молодежный, но и во втором нет ничего криминального, как мне кажется.

В конце концов хочу получить 2 репы, которые ничего друг о друге не знают и общаются через api, сгенерированное тем же Swagger

Классно когда на такие штуки есть бюджет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы