🤖 Как Автоматизировать Реферальные Программы в Telegram за 5 Мину в Leadteh! 🚗✨

🤖 Как Автоматизировать Реферальные Программы в Telegram за 5 Мину в Leadteh! 🚗✨

Добро пожаловать в удивительный мир автоматизации с помощью Telegram-ботов и HTTP-запросов! Давайте разберёмся, как эти магические процессы работают (и заодно посмеёмся над тем, как всё это происходит за кулисами). Мы рассмотрим два главных блока, которые делают возможной нашу виртуальную магию — от получения реферальной информации до управления тегами. А в конце вас ждёт пример кода — для тех, кто хочет увидеть всё в действии! 🔧💻

🛠 Блок 1: Где мы ищем рефералов? — “Лёгкий” GET-запрос

Первый блок — это отправка запроса на сервер для получения информации о таинственном реферере, который привлёк пользователя. Представьте, что это как поиск виновника на вечеринке — мы отправляем GET-запрос с contact_id и api_token, и сервер возвращает список рефералов. 🎉

Запрос:

https://app.leadteh.ru/api/v1/getReferrers?api_token=...&contact_id={{id}}&depth=1&is_flat=1

• contact_id — это как ваш “билет” на вечеринку рефералов. Бот подставляет ID пользователя и находит того, кто его пригласил.

• api_token — это ваш “ключ доступа”, который позволяет вам попасть на реферальную базу данных.

Метод запроса: GET — мы вежливо просим данные, и сервер (если он в настроении) возвращает список рефералов. Этот список мы сохраняем в переменную referrerId для дальнейшей работы. 🔍

🔄 Блок 2: Важный POST-запрос — отправляем “секретные” данные и работаем с тегами

Теперь, когда мы узнали, кто стоит за приглашением, мы используем POST-запрос, чтобы получить более продвинутые данные. Этот запрос помогает нам получить информацию по определённой схеме, чтобы потом управлять тегами. 💼

Запрос:

https://app.leadteh.ru/api/v1/getListItems

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

• api_token — волшебный ключ, без которого не обойтись.

• schema_id — это уникальный идентификатор схемы, по которой мы запрашиваем данные.

Так что этот POST-запрос — это как запрос “секретной” папки с нужными данными. 🗂

🔗 Как два блока соединяются в магию?

После того, как мы выполнили эти запросы, начинается настоящее волшебство! Получив referrerId, бот проверяет теги пользователя. Если нужных тегов нет — бот удаляет старые и устанавливает новые. Всё выглядит так, как будто это было запланировано (и, к счастью, так и есть). 🎩✨

Алгоритм:

1. Получаем referrerId с помощью первого GET-запроса.

2. Отправляем POST-запрос, чтобы получить данные по схеме.

3. Проверяем теги: если у пользователя есть “старые” теги, мы их удаляем, а если нет — бот устанавливает новые теги, чтобы вы всегда знали, кто чей реферер.

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

💻 Пример Кода

А вот и пример нашего кода! Никакой магии — только HTTP-запросы, логика работы с тегами и немного заботы о пользователе.

// Получаем значение referrerId с помощью функции getContactVariable var referrerId = getContactVariable("referrerId"); // Проверяем, что referrerId получен if (referrerId !== undefined) { // Выполняем HTTP-запрос на получение данных if (response.data && response.data.data) { var dataArray = response.data.data; // Извлекаем все теги из ответа var tagsFromResponse = []; for (var i = 0; i < dataArray.length; i++) { tagsFromResponse.push(dataArray[i].teg); } // Ищем тег, соответствующий текущему referrerId var requiredTag = null; for (var k = 0; k < dataArray.length; k++) { if (String(dataArray[k].mainref) === String(referrerId)) { requiredTag = dataArray[k].teg; break; // Прерываем цикл после нахождения первого совпадения } } if (requiredTag !== null) { // Проверяем, имеет ли контакт requiredTag var hasRequiredTag = false; for (var j = 0; j < tagsFromResponse.length; j++) { if (tagsFromResponse[j] === requiredTag && hasContactTag(tagsFromResponse[j])) { hasRequiredTag = true; break; } } // Если нужного тега нет — удаляем старые теги и устанавливаем новый if (!hasRequiredTag) { // Контакт не имеет requiredTag. Проверяем наличие других тегов из tagsFromResponse var tagsToRemove = []; for (var m = 0; m < tagsFromResponse.length; m++) { if (hasContactTag(tagsFromResponse[m])) { tagsToRemove.push(tagsFromResponse[m]); } } // Удаляем все конфликтующие теги с помощью deleteContactTag for (var n = 0; n < tagsToRemove.length; n++) { deleteContactTag(tagsToRemove[n]); } // Устанавливаем requiredTag setContactTag(requiredTag); } // Если контакт уже имеет requiredTag, ничего не делаем } else { // Обработка случая, когда requiredTag не найден для данного referrerId setContactTag("СтандартныйТег"); } } else { // Обработка ошибки, если данные отсутствуют или имеют некорректный формат setContactTag("СтандартныйТег"); } } else { // Обработка случая, когда referrerId не получен setContactTag("СтандартныйТег"); } // Пример функции для удаления тега у контакта function deleteContactTag(name) { // Реализуйте удаление тега в соответствии с API вашего конструктора ботов // Например: // bot.removeTag(userId, name); } // Пример функции для отправки сообщения пользователю function sendMessageToUser(message) { // Замените на реальную функцию отправки сообщения в вашем конструкторе ботов // Например: // bot.sendMessage(userId, message); }

🔮 Виртуальный помощник в действии: как это выглядит?

На практике всё это происходит за доли секунды. Вы отправляете команду боту, и он начинает своё “расследование” — кто чей реферер, у кого какие теги, и как правильно организовать всё так, чтобы в системе был полный порядок. 📲💬

🎯 Вывод

Наш бот — это не просто автоматическая отправка реферальных ссылок. Это целая машина, которая проверяет, управляет и обрабатывает теги, делая работу с рефералами лёгкой и удобной. И хотя это может показаться сложным, всё это работает плавно и без лишних усилий.

Теперь вы знаете, что стоит за простым нажатием кнопки в Telegram! Всё это — магия запросов и управления данными, которая делает работу вашего бота практически незаметной, но крайне эффективной.

22
Начать дискуссию