fsyntax / medusa-plugin-printful

Printful Integration for Medusajs
30 stars 6 forks source link


Logo

medusa-plugin-printful

A MedusaJS Plugin to integrate Printful.

Report Bug . Request Feature

![Downloads](https://img.shields.io/npm/dt/medusa-plugin-printful) ![Contributors](https://img.shields.io/github/contributors/fsyntax/medusa-plugin-printful?color=dark-green) ![Issues](https://img.shields.io/github/issues/fsyntax/medusa-plugin-printful) ### Important **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.** ## Table Of Contents - [About the Project](#about-the-project) - [Built With](#built-with) - [Getting Started](#getting-started) - [Prerequisites](#prerequisites) - [Installation](#installation) - [Usage](#usage) - [Options](#options) - [Configuration Options](#configuration-options) - [Sample Configuration](#sample-configuration) - [Roadmap](#roadmap) - [Contributing](#contributing) - [License](#license) - [Authors](#authors) - [Acknowledgements](#acknowledgements) ## About The Project **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. ### What The Plugin Does - 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! ## Built With - MedusaJS - Node.js - Typescript ## Getting Started ### Prerequisites - Fully working Medusa server with Redis and Postgres. - Printful Account and Store (ID) ### Installation 1. Install the package in your Medusa Server root: `yarn add medusa-plugin-printful` 2. Configure the plugin in `medusa-config.js`. 3. Start your server and verify the plugin's functionality: ## Usage 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". ## Options ### Configuration Options 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. ### Sample Configuration 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 } } ``` ## Roadmap The upcoming roadmap includes several key features and improvements: ### Short Term Goals - 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. ### Long Term Goals - 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. ## Contributing Contributions are welcome. Please feel free to open pull requests or issues for enhancements or bug reports. ## License MIT License. ## Authors - [fsyntax](https://github.com/fsyntax) ## Acknowledgements 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.