complete code for Produt API