Таблица oc_customer_affiliate
Таблица oc_customer_affiliate предназначена для хранения информации о клиентах, которые зарегистрировались в партнерской программе магазина. В этой таблице содержатся данные, необходимые для отслеживания реферальных переходов, начисления комиссионных вознаграждений и управления статусом партнера.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
customer_id |
int |
Уникальный идентификатор клиента. Внешний ключ, который связывает партнерскую информацию с конкретным клиентом из таблицы oc_customer. Это первичный ключ таблицы.
|
company |
varchar(60) |
Название компании партнера (если применимо). |
website |
varchar(255) |
Веб-сайт партнера, с которого осуществляется продвижение. |
tracking |
varchar(64) |
Уникальный трекинг-код (реферальный код) партнера. Используется для формирования реферальных ссылок и идентификации привлеченных клиентов. |
commission |
decimal(4,2) |
Процент комиссии, который получает партнер от каждого привлеченного заказа. Значение по умолчанию обычно устанавливается в настройках партнерской программы. |
tax |
varchar(64) |
Идентификационный номер налогоплательщика (ИНН) или другой налоговый идентификатор партнера. |
payment |
varchar(6) |
Способ выплаты комиссионных вознаграждений партнеру (например, cheque, bank, paypal). |
cheque |
varchar(100) |
Имя получателя чека (если выбран способ оплаты чеком). |
paypal |
varchar(64) |
Email адрес аккаунта PayPal партнера (если выбран способ оплаты через PayPal). |
bank_name |
varchar(64) |
Название банка (если выбран банковский перевод). |
bank_branch_number |
varchar(64) |
Номер отделения банка (БИК или аналогичный код). |
bank_swift_code |
varchar(64) |
SWIFT-код банка для международных переводов. |
bank_account_name |
varchar(64) |
Имя владельца банковского счета. |
bank_account_number |
varchar(64) |
Номер банковского счета для перевода средств. |
custom_field |
text |
Поле для хранения дополнительных пользовательских данных, настроенных в админ-панели для партнерской программы. Данные хранятся в формате JSON. |
status |
tinyint(1) |
Статус партнерского аккаунта: 1 - включен, 0 - отключен.
|
date_added |
datetime |
Дата и время регистрации в партнерской программе. |
Как это работает
Когда клиент регистрируется в качестве партнера (либо при первоначальной регистрации, либо позже в личном кабинете), в таблице oc_customer_affiliate создается запись с его customer_id. Система генерирует уникальный tracking код, который партнер может использовать для продвижения магазина.
Партнер распространяет специальные ссылки, содержащие его трекинг-код (например, https://example.com/?tracking=PARTNER123). Когда новый клиент переходит по такой ссылке, система устанавливает cookie с трекинг-кодом партнера. Если этот клиент впоследствии совершает покупку, система связывает заказ с партнером и начисляет ему комиссию согласно установленному проценту commission.
Информация о начисленных комиссиях хранится в таблице oc_customer_transaction, где в описании указывается, что это партнерское вознаграждение и к какому заказу оно относится.
Администратор может управлять статусом партнеров (включить/отключить), просматривать статистику и производить выплаты через админ-панель OpenCart в разделе "Маркетинг → Партнеры".
Пример SQL-запроса
Получить информацию о партнере вместе с его основными данными можно следующим запросом:
SELECT c.customer_id, c.firstname, c.lastname, c.email,
ca.tracking, ca.commission, ca.status, ca.date_added
FROM oc_customer c
INNER JOIN oc_customer_affiliate ca ON (c.customer_id = ca.customer_id)
WHERE c.customer_id = 15;
Смотрите также
-
таблицу
oc_customer,
которая хранит основные данные клиентов -
таблицу
oc_customer_transaction,
которая хранит историю транзакций клиентов -
таблицу
oc_affiliate_activity,
которая хранит активность партнеров -
таблицу
oc_affiliate_login,
которая хранит историю входов партнеров в систему