prestashop / ps_apiresources
PrestaShop - API Resources
Package info
github.com/PrestaShop/ps_apiresources
Type:prestashop-module
pkg:composer/prestashop/ps_apiresources
Requires
- php: >=8.1
Requires (Dev)
- czproject/git-php: ^4.2
- doctrine/inflector: ^2.0
- friendsofphp/php-cs-fixer: ^v3
- phpunit/phpunit: ^10
- prestashop/php-dev-tools: ^4.3
- rector/rector: ^2.0
This package is auto-updated.
Last update: 2026-03-04 11:44:59 UTC
README
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 aredevelop|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:
- Create new API endpoints - Complete step-by-step guide
- Admin API Documentation - Full API reference
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