> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# PrestaShop

> Connect PrestaShop to your Atako agents — 13 read and 2 write actions.

Let your agents work with your PrestaShop store through the Webservice API — read orders and their lines, order states, customers, addresses, carts, products, stock and categories, change an order's state and update stock quantities.

## Connection

* **Authentication**: API key (Webservice key).
* **Required settings**:
  * **Store domain** — The domain of your PrestaShop store, without https\:// or trailing slash. The store must be served over HTTPS.

<Note>
  In your PrestaShop back office, go to Advanced Parameters → Webservice, set "Enable PrestaShop's webservice" to Yes and save, then click "Add new webservice key". Generate the key, give it a description, check "Enabled", and in the permissions table tick GET (View) for customers, orders, order\_details, order\_states, products, stock\_availables, categories, carts and addresses — and, to let agents write, POST (Add) for order\_histories (order state changes) and PUT (Modify) for stock\_availables (stock quantities). Save, then copy the 32-character key. Friendly URLs (URL rewriting) must be enabled so the API answers on /api.

  See [PrestaShop's documentation](https://devdocs.prestashop-project.org/8/webservice/tutorials/creating-access/).
</Note>

## Read actions (13)

| Action | Description |
| - | - |
| `get_api_index` | List the Webservice resources this key may access, with the HTTP methods allowed on each. |
| `get_customer` | Retrieve one customer by id. |
| `get_order` | Retrieve one order by id, including its totals, state, addresses ids and order rows. |
| `get_product` | Retrieve one product by id (prices, references, descriptions, categories, combinations). language: language id. |
| `get_stock` | Get the available stock of a product: one row per combination (id\_product\_attribute 0 = the product itself), with its id, quantity, shop, depends\_on\_stock, out\_of\_stock behavior and location — the fields update\_stock\_quantity expects back. |
| `list_addresses` | List postal addresses, typically those of one customer (id\_customer). display: "full" (default) or an array of field names to return only those; limit: 1-100 (default 20), offset: rows to skip; sort: "\<field>\_ASC" or "\<field>\_DESC". |
| `list_carts` | List carts, typically those of one customer (id\_customer), including their product rows. display: "full" (default) or an array of field names to return only those; limit: 1-100 (default 20), offset: rows to skip; sort: "\<field>\_ASC" or "\<field>\_DESC". |
| `list_categories` | List product categories. Filters: name (contains), id\_parent, active (boolean). language: language id for the names. display: "full" (default) or an array of field names to return only those; limit: 1-100 (default 20), offset: rows to skip; sort: "\<field>\_ASC" or "\<field>\_DESC". |
| `list_customers` | List customers. Filters: email and lastname (contains, case-insensitive), active (boolean). display: "full" (default) or an array of field names to return only those; limit: 1-100 (default 20), offset: rows to skip; sort: "\<field>\_ASC" or "\<field>\_DESC". |
| `list_order_details` | List the lines (products, quantities, unit and total prices) of an order. display: "full" (default) or an array of field names to return only those; limit: 1-100 (default 20), offset: rows to skip; sort: "\<field>\_ASC" or "\<field>\_DESC". |
| `list_order_states` | List the order states configured in the store (id, name, flags such as paid, shipped, delivered). language: language id for the names. display: "full" (default) or an array of field names to return only those; limit: 1-100 (default 20), offset: rows to skip; sort: "\<field>\_ASC" or "\<field>\_DESC". |
| `list_orders` | List orders. Filters: current\_state (order state id, see list\_order\_states), id\_customer, reference, date\_from/date\_to (order creation date, "YYYY-MM-DD" or "YYYY-MM-DD HH:MM:SS"). display: "full" (default) or an array of field names to return only those; limit: 1-100 (default 20), offset: rows to skip; sort: "\<field>\_ASC" or "\<field>\_DESC". Example: sort "date\_add\_DESC" for the latest orders. |
| `list_products` | List products. Filters: name (contains), reference (exact), active (boolean), id\_category\_default. language: language id for names and descriptions. display: "full" (default) or an array of field names to return only those; limit: 1-100 (default 20), offset: rows to skip; sort: "\<field>\_ASC" or "\<field>\_DESC". |

## Write actions (2)

| Action | Description |
| - | - |
| `update_order_state` | Change an order's state (adds an order history entry) and, by default, sends the customer the e-mail tied to the new state (e.g. shipped). order\_id: the order; order\_state\_id: the new state (see list\_order\_states); send\_email: false to change the state silently. |
| `update_stock_quantity` | Set the available quantity of one stock row (a product, or one of its combinations). PrestaShop replaces the WHOLE row: call get\_stock first, then pass back that row unchanged — stock\_available\_id (its id), id\_product, id\_product\_attribute, id\_shop, id\_shop\_group, depends\_on\_stock, out\_of\_stock and location (omitting location clears it) — changing only quantity (absolute value, not a delta). out\_of\_stock: 0 deny orders, 1 allow orders, 2 store default. |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.