| Клієнти
|
Кількість зареєстрованих клієнтів.; Афіліата можна активувати, заблокувати, перевести в архів.;
23.; історичний розвиток змін
- документ продажу;
- замовник;
- афіліат;
- дата продажу;
- сума продажу;
- база комісії;
- ставка;
- сума комісії;
- статус нарахування.; |-
|
Сума коригування
|
decimal
|
}
customer.affiliate_id → affiliate.id
7.1.; Поля картки афіліата
8.; |-
|
Тип афіліата
|
enum
|
Так
|
-
|
Багато кліків з одного IP
|
-
|
Джерело привʼязки
|
enum
|
-
|
Назва програми
|
string
|
Так
|
}
Потрібно створити документ або регістр '''Афіліатське нарахування'''.; Детальний click tracking.;=== 21.3.; Звіт “продажі та реалізація по афіліатах” ===
|-
|ID
|UUID / integer
|Унікальний ID ліда.; |-
|Керівник
|Аналізує ефективність партнерської програми.; Перевірити, що документ оплачений, якщо це потрібно за налаштуваннями.; affiliate_links.code — unique
Комісія = оплачена сума без повернень × ставка афіліата
https://site.com/register?affiliate=AFF-000001
!Подія
payment.status = paid → calculate affiliate commission
|
Поле
https://site.com/?ref=AFF-000001
Менеджер створює афіліата в K2 ERP.; Нарахування комісії з оплаченого продажу.; |-
|
Скасування
|
При скасуванні виплати нарахування повертаються у статус `available`.;=== 25.4.; Платежі ===
2.;!Тип
Комісія = оплачена сума документа × ставка афіліата
!Поле
=== 29.3.; Нарахування ===
1.; |-
|Комісія з повторних покупок
|boolean
|Так
|Чи нараховується винагорода за повторні покупки.; Звіт по комісіях.; |-
|Статус
|enum
|Так
|Новий, активний, заблокований, архівний.; |-
|Самореферал
|Не нараховувати комісію або відправити на ручну перевірку.; Менеджер бачить продажі та реалізація та комісії по своїх афіліатах.; Перерахувати базу комісії.; |-
|Базова ставка
|decimal
|Так
|Основна ставка програми.; |-
|Обʼєкт
|Який обʼєкт змінено.; |}
Ключові принципи реалізації:
Приклад payload:=== 8.1.; Поля програми ===
{| class="wikitable"
2.; |-
|Афіліат
|reference
|партнерська сторона, якому нарахована комісія.; !характеристика
!характеристика
=== Етап 3.; 31.3.; Нарахування ===
=== 12.2.; Рекомендоване правило для MVP ===
<pre>
=== 25.5.; Повернення ===
Афіліат має змогу бути повʼязаний із контрагентом K2 ERP.; |-
|Attribution expires at
|datetime
|Дата завершення attribution window.; Створити документ виплати.; 1.; |-
|Дата створення
|datetime
|Дата створення.; affiliate_programs
== 17.; Особистий кабінет афіліата ==
</pre>
pending → rejected
8.; |-
|Початкове нарахування
|reference
|Нарахування, яке коригується.; !Поле
16.;<pre>
2.;
8.2.; Типи комісій
4.; !Термін
29.4.; Повернення
19.2.; Реєстрація ліда
27.2.; Надійність
Комісія має змогу нараховуватися при таких подіях:
paid → adjustment
|
характеристика
"session_id": "abc123",
4.; |-
|
Код афіліата
|
string
|
Так
|
-
|
Афіліатська програма
|
-
|
Бухгалтер
|
-
|
Виплачено
|
Загальна виплачена сума.;
!характеристика
3.; 6.; Змінювати статуси після проведення.; |-
|Індивідуальна ставка
|decimal
|Ні
|Ставка, яка має пріоритет над ставкою програми.; Бухгалтер формує виплату афіліату.; !Ризик
{| class="wikitable"
!Обовʼязкове
<pre>
=== 13.1.; Відсоткова комісія ===
!характеристика
10.; 4.; |-
|hold
|Нарахування очікує завершення hold-періоду.; |-
|UTM medium
|string
|Канал.; |-
|IP
|string
|IP-адреса.; |-
|Телефон
|string
|Ні
|Контактний телефон.;<pre>
}
3.; |500 грн за нового клієнта.;== 30.; Ризики ==
<pre>
Необхідно створити довідник '''Афіліатські програми'''.; |-
|історичний розвиток змін
|Зміна коду має потрапляти в audit log.; |-
|Афіліат
|reference
|Афіліат, який залучив ліда.; Необхідно створити журнал '''Афіліатські переходи'''.;== 25.; інтеграційні функціональні можливості з існуючими модулями K2 ERP ==
=== 21.1.; Звіт “Ефективність афіліатів” ===
{| class="wikitable"
3.;
base_amount = 10 000 грн
Комісія переходить у статус “Доступна до виплати” після завершення hold-періоду.; |-
|Документ повернення
|reference
|Документ повернення в K2 ERP.; |}
!Статус
3.; |}
1.; {| class="wikitable"
!характеристика
|-
|First click
|замовник закріплюється за першим афіліатом.; |-
|rejected
|Нарахування відхилене.; Перевірити статус афіліата.; 3.; |-
|Коментар привʼязки
|text
|Причина або додатковий характеристика.; |-
|Маржа
|Комісія рахується від прибутку.; 1.; |Повний доступ.; |-
|Виплата
|Фактичне перерахування винагороди афіліату.; |-
|продажі та реалізація
|Кількість і сума продажів.; |-
| style="background:#d4edda; color:#155724; font-weight:bold;" |Обовʼязково
|Комісія не повинна дублюватися по одному продажу.; |Потрібен унікальний ключ на рівні продажу та афіліата.;Приклад:- обмежити доступ афіліатів тільки до власних даних;
- приховувати персональні інформаційні дані клієнтів у партнерському кабінеті, якщо це потрібно;
- логувати дії менеджерів;
- заборонити афіліату змінювати суму комісії;
- заборонити видалення нарахувань після проведення.; Виплата формується тільки з available-нарахувань.; 1.; |}
=== Етап 5.; 31.5.; Звіти ===
PARTNER-KYIV-001
|
Поле
|
Роль
3.;Альтернативний варіант:"utm_medium": "post",
affiliate_customer_bindings.customer_id
!Менеджер
4.; |-
|Ручне редагування
|Адміністратор має змогу змінити код, якщо це дозволено правами.; Чи активний афіліат.; Розрахувати суму комісії.; Після проведення виплати нарахування отримують статус paid.;
"clicks": 1200,
|
Правило
|
| Адміністратор
|
-
|
Імʼя
|
string
|
-
|
Коментар
|
text
|
Ні
|
-
|
suspicious
|
class="wikitable"
17.; Створити запис у affiliate_commissions.; |-
|
Заборонено
|
}
"ref": "AFF-000001",
affiliate_payouts
5.; |-
|
Created at
|
datetime
|
Перегляд комісій, створення виплат, звʼязок з платіжними документами.; |-
|
Афіліатська програма
|
reference
|
}
</syntaxhighlight>
11.; Ліди
POST /api/affiliate/lead
"email": "ivan@example.com",
|
| Афіліат
|
-
|
Телефон
|
string
|
-
|
Поле
|
Яке поле змінено.;
9.3.; Вимоги до коду
13.2.; Фіксована комісія
18.; Трекінг переходів
!характеристика
<pre>
Після проведення документа продажу платформа має перевірити:<pre>
|-
|ID
|UUID / integer
|Так
|Унікальний ідентифікатор афіліата.; Якщо менеджер вручну привʼязав клієнта — застосовується ручна привʼязка.; |-
| style="background:#fff3cd; color:#856404; font-weight:bold;" |істотно
|Повернення має коригувати комісію.; Unit-тести формул.; |-
|замовник K2 ERP
|reference
|Посилання на створеного клієнта.;<pre>
1.; * афіліат;
* сума в hold;
* сума доступна до виплати;
* сума виплачена;
* мінімальний поріг виплати;
* статус виплати.; Додати поля в картку клієнта.; |}
!Тип
=== 28.2.; Що можна відкласти ===
=== 29.2.; Привʼязка клієнта ===
GET /api/affiliate/{affiliate_code}/stats
== 6.; Функціональні модулі ==
{| class="wikitable"
affiliate.contractor_id → contractor.id
4.; |-
|Валюта
|enum
|Валюта нарахування.; !Поле
<pre>
available → cancelled
!характеристика
|-
|користувач системи
|Хто зробив зміну.; |-
|Дата завершення
|date
|Ні
|Дата завершення програми.; Якщо індивідуальної ставки немає, ставка береться з програми.; замовник реєструється або оформлює замовлення.; |Нові комісії не нараховуються.; Якщо сума менша за мінімальний поріг, платформа блокує виплату.; |-
|Контрагент K2 ERP
|reference
|Ні
|Посилання на контрагента в ERP.;
|
Вимога
affiliates
2.;Приклад payload:=== 19.4.; Отримання статистики афіліата ===
== 8.; Довідник “Афіліатські програми” ==
2.; |-
|Статус
|enum
|draft, approved, paid, cancelled.; |-
|Дата початку
|date
|Так
|Дата старту програми.; }
== 29.; Критерії приймання ==
!характеристика
}
POST /api/affiliate/customer
7.; Якщо замовник зареєструвався з ref-кодом — застосовується цей ref-код.;== 13.; Формули розрахунку комісії ==
=== 16.1.; Поля документа виплати ===
affiliate_leads
=== 12.1.; Подія для нарахування комісії ===
7.; Перевірити, що документ проведений.; |-
|Фіксована сума
|decimal
|Ні
|застосовується для фіксованої або змішаної комісії.; !Правило
Звіт має містити:
* реєструвати афіліатів;
* створювати афіліатські програми;
* генерувати реферальні коди та посилання;
* привʼязувати клієнтів до афіліатів;
* нараховувати комісії з продажів;
* враховувати повернення та сторно;
* формувати виплати;
* аналізувати ефективність партнерів;
* контролювати права доступу;
* вести історію змін.; !Адміністратор
!Статус
=== 29.6.; Звіти ===
При проведенні повернення платформа має знайти повʼязане нарахування й виконати коригування.; Якщо привʼязка заблокована, автоматична зміна афіліата неможлива.; !Приклад
2.; |-
|User Agent
|string
|Браузер або пристрій.; 14.; Розрахувати комісію.; }
2.; Реалізувати hold-період.; |-
|Ручна привʼязка менеджером
|Менеджер обирає афіліата в картці клієнта.; Записати дату hold_until.; !характеристика
affiliate_customer_bindings.customer_id — unique, якщо дозволений тільки один афіліат
== 3.; Основні ролі користувачів ==
Якщо повернуто частину товарів:5.; |-
|Hold-період
|Період очікування перед тим, як комісія стане доступною до виплати.; Якщо комісія вже виплачена — створити мінусове коригування.; Створити довідник програм.; |}
"ref": "AFF-000001",
<pre>
платформа має:
Якщо продаж в цілому повернуто:<pre>
{
|-
|Нарахування
|reference
|Афіліатське нарахування.; 6.;<pre>
"commission_total": 15000,
замовник має містити посилання на афіліата або окремий регістр привʼязки.; |-
|URL
|string
|Сторінка переходу.; Мультивалютні конвертації.;Приклад посилання на реєстрацію:{| class="wikitable"
<pre>
!Тип
4.; |-
|Платіжний документ
|reference
|Звʼязок із бухгалтерським або банківським документом.; |-
|Attribution window
|Період, протягом якого продаж клієнта закріплюється за афіліатом.; |-
|Мінімальна сума виплати
|decimal
|Ні
|Поріг, після якого можна створити виплату.; Особистий кабінет афіліата.; |-
|Афіліат
|партнерська сторона, який залучає клієнтів.; Перевірити, чи замовник має активну афіліатську привʼязку.; Створити довідник афіліатів.; |-
|Категорії товарів
|Комісія рахується тільки по товарах, які беруть участь у програмі.; |-
|UTM source
|string
|Джерело.;=== 16.3.; Правила формування виплати ===
<pre>
<pre>
12.; 8.; |-
|Дата активації
|datetime
|Ні
|Дата переведення у статус “Активний”.;
"name": "Іван Петренко",
платформа має підтримувати такі варіанти attribution:
affiliate_clicks
"source": "landing_page",
|
Правило
платформа має підтримувати конфігурація бази розрахунку:
1.; |-
|
clean
|
-
|
Відповідальний менеджер
|
reference
|
Ні
|
-
|
Конверсія
|
-
|
Афіліат
|
reference
|
-
|
Документ продажу
|
reference
|
Продаж, за який нарахована комісія.;=== 24.2.; Ключові унікальні обмеження ===
10.4.; Рекомендоване правило для MVP
19.; API для інтеграції з сайтом
6.; |-
|
Hold-період
|
integer
|
Так
|
class="wikitable"
22.; Антифрод
pending → hold → available → paid
платформа має автономно генерувати унікальний код для кожного афіліата.; Тести привʼязки клієнта.; платформа перевіряє правила афіліатської програми.;=== Етап 6.; 31.6.; Тестування ===
Комісія створюється після успішної оплати документа продажу.; |Нові комісії не нараховуються.; |-
|
Комісія в hold
|
200 грн + 5% від продажу.; Складний антифрод.; |-
|
Тип комісії
|
enum
|
Так
|
-
|
Один раз
|
Одне нарахування не має змогу бути включене у дві виплати.;== 24.; Рекомендована структура даних ==
21.4.; Звіт “Повернення та коригування”
Для першої версії рекомендується правило:1.; !Тип
=== 13.4.; Tiered-комісія ===
3.; |}
Приклад response:== 15.; Повернення та сторно ==
{| class="wikitable"
</pre>
{| class="wikitable"
{| class="wikitable"
|-
|Оплата замовлення
|Комісія створюється після фактичної оплати.; |-
|Статус
|enum
|draft, approved, applied, cancelled.;== 12.; продажі та реалізація та комісійні нарахування ==
!Тип
!характеристика
1.;== 9.; Реферальні коди та посилання ==
5.; Розробити в K2 ERP функціональні можливості, який надає можливість:
3.; Перевірити attribution window.; Необхідно:
Якщо комісія нараховується тільки після оплати, платформа має реагувати на подію оплати:<pre>
!Коментар
1.; 5.; !Місячний обсяг продажів
* не менше 100 000 афіліатських кліків на місяць;
* не менше 10 000 лідів на місяць;
* не менше 50 000 продажів на місяць;
* формування звіту за період до 1 року не довше 30 секунд при нормальній індексації.; |Потрібно зберігати дату, джерело й користувача, який змінив привʼязку.; Автоматичні банківські виплати.; Тести прав доступу.; |-
|blocked
|Нарахування заблоковане.; Ставка береться з афіліата, якщо вона задана.; Адміністратор має змогу створити афіліата.; |}
available → paid
affiliate_antifraud_checks
|-
|pending
|Нарахування створене, але ще не перевірене.;=== 10.1.; Способи привʼязки ===
== 28.; MVP-версія ==
3.; |-
|Дата привʼязки
|datetime
|Дата привʼязки клієнта до афіліата.; * афіліат;
* афіліатська програма;
* ставка комісії;
* статус нарахування;
* виплата;
* ручне коригування;
* привʼязка клієнта до афіліата.; |-
|Причина
|text
|Причина коригування.; |}
!Ставка
=== 21.2.; Звіт “Комісії до виплати” ===
{| class="wikitable"
commission_rate = 10%
=== 15.1.; Повне повернення ===
|-
| style="background:#d4edda; color:#155724; font-weight:bold;" |Обовʼязково
|Кожен афіліат має унікальний код.; |-
|замовник
|reference
|замовник продажу.; "utm_source": "telegram",
=== 27.1.; Продуктивність ===
|-
|Номер виплати
|string
|Унікальний номер документа.; |-
|Відвантаження
|Комісія створюється після відвантаження товару.; |-
|Період
|date range
|Період, за який формується виплата.; |Потрібно створювати документ коригування.;=== 15.3.; Документ “Коригування афіліатської комісії” ===
=== 17.2.; Dashboard афіліата ===
{| class="wikitable"
!Спосіб
affiliate_commission_adjustments
!Обовʼязкове
{| class="wikitable"
500 грн за нового клієнта
2.; !характеристика
Приклад базового посилання:компонент для обліку партнерів, реферальних кодів, залучених клієнтів, продажів, комісійних нарахувань, коригувань і виплат афіліатам виступає ключовою рисою '''Афіліатська платформа в K2 ERP'''.; |-
|UTM campaign
|string
|Кампанія.; |-
|Дуже високий conversion rate
|Відправити на перевірку.; |}
=== 29.1.; Афіліати ===
4.; |}
7.2.; Статуси афіліата
|
Бухгалтер
Тобто:
|
| Новий
|
}
29.5.; Виплати
affiliate_payout_lines.commission_id — unique
"phone": "+380501112233",
Необхідно створити журнал або документ Афіліатські ліди.; |-
| Комісія
|
Винагорода афіліата за залученого клієнта або продаж.; !Визначення
2.; |-
|
Привʼязка заблокована
|
boolean
|
-
|
Архівний
|
Перегляд власної статистики, комісій і виплат.; |-
|
Спосіб виплати
|
enum
|
-
|
UTM medium
|
string
|
UTM-канал.; 11.; !Варіант
2.;=== Етап 2.; 31.2.; інформаційні дані та довідники ===
4.; affiliate_audit_log
affiliate_payout_lines
10.3.; Правила attribution
|
Афіліат
Потрібно зберігати історію змін для таких обʼєктів:
|
| ID
|
UUID
|
-
|
Заблокований
|
Афіліат тимчасово заблокований.; BLOGGER-ANNA
2.; платформа створює комісійне нарахування.; Узгодити подію нарахування.; |-
|
Session ID
|
string
|
-
|
Доступно до виплати
|
}
|
Основні права
4.; * один афіліат має унікальний реферальний код;
- замовник має прозору історію привʼязки до афіліата;
- комісія не повинна дублюватися;
- ставка має фіксуватися на момент нарахування;
- повернення мають коригувати комісію;
- виплати мають проводитися тільки за підтвердженими та доступними нарахуваннями;
- усі важливі зміни мають логуватися.; 4.; |Перегляд звітів.; |-
|
Завершення періоду повернення
|
Створювати мінусові коригування.; |-
|
Назва / ПІБ
|
string
|
Так
|
-
|
Дата виплати
|
datetime
|
-
|
Афіліат
|
reference
|
-
|
Статус
|
enum
|
Так
|
-
|
cancelled
|
-
|
API
|
Сайт, CRM або інша платформа передає ref-код у K2 ERP.; * документ продажу;
- документ повернення;
- афіліат;
- початкова комісія;
- сума коригування;
- фінальна комісія;
- причина коригування.; |Нові комісії не нараховуються.;=== 15.2.; Часткове повернення ===
Приклад payload:<syntaxhighlight lang="json">
| Унікальність
|
-
|
Афіліатська програма
|
reference
|
Так
|
-
|
Закриття продажу
|
-
|
Документ продажу
|
reference
|
-
|
Дата створення
|
datetime
|
-
|
Ручне введення коду
|
-
|
Hold until
|
date
|
-
|
Відсоток
|
Чітко затвердити first click / last click / manual priority.; |-
|
Повернення після виплати
|
-
|
UTM campaign
|
string
|
-
|
Лід
|
-
|
Менеджер партнерської програми
|
-
|
Attribution window
|
integer
|
Так
|
-
|
Валюта
|
enum
|
-
|
Код програми
|
string
|
Так
|
Унікальні ключі та перевірка перед створенням нарахування.; |-
|
Код афіліата
|
string
|
}
23.1.; Поля audit log
3.; Визначити ставку.; |-
|
Причина відхилення
|
text
|
Заповнюється при rejected або cancelled.; "commission_paid": 6000
|
| 0–50 000 грн
|
5%
|
| 50 001–100 000 грн
|
7%
|
| 100 001+ грн
|
10%
|
Варіант 2:!Поле
!характеристика
"affiliate_code": "AFF-000001",
affiliate_customer_bindings
=== 9.1.; Генерація реферального коду ===
4.; |Якщо комісія вже виплачена — створюється мінусове коригування.; |-
|Комісія з першої покупки
|boolean
|Так
|Чи нараховується винагорода за першу покупку.; !характеристика
<pre>
=== 25.2.; Клієнти ===
<pre>
<pre>
=== 18.1.; Поля журналу переходів ===
{
commission_amount = 1 000 грн
!характеристика
|-
|ID
|UUID / integer
|Унікальний ID коригування.; Для MVP достатньо реалізувати довідник афіліатів, афіліатські програми, привʼязку клієнтів, просту відсоткову комісію, hold-період, виплати та базову формування звітів.; |}
== 31.; Рекомендований план реалізації ==
{| class="wikitable"
- довідник афіліатів;
- довідник афіліатських програм;
- реферальні коди та посилання;
- журнал переходів;
- ліди;
- привʼязка клієнтів до афіліатів;
- комісійні нарахування;
- коригування комісій;
- виплати афіліатам;
- звіти;
- антифрод-перевірки;
- аудит змін;
- API для зовнішнього сайту або CRM;
- особистий кабінет афіліата, якщо передбачено.; |-
|Статус
|enum
|pending, hold, approved, available, rejected, paid, cancelled.; 11.;=== 14.3.; Життєвий цикл нарахування ===
!Статус
!Поле
!Тип
3.; Чи продаж підпадає під правила програми.; |-
|approved
|Перевірено вручну.; {| class="wikitable"
!Поле
!характеристика
1.; !Поле
Афіліатська платформа в K2 ERP має бути окремим модулем.; |-
|Після проведення
|Після проведення виплати нарахування отримують статус `paid`.; 2.;=== 9.2.; Формат реферального посилання ===
У картці клієнта потрібно додати поля:
|-
|Сума документа з ПДВ
|Комісія рахується від повної суми продажу.; "utm_campaign": "may_campaign",
{
{| class="wikitable"
=== 11.1.; Поля ліда ===
commission_amount = fixed_amount
<pre>
6.; Створити нарахування зі статусом hold або pending.; |-
|
| Старе значення
|
-
|
Самореферали
|
-
|
Імпорт
|
-
|
Конверсія
|
Відсоток переходів, які стали лідами або продажами.;=== 24.1.; Основні сутності ===
6.; платформа генерує унікальний реферальний код.; |}
Звіт має містити:
1.; Після виплати комісія отримує статус “Виплачено”.; {| class="wikitable"
3.; |-
|Коментар
|Причина зміни.; |-
|Фіксована сума
|Афіліат отримує фіксовану винагороду за конверсію.;
|
| Афіліат
|
reference
|
Зберігати ставку в нарахуванні на момент створення.; {| class="wikitable"
"url": "https://site.com/pricing",
affiliate_commissions
27.3.; Безпека
25.3.; продажі та реалізація
Етап 1.; 31.1.; аналітичні інструменти
commission_amount = base_amount × commission_rate / 100
|
характеристика
7.; |}
"customer_id": "CUST-000123",
== 32.; Висновок ==
<pre>
4.; |-
|Ref-посилання
|замовник перейшов за посиланням із кодом афіліата.; |-
|paid
|Нарахування виплачене.; |-
|Ref-код
|string
|Код, переданий у заявці.; Чи є собою у клієнта афіліат.; |-
|Реферальне посилання
|Посилання з ref-кодом афіліата.; 10.; |-
|Активний
|Афіліат має змогу залучати клієнтів.; |Дозволено тільки скасування або коригування.; Ручна привʼязка клієнта.; Довідник афіліатів.; замовник здійснює оплату.;== 7.; Довідник “Афіліати” ==
"session_id": "abc123"
!Наслідок
Афіліат має бачити:
4.; Заблокований афіліат не отримує нових комісій.; |}
9.; |}
Необхідно створити довідник Афіліати.; |-
|
Перевірка дублів
|
При збереженні платформа перевіряє, що код не зайнятий.; Після hold-періоду комісія стає доступною до виплати.;
22.2.; Статуси антифроду
"email": "ivan@example.com",
"ref": "AFF-000001",
4.; Терміни та визначення
14.; Документ “Афіліатське нарахування”
2.; 3.; |-
|
Сума без ПДВ
|
Комісія рахується від суми без податків.; !Тип
4.; Після оплати продажу створюється комісія.; |-
|
Manual priority
|
До 100 000 грн — 5%, понад 100 000 грн — 8%.; Повне повернення скасовує невиплачену комісію.; |-
|
Дата реєстрації
|
datetime
|
Так
|
-
|
Максимальна кількість нарахувань на клієнта
|
integer
|
Ні
|
Обмеження кількості комісій по одному клієнту.; !характеристика
1.; |-
| Змішана
|
-
|
Last click
|
замовник закріплюється за останнім афіліатом перед покупкою.; affiliate_links
commission_amount = fixed_amount + base_amount × commission_rate / 100
- свій реферальний код;
- реферальні посилання;
- кількість переходів;
- кількість лідів;
- кількість клієнтів;
- кількість продажів;
- суму продажів;
- суму комісій;
- комісії в hold;
- доступно до виплати;
- виплачено;
- історію виплат.; Окремо варто відзначити який звʼязує партнерів, клієнтів, продажі та реалізація, комісії і виплати.; |-
|
UTM source
|
string
|
UTM-джерело.; "user_agent": "Mozilla/5.0"
19.1.; Фіксація кліку
|
характеристика
10.; Привʼязка клієнтів до афіліатів
2.; |-
|
Tiered
|
Ставка залежить від обсягу продажів або кількості клієнтів.; Додати запис в audit log.; 9.;== 26.; Алгоритм нарахування комісії ==
Етап 4.; 31.4.; Виплати
14.1.; Поля нарахування
Приклад:=== 12.4.; Рекомендована база для MVP ===
2.; |-
|Дата створення
|datetime
|Дата створення ліда.; 3.; 2.; |-
|Ставка
|decimal
|Ставка, зафіксована на момент нарахування.; Визначити базу розрахунку.; Комісія переходить у статус available після hold-періоду.; |Створення афіліатів, перегляд продажів, підтвердження комісій.;
|
Статус
|
характеристика
10.2.; Поля в картці клієнта
"leads": 80,
1.; Комісія не дублюється при повторному проведенні документа.; |Додати антифрод-перевірки.; Маркетингові матеріали для афіліатів.; Реферальний код.; |-
| Валюта
|
enum
|
Так
|
-
|
Створення афіліата
|
Так
|
Так
|
Ні
|
Ні
|
Ні
|
| Редагування афіліата
|
Так
|
Так
|
Ні
|
Ні
|
Ні
|
| Редагування афіліатської програми
|
Так
|
Ні
|
Ні
|
Ні
|
Ні
|
| Перегляд продажів
|
Так
|
Так
|
Так
|
Так
|
Тільки свої
|
| Перегляд комісій
|
Так
|
Так
|
Так
|
Так
|
Тільки свої
|
| Підтвердження комісій
|
Так
|
Так
|
Ні
|
Ні
|
Ні
|
| Формування виплат
|
Так
|
Ні
|
Так
|
Ні
|
Ні
|
| Проведення виплат
|
Так
|
Ні
|
Так
|
Ні
|
Ні
|
| Перегляд dashboard
|
Так
|
Так
|
Так
|
Так
|
Тільки свій
|
hold → cancelled
1.; Мета розробки
- афіліат;
- кількість кліків;
- кількість лідів;
- кількість клієнтів;
- кількість продажів;
- сума продажів;
- сума комісій;
- конверсія click → lead;
- конверсія lead → sale;
- середній чек;
- ROI.; 1.; Tiered-комісії.; |-
|
Зміна ставки заднім числом
|
Некоректні історичні комісії.; Перевірити статус програми.; Узгодити типи комісій.; affiliates.code — unique
1.; Отримати клієнта.; |-
|
ID
|
UUID / integer
|
-
|
База розрахунку
|
decimal
|
Сума, від якої рахується комісія.;
2.; |Комісії нараховуються.; |-
| Статус
|
enum
|
-
|
Валюта
|
enum
|
}
4.; |-
|
Сума комісії
|
decimal
|
-
|
істотно
|
замовник має прозору історію привʼязки до афіліата.;=== 16.2.; Таблична частина виплати ===
affiliate_commissions.sale_document_id + affiliate_id + commission_type — unique
27.; Нефункціональні вимоги
15.; |10% від суми продажу.; !Тип
"phone": "+380501112233",
"sales_amount": 150000,
!Дія
{| class="wikitable"
POST /api/affiliate/click
!Ситуація
2.; платформа має підтримувати:
=== 25.1.; Контрагенти ===
!характеристика
== 21.; Звіти ==
!Поле
!Керівник
!Тип
== 5.; Важливі правила реалізації ==
Звіт має містити:
16.; Виплати афіліатам
1.; Узгодити бізнес-процес виплат.; |-
|
Стабільність
|
Зміна ставки в майбутньому не має змінювати старі нарахування.;== 2.; Короткий характеристика бізнес-процесу ==
5.; |-
|
Email
|
string
|
Так
|
-
|
Заборонено
|
-
|
замовник
|
reference
|
-
|
Афіліат
|
reference
|
-
|
Мінімальна сума
|
-
|
Валюта
|
enum
|
Так
|
Валюта програми.;
|
Тип комісії
17.1.; Функції кабінету
Варіант 1:!Вплив на нарахування
5.; |-
|Масові повернення по одному афіліату
|Вивести в окремий звіт.; 1.; Тести продажів.; |-
|Дата створення
|datetime
|Дата створення.; Звіт по афіліатах.; Звіт до виплати.; Manual priority → First successful registration → First click
Приклади кодів:<pre>
!характеристика
5.; Узгодити hold-період.; |-
| style="background:#d4edda; color:#155724; font-weight:bold;" |Обовʼязково
|Ставка комісії фіксується в момент створення нарахування.; Якщо комісія ще не виплачена — змінити або скасувати нарахування.; |-
|Ліди
|Кількість потенційних клієнтів.;
14.2.; Статуси нарахування
- не дублювати нарахування по одному продажу;
- мати унікальний ключ на звʼязку “продаж + афіліат + тип нарахування”;
- логувати всі зміни статусів;
- зберігати історію ставок;
- не перераховувати старі комісії заднім числом без документа коригування.; Бухгалтер бачить суми до виплати.; |-
|
available
|
-
|
Сума комісії
|
decimal
|
-
|
Фіксована сума
|
decimal
|
-
|
Нове значення
|
Значення після зміни.;
20.; Права доступу
|
| Дублювання комісій
|
class="wikitable"
платформа має складатися з таких функціональних блоків:
"commission_available": 9000,
3.; |-
|
Неправильна attribution-логіка
|
-
|
Оплачена сума
|
-
|
Афіліат і замовник мають однаковий email або телефон
|
}
22.1.; Базові антифрод-перевірки
affiliate_customer_bindings.affiliate_id
"session_id": "abc123"
Цей розділ реалізується, якщо в K2 ERP є собою зовнішній портал або партнерський кабінет.;=== 12.3.; База для розрахунку комісії ===
"customers": 30,
|
Як зменшити
13.; Зменшити суму комісії.; |}
10.; 3.; |Код застосовується для привʼязки клієнтів і продажів.; |-
|
Переходи
|
-
|
Email
|
string
|
-
|
approved
|
-
|
замовник
|
-
|
Афіліатський код
|
string
|
-
|
Дата актуалізація
|
datetime
|
-
|
Дата
|
Коли зроблено зміну.; !Показник
Афіліатська платформа в K2 ERP
|
| Тільки available
|
У виплату можна включати тільки нарахування зі статусом `available`.;=== 19.3.; Реєстрація клієнта ===
|
Дія
Звіт має містити:
Потрібно створити документ Виплата афіліату.; Якщо комісія ще не виплачена — скасувати нарахування.; |-
|
Джерело
|
string
|
Сайт, форма, рекламна кампанія.; AFF-000001
28.1.; Що включити в MVP
7.; Отримати афіліатську програму.; {
9.; API для привʼязки клієнта за ref-кодом.; |-
|
Реферальний код
|
-
|
Сума до виплати
|
decimal
|
Загальна сума нарахувань у виплаті.;=== 13.3.; Змішана комісія ===
2.; |
|
|
|