May 26, 2023
Реферальная система в Taplink
Реферальная система в Taplink может реализовываться как и на всех платформах: вам нужно всего лишь дать пользователю сгенерировать его уникальную ссылку на оплату, а потом вы сможете отслеживать уникальную ссылку в разделе "заявки".
Вы можете установить код генератора в блок HTML и дать ссылку на страницу своим пользователям. Если по ссылке кого-то из них была совершена покупка, вы сможете рассчитаться с ними за привлечение.
Также вы можете заказать у меня установку личного кабинета в Taplink, с помощью которого сгенерированная ссылка будет закрепляться за пользователем. Пример такого генератора с кабинетом: https://besttaplink.ru/p/ca23cb/
Пример бесплатного генератора: https://besttaplink.ru/p/81f4b9/
<div class="form-group">
<label for="test1" style="color: black;">Сгенерируйте свою реферальную ссылку с помощью кнопки ниже. Все зарегистрированные по ней пользователи будут учтены для выплат по партнерской программе. Для получения своей выплаты пришлите мне в личные сообщения ваш реферальный id</label><div class="img-wrapper">
</div>
<div class="input-group input-group-copy">
<span class="input-group-btn">
<button id="generate">Сгенерировать</button><button class="btn btn-default">Копировать</button>
</span>
<div class="inputes">
<p>
Ваш реферальный айди
</p><p>
</p>
<input id="test2" type="text" readonly class="user-id" value="Your referal id"/>
<input id="test1" type="text" readonly class="form-control" value="Your referal link"/></div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', () => {
var checking = localStorage.getItem('referal');
document.querySelector('.form-control').value = window.location.hostname+'?utm_source=' + checking;
console.log(checking);
document.querySelector('.user-id').value = checking;
});
var inputCopyGroups = document.querySelectorAll('.input-group-copy');
for (var i = 0; i < inputCopyGroups.length; i++) {
var _this = inputCopyGroups[i];
var btn = _this.getElementsByClassName('btn')[0];
var input = _this.getElementsByClassName('form-control')[0];
input.addEventListener('click', function(e) {
this.select();
});
btn.addEventListener('click', function(e) {
var input = this.parentNode.parentNode.getElementsByClassName('form-control')[0];
input.select();
try {
var success = document.execCommand('copy');
document.querySelector('.btn-default').textContent="Скопировано!";
setTimeout(() => {document.querySelector('.btn-default').textContent="Копировать"}, 3000);
console.log('Copying ' + (success ? 'Succeeded' : 'Failed'));
} catch (err) {
console.log('Copying failed');
}
});
}
document.querySelector('#generate').onclick = function() {
function makeid(length) {
var result = '';
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var charactersLength = characters.length;
for ( var i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() *
charactersLength));
}
return result;
};
localStorage.setItem('referal', makeid(5));
setTimeout(() => {var checking = localStorage.getItem('referal');
document.querySelector('.form-control').value = 'https://milakovylova.ru/?utm_source=' + checking;
document.querySelector('.user-id').value = checking;
}, 000);
}
</script>
<style>
.form-group {
display: grid;
grid-template-columns: 70% 30%;
align-items: flex-end;
}
.form-group >* {
grid-column: span 2;
}
.form-group label, .form-group div {
grid-column: span 1;
font-size: 0.7em;
font-weight: bold;
}
body {
background: white !important;
}
.input-group-copy{
margin: 10px auto;
}
.img-wrapper {
position: relative;
overflow: visible;
}
.img-wrapper::after {
position: absolute;
bottom: 0px;
right: 0px;
width: 100%;
height: 30px;
background: linear-gradient(0deg, white 0%, white 30%, transparent 100%);
content: '';
}
.input-group-btn {
display: grid;
grid-template-columns: 1fr 1fr;
column-gap: 10px;
margin: 10px auto;
}
.input-group-btn button {
font-size: 12px;
background-color: #232325;
text-transform: uppercase;
font-weight: 900;
color: white;
border-radius: 50px;
padding: 10px 15px;
border: none;
cursor: pointer;
filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.8));
}
.input-group-copy input {
column-gap: 10px;
font-size: 10px;
border-radius: 50px;
padding: 10px;
background: #ECF0F3;
filter: drop-shadow(4px 4px 4px #D9DCE4);
border: none !important;
outline: none !important;
}
#test1 {
direction: rtl;
}
.form-group {
color: black;
}
.form-group p {
font-size: 10px;
text-align: center;
}
.inputes {
display: grid;
grid-template-columns: 1fr 1fr;
column-gap: 10px;
}
</style>
<script>
Array.from(document.querySelectorAll('input')).map((inputed) => {
inputed.focus();
});
</script>