import { createServiceClient } from "@/lib/supabase"; import { isBot, anonymizeIp, parseDevice, parseBrowser, parseOs } from "@/lib/analytics"; export async function POST(request: Request) { try { const body = await request.json(); const { phone_number, source_page, source_element, session_id } = body; if (!phone_number || !source_page || !source_element) { return Response.json({ error: "Missing required fields" }, { status: 400 }); } const ip = request.headers.get("x-forwarded-for")?.split(",")[0].trim() || request.headers.get("x-real-ip") || "0.0.0.0"; const ua = request.headers.get("user-agent") || ""; if (isBot(ua)) { return Response.json({ ok: true }); } const supabase = createServiceClient(); const { error } = await supabase.from("phone_clicks").insert({ phone_number, source_page, source_element, session_id: session_id || null, ip_anonymized: anonymizeIp(ip), device_type: parseDevice(ua), browser: parseBrowser(ua), os: parseOs(ua), }); if (error) { console.error("Phone click tracking error:", error); } return Response.json({ ok: true }); } catch { return Response.json({ ok: true }); } }