[Релиз] REST API Business Edition

Тема в разделе "Битрикс", создана пользователем qweik, 25 дек 2018.

  1. qweik

    qweik Житель

    Регистрация:
    9 июн 2017
    Сообщения:
    41
    Симпатии:
    33
    Пол:
    Мужской
    https://marketplace.1c-bitrix.ru/solutions/artamonov.rest/
    Описание


    Модуль помогает организовать программный интерфейс для внешних и внутренних приложений.

    Ранее нами уже был разработан и опубликован на бесплатной основе модуль REST API. Данный модуль хорошо себя зарекомендовал для решения задач межплатформенных обменов, показателями этого факта являются отзывы и количество скачиваний. Со временем стало появляться множество запросов по доработке модуля, и как следствие, мы приняли решение о написании новой, усовершенствованной версии уже полюбившегося модуля.

    В данной версии мы учли все недостатки и пожелания из прошлой версии, очень хорошо оптимизировали ядро модуля, теперь оно работает гораздо быстрее, и на этом мы делаем свой основной упор.

    Помимо переработки ядра немаловажным фактором является и добавление карты роутов. За счет карты появилась возможность очень гибко настраивать параметры для любого отдельного роута.


    Плюсы от приобретения модуля:

    - Уменьшение стоимости разработки API за счет сокращения времени на программирование интерфейса.

    - Поддержка от профессионалов, имеющих большой опыт создания API.


    Процесс:

    1. Добавляете карту роутов, в которой прописываете собственный роут.

    2. Прописываете контроллер, который будет обрабатывать роут.

    3. Пишите код в контроллере, который будет отрабатывать, когда на роут поступит запрос от клиента.


    Возможности:

    - Загрузка интерфейса до запуска публичной части сайта.

    - Отсутствие необходимости в правке стандартных маршрутизаторов платформы.

    - Виртуальный путь к интерфейсу, в том числе и от корня домена (https://domain.com/ или https://domain.com/{api}/).

    - Настройка доступа в административной части сайта к разделам модуля на уровне групп пользователей.

    - Автогенерируемая документация в административном разделе.

    - Поддержка карт роутов.

    - Создание произвольных роутов.

    - Установка собственных контроллеров для роутов.

    - Настройка уровня доступа к роутам.

    - Валидация параметров входящего запроса.

    - Генерация токенов для пользователей.

    - Авторизация по токену для конкретного роута.

    - Поддержка списка "белых" токенов для конкретного роута.

    - Проверка групп пользователя при авторизации для конкретного роута.

    - Возможность ограничения количества запросов в единицу времени на уровне групп пользователей.

    - Возможность передачи дополнительных заголовков при ответе.

    - Возможность деактивировать конкретный роут.

    - Кэширование входящих запросов и ответов средствами платформы.

    - Журналирование запросов и ответов.

    - Наличие функций упрощающих разработку интерфейса.

    - Наличие примеров и руководств для разработчика.


    Более подробно все возможности, функции и примеры описаны в документации, которая имеется в модуле.

    Для ознакомления с ней необходимо установить модуль (имеется демо-режим).


    FAQ:


    1. Чем данный модуль отличается от REST API Битрикса?
    1.1. В REST API Битрикса мало гибкости, есть необходимость использовать именно предоставленные роуты. Данный модуль позволяет формировать свои роуты, писать свою логику при обработке запроса, то есть предоставляет больше гибкости;

    1.2. REST API Битрикса реализовано не совсем согласно архитектурному стилю REST;

    1.3. В REST API Битрикса, при обработке запроса порой происходят «лишние» действия, которые могут создавать дополнительную задержку при ответе клиенту, может это и не сильно критично, но API должно быть настолько быстрым, насколько это возможно;

    1.4. API не всегда должно быть доступно всем, иногда оно должно быть уникально (роуты, параметры, ... ) для проекта, но за счет общего стиля REST API Битрикса, документация которого в общем доступе, эта уникальность нарушается и создает дополнительную лайзеку для атак на сайт. Используя данный модуль, можно указывать собственное имя роута, где будет работать API. Например: domain.com/rest/ или domain.com/api/, или domain.com/rest-api/, или api.domain.com, и так далее;

    1.5. В REST API Битрикса нет возможности как-то управлять интерфейсом из административной части сайта;

    1.6. В REST API Битрикса нет возможности регулировать доступы к роутам, ограничивать доступ по количеству запросов от клиента, журналировать запросы и ответы, и некоторые другие функции.

    1.7. На текущий момент, в REST API Битрикса, например, нет возможности создать заказ через API. Используя данный модуль вы можете реализовать этот функционал.

    1.8 В целом, данный модуль пишется и развивается на основе запросов пользователей, но REST API Битрикса пишется на усмотрение Битрикса. Плюс это или минус - решать вам.

    2. Чем данный модуль отличается от бесплатной версии?


    2.1. Переписано ядро - увеличена скорость.

    2.2. Изменена архитектура модуля - увеличена скорость.

    2.3. Работа с роутами переведена на карты - увеличена скорость, больше гибкости в настройке и обработке роутов.

    2.4. Введены функции - увеличение скорости разработки. Пример функций: route(), request(), response() и прочие.

    2.5. Добавлена возможность не указывать имя роута для API. То есть, теперь API может запутаться относительно корня домена.

    2.6. Добавлена автогенерируемая документация, то есть теперь описание всех роутов можно увидеть прямо из административной части сайта.

    2.7. Добавлено кэширование. Теперь можно кэшировать запросы и ответы на них, тем самым увеличивая скорость ответа и снижая нагрузку на базу данных.

    2.8. Добавлена возможность ограничивать доступ к роуту в зависимости от количества запросов со стороны клиента.

    2.9. Автоматическое подключение модуля в файле init.php.


    Примечание:

    - Минимальная версия PHP >= 5.6.

    - Обязательно наличие файла для обработки 404 ошибки (который указан в htaccess).

    - Для работы CORS-запросов необходимо чтобы на сервере были разрешены запросы типа OPTIONS.


    Спасибо Вам за ознакомление с нашим модулем. Если у Вас имеются какие-либо вопросы/предложения, то мы всегда готовы обсудить их через контакты, указанные в разделе поддержки.

    Версия: 1.2.0
     
    Последнее редактирование: 10 янв 2019
    tehnoblog, mailoxfun, clube.divulgador и ещё 1-му нравится это.
  2. perfect68

    perfect68 Житель

    Регистрация:
    7 мар 2015
    Сообщения:
    14
    Симпатии:
    0
    Ссылка на другой модуль
     
  3. qweik

    qweik Житель

    Регистрация:
    9 июн 2017
    Сообщения:
    41
    Симпатии:
    33
    Пол:
    Мужской
    Спасибо, поправил
     
  4. dennsp

    dennsp Житель

    Регистрация:
    2 мар 2016
    Сообщения:
    19
    Симпатии:
    19
    Пол:
    Мужской
    Есть у кого-то более новая версия?
     
  5. qweik

    qweik Житель

    Регистрация:
    9 июн 2017
    Сообщения:
    41
    Симпатии:
    33
    Пол:
    Мужской
    Да
     
  6. qweik

    qweik Житель

    Регистрация:
    9 июн 2017
    Сообщения:
    41
    Симпатии:
    33
    Пол:
    Мужской
    artamonov.rest (3.2.0)

     
    Последнее редактирование модератором: 18 май 2019
    hogmachine, tehnoblog и Itnull нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление