I would use a vector program. This is a vector ilustration.
The glossiness looks like shapes with a simple gradient and some blending mode, like overlay.
I will try to make an example later. But I'll give you some links for you to see some basic steps.
Here is a simple sample.
A. Deduce the basic shapes.
B. Fill them with some basic colors.
C. Put white rectangles where the glossy reflections will be.
D. Add transparent gradients.
I also use a drop shadow for the separation on the cap.
Again. This is a vector ilustration.