feat: WhatsApp AI hattı (n8n + Evolution API) için yeni uç nokta

chat.controller.ts'teki dosya-bağlamı toplama mantığı (belgeler + analiz
özeti + geçmiş mesajlar) buildCaseChatContext() olarak paylaşılan hale
getirildi — mevcut SSE sohbeti (chatMessage) davranış değişmeden bunu
kullanıyor, yeni POST /api/whatsapp/message uç noktası da aynı motoru
tek-seferlik (non-streaming) çağırıyor.

Kimlik doğrulama farklı: bu uç nokta bir Supabase oturumu taşımıyor
(n8n'den gelen anonim WhatsApp mesajı), X-Webhook-Secret ile korunuyor.
Telefon → hesap eşleştirmesi profiles.phone üzerinden, hangi dava
dosyasıyla konuşulduğu whatsapp_sessions'ta tutuluyor (bkz. laawos
sql/20_whatsapp_integration.sql).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Mustafa Yildiz
2026-08-18 13:08:02 +03:00
co-authored by Claude Sonnet 5
parent fed881de49
commit 5fe4b0b8bc
4 changed files with 265 additions and 58 deletions
+10
View File
@@ -0,0 +1,10 @@
import { Router } from 'express';
import { handleWhatsappMessage } from '../controllers/whatsapp.controller';
const router = Router();
// requireAuth YOK — n8n'in çağırdığı bu uç nokta bir Supabase oturumu taşımıyor,
// yetkilendirme handleWhatsappMessage içinde X-Webhook-Secret ile yapılıyor.
router.post('/message', handleWhatsappMessage);
export default router;