stephane888 / shopify-api
Shopify API Library for PHP
Requires
- php: ^7.4 || ^8.0 || ^8.1
- ext-json: *
- doctrine/inflector: ^1.4 | ^2.0
- firebase/php-jwt: ^5.2|^6.0
- guzzlehttp/guzzle: ^7.0
- psr/http-client: ^1.0
- psr/log: ^1.1 || ^2.0 || ^3.0
- ramsey/uuid: ^4.1
Requires (Dev)
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^9
- squizlabs/php_codesniffer: ^3.6
This package is auto-updated.
Last update: 2024-11-06 15:10:15 UTC
README
This library provides support for PHP Shopify apps to access the Shopify Admin API, by making it easier to perform the following actions:
- Creating online or offline access tokens for the Admin API via OAuth
- Making requests to the REST API
- Making requests to the GraphQL API
- Registering/processing webhooks
In addition to the Admin API, this library also allows querying the Storefront API.
This library can be used in any application that has a PHP backend, since it doesn't rely on any specific frameworkâyou can include it alongside your preferred stack and only use the features that you need to build your app.
Requirements
To follow these usage guides, you will need to:
- have a basic understanding of PHP
- have a Shopify Partner account and development store
- OR have a test store where you can create a private app
- have a private or custom app already set up in your test store or partner account
- use ngrok, in order to create a secure tunnel to your app running on your localhost
- add the
ngrok
URL and the appropriate redirect for your OAuth callback route to your app settings
Getting started
You can follow our getting started guide to learn how to use this library's components.
- Getting started
- Performing OAuth
- REST Admin API
- Make a GraphQL API call
- Make a Storefront API call
- Webhooks
- Utilities
- Known issues and caveats
Developing this library
After cloning the repository, composer can install the dependencies:
composer install
To run tests:
composer test
If you want to get a code coverage report from the tests, you'll need to install the php-xdebug
extension by running pecl install xdebug
, and then run:
composer test -- [--coverage-text|--coverage-html=<path>]
You may have to clear composer's autoload cache when namespaces change:
composer dump-autoload
To run linter:
composer lint