[BACK-PROC-06] Интеграция B2B-приёмки с AuthService и публикация списка продуктов в Kafka

Сервис процессов добавления продуктов

Published

October 14, 2026

NoteКраткая карточка задачи
  • Репозиторий / Компонент: product_process_service (Go).
  • Стек: Go, gRPC/HTTP Client, Apache Kafka.
  • Тип задачи: Backend (Интеграция и Очереди).
  • Статус: Готово к реализации

Описание задачи

Необходимо отрефакторить текущий B2B-эндпоинт приёмки продуктов от магазинов. Требуется удалить хардкод токена, настроить синхронный запрос в AuthService для проверки партнера, и в случае успеха — отправлять (пушить) входящий JSON-список продуктов в Kafka-топик для асинхронной обработки воркером.

Инструкция по шагам

  1. Удаление захардкоженной проверки: Полностью вырезать из кода проверку вида if token == "hardcoded_token".
  2. Интеграция сетевого клиента: Подключить gRPC/HTTP клиент для связи с AuthService. Вызывать метод ValidateStoreToken, передавая токен из заголовка запроса (Authorization: Bearer <b2b_token>).
  3. Обработка ответа авторизации:
    • Если AuthService вернул ошибку/отказ — мгновенно прерывать операцию и отдавать магазину структурированную ошибку (вспоминаем прошлую задачу: маппинг в gRPC код 16 или HTTP 401).
  4. Валидация JSON и публикация в Kafka (Пайплайн):
    • В случае успешной авторизации, распарсить входящий массив продуктов от магазина.
    • Сформировать DTO-сообщение для очереди, обогатив его данными store_id.
    • Выполнить отправку (Produce) сообщения в Kafka-топик b2b_products_intake. Сообщение должно быть отправлено строго в формате JSON Lines / структурированного JSON.