false, 'message' => 'No autorizado']); exit; } if ($_SERVER['REQUEST_METHOD'] === 'POST') { $pedido_id = $_POST['pedido_id'] ?? null; $tipo_paquete = $_POST['tipo_paquete'] ?? null; if (!$pedido_id) { echo json_encode(['success' => false, 'message' => 'ID de pedido faltante']); exit; } try { $pdo = db(); if (empty($tipo_paquete)) { // Allow clearing the selection $stmt = $pdo->prepare("UPDATE pedidos SET tipo_paquete = NULL WHERE id = ?"); $result = $stmt->execute([$pedido_id]); } else { $valid_types = ['RUTA', 'CONTRAENTREGA', 'NO CONTESTA, VOLVER A LLAMAR', 'PENDIENTE A RETORNO']; if (!in_array($tipo_paquete, $valid_types)) { echo json_encode(['success' => false, 'message' => 'Tipo inválido']); exit; } $stmt = $pdo->prepare("UPDATE pedidos SET tipo_paquete = ? WHERE id = ?"); $result = $stmt->execute([$tipo_paquete, $pedido_id]); } if ($result) { echo json_encode(['success' => true]); } else { echo json_encode(['success' => false, 'message' => 'Error al actualizar en la base de datos']); } } catch (PDOException $e) { echo json_encode(['success' => false, 'message' => 'Error de base de datos: ' . $e->getMessage()]); } } else { echo json_encode(['success' => false, 'message' => 'Método no permitido']); } ?>