Migrating to Shopify from Magento

Magento Importer app icon Go to the Shopify App Store to install Magento Importer

Finding Magento API Credentials

To import your Magento data into Shopify you will need to create a Magento API key and install the Magento Importer app.

Create a Role

The first step in this process is to create a Role.

To create a Role:

  1. From the Magento dashboard, go to System > Web Services > SOAP/XML-RPC - Roles:

    Magento api 1
  2. Click Add New Role:

    Magento api 2
  3. Under Role Information, click Role name and enter the word Everything.

  4. Click Save Role:

    Magento api 3
  5. Under Role Information, click Role Resources.

  6. From the dropdown list, select All.

  7. Click Save Role:

    Magento api 4

Create a User

After the Role has been created, you need to create a User.

To create a User:

  1. Click System in the top menu and go to Web Services > Users:

    Magento api 5
  2. Click Add New User:

    Magento api 6
  3. Fill out the data fields. You will use the information in the Username and New API Key fields when you configure the Magento Importer app in your Shopify admin.

  4. Click Save User.

    Magento api 7

Add User to Role

After you've created a Role and a User, you need to associate the two together.

To add a User to a Role:

  1. Under User Information click User Role.

  2. Select the Role you created.

  3. Click Save User:

    Magento api 8

Paste the details in the Magento Importer app

Now that you have your API details, you can go back to the Magento Importer app in your Shopify admin.

To paste the details in the app:

  1. Enter the address of your Magento store in the Magento store URL.

    Note

    If you see the error There's no Magento API at this URL, try adding /index.php to the end of your Magento store address.

  2. Enter the username that you chose in the Magento API username field.

  3. Enter the API key that you created in the Magento API key field:

    Magento api 9

Problems with the Magento importer

There are a few common problems that you might have when using the Magento Importer app.

eAccelerator

The Magento to Shopify importer app uses the Magento API to get data out of a Magento store. The Magento API doesn't work properly when eAccelerator (a tool for PHP) is installed on the server where you run Magento. There are two ways to fix this problem:

  1. Comment out these lines in the lib/Zend/XmlRpc/Server.php file:
    if (!$matched)
    {
                #require_once 'Zend/XmlRpc/Server/Exception.php';
                throw new Zend_XmlRpc_Server_Exception('Calling parameters do not match signature', 623);
    }

So that they look like this:

    /*
    if (!$matched)
    {
                #require_once 'Zend/XmlRpc/Server/Exception.php';
                throw new Zend_XmlRpc_Server_Exception('Calling parameters do not match signature', 623);
    }
    */

2. You can disable eAccelerator. The way to do it depends on your hosting provider — it might be best to contact your hosting provider to find out how to do it.

The solutions above were found here:

Not enough memory

The Magento Importer app uses the Magento API to get data out of a Magento store. If you have a large number of customers or products in your Magento store, you might need to increase the amount of memory available to the Magento store in order for the API to work correctly. There are several ways to do it:

  1. Try editing the .htaccess file. The default one from Magento has this line that sets the limit:
    php_value memory_limit 128M

Try changing it to 256M or more:

    php_value memory_limit 256M

2. If there is no such line in your .htaccess file, or if changing it doesn't work, check out this article that explains how to do it either for a particular PHP app or globally for the server. If you decide to change the memory limit only for the store, you can add it into the index.php file. Add this code into the index.php file:

    ini_set("memory_limit", "256M");

No Magento API at this URL

This error is returned when the connection to Magento's API cannot be established. The most common fix for this is to add /index.php at the end of your Magento store URL.

Want to discuss this page?

Visit the Shopify Community

Ready to start selling online with Shopify?

Try it free