🔓 Разрешить n8n переходы без Telegram ID
✅ Что сделано: - app/page.tsx: Проверка source/utm_source параметров (n8n, chat, from_n8n) - app/plans/page.tsx: Аналогичная проверка для 3-step flow - app/api/create-user/route.ts: Разрешение создания без telegramId если source=n8n 🔓 ИСКЛЮЧЕНИЯ для n8n: - ?source=n8n - ?utm_source=n8n - ?utm_source=chat - ?from_n8n=true 🎯 ЛОГИКА: 1. Переход через Telegram Mini App → требуется tgUser.id ✅ 2. Переход из n8n (прямая ссылка) → НЕ требуется, генерируется временный ID ✅ 3. Переход из браузера напрямую → блокируется ❌ 💡 Для временных ID используется Date.now() но только если fromN8n=true
This commit is contained in:
@@ -29,7 +29,8 @@ export async function POST(request: NextRequest) {
|
||||
telegramUsername,
|
||||
firstName,
|
||||
lastName,
|
||||
referrerId
|
||||
referrerId,
|
||||
source // Источник перехода (n8n, chat и т.д.)
|
||||
} = await request.json();
|
||||
|
||||
logger.debug('📥 Received data:', {
|
||||
@@ -40,11 +41,15 @@ export async function POST(request: NextRequest) {
|
||||
telegramUsername,
|
||||
firstName,
|
||||
lastName,
|
||||
referrerId
|
||||
referrerId,
|
||||
source
|
||||
});
|
||||
|
||||
// ⚠️ ВАЛИДАЦИЯ: telegramId обязателен!
|
||||
if (!telegramId) {
|
||||
// 🔓 ИСКЛЮЧЕНИЕ: Разрешаем n8n переходы даже без telegramId
|
||||
const fromN8n = source === 'n8n' || source === 'chat';
|
||||
|
||||
// ⚠️ ВАЛИДАЦИЯ: telegramId обязателен (кроме n8n переходов)
|
||||
if (!telegramId && !fromN8n) {
|
||||
logger.error('❌ VALIDATION FAILED: No telegramId provided');
|
||||
return NextResponse.json(
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user