diff --git a/app/api/consulting/route.ts b/app/api/consulting/route.ts index 975507b..4fc8de6 100644 --- a/app/api/consulting/route.ts +++ b/app/api/consulting/route.ts @@ -1,6 +1,7 @@ import { NextResponse } from 'next/server' -const TELEGRAM_API = 'https://api.telegram.org' +/** API بله سازگار با API تلگرام — مستندات: https://dev.bale.ai */ +const BALE_API = 'https://tapi.bale.ai' export interface ConsultingRequestBody { fullName: string @@ -10,7 +11,7 @@ export interface ConsultingRequestBody { description?: string } -function escapeForTelegram(text: string): string { +function escapeHtml(text: string): string { return text .replace(/&/g, '&') .replace(/درخواست جدید مشاوره سازمانی', '', - `نام و نام خانوادگی: ${escapeForTelegram(fullName.trim())}`, - `نام سازمان: ${escapeForTelegram(organization.trim())}`, - `شماره تماس: ${escapeForTelegram(phone.trim())}`, - `حوزه مشاوره: ${escapeForTelegram(area.trim())}`, + `نام و نام خانوادگی: ${escapeHtml(fullName.trim())}`, + `نام سازمان: ${escapeHtml(organization.trim())}`, + `شماره تماس: ${escapeHtml(phone.trim())}`, + `حوزه مشاوره: ${escapeHtml(area.trim())}`, ] if (description?.trim()) { - lines.push('', `توضیحات:`, escapeForTelegram(description.trim())) + lines.push('', 'توضیحات:', escapeHtml(description.trim())) } const text = lines.join('\n') try { - const res = await fetch(`${TELEGRAM_API}/bot${token}/sendMessage`, { + const res = await fetch(`${BALE_API}/bot${token}/sendMessage`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ @@ -68,15 +72,12 @@ export async function POST(request: Request) { const data = await res.json().catch(() => ({})) if (!res.ok) { return NextResponse.json( - { error: data.description || 'ارسال به تلگرام ناموفق بود' }, + { error: data.description || 'ارسال به بله ناموفق بود' }, { status: 502 } ) } return NextResponse.json({ ok: true }) - } catch (err) { - return NextResponse.json( - { error: 'خطا در ارتباط با تلگرام' }, - { status: 502 } - ) + } catch { + return NextResponse.json({ error: 'خطا در ارتباط با بله' }, { status: 502 }) } }