This depends if Nav is being "Pushed" into Nav, or is "Pulling" the data.
Pushing into Nav
If the data is being Pushed into Nav, then you need to use Pages. These pages should have a header and line structure. A good starting point is Page 42 (Sales Order). This Webservice will allow you to create a sales order and have multiple products on the order.
If you add extra field to a page, it will automatically be present in the web service.
It is not recommended to use CodeUnits for this, as you have to make multiple calls (one for each line on the order) whereas using pages, you can add all lines to an order at the same time. Data consistency issues can happen (imagine 4 calls, but one of these fails - there's no way to track which one) - if done with pages, it's a single call and if it fails, Nav will roll back the changes.
Pulling by Nav
If Nav is pulling the data from the e-commerce site, it needs to be a CodeUnit.
This CodeUnit could run in Job Queue or manually by the user. This codeunit would then form the correct requests to connect to the API on the website. It would pull the orders down, then populate the Sales Header / Sales Lines correctly.