npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

medusa-plugin-printful-v2

v1.5.6

Published

A Medusa plugin that enables Printful as a fulfillment provider and provides product and order synchronization.

Downloads

7

Readme

Downloads Contributors Issues

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

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

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.