Разработка интеграционного сервиса для цифровой платформы ориентированной на самозанятых
Разработали интеграционный сервис для организации взаимодействия между системой заказчика и его клиентами.
Клиент
Цифровая платформа для быстрого привлечения самозанятых исполнителей на разовые и сменные операционные задачи — для ритейла, логистики, пунктов выдачи заказов.
Задача
-
Сокращение сроков обработки заявок за счет полной цифровизации процессов
-
Замена ручной передачи заявок и артефактов на интеграционное взаимодействие через разработанный сервис
Решение
Что планировали сделать
Разработать интеграционный сервис, который обеспечит автоматизированный обмен данными между внутренней системой заказчика и информационными системами его клиентов (компаний-партнёров). Сервис призван заменить ручную обработку заявок и файловый обмен, полностью оцифровав передачу задач и возврат результатов.
Почему решали эту задачу именно так
Ключевая архитектурная цель — создать гибкий, масштабируемый и поддерживаемый механизм интеграции, который позволит:
-
быстро подключать новых клиентов без доработок ядра платформы;
-
централизованно управлять версиями программного интерфейса (API) и форматами данных;
-
снизить нагрузку на внутреннюю команду разработки заказчика за счёт выноса интеграционной логики в отдельный сервис.
Такой подход также упростил совместное тестирование: каждый новый клиент мог проходить ПСИ с интеграционным сервисом независимо от графика релизов основной платформы.
Этапы
Этап 1. Предпроект (3 недели)
-
Анализ и сбор требований
Изучили существующие бизнес-процессы заказчика, форматы данных, которые передаются между сторонами, и технические возможности клиентов (поддерживаемые протоколы, требования к безопасности). -
Проектирование API
Спроектировали архитектуру REST API с использованием спецификации OpenAPI (Swagger). Это позволило заранее согласовать контракты, сгенерировать заглушки для параллельной разработки и обеспечить единый источник истины для всех участников. -
Архитектурное проектирование
Определили структуру сервиса, модули аутентификации, логирования, обработки ошибок и механизмы повторных попыток (ретраев). Выбрали стек: Python (FastAPI) для высокой производительности и простоты поддержки. -
Согласование плана тестирования
Разработали сценарии приемо-сдаточного тестирования (ПСИ) совместно с командой заказчика, чтобы на этапе разработки чётко понимать критерии готовности.
Этап 2. Разработка (4 недели)
-
Разработка ядра сервиса
Реализовали точки входа в API (эндпоинты) для приёма заявок от системы заказчика, трансформации данных в формат, ожидаемый каждым клиентом, и отправки через защищённые каналы. -
Реализация адаптеров для клиентов
Создали конфигурируемые адаптеры, позволяющие подключать новых клиентов через изменение настроек без изменения кода. -
Логирование и мониторинг
Встроили детальное логирование каждого шага обмена, что упростило отладку и дало заказчику прозрачность операций. -
Совместное ПСИ
Провели циклы тестирования с участием разработчиков заказчика и технических специалистов первого клиента. В ходе тестирования оперативно исправлялись выявленные несоответствия, уточнялись форматы. -
Документирование и передача
Подготовили документацию по развертыванию, настройке и эксплуатации сервиса. Провели трансфер знаний команде заказчика.
Результат
За 4 недели разработан интеграционный сервис и проведено совместное ПСИ с заказчиком и его клиентом.
-
Длительность проекта: 7 недель (3 недели предпроект + 4 недели разработка)
-
Команда: 1 разработчик (с привлечением архитектора на этапе проектирования)
-
Количество согласованных API-методов: 5
-
Количество успешно проведённых циклов ПСИ: 3 (включая полный цикл с первым клиентом)
Трудности
Интеграция команды разработки подрядчика в команду разработки заказчика. Отмечалось частое опережение по готовности разработанных компонентов относительно готовности приемки на стороне заказчика.