How to create a new sales order from deluge?

How to create a new sales order from deluge?

I have a creator app that creates a new sales order. For the line items, I'm specifying the product Id, quantity, rate, description, and the item total in the following code. 
  1. subformRows = List();
  2. subform = Map();
  3. subform.put("product_id", "2728329000000450184");
  4. subform.put("quantity", "2");
  5. subform.put("rate", "3.25");
  6. subform.put("description", "This is a description.");
  7. subform.put("item_total", "3.25");
  8. subformRows.add(subform);
From there, the subformRows list is being added to the sales order map which is then created. If I look at the line items in my sales orders, everything appears except for the product id. For some strange reason, the product id field in line items is blank. Everything else appears (quantity being 2, rate is 3.25, ect) but the product_id field is blank. Does anyone know why it's blank?