tz-calculations.md 6.0 KB

ТЗ: Модуль Калькуляции

Связанные документы:

1. Назначение

Модуль Калькуляции предназначен для связи Manager 2.0 с внешним API калькуляций.

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

2. Статус

Статус модуля: будет разработан отдельно.

На первом этапе:

  • добавить пункт меню;
  • добавить страницу-заглушку;
  • подготовить кнопку Калькуляция в карточке позиции общего каталога.

Заглушка доступна всем авторизованным пользователям.

3. Место в меню

Целевое меню:

Калькуляции

Также в карточке позиции Каталог общий должна быть кнопка Калькуляция.

4. Права доступа

На первом этапе:

  • текущую систему прав не менять;
  • заглушку показывать всем авторизованным пользователям.

Целевая модель прав определяется после появления платформы калькуляций.

5. Интеграция с общим каталогом

Требования:

  • карточка позиции общего каталога содержит кнопку Калькуляция;
  • кнопка выполняет запрос во внешний API калькуляций;
  • запрос выполняется по артикулу позиции;
  • если API возвращает калькуляцию, CRM должна показать ее пользователю;
  • если калькуляции нет, CRM должна показать понятное сообщение.
  • выбранный год в CRM не влияет на запрос и отображение калькуляций.

Открыто:

  • endpoint API;
  • метод запроса;
  • параметры кроме артикула;
  • формат авторизации;
  • структура успешного ответа;
  • структура ответа, когда калькуляция не найдена;
  • требования к хранению или кешированию результата в CRM.

6. Возможный функционал будущего модуля

Предварительный список:

  • запрос калькуляции из позиции каталога по артикулу;
  • отображение результата, если калькуляция найдена;
  • сообщение об отсутствии калькуляции;
  • просмотр статуса калькуляции;
  • привязка результата к позиции каталога;
  • история калькуляций по позиции.

Этот список предварительный и должен быть уточнен после отдельного ТЗ на платформу калькуляций.

7. Что не входит в первый этап

  • реализация платформы калькуляций;
  • API-интеграция до получения подробного описания API;
  • хранение результатов калькуляций;
  • новые права;
  • синхронизация данных.

8. Этапы реализации

  • Добавить пункт меню Калькуляции.
  • Добавить страницу-заглушку.
  • Добавить место под кнопку Калькуляция в карточке общего каталога.
  • Получить подробное описание внешнего API калькуляций.
  • Согласовать формат запроса по артикулу.
  • Реализовать запрос из карточки позиции.
  • Реализовать отображение возвращенной калькуляции.
  • Реализовать сообщение для случая, когда калькуляция не найдена.
  • При необходимости реализовать хранение истории калькуляций.

9. Критерии приемки

  • Пункт Калькуляции есть в меню.
  • Заглушка открывается.
  • В карточке общего каталога предусмотрена кнопка Калькуляция.
  • После появления API запрос по артикулу работает для конкретной позиции каталога.
  • Если калькуляция найдена, пользователь видит результат.
  • Если калькуляция не найдена, пользователь видит понятное сообщение.

10. Открытые вопросы

  • Какой endpoint, метод, авторизация и формат ответа у внешнего API?
  • Какие параметры кроме артикула нужно передавать?
  • Нужно ли хранить историю полученных калькуляций в CRM?
  • Какие роли имеют доступ к калькуляциям?