Child pages
  • Web service reference

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Table of contents

Table of Contents
maxLevel3

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:

  • product_suppliers: only GET and HEAD.
  • search: only GET and HEAD.
  • stock_availables: only GET, POST, and HEAD.
  • stock_movements: only GET and HEAD.
  • stocks: only GET and HEAD.
  • supply_order_details: only GET and HEAD.
  • supply_order_histories: only GET and HEAD.
  • supply_order_receipt_histories: only GET and HEAD.
  • supply_order_states: only GET and HEAD.
  • supply_orders: only GET and HEAD.
  • warehouse_product_locations: only GET and HEAD.
  • warehouses: only GET, POST, PUT, and HEAD.

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

  • ?blank: returns a blank XML tree of the chosen object.
  • ?synopsis: returns a blank XML tree of the chosen object, with the format that is expected for each value (see below) and specific indicators (ie, if the node is required, and its maximum size in number of characters).

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:

Code Block
<?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.

Code Block
/^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.

Code Block
/^([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.

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

isEmail

A valid e-mail address.

Code Block
/^[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.

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

isLanguageCode

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

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

isLanguageIsoCode

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

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

isLinkRewrite

A valid link rewrite.

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

isMd5

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

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

isNumericIsoCode

A valid ISO code, in 00 or 000 format.

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

isPasswd

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

Code Block
/^[.a-zA-Z_0-9-!@#$%\^&*()]{5,32}$/

isPasswdAdmin

A valid password, between 8 and 32 characters long.

Code Block
/^[.a-zA-Z_0-9-!@#$%\^&*()]{8,32}$/

isPhpDateFormat

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

Code Block
/^[^<>]+$/

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.

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

isUrl

A valid URL.

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

Names

Format

Description

Expected value, in regexp form

isCatalogName

A valid product or category name.

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

isCarrierName

A valid carrier name.

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

isConfigName

A valid configuration key.

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

isGenericName

A valid standard name.

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

isImageTypeName

A valid image type.

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

isName

A valid name.

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

isTplName

A valid template name.

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

Locations

Format

Description

Expected value, in regexp form

isAddress

A valid postal address.

Code Block
/^[^!<>?=+@{}_$%]*$/u

isCityName

A valid city name.

Code Block
/^[^!<>;?=+@#"°{}_$%]*$/u

isCoordinate

A valid latitude-longitude coordinates, in 00000.0000 form.

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

isMessage

A valid message.

Code Block
/[<>{}]/i

isPhoneNumber

A valid phone number.

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

isPostCode

A valid postal code.

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

isStateIsoCode

A valid state ISO code.

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

isZipCodeFormat

A valid zipcode format.

Code Block
/^[NLCnlc -]+$/

Products

Format

Description

Expected value, in regexp form

isAbsoluteUrl

A valid absolute URL.

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

isDniLite

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

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

isEan13

A valid barcode (EAN13).

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

isLinkRewrite

A valid friendly URL.

Code Block
/^[_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).

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