ТЗ - связка CRM и OFD для агентской схемы по крипте

ТЗ: связка CRM и OFD для агентской схемы по крипте

1. Цель

Реализовать связку CRM и OFD-сайта для работы по агентской схеме по крипте.


2. Логика связки CRM и OFD

Правило связи

Пример

CRM Cara может быть связана с несколькими OFD:

При этом каждый OFD должен быть уникально закреплён только за одной CRM.


3. Настройка связи рублёвого баланса с OFD

Где добавляется связь

В разделе рублёвых балансов CRM.

Сейчас у каждого баланса есть действие Edit. Внутри Edit нужно добавить поле:

svyazka_crm_i_ofd_dlya_agentskoj_shemy_po_kripte_1.jpg

Связать с OFD

Логика поля

Пользователь может выбрать один из доступных OFD:

Результат

После настройки каждый рублёвый кошелёк CRM может быть привязан к конкретному OFD.

Это нужно, чтобы CRM понимала, какие операции можно отправлять в какой OFD.


4. Создание аванса OFD по обменной операции

Важная логика

Аванс OFD создаётся по обменной операции, где пополняется рублёвый кошелёк.

Даже если вся операция в CRM выглядит как связка IDR → RUB или другая внутренняя exchange-операция, для OFD важна именно рублёвая часть: сколько рублей клиент отправил на связанный IP/агентский счёт.

Если используется счёт ИП / агентский рублёвый счёт, то все транзакции пополнения рублей должны быть разнесены в авансы OFD.

Условие доступности

Создать аванс OFD можно только если:

  1. Операция является обменной.
  2. В операции есть рублёвый кошелёк, связанный с OFD.
  3. Этот рублёвый кошелёк является именно кошельком пополнения — то есть кошельком, на который клиент отправил деньги.
  4. Транзакция закреплена в CRM.

svyazka_crm_i_ofd_dlya_agentskoj_shemy_po_kripte_2.jpg

UI-логика

В меню транзакции через три точки, где сейчас есть:

нужно добавить третий пункт:

Создать аванс OFD

Пункт должен появляться только если выполнены условия доступности.

svyazka_crm_i_ofd_dlya_agentskoj_shemy_po_kripte_3.jpg

Что происходит при нажатии

CRM отправляет в соответствующий OFD данные для создания аванса.

Связанный OFD определяется по рублёвому кошельку пополнения.

В OFD передаются данные из CRM:

После успешного создания

На карточке обмена или рядом с транзакцией должен появиться визуальный маркер, например:

Маркер означает:

Аванс OFD по этой транзакции создан.


5. Создание закупки OFD

Условие доступности

Создать закупку можно только если:

  1. Операция является закупочной.
  2. В операции есть рублёвый счёт.
  3. Рублёвый счёт является именно счётом списания.
  4. Счёт списания связан с OFD-агентом.
  5. Транзакция закреплена в CRM.
  6. Для операции выбран поставщик / закупщик.

svyazka_crm_i_ofd_dlya_agentskoj_shemy_po_kripte_4.jpg

UI-логика

В меню транзакции через три точки нужно добавить пункт:

Создать закупку

Пункт должен отображаться только если условия выше выполнены.

svyazka_crm_i_ofd_dlya_agentskoj_shemy_po_kripte_5.jpg

Что происходит при нажатии

CRM отправляет данные закупки в связанный OFD.

Связанный OFD определяется по рублёвому счёту списания.


6. Поставщики / закупщики

Требование

В CRM должен появиться отдельный раздел:

Поставщики

Этот раздел нужен, чтобы пользователь мог создавать и управлять поставщиками, не выходя из CRM.

Что должно быть в разделе «Поставщики»

В CRM должна быть возможность:

API

Должно быть API, которое позволяет:

UI в transfer

Если рублёвый кошелёк связан с OFD, то в форме transfer / transaction должен появляться блок:

Поставщик / закупщик

Внутри блока:


7. Что не входит в текущий объём

Пробитие чеков полного расчёта через CRM не требуется.

После создания аванса или закупки пользователь вручную заходит на сайт OFD и пробивает чеки полного расчёта там.