'Acceso no autorizado.']); exit; } $data = json_decode(file_get_contents('php://input'), true); if (!$data || !isset($data['id']) || !isset($data['field']) || !isset($data['value'])) { http_response_code(400); echo json_encode(['error' => 'Datos incompletos.']); exit; } $pedido_id = $data['id']; $field = $data['field']; $value = $data['value']; $allowed_fields = ['codigo_rastreo', 'codigo_tracking']; if (!in_array($field, $allowed_fields)) { http_response_code(400); echo json_encode(['error' => 'Campo no vĂ¡lido.']); exit; } try { $pdo = db(); $sql = "UPDATE pedidos SET {$field} = ? WHERE id = ?"; $stmt = $pdo->prepare($sql); $stmt->execute([$value, $pedido_id]); if ($stmt->rowCount() > 0) { echo json_encode(['success' => 'Pedido actualizado correctamente.']); } else { echo json_encode(['info' => 'No se realizaron cambios.']); } } catch (PDOException $e) { http_response_code(500); echo json_encode(['error' => 'Error al actualizar la base de datos: ' . $e->getMessage()]); } ?>