prestashop/ps_apiresources

PrestaShop - API Resources

Maintainers

Package info

github.com/PrestaShop/ps_apiresources

Type:prestashop-module

pkg:composer/prestashop/ps_apiresources

Statistics

Installs: 776 871

Dependents: 1

Suggesters: 0

Stars: 11

Open Issues: 18

v0.5.0 2026-02-18 13:38 UTC

README

Coverage Status

About

Includes the resources allowing using the API for the PrestaShop domain, all endpoints are based on CQRS commands/queries from the Core and we API Platform framework is used as a base.

This module contains no code only some resource files that are automatically scanned and integrated by the Core, these resources are in this folder.

Reporting issues

You can report issues with this module in the main PrestaShop repository. Click here to report an issue.

Under development

Please be aware that this module is still under development, which is why its version is only 0.*. We haven't released a major version 1.0 yet because we anticipate some breaking changes may happen while we add all the missing endpoints.

We aim to maintain backward compatibility as much as possible and never introduce breaking changes, but we also want this API contract to be a fixed standard once it's finalized, so we prefer to polish and refine it before a major version is released.

After the 1.0 version is released it won't include other breaking changes, any breaking change will require a new major version (2.0) and will follow semver convention.

Requirements

Required only for development:

  • composer

Installation

Install all dependencies.

composer install

Run tests locally

Initialize tmp shop environment

First, initialize the test environment with this command that will install a PrestaShop shop in a temporary folder so that the integration tests can run:

composer create-test-db

Customize tmp shop environment

You can define custom values when setting up the tmp shop:

composer clear-test-cache
composer setup-local-tests -- [arguments]
  arguments:
    --force-clone Force cloning the repository even if a cloned repository is detected (when no repository is detected, the clone is automatic)
    --build-assets Force building assets even if they are already built (when no assets are detected, the build is automatic)
    --build-db Force building DB by installing the default shop data (when no DB is detected, the DB shop is installed automatically)
    --update-local-parameters Force copying parameters from the `test/local-parameters` folder (when no parameter file is detectec they are automatically copied)
    --force Force all the previous arguments
    --core-branch Use a specific branch, you can use a branch from the original repository (ex: `develop`, `9.0.x`, ...) or from a fork (ex: `myfork:my-dev-branch`) (By default branch develop is used)

Example:

# To test with 9.0.x branch
composer setup-local-tests -- --force --core-branch=9.0.x

# To test with a branch from your fork (in this example, fork: jolelievre, branch: product-api)
composer setup-local-tests -- --force --core-branch=jolelievre:product-api

Run tests

Then you can run the tests with this command:

composer run-module-tests

Run PHPStan locally

You can run PHPStan locally using the composer script, you will need to specify two variables though:

  • _PS_ROOT_DIR_: path to a local PrestaShop root folder
  • _PS_BRANCH_: which branch you are testing, this impacts the PHPStan config file used which contains specific rules and exceptions, accepted values are develop|9.1.x|9.0.x
# To test with the develop branch
_PS_ROOT_DIR_=/path/to/prestashop-develop _PS_BRANCH_=develop composer phpstan

# To test with the 9.1.x branch
_PS_ROOT_DIR_=/path/to/prestashop-91x _PS_BRANCH_=9.1.x composer phpstan

# To test with the develop branch
_PS_ROOT_DIR_=/path/to/prestashop-90x _PS_BRANCH_=9.0.x composer phpstan

Each config uses a différent cache folders stored in var/phpstan-tmp but you can easily pollute it if:

  • you run the command multiple times with mixed variables (_PS_ROOT_DIR_ and _PS_BRANCH_ don't match)
  • you change your branch in _PS_ROOT_DIR_ but the cache was already generated with the previous branch

You can remove the var/phpstan-tmp cache to reset the cache.

You can also use the composer script to update the baseline to include exceptions for specific versions:

# To test with the develop branch (this should updated phpstan-9.0.x.neon only)
_PS_ROOT_DIR_=/path/to/prestashop-90x _PS_BRANCH_=9.0.x composer phpstan-baseline

Make sure you use the correct two variables and your cache is correct ro you will add the wrong exceptions for the wrong branch. This composer script will generate a dedicated baseline file, but the rules should be included in the existing phpstan config for the branch.

Contributing

The PrestaShop Admin API provides RESTful endpoints for managing your store programmatically. Everyone is welcome to contribute by adding new API endpoints!

Please read our contributing guide before starting:

Need help or believe core improvements are needed? Reach out to the team on Slack, and #cfc-adminapi channel - we're here to help!

Also, follow our general contribution guidelines.

License

This module is released under the Academic Free License 3.0