Table of contents

Web service reference

Using the API

All methods are to be called through the /api/ gateway. For instance, http://www.mystore.com/api/carriers

Available HTTP methods

Most methods can be accessed in a REST manner, with the 5 main HTTP request methods: GET, POST, PUT, DELETE, HEAD.
The only exceptions are:

All methods have two optional types, which are simply to be added at the end of the URL:

Available resources

This list is current as of v1.5.4.1 of PrestaShop.

Method

Description

addresses

The Customer, Manufacturer and Customer addresses

carriers

The Carriers

cart_rulesCart rules management

carts

Customer's carts

categories

The product categories

combinations

The product combination

configurations

Shop configuration

contactsShop contacts

content_management_system

Content management system

countries

The countries

currencies

The currencies

customer_messagesCustomer services messages
customer_threadsCustomer services threads

customers

The e-shop's customers

deliveries

Product delivery

employees

The Employees

groups

The customer's groups

guests

The guests

image_types

The image types

images

The images

images/general/header

The shop's logo in the header

images/general/mail

The shop's logo in the e-mails

images/general/invoice

The shop's logo in the invoice

images/general/store_icon

The shop's logo as a favicon

images/products

The products images.

images/categories

The categories images

images/manufacturers

The manufacturers images.

images/suppliers

The suppliers images.

images/stores

The stores images.

languages

Shop languages

manufacturers

The product manufacturers

order_carriersDetails of an order

order_details

Details of an order

order_discounts

Discounts of an order

order_histories

The Order histories

order_invoicesThe Order invoices
order_paymentsThe Order payments

order_states

The Order states

orders

The Customers orders

price_ranges

Price range

product_feature_values

The product feature values

product_features

The product features

product_option_values

The product options value

product_options

The product options

product_suppliersProduct Suppliers

products

The products

search

Search

shop_groupsShop groups from multi-shop feature
shopsShops from multi-shop feature
specific_price_rulesSpecific price management
specific_pricesSpecific price management

states

The available states of countries

stock_availablesAvailable quantities

stock_movement_reasons

The stock movement reason

stock_movements

Stock movements management

stocksStocks

stores

The stores

suppliers

The product suppliers

supply_order_detailsSupply Order Details
supply_order_historiesSupply Order Histories
supply_order_receipt_historiesSupply Order Receipt Histories
supply_order_statesSupply Order States
supply_ordersSupply Orders

tags

The Products tags

tax_rule_groupsTax rule groups
tax_rulesTax rules entity

taxes

The tax rate

translated_configurations

Shop configuration

warehouse_product_locationsLocation of products in warehouses
warehousesWarehouses

weight_ranges

Weight ranges

zones

The Countries zones

Value formats

When displaying a data schema in synopsis mode, the API gives some useful indication of the expected data type.

For instance:

<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
  <customer>
    <id_default_group></id_default_group>
    <id_lang format="isUnsignedId"></id_lang>
    <newsletter_date_add></newsletter_date_add>
    <ip_registration_newsletter></ip_registration_newsletter>
    <last_passwd_gen></last_passwd_gen>
    <secure_key format="isMd5"></secure_key>
    <deleted format="isBool"></deleted>
    <passwd required="true" maxSize="32" format="isPasswd"></passwd>
    <lastname required="true" maxSize="32" format="isName"></lastname>
    <firstname required="true" maxSize="32" format="isName"></firstname>
    <email required="true" maxSize="128" format="isEmail"></email>
    ...
  </customer>
</prestashop>

Here are the descriptions of the expected value types.

Generic value types

Format

Description

Expected value, in regexp form

isBool

A boolean value (true or false).

n/a

isFloat

A floating-point value (between -3.4 × 10^38 and +3.4 × 10^38).

n/a

isInt

An integral value (between -2,147,483,648 and 2,147,483,647).

n/a

isNullOrUnsignedId

An integral and unsigned value (between 0 and 4294967296), or a NULL value.

n/a

isSerializedArray

PHP serialized data.

/^a:[0-9]+:{.*;}$/s

isString

A string of characters.

n/a

isUnsignedId

An integral and unsigned value (between 0 and 4294967296).

n/a

Specific value types

Format

Description

Expected value, in regexp form

isBirthDate

A valid date, in YYYY-MM-DD format.

/^([0-9]{4})-((0?[1-9])|(1[0-2]))-((0?[1-9])|([1-2][0-9])|(3[01]))( [0-9]{2}:[0-9]{2}:[0-9]{2})?$/

isCleanHtml

Must not contain invalid HTML tags, nor XSS.

isColor

A valid HTML/CSS color, in #xxxxxx format or text format.

/^(#[0-9a-fA-F]{6}|[a-zA-Z0-9-]*)$/

isEmail

A valid e-mail address.

/^[a-z0-9!#$%&\'*+\/=?^`{}|~_-]+[.a-z0-9!#$%&\'*+\/=?^`{}|~_-]*@[a-z0-9]+[._a-z0-9-]*\.[a-z0-9]+$/ui

isImageSize

A valid image size, between 0 and 9999.

/^[0-9]{1,4}$/

isLanguageCode

A valid language code, in XX or XX-XX format.

/^[a-zA-Z]{2}(-[a-zA-Z]{2})?$/

isLanguageIsoCode

A valid ISO language code, in XX or XXX format.

/^[a-zA-Z]{2,3}$/

isLinkRewrite

A valid link rewrite.

/^[_a-zA-Z0-9-]+$/

isMd5

A valid MD5 string: 32 characters, mixing lowercase, uppercase and numerals.

/^[a-f0-9A-F]{32}$/

isNumericIsoCode

A valid ISO code, in 00 or 000 format.

/^[0-9]{2,3}$/

isPasswd

A valid password, in. between 5 and 32 characters long.

/^[[email protected]#$%\^&*()]{5,32}$/

isPasswdAdmin

A valid password, between 8 and 32 characters long.

/^[[email protected]#$%\^&*()]{8,32}$/

isPhpDateFormat

A valid PHP date – in fact, a string without '<' nor '>'.

/^[^<>]+$/

isPriceDisplayMethod

A valid price display method, meaning the value be equals to constants PS_TAX_EXC or PS_TAX_INC.

n/a

isReference

A valid product reference.

/^[^<>;={}]*$/u

isUrl

A valid URL.

/^[~:#,%&_=\(\)\.\? \+\[email protected]\/a-zA-Z0-9]+$/

Names

Format

Description

Expected value, in regexp form

isCatalogName

A valid product or category name.

/^[^<>;=#{}]*$/u

isCarrierName

A valid carrier name.

/^[^<>;=#{}]*$/u

isConfigName

A valid configuration key.

/^[a-zA-Z_0-9-]+$/

isGenericName

A valid standard name.

/^[^<>;=#{}]*$/u

isImageTypeName

A valid image type.

/^[a-zA-Z0-9_ -]+$/

isName

A valid name.

/^[^0-9!<>,;?=+()@#"°{}_$%:]*$/u

isTplName

A valid template name.

/^[a-zA-Z0-9_-]+$/

Locations

Format

Description

Expected value, in regexp form

isAddress

A valid postal address.

/^[^!<>[email protected]{}_$%]*$/u

isCityName

A valid city name.

/^[^!<>;[email protected]#"°{}_$%]*$/u

isCoordinate

A valid latitude-longitude coordinates, in 00000.0000 form.

/^\-?[0-9]{1,8}\.[0-9]{1,8}$/s

isMessage

A valid message.

/[<>{}]/i

isPhoneNumber

A valid phone number.

/^[+0-9. ()-]*$/

isPostCode

A valid postal code.

/^[a-zA-Z 0-9-]+$/

isStateIsoCode

A valid state ISO code.

/^[a-zA-Z0-9]{2,3}((-)[a-zA-Z0-9]{1,3})?$/

isZipCodeFormat

A valid zipcode format.

/^[NLCnlc -]+$/

Products

Format

Description

Expected value, in regexp form

isAbsoluteUrl

A valid absolute URL.

/^https?:\/\/[:#%&_=\(\)\.\? \+\[email protected]\/a-zA-Z0-9]+$/

isDniLite

A valid DNI (Documento Nacional de Identidad) identifier. Specific to Spanish shops.

/^[0-9A-Za-z-.]{1,16}$/U

isEan13

A valid barcode (EAN13).

/^[0-9]{0,13}$/

isLinkRewrite

A valid friendly URL.

/^[_a-zA-Z0-9-]+$/

isPrice

A valid price display method (either PS_TAX_EXC or PS_TAX_INC).

n/a

isUpc

A valid barcode (UPC).

/^[0-9]{0,12}$/