A MedusaJS Plugin to integrate Printful.
Report Bug
.
Request Feature
This plugin is not being actively developed or maintained due to my current time constraints and capacity. There is a possibility that I may resume development in the future. If you are interested in contributing to or maintaining this project, please feel free to fork the repository and continue its development! Thank you for your understanding and support.
- About the Project
- Built With
- Getting Started
- Usage
- Options
- Roadmap
- Contributing
- License
- Authors
- Acknowledgements
Medusa-Plugin-Printful is a plugin for the Medusa e-commerce platform that integrates with the Printful fulfillment service. This plugin simplifies the management of Printful products and orders through the Medusa dashboard, streamlining workflows and saving time.
- Syncs product details between Printful and Medusa.
- Automatically updates product information based on Printful webhook events.
- Handles order fulfillment automatically via webhooks.
Note: As of now, the plugin supports events from Printful to Medusa but not the reverse, except for order cancelation. This feature is a work in progress and already under development on the refactor/services
branch!
- MedusaJS
- Node.js
- Typescript
- Fully working Medusa server with Redis and Postgres.
- Printful Account and Store (ID)
- Install the package in your Medusa Server root:
yarn add medusa-plugin-printful
- Configure the plugin in
medusa-config.js
. - Start your server and verify the plugin's functionality:
For using this plugin, follow the installation steps and make sure to configure the plugin properly in medusa-config.js
. Once the setup is done, the plugin will automatically handle syncing and order fulfillment as per the functionalities listed under "What The Plugin Does".
Here are the options you can use to configure the plugin within your medusa-config.js
file:
printfulAccessToken
: Access token for the Printful API.storeId
: Store ID for Printful.backendUrl
: Base URL for the Medusa server (without trailing slash).enableWebhooks
: Enable or disable Printful webhook listener.enableSync
: Enable or disable product synchronization between Printful and Medusa. (Note: will be deprecated in future versions)batchSize
: Number of jobs added to the queue at once for better load management. (Note: will be deprecated in future versions)productTags
: Enable or disable the creation and updating of product tags in Medusa.productCategories
: Enable or disable the creation and updating of product categories in Medusa.confirmOrder
: Enable or disable automatic order confirmation when sending it to Printful.
Here's how to set up your medusa-config.js
file:
{
resolve: "medusa-plugin-printful",
options: {
printfulAccessToken: process.env.PRINTFUL_ACCESS_TOKEN,
storeId: process.env.PRINTFUL_STORE_ID,
backendUrl: process.env.BACKEND_URL,
enableWebhooks: true,
enableSync: true,
batchSize: 3,
productTags: true,
productCategories: true,
confirmOrder: false
}
}
The upcoming roadmap includes several key features and improvements:
- Refactoring services to use v2 of the Printful API - this will be a continuous process as the API is still in beta.
- Biliteral product synchronization: Full two-way sync between Medusa and Printful platforms.
- Admin UI Integration: A user-friendly dashboard interface for easy management of Printful products and orders within Medusa.
- Eventual More Features: As the plugin matures, more functionalities will be introduced based on community feedback and requirements.
Feel free to contribute by opening issues or pull requests to help achieve these milestones.
Contributions are welcome. Please feel free to open pull requests or issues for enhancements or bug reports.
MIT License.
A big thank you to the MedusaJS team for creating a robust e-commerce platform that enabled the development of this plugin. Special thanks to those who have contributed to the project or provided valuable feedback.