A Medusa plugin that imports categories and products from Magento into Medusa.
This plugin imports Magento categories and products into Medusa. It creates categories and products that don't exist, and updates those that have been imported previously.
Magento has 6 product types. As some of those types don't exist in Medusa, only the Configurable and Simple products can be imported.
You must have a Medusa server installed before installing this plugin.
Furthermore, the Medusa server should have PostgreSQL and Redis installed and configured on your Medusa server.
On your Magento admin, go to System -> Integrations -> Add New Integrations.
You need to give the integration the access to the following resources:
- Catalog (with its child resources).
- Stores -> Settings (with its child resources).
- Stores -> Attributes (with its child resources).
After creating the integration, activate it from the Integrations listing page. Once you activate it, you'll receive four keys: Consumer Key, Consumer Secret, Access Token, and Access Token Secret. Copy them as you'll need them for the plugin's options.
To install the plugin run the following command on your Medusa server:
npm install medusa-source-magento
Add the plugin and its options into the plugins
array in medusa-config.js
:
const plugins = [
//...
{
resolve: `medusa-source-magento`,
//if your plugin has configurations
options: {
magento_url: '<YOUR_MAGENTO_URL>',
consumer_key: '<YOUR_CONSUMER_KEY>',
consumer_secret: '<YOUR_CONSUMER_SECRET>',
access_token: '<YOUR_ACCESS_TOKEN>',
access_token_secret: '<YOUR_ACCESS_TOKEN_SECRET>',
image_prefix: '<MEDIA_URL_PREFIX>' // optional
},
},
];
Name | Description | Required | Default Value |
---|---|---|---|
magento_url |
The URL of your Medusa server. It shouldn't end with a backslash. | true | |
consumer_key |
The Consumer Key of the integration. | true | |
consumer_secret |
The Consumer Secret of the integration. | true | |
access_token |
The Access Token of the integration. | true | |
access_token_secret |
The Access Token Secret of the integration | true | |
image_prefix |
The URL prefix of media files. This is necessary if you don't use Magento's default storage for product images (for example, if you use S3) | false | The URL will be retrieved from Magento. |
To use the plugin, just start the Medusa server:
npm start
The import process will run in the background of the server. Based on how many products you have, it can take some time the first time running it.
You can trigger the import by creating a new batch job using the Create Batch Job API endpoint. You can pass the following in the payload:
{
"type": "import-magento",
"context": { },
"dry_run": false
}
This will trigger the import process.