PankovAlxndr
@PankovAlxndr
Fullstack web developer

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

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

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

подходит время писать api для фронта на node.js и для мобильных приложений, отсюда и вопрос, подскажите пожалуйста ссылки или репозитории, сайты с хорошими практиками, как в битриксе все лучше организовать, писать, какие константы устанавливать и тп? любая информация пригодится, от структуры папок до настройки nginx?
  • Вопрос задан
  • 207 просмотров
Пригласить эксперта
Ответы на вопрос 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

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

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

Похожие вопросы