Реализация API-интеграционного решения для логистической платформы и BI-систем

Описание ПО: функции и особенности

Нам предстояло разработать специализированный API для интеграции логистической платформы нашего заказчика с BI-системами его клиентов. Сама логистическая платформа — это высоконагруженное ПО, которое ежедневно обрабатывает большие объемы данных: от информации о продуктах и их типах до сведений о перемещениях, перевозках, а так же разнообразной аналитики и прогнозировании.

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

Особенностью проекта была работа с очень объёмными данными. В отдельных запросах число записей могло достигать 100 000, при этом каждая запись включала в себя более 40 полей. Система должна была не просто передавать такие данные, но делать это быстро, без задержек и с высокой степенью стабильности, чтобы отчеты и аналитические панели клиентов в BI-системах всегда оставались актуальными.

Чтобы соответствовать этим высоким требованиям, мы выбрали соответствующие технические решения и подходы к архитектуре системы.

Задачи

Для успешной реализации проекта мы поставили перед собой цель создать надёжный, производительный и простой в подключении API, который позволит BI-системам клиентов получать большие объёмы логистических данных без задержек и сложной настройки. Чтобы добиться этого, нам нужно было проработать архитектуру доступа, подготовить понятную спецификацию, обеспечить высокую стабильность и покрыть проект качественным тестированием. Отдельное внимание уделялось удобству интеграции: для клиентов должно было быть максимально понятно, как подключаться и получать данные.

Основные задачи проекта:

  • Формулирование требований и условий для реализации интеграции.
  • Подготовка детальной спецификации API в формате OpenAPI.
  • Разработка API и проведение функционального тестирования.
  • Настройка сценариев автоматизированного тестирования.
  • Подготовка документации и инструкций для пользователей — как со стороны логистической компании, так и для BI-клиентов.
  • Создание интерактивного стенда для тестирования (включая использование Spectacular DRF).
  • Настройка тестовых запросов и автотестов в Postman.
  • Проработка архитектуры авторизации, включая доступ к API через токен.
Результаты

Мы создали высокопроизводительный REST API, обеспечивающий быстрый и стабильный обмен данными между логистической платформой и BI-системами клиентов, такими как Power BI, Tableau, Qlik Sense и т.п. Внедрённый нестандартный механизм кеширования значительно сократил время ответа на крупные запросы, а токенная авторизация и стандартизированная спецификация OpenAPI обеспечили безопасный и простой доступ.

Для удобства тестирования и интеграции подготовлены интерактивный стенд и коллекции в Postman, а подробная документация позволила клиентам подключаться максимально быстро. API уверенно работает под высокой нагрузкой и с большими объёмами данных, обеспечивая стабильность и предсказуемость работы.

Технологии

Django Rest Framework, drf-spectacular documentation, django.core.cache

Масштаб проекта

  • Максимум данных в одном запросе: до 100 тыс. записей.
  • Пиковая нагрузка: до 10 запросов/сек.
  • Команда проекта: 5 человек.
  • Затрачено часов: 150.
  • Сложность проекта: 7 из 10.