We understand there may be situations where you need to control orders from sales channels that StoreFeeder doesn't natively support. Luckily you are still able to do this by using the StoreFeeder REST API to add the bridge between your sales channel and StoreFeeder. There are a few prerequisites and caveats that must be understood so following the recommendations below should minimise this.
- You have access to the SF REST API as this is at additional cost to account for the extra load this puts on the system so you will need to speak to the sales team regarding this. There are 2 support levels at different costs, supported and unsupported. Supported means that if you or your developer have questions we will try to guide but we don't provide bespoke code support. Unsupported means that we will only assist in issues where you believe you have identified a bug in the API.
- You will need to source a developer yourself if you don't have the relevant in house experience. StoreFeeder doesn't have a list or recommend developers.
- Because StoreFeeder will have no concept of a listing to map your product on channel (listing) to a product in StoreFeeder your orders will come in as unrecognised. However, if your SKUs on channel match your product SKUs or it finds a product with a matching barcode or additional barcode then StoreFeeder is intelligent enough to automatically decrement the stock on the correct product automatically.
- Because StoreFeeder is not fully in control of your external inventory you may wish to add your own out of stock threshold. For example if StoreFeeder is showing less than 5 in stock you may wish to send 0 to the external channel to mitigate oversell potential.
If you are happy with the above then following the below steps should allow a working integration that will allow you to import orders, despatch in StoreFeeder and then mark those orders as despatched on channel with tracking information. And a regular inventory sync between StoreFeeder and the external channel.
- Create a phone channel to house the orders (you can add a custom channel logo to identify it from standard phone channels) https://support.storefeeder.com/hc/en-gb/articles/360018551337-Task-1-Add-your-sales-channels
- Create a user in SF that has access to all warehouses and the channels you need. https://support.storefeeder.com/hc/en-gb/articles/360007791078--Creating-a-New-User
- Authenticate that user for each of the processes required, Details found here https://rest.storefeeder.com/ and here https://support.storefeeder.com/hc/en-gb/articles/360007741277--Getting-a-StoreFeeder-API-key
- Create a scheduled process that will poll the source channel every 15 minutes for new orders. These orders will then be inserted into SF in batches of 5 using the https://rest.storefeeder.com/Help/Api/POST-orders-create-orders-v2 endpoint. Ideally there should be some logic to detect orders you have already downloaded, but SF will not allow duplicates if this is not possible. You are able to get the channelID using https://rest.storefeeder.com/Help/Api/GET-channels
- Create a scheduled process that runs hourly that polls SF for orders that have been despatched or pre-despatched ( https://rest.storefeeder.com/Help/Api/GET-order-status ) using https://rest.storefeeder.com/Help/Api/GET-orders You can limit this to the channel in question and orders that have been despatched since the last iteration using the LastStatusChangeFrom parameter. Another way of doing this would be by marking orders as having been downloaded after your process has picked them up and using that as one of the filters (in conjunction with channelID) to only pick up newly despatched orders. https://rest.storefeeder.com/Help/Api/PUT-orders-mark-orders-as-downloaded . This can be reversed if there are any errors https://rest.storefeeder.com/Help/Api/PUT-orders-mark-orders-as-not-downloaded
- Create a scheduled process that polls SF for inventory values every 15 minutes for you to pass onto the external channel. This must be done to limit the possibility of oversells. https://rest.storefeeder.com/Help/Api/GET-warehouses-warehouseID-inventory-report_PageSize_Page
The above is enough to create a basic integration, more functionality can be added by using the endpoints available here https://rest.storefeeder.com/Help