Great Britain's Sonay Kartal recorded the biggest win of her career with a three-set victory over world No 5 Mirra Andreeva in the last 16 of the China Open.