← К заметкам

Заметки

Как через REST получить данные инфоблока из локального приложения

Локальное приложение не получает прямой доступ к PHP-классам инфоблоков. Оно вызывает REST, а набор доступных методов зависит от того, как эти данные представлены в портале.

Для универсального списка используйте lists.element.get с его IBLOCK_TYPE_ID и ID. Для товарного каталога — методы catalog.*. Наличие таблицы инфоблоков в коробке не означает, что у неё есть универсальный облачный REST-метод.

Если нужного метода нет, в коробке можно реализовать собственный REST-метод в модуле. Его серверная часть подключает iblock, проверяет доступ текущего пользователя и возвращает только предусмотренные поля. Прямой ElementTable::getList() сам эти проверки доступа не заменяет.

Публичный PHP-файл с прологом и выборкой из таблицы — это ещё не защищённый API. Авторизацию приложения и проверку прав нужно спроектировать явно; секрет входящего вебхука нельзя переносить в браузер ради доступа к такому файлу.