0.1.0 • Published 4 months ago

@gorgo/medusa-feed-yandex v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

💬 Support & Community on Telegram

Join the Medusa Telegram community chat to discuss features, get support, and connect with developers building on Medusa.

Prerequisites

  • Medusa server v2.8.3 or later
  • Node.js v20 or later

Installation

yarn add @gorgo/medusa-feed-yandex
# or
npm install @gorgo/medusa-feed-yandex

Configuration

Add the provider configuration in your medusa-config.js file of the Medusa admin application:

# ...
module.exports = defineConfig({
  # ...
  modules: [
    {
      resolve: "@gorgo/medusa-feed-yandex/modules/feed",
    },
    {
      resolve: "@medusajs/medusa/file",
      options: {
        providers: [
          {
            resolve: "@medusajs/medusa/file-local",
            id: "local",
            options: {
              upload_dir: "static",
              backend_url: "http://localhost:9000/static"
            },
          },
        ],
      },
    },
  ],
  plugins: [
    {
      resolve: "@gorgo/medusa-feed-yandex",
      options: {}
    }
  ],
})

The plugin is currently tested with Medusa’s local file module (file-local) and saves the generated XML feeds to the local static directory.

Usage

Open the Medusa Admin dashboard and navigate to Settings -> Feeds section in the Extensions — this is where the plugin interface is available.

Feeds list page

The page displays all existing feeds with their key information.

Feed URLs follow this format, allowing direct access to the generated XML files (in YML format):

http://{YOUR_MEDUSA_DOMAIN}/feeds/{ID}/{FILE_NAME}.xml

Selecting a feed opens a detailed view where you can edit metadata, adjust export schedules, choose product categories, and access the feed URL. A Launch now button lets you manually trigger feed generation.

Feed's page

The feed shown in the screenshot above exports all product from all categories every 30 minutes to a file named example1.xml. It sets Example shop name, Example company name, https://www.example.com/, and Medusa as values for the corresponding XML properties. It is accessible via the link http://localhost:9000/feeds/01JWTC5VDW8EAGHWRDQG2GKAQJ/example1.xml, while the actual file is stored in gzip-compressed format at http://localhost:9000/static/1748937061705-example1.xml.gz.

Below is an example of a generated YML-file:

<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog date="2025-06-03 16:31">
  <shop>
    <name>Example shop name</name>
    <company>Example company name</company>
    <url>https://www.example.com/</url>
    <platform>Medusa</platform>
    <categories>
      <category id="pcat_01JWBFYPTZNKZT0BRWECQF84J9" value="Shirts"/>
      <category id="pcat_01JWBFYPV0KQV6VY4HKW4W6JTN" value="Sweatshirts"/>
      <category id="pcat_01JWBFYPV16CG0MN8TF1EM4T4N" value="Pants"/>
      <category id="pcat_01JWBFYPV1CTZAK4JBKV0R2JZW" value="Merch"/>
    </categories>
    <offers>
      <offer id="prod_01JWBFYPVZ21W4XQRSPAVW3QBN">
        <name>Medusa T-Shirt</name>
        <categoryId>pcat_01JWBFYPTZNKZT0BRWECQF84J9</categoryId>
        <picture>https://medusa-public-images.s3.eu-west-1.amazonaws.com/tee-black-front.png</picture>
        <description>
          <![CDATA[Reimagine the feeling of a classic T-shirt. With our cotton T-shirts, everyday essentials no longer have to be ordinary.]]>
        </description>
        <weight>400</weight>
      </offer>
      <offer id="prod_01JWBFYPVZFHDPM6RF1DFAX4RZ">
        <name>Medusa Sweatshirt</name>
        <categoryId>pcat_01JWBFYPV0KQV6VY4HKW4W6JTN</categoryId>
        <picture>https://medusa-public-images.s3.eu-west-1.amazonaws.com/sweatshirt-vintage-front.png</picture>
        <description>
          <![CDATA[Reimagine the feeling of a classic sweatshirt. With our cotton sweatshirt, everyday essentials no longer have to be ordinary.]]>
        </description>
        <weight>400</weight>
      </offer>
      <offer id="prod_01JWBFYPVZJQH2KABER77PSEMG">
        <name>Medusa Sweatpants</name>
        <categoryId>pcat_01JWBFYPV16CG0MN8TF1EM4T4N</categoryId>
        <picture>https://medusa-public-images.s3.eu-west-1.amazonaws.com/sweatpants-gray-front.png</picture>
        <description>
          <![CDATA[Reimagine the feeling of classic sweatpants. With our cotton sweatpants, everyday essentials no longer have to be ordinary.]]>
        </description>
        <weight>400</weight>
      </offer>
      <offer id="prod_01JWBFYPVZ2E5D5CSB0F53XX3W">
        <name>Medusa Shorts</name>
        <categoryId>pcat_01JWBFYPV1CTZAK4JBKV0R2JZW</categoryId>
        <picture>https://medusa-public-images.s3.eu-west-1.amazonaws.com/shorts-vintage-front.png</picture>
        <description>
          <![CDATA[Reimagine the feeling of classic shorts. With our cotton shorts, everyday essentials no longer have to be ordinary.]]>
        </description>
        <weight>400</weight>
      </offer>
    </offers>
  </shop>
</yml_catalog>

License

Licensed under the MIT License.