Таблица oc_affiliate_activity
Таблица oc_affiliate_activity служит для записи истории активности партнерской программы. Каждое действие партнера, такое как вход в систему, просмотр отчетов или получение комиссии, фиксируется в этой таблице для последующего аудита и анализа.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
activity_id |
int |
Уникальный идентификатор записи активности (первичный ключ, автоинкремент). |
affiliate_id |
int |
Внешний ключ, связывающий запись активности с конкретным партнером. Ссылается на oc_affiliate.affiliate_id.
|
key |
varchar(64) |
Ключ действия, который идентифицирует тип произошедшего события (например, login, order, commission).
|
data |
text |
Дополнительные данные, связанные с activity-событием, в формате JSON. Например, IP-адрес, ID заказа, сумма комиссии. |
ip |
varchar(40) |
IP-адрес партнера, с которого было совершено действие. |
date_added |
datetime |
Дата и время добавления записи об активности. |
Как это работает
Партнерская программа OpenCart использует эту таблицу как лог-файл для отслеживания поведения аффилиатов. Когда партнер выполняет какое-либо значимое действие в своем аккаунте (входит в систему, генерирует отчет, получает комиссию за заказ), система автоматически создает новую запись в oc_affiliate_activity.
Поле key определяет тип события. Наиболее распространенные ключи:
- login - вход в партнерский аккаунт.
- order - регистрация заказа по партнерской ссылке.
- commission - начисление комиссии.
Поле data содержит сериализованные в JSON дополнительные сведения о событии. Для события login это может быть просто IP-адрес, а для события order — ID заказа, сумма и валюта.
Эта информация полезна для администратора для проверки подозрительной активности (например, множественные входы с разных IP-адресов), анализа эффективности партнеров и разрешения возможных споров по начислению комиссий.
Пример SQL-запроса
Получить последние 10 действий конкретного партнера с расшифровкой данных можно следующим запросом:
SELECT
aa.activity_id,
aa.`key`,
aa.data,
aa.ip,
aa.date_added,
a.company -- Имя партнера из связанной таблицы
FROM oc_affiliate_activity aa
LEFT JOIN oc_affiliate a ON (aa.affiliate_id = a.affiliate_id)
WHERE aa.affiliate_id = 7
ORDER BY aa.date_added DESC
LIMIT 10;
Смотрите также
-
таблицу
oc_affiliate,
которая хранит основную информацию о партнерах -
таблицу
oc_affiliate_transaction,
которая ведет историю финансовых транзакций по комиссиям -
таблицу
oc_customer_activity,
которая выполняет аналогичную функцию для обычных клиентов