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 🙏

© 2026 – Pkg Stats / Ryan Hefner

medusa-colissimo

v1.0.5

Published

MedusaJS v2 fulfillment provider plugin for Colissimo shipping (La Poste France)

Downloads

232

Readme

medusa-colissimo

npm version

Colissimo fulfillment provider for MedusaJS v2.

Supported Delivery Options

| Option ID | Product Code | Description | |-----------|--------------|-------------| | colissimo-domicile | DOM | Home delivery | | colissimo-domicile-signature | DOS | Home delivery with signature | | colissimo-relay-point | A2P | Relay point delivery | | colissimo-return | CORE | Return shipment (optional) |

Installation

pnpm add medusa-colissimo

Configuration

Environment Variables

COLISSIMO_CONTRACT_NUMBER=your_contract_number
COLISSIMO_PASSWORD=your_password

BUSINESS_NAME="Your Company"
BUSINESS_STREET="123 Rue Example"
BUSINESS_CITY="Paris"
BUSINESS_POSTCODE="75001"

Get your credentials from Colissimo Box.

Medusa Config

// medusa-config.ts
module.exports = defineConfig({
  // Register plugin for API routes and admin extensions
  plugins: [
    {
      resolve: "medusa-colissimo",
      options: {},
    },
  ],
  // Register fulfillment provider
  modules: [
    {
      resolve: "@medusajs/medusa/fulfillment",
      options: {
        providers: [
          {
            resolve: "medusa-colissimo/providers/colissimo",
            id: "colissimo",
            options: {
              contractNumber: process.env.COLISSIMO_CONTRACT_NUMBER,
              password: process.env.COLISSIMO_PASSWORD,
              businessAddress: {
                companyName: process.env.BUSINESS_NAME,
                line2: process.env.BUSINESS_STREET,
                city: process.env.BUSINESS_CITY,
                zipCode: process.env.BUSINESS_POSTCODE,
                countryCode: "FR",
              },
              // Optional
              enableReturns: true,
              enableCalculatedPricing: true,
              pricingTable: {
                DOM: {
                  FR: [
                    { maxWeight: 0.25, price: 495 },
                    { maxWeight: 0.5, price: 615 },
                    { maxWeight: 1, price: 715 },
                    { maxWeight: 2, price: 815 },
                    { maxWeight: 5, price: 1095 },
                    { maxWeight: 10, price: 1595 },
                    { maxWeight: 30, price: 2295 },
                  ],
                },
                // Add DOS, A2P pricing as needed
              },
            },
          },
        ],
      },
    },
  ],
});

Admin Widgets

Two widgets are included for the order details page:

Fulfillment Form (sidebar) - Select items, set weight manually if needed, create fulfillment.

Fulfillment Display (after details) - Shows tracking number, delivery type, download/print label buttons.

Manual Weight

Products should have weights defined on their variants (in grams). If not, or if you need to override after weighing the package, check "Saisir le poids manuellement" and enter the weight in grams.

API Endpoints

Widget Token

GET /store/colissimo/widget-token

Returns a token for the Colissimo frontend widget (valid 30 minutes).

Search Relay Points

POST /store/colissimo/relay-points

{
  "zipCode": "75001",
  "city": "Paris",
  "countryCode": "FR"
}

Get Relay Point

GET /store/colissimo/relay-points/:id?zipCode=75001

Frontend Integration

For relay point delivery, store the selected point ID in the shipping address metadata:

await medusa.carts.update(cartId, {
  shipping_address: {
    // ... address fields
    metadata: {
      relay_point_id: selectedPoint.id,
    },
  },
});

Colissimo Widget

You can use the official Colissimo widget for relay point selection:

// Get token from your backend
const { token } = await fetch('/store/colissimo/widget-token').then(r => r.json());

// Initialize widget (requires jQuery and Mapbox GL)
$('#widget-container').frameColissimoOpen({
  URLColissimo: 'https://ws.colissimo.fr',
  callBackFrame: 'onPointSelected',
  ceCountry: 'FR',
  ceZipCode: customerZipCode,
  ceTown: customerCity,
  token: token
});

function onPointSelected(point) {
  // point.identifiant is the relay point ID
  $('#widget-container').frameColissimoClose();
}

Limitations

  • Label cancellation is not supported by Colissimo API. Cancel manually in Colissimo Box.
  • Max weight: 30kg
  • Optimized for France. International shipping may need additional setup.

Development

pnpm install
pnpm build
pnpm test

License

MIT