Medusa plugins
F

Feed yandex

A Medusa plugin that generates a product feed in YML (Yandex Market Language) format

Need customizations for this plugin?

Get in touch
npm install @gorgo/medusa-feed-yandex
Category
other
Built by
gorgo
Type
unknown
Last updated
4 weeks ago
Monthly downloads
247
Github stars
7

πŸ’¬ Plugin Support Chat on Telegram

Join the Medusa.js ⊷ Yandex community chat to discuss features and get support.

πŸ‘₯ Medusa.js Community Chat on Telegram

Join the Medusa.js Chat to connect with developers building on Medusa.

Features

  • βœ… Export product feeds in Yandex Market YML format
  • βœ… Easily access feed URLs for integration with Yandex Market
  • βœ… Internalized interface in Medusa Admin
  • βœ… Schedule automatic feed exports at intervals
  • βœ… Select specific product categories for export
  • βœ… Manual feed generation
  • βœ… Uses Medusa File Module with built-in file provider support

Prerequisites

  • Medusa server v2.8.0 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 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 () 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.

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):

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.

The feed shown in the screenshot above exports all product from all categories every 30 minutes to a file named . It sets , , , and as values for the corresponding XML properties. It is accessible via the link , while the actual file is stored in gzip-compressed format at .

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>

Testing

To run tests, navigate to the directory:

cd examples/feed-yandex/medusa

Make sure your file includes the following variables: , :

cp .env.test.example .env.test

Then, run tests:

# Run module tests
# These verify the internal logic, such as services and models
yarn test:integration:modules
# Run integration tests
# Integration tests include tests for API Routes and Workflows
yarn test:integration:http

License

Licensed under the MIT License.