# Prestashop

This guide is intended for Prestashop merchants who are connecting their store to Violet. During this process, the merchant will install and configure the Violet plugin through their Prestashop dashboard and then generate and provide credentials to Violet through the Violet Connect onboarding tool. *Total time for completion is around 10 minutes.*

{% hint style="warning" %}
**PrestaShop 1.7 or later is required.** The Violet plugin is compatible with PrestaShop version 1.7 and later. Earlier versions of PrestaShop are not supported.
{% endhint %}

## Step 1: Installing the Violet Plugin

{% hint style="info" %}
If you are integrating with an app that does not facilitate checkout or interact with orders you can skip this step and begin with [Step 2](#step-2-generate-api-credentials).
{% endhint %}

1. From Violet Connect select Prestashop.
2. In a separate tab, open the admin dashboard of the Prestashop site.
3. Download the [Violet Prestashop Plugin](https://violet-extensions.s3.us-west-2.amazonaws.com/prestashop/violet.zip).
4. From the left sidebar, locate the Improve section.
5. Click Modules then Module Manager.
6. Click the Upload a module button near the top-right corner of the page.
7. The upload modal should now be open.
8. Click Select File and select the violet.zip file that you downloaded in the first part of this step.
9. Once selected the plugin will begin installing.

## Step 2: Generate API Credentials

1. From the left sidebar, locate the Configure section.
2. Click Advanced Parameters then Webservice.
3. Click the Add new webservice key button near the top-right corner of the page.
4. Locate and click the Generate button near the Key field.
5. Enter a key description that will help identify that this key is used by Violet.
6. Ensure that the webservice key is enabled.
7. Configure the permissions so that they match the following values:

<table><thead><tr><th width="257.70703125">Resource</th><th width="97.76953125">View (GET)</th><th width="112.5390625">Modify (PUT)</th><th width="110.828125">Add (POST)</th><th>Delete (DELETE)</th></tr></thead><tbody><tr><td>addresses</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>carriers</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>cart_rules</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>carts</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>categories</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>combinations</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>configurations</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>contacts</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>content_management_system</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>countries</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>currencies</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>customer_messages</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>customer_threads</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>customers</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>customizations</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>deliveries</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>employees</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>groups</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>guests</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>image_types</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>images</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>languages</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>manufacturers</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>messages</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>order_carriers</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>order_details</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>order_histories</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>order_invoices</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>order_payments</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>order_slip</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>order_states</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>orders</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>price_ranges</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>product_customization_fields</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>product_feature_values</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>product_features</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>product_option_values</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>product_options</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>product_suppliers</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>products</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>search</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>shop_groups</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>shop_urls</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>shops</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>specific_price_rules</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>specific_prices</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>states</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>stock_availables</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>stock_movement_reasons</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>stock_movements</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>stocks</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>stores</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>suppliers</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>supply_order_details</td><td></td><td></td><td></td><td></td></tr><tr><td>supply_order_histories</td><td></td><td></td><td></td><td></td></tr><tr><td>supply_order_receipt_histories</td><td></td><td></td><td></td><td></td></tr><tr><td>supply_order_states</td><td></td><td></td><td></td><td></td></tr><tr><td>supply_orders</td><td></td><td></td><td></td><td></td></tr><tr><td>tags</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>tax_rule_groups</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>tax_rules</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>taxes</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>translated_configurations</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>violet_cart*</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>violet_config*</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>warehouse_product_locations</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>warehouses</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>weight_ranges</td><td>✔</td><td></td><td></td><td></td></tr><tr><td>zones</td><td>✔</td><td></td><td></td><td></td></tr></tbody></table>

{% hint style="info" %}
The `violet_cart` and `violet_config` scopes are not required if the app you are integrating with does not facilitate checkout or interact with orders.
{% endhint %}

For a detailed explanation of why each scope is required, see [Why We Request Each Scope](/platform-guides/prestashop/prestashop-scope-reasons.md).

## Step 3: Provide Configured Credentials to Violet

**Store URL**\
This is the fully formed public URL to your Prestashop store. If you provide any other URL the credentials will be rejected until the correct one is provided.

The standard URL format is:

```
https://yourdomain.com/
```

* Replace ‎\`yourdomain.com\` with your actual PrestaShop store domain.
* This is the base endpoint for the PrestaShop Webservice API, which is used for most integrations.

**API Token**\
This is the webservice key created in Step 2.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://merchant-help.violet.io/platform-guides/prestashop.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
