send($setting, $message); } } public function sendTest(NotificationSetting $setting): void { $this->send( $setting, "🐱 *KOL Manager — Test Notification*\n\nYour WhatsApp channel is configured correctly! 🎉" ); } private function send(NotificationSetting $setting, string $text): void { $config = $setting->config ?? []; $url = rtrim($config['waha_url'] ?? '', '/'); $session = $config['waha_session'] ?? 'default'; $phone = $config['phone'] ?? null; if (! $url || ! $phone) { throw new \RuntimeException('WAHA waha_url and phone are required.'); } // Normalise phone: strip non-digits, ensure no leading + $chatId = preg_replace('/[^0-9]/', '', $phone) . '@c.us'; $response = Http::timeout(15)->post("{$url}/api/sendText", [ 'session' => $session, 'chatId' => $chatId, 'text' => $text, ]); if (! $response->successful()) { throw new \RuntimeException('WAHA API error: ' . $response->body()); } } }