prepare( "SELECT t.paciente_cel, t.paciente_nombre, COALESCE(lp.telefono, t.paciente_cel) AS celular FROM turnero_turnos t LEFT JOIN lab_pacientes lp ON lp.id = t.paciente_id WHERE t.id = ? LIMIT 1" ); $row->execute([$turnoId]); $pac = $row->fetch(PDO::FETCH_ASSOC); if (!$pac) jsonError('Turno no encontrado.', 404); $phone = preg_replace('/[^0-9]/', '', $pac['celular'] ?? ''); if (!$phone) jsonError('El paciente no tiene número de celular registrado.'); $langRow = $pdo->prepare("SELECT language_code FROM message_templates WHERE template_name = 'encuesta_turnero' LIMIT 1"); $langRow->execute(); $lang = $langRow->fetchColumn() ?: 'es'; try { $wa = new WhatsAppService('turnero'); $meta = ['canal' => 'turnero', 'operator_id' => adminId()]; $wa->sendTemplateMessage($phone, 'encuesta_turnero', $lang, [], [], null, $meta); jsonOk(['mensaje' => 'Encuesta enviada a ' . ($pac['paciente_nombre'] ?? $phone)]); } catch (\Throwable $e) { jsonError('Error al enviar: ' . $e->getMessage()); }