bagisto / graphql-api
Bagisto GraphQL API
Installs: 17 988
Dependents: 0
Suggesters: 0
Security: 0
Stars: 96
Watchers: 8
Forks: 69
Open Issues: 3
Requires
- mll-lab/laravel-graphiql: ^3.1
- nuwave/lighthouse: ^6.23
- php-open-source-saver/jwt-auth: ^2.1
README
Bagisto's GraphQL API enables a seamless, headless eCommerce experience built on Laravel. This API delivers ultra-fast, dynamic, and personalized shopping experiences through a scalable, open-source platform.
Read our full documentation: Bagisto GraphQL API Docs
This API was developed in collaboration with the Ucraft Team.
Requirements:
- Bagisto: ^2.3.0
Installation:
To install the Bagisto GraphQL API, follow these steps:
-
Install via Composer
Run the following command in your terminal to install the GraphQL API package:
composer require bagisto/graphql-api:dev-main
-
Run the following commands to complete the setup
php artisan bagisto-graphql:install
Usage:
-
GraphQL Playground
After installation, you can test your API through the GraphQL Playground. Visit:
http://your-domain.com/graphiql
-
Postman Integration
Alternatively, you can test the API using Postman by accessing:
http://your-domain.com/graphql
3. Authorization
To call certain APIs, you need to include x-app-secret-key
in the request header.
-
Set the Key
The
APP_SECRET_KEY
is generated automatically during installation and stored in your.env
file:APP_SECRET_KEY=generated-secret-key
-
Share Securely
Provide this key to the frontend or mobile team as needed.
-
Include in Requests
Add the header to your API calls:
x-app-secret-key: generated-secret-key
-
GraphQL Playground Endpoint Configuration
Ensure that the
GRAPHQL_ENDPOINT
in your.env
file is set to your application's URL followed by/graphiql
. For example:GRAPHQL_ENDPOINT=https://your-domain.com/graphiql
-
Cache Your GraphQL Schema for Better Performance
To avoid rebuilding the schema on every request, you can cache it. This improves performance significantly in production environments.
Run the following Artisan command to cache the schema:
php artisan lighthouse:cache
If you make changes to your schema, remember to clear the cache:
php artisan lighthouse:clear-cache
That's it! Your Bagisto GraphQL API is now ready. Execute the project on your specified domain and start building your headless eCommerce solution.