These instructions will show you how to configure your Fulfillment Control Panel and PrestaShop accounts to sync orders and inventory levels. Currently, there is a bug in some versions of PrestaShop that requires Developer Mode to be turned on in order for us to access all features of the API. PrestaShop has told us that this will be fixed in a "future" release.
Note: Each install of this shopping cart is unique due to several outside factors (i.e. platform where its installed, version of php, plugins/addons, etc.) These instructions have been tested and are known to be working with the base install of the cart in our test environment. EFS troubleshooting of issues will be limited to the install configuration that is known to be working with our integration. All other troubleshooting (and associated expense) will have to be done by you and/or your developer.
Turning on Developer Mode
PrestaShop offers 2 install methods Cloud(Hosted) or Download(Self-Hosted). Please reference the appropriate section for your cart version. NOTE: You may want help from your developer to turn this feature on.
Log into your account on www.prestashop.com by clicking the 'Sign In' link in the top right hand corner. Once you are logged in click on your name, then My Store.
Once on your My Store page you will want to click the Store Details link.
On the Store Details page under the My Store's FTP User(s) section click the Add new FTP user button. Once you enter the Username and Password for the new user and confirm it with your PrestaShop password, you should see the newly created user under My Store's FTP User.
Now that you have FTP access to your Cloud store you will want to use your favorite FTP method to access your store and edit the .htaccess file in the root folder. In particular we want to change the HTTP_PS_MODE_DEV_ setting from false to true
For Downloaded or Self-Hosted stores you have to edit the /config/defines.inc.php and set _PS_MODE_DEV_ to true.
Activating PrestaShop's Webservice Feature
(For both Cloud(Hosted) and Downloaded(Self-Hosted) Stores
Once Developer Mode is active we are now free to activate the Webservice feature of PrestaShop. To begin you will want to log into the backend of your PrestaShop Store. Once you log into your store you will want to go to ADVANCED PARAMETERS > Webservice
Then click on the '+' to add a new web service account.
Once you are in the Webservice Accounts screen you will click the Generate button to generate a new Key. Then you can enter in a Key Description (i.e. EFS Integration) and make sure the Status is set to Yes.
Under the Permissions section you will need to check the All check box for the View(GET) and the Fast view (HEAD) columns
Also you will need to check the following checkboxes:
order_carriers > Modify (PUT), Add(POST)
order_details > Modify (PUT)
order_histories > Modify (PUT), Add(POST)
orders > Modify (PUT)
products > Modify (PUT)
stock_availables > Modify (PUT)
As shown here:
Finally hit the Save icon at the bottom of the page to save your changes. You will need to copy the Key you generated in this step and paste it into your Integration Settings in the Fulfillment Control Panel (FCP) in the next couple of steps.
Add PrestaShop Integration to your FCP Account
Once you have obtained your webservice Key you will need to enter it into your Fulfillment Control Panel account. Choose Add Integration from the Integration menu.
Select PrestaShop from the list of available platforms and click the “Add new Integration” button.
Enter your Key in the field exactly as it appears in your PrestaShop account, making sure there are no leading or trailing spaces.
The API Url is the location of PrestaShop's API in your PrestaShop store. It’s very important to have the correct URL. It should look like this:
For a Download(self-hosted) store the URL may look like this:
Next enter True or False, to let us know if you are using the Multi Language feature within Prestashop.
If you answer True then enter the ID for default language of English. If you donnt know what this ID is visit your Localization>Languages screen, as shown below and enter the value in the ID Column. (Typically it will be 1)
If you answered False to the multi language question just enter 1 in the ID for default language field.
Next you will enter the number of days back you want to pull orders from (we recommend 5 or less).
The next set of options determines the intervals at which we check for new orders and, optionally, send available inventory counts back to PrestaShop (please see the Optional Features section for more information on inventory syncing).
The most common scenario is to check for new orders every 30 minutes and sync inventory twice per day.
If you have more than one PrestaShop account you may assign a “nickname” to each store to better identify options and settings for each one.
Click the “Add new Integration” button to finalize the integration settings. You should see a success message at the top of your screen.
To verify that we can connect to your PrestaShop account choose View Integrations from the Integration menu. For each integration you have configured you will see a set of options displayed as colored icons. Click the “suitcase” icon to view the items in your account.
You should see a searchable list of products from your PrestaShop store. The list will indicate if the product SKU matches a SKU in our system.
If you do not see a list of products and, instead, see an error message it is likely that your API Key or one of the other integration options has been entered incorrectly. Please verify these settings and try again.
Shipment & Tracking Updates
There is an approximately 4 hour delay from the time we ship an order until we send tracking numbers back to PrestaShop.
When we retrieve your orders from PrestaShop the shipping methods are shown as strings of text such as “Free Shipping” or “USPS International Express” or “Federal Express Ground”. You can view/setup the shipping methods in PrestaShop by going to SHIPPING > Carriers
Once you have your shipping methods setup to your liking within PrestaShop, these need to be translated to our internal codes by setting up mappings within the integration configuration.
From your Fulfillment Control Panel account choose View Integrations from the Integration menu and then click the “envelope” icon to view existing shipping mappings.
Carefully type or “copy and paste”, making sure there are no leading or trailing spaces, the exact text of your shipping method options from PrestaShop (shown below)
into the Cart Shipping Method field, then choose from the list of available shipping methods. Next, click the “Add Mapping” button, and then click the link in the success message to refresh the list (you will need to do this before you can add another method). Repeat this until all of your cart ship methods are mapped to our internal codes.
We also have a feature which will synchronize the available inventory counts from our warehouse back to your PrestaShop account. This is useful if you don't want to sell products that are out of stock. If you are interested in this feature more information on Inventory Syncing can be found in our standalone guide located here.