CounterPoint SQL and Magento ecommerce Interface

Full text


CounterPoint SQL and Magento eCommerce Interface


CounterPoint SQL: 8.3.9, 8.4.2

Magento Community Edition: 1.5.1+ (older versions are not compatible due to changes in Magento’s API)

MagentoGo is compatible for functions that use Magento’s API. Direct database connectivity for functions such

as quantity synchronization is not available due to the restricted nature of MagentoGo  MagneticOne Store Manager for Magento: v2.3.2.458 or higher

o $199 per license (normally only need 1 license)

o $119 for 24 months of update service (this covers all new versions that are released)  Tested on SQL Server 2005, 2008, 2008R2 Express, Workgroup, Standard

 Tested on Windows XP, Windows 7 x64, Windows Server 2003, Windows Server 2008R2 x64

Note: If using Radiant’s Watchguard Firewall you must add a custom Firewall Rule to allow TCP traffic on port

3306 for a direct connection to Magento’s MySQL database

CounterPoint Order Import Information

 Multiple Magento eCommerce Websites can be imported into multiple CounterPoint Web Stores or into the same Store

o Note: A license is required for each domain name being used

 Customers are created in CounterPoint with billing and shipping information  Exiting customers are determined by a matching email address

State Names are automatically converted to abbreviations (ex: New York formatted to NY) Phone numbers are formatted (ex: 5187830222 formatted to: 518-783-0222)

 Orders are created with customer bill to and ship to information  Order Deposit transactions are created

o Deposit Tickets will be assigned to an active drawer session for the eCommerce drawer specified, otherwise it will assign the tickets to drawer session 1

 Magento Order number up to 15 characters is stored with the order in CounterPoint  Orders that are cancelled in CounterPoint will also be cancelled in Magento

 Shipping Charges are imported into Point of Sale - Misc Charge 1  Shipping Method is imported for UPS, Fedex, and Flat Rate

 Any Magento Order Discounts are imported into Point of Sale - Misc Charge 5

 Tracking number that is attached to an order in CounterPoint will be uploaded back to Magento

o Only one shipping carrier can be specified: either UPS or FEDEX. If you are shipping using multiple carriers please contact us for a customization quote.

o Note: Only one tracking number is allowed to be uploaded to Magento per order

 If using Gift Cards in Magento the SKU number for the gift card must match a valid Gift Certificate Code in CounterPoint (ex: SKU – GC or GC10 or GC50)

o Note: you must be using the PRO version of CPOrderMakerMagento. Please contact us for details


You can set this up by adding something like the following


Step-by-step: Create a Magento API user

This API user is related to a so-called API role. By default, there is neither API user nor API role, so you need

to configure both.

Logging into the Magento Admin Panel

First an API role needs to be added. Login to the Magento Admin Panel and navigate to System > Web

Services > Roles.

Create a new API role

This page lists the current API roles. If there none listed yet, click on Add New Role.

Every role needs a name. This can be anything. Just make sure it is descriptive enough for yourself.


Create a new API user

Now that the role is created, you can add a user that makes use of this role.

The strange thing here is that the user fields here seem to indicate a person or individual, while in fact we're

creating a system account of some kind. The fields First Name, Last Name and Email just need to be filled in

with any value you like.

Make sure the User Name and Api Key are secure enough and you keep track of this information. You will

need it to configure the interface


Setup CPOrderMakerMagento to import orders into CounterPoint

Save the CPOrderMakerMagento.exe in your CounterPoint\CompanyFolder\Actions

Specify the CounterPoint Connection and the Web Store in CounterPoint that you want orders imported into

Create a batch file called ImportMagentoOrders.bat

Note: This batch file can be scheduled to run at your desired frequency using the Windows Task Scheduler Example Batch File Contents:

CPOrderMakerMagento.exe / /apiuser:username /apipass:password /filter:processing CPOrderMakerMagento.exe / /apiuser:username /apipass:password /filter:pending

 Username and password is from your Magento API setup

 Filter lets you pick which orders you want to import based on the Magento order status

Import Transaction Log File (XferLog.txt)

 The XferLog.txt file will be created in the same folder as the CPOrderMarkerMagento.exe  This log file will indicate import errors such as items not on file


How to Setup a Direct Linked Server Connection between your CounterPoint SQL

database and Magento’s MySql database for Updating Item Quantities and

Product Information

Note: There will need to be direct MySQL database access to the Magento database for direct updating of Inventory

Quantity and Product Information. This can be accomplished by white listing the CPSQL Server’s public IP in the firewall for the Magento Server. Please check with your Magento host to make sure they can grant this type of access. They will need to provide you with the MySQL database username and password.

Download and install on the CounterPoint SQL Server the MySQL Connector/ODBC driver that is compatible with your server


Date Source Name: MAGENTO Description: MAGENTO

TCP/IP Server: website URL ( Port: 3306 (this is the default)

User: provided by Magento Host Password: provided by Magento Host

Click the Details button and check the following  Allow big result sets


Setup Linked Server in Microsoft SQL Server Management Studio

 Go to Server Objects/Linked Servers/Providers

 Right Click on MSDASQL and go to Properties as seen below

**Note: if you do not see the Properties option you must install the latest SQL Server Service Pack

Make sure the following options are enabled

Nested queries

Level zero only

Allow inprocess


Create a new linked server

 Name the linked server – MAGENTO

 Select Other Data Source

o Provider – Microsoft OLE DB Provider for ODBC Drivers

o Product Name – MAGENTO


Change Server Options

 RPC – True

 RPC Out - True

Execute SQL scripts against your CounterPoint SQL Database to create all views

and stored procedures that connect both databases together

To Configure CPUpdateMagento

Save CPUpdateMagento .exe into the CounterPoint\CompanyFolder\Actions Double-click on CPUpdateMagento.exe


To schedule the update process create a batch file to call CPUpdateMagento and use Windows Task Scheduler to execute this batch file

Batch File 1: If you want to update Inventory Quantities use the following command in your batch file

 CPUpdateMagento / /qtys:true

Batch File 2: If you want to update Name, Description, Weight and Price use the following

 CPUpdateMagento /

CounterPoint eCommerce Settings

 You can specify the name option

o Description o Short Description o Long Description o Additional Description 1 o Additional Description 2 o Additional Description 3  Qty Available


You can specify the Ship Via Code Mapping for UPS

**Note: The following Ship Via Code must be setup in CounterPoint – FLAT RATE


Store Manager for Magento Setup

Store Manager for Magento requires direct MySQL database connection. Most of hosting companies allow direct connections to MySQL database. However in most cases you have to request your Magento host to add your public IP to the list of IP addresses allowed to access MySQL port 3306 from outside. This option can be found under MySQL settings.

Feel free to ask your hosting support to assist you in enabling direct MySQL access; they must help you since it is trivial task.

To configure direct connection to your remote database, follow few steps:

1. Open Tools -> Preferences -> Database Connection Tab (F12)

2. Enable Direct connection to remote database check-box

3. Specify the following Remote Database Connection Settings:

Host (Server address) - Usually it is your website name like "" (do not include http://www. prefix); you may use IP

address as well. Please check your store server parameters (see local.xml, you can find it at your store /app/etc directory). Open local.xml file and you will find your database server name (host).


Port - 3306 is used in most cases (please ask your hosting provider to check if the one is used).

MySQL Version - Most of hosting companies have 4.1 or 4.0 and some of them have 5.x version. You can use Auto if you're not


User name (login), Password and Database (name) - Specify your username, password and database name. You can find them

in local.xml file as well:

<username><![CDATA[name]]></username> //here your User Name (login) is defined <password><![CDATA[pass]]></password> //here your password is defined

<dbname><![CDATA[remote_database]]></dbname> //here your database name is defined

Also you may type database name manually or use browse button [...] to see the list of available databases and select the one you need from the drop-down.

You may type database name manually or use browse button [...] to see the list of available databases and select the one you need from the drop-down.

Tip: Use the Test Connection button to verify if all settings are correct and connection to your remote database is possible.

4. Click Ok to save this entry, close Preferences and to connect to your database, or click cancel to discard this entry.

Also you can use Database Connection wizard to setup your connection or make Database Backup/Restore using corresponding options.

If you're unable to connect to remote database, here are few key items to check.

If you got "SQL ERROR: Access denied for user 'admin'@'' (using Password: YES)" notification (where 'admin' is your username and '' is your IP) you have to add your IP address to the Access List and allow direct MySQL

connections. Please see an article to find out how to add your IP to the Access List.

Setup FTP or SFTP connection

This section describes how to setup FTP connection to be able to upload and preview images using Store Manager for Magento.

FTP connection is not required, you may skip it. FTP is used for images - downloading and uploading images for products, categories and manufacturers. If there is no valid FTP connection specified, you will not be able to view images and upload them to your server.

See an example of properly configured FTP below:

FTP settings:

Server address - IP address or domain name of FTP server. Do not use any prefixes or suffixes there, just simple name or IP. FTP user name/ FTP password - specify login information. If you do not know your access details, please contact your Hosting

Company and request details.

Use passive mode (recommended).

Store root directory - default directory where all product images are stored. Most likely it is your-domain-name/html directory.

Additional settings:

Max FTP threads – (recommend setting is 5) the number of threads allowed. Can be used if your Hosting Company has any limitations on the number of threads.

Automatically download images - has to be enabled to download images automatically to preview them in Store Manager


Cache images - has to be enabled to cache images downloaded to Store Manager. Clear image cache - clear local images cache.

Note: FTP account (settings - login/password) used for images management must have rights to read/write appropriate directories

otherwise FTP feature may not work properly.


Import Settings Setup


Change: Select delimiter character to which will be used to separate fields data: to comma

Change: Select delimiter character to which will be used to separate categories in category tree to /

Check Import Images Check Box and specify the Local Directory with Images


Click Auto set… button under the .csv File Columns section to ensure that the fields have been mapped properly

Click Set default values to unassigned fields under the Database Fields section


Magento Tips and Tricks

Turn Manage Stock on and set Display Out of Stock Products to No if you want to automatically hide products on the website based on the quantity in stock in CounterPoint SQL.

You can do this by going to System/Configuration in Magento Then navigate to Catalog/Inventory

Setup a Cron Job to Reindex the entire database every night

Ex Script:

/usr/bin/php -f


Connection Timeout Errors when running CPUpdateMagent.exe

Run the following query against the MySQL database

show variables like 'connect_timeout'

connect_timeout should be set to a value of 300


Database Information (informational only)

The complete list of item attributes is stored on the eav_attribute table  Attribute_id = Unique Attribute Number

 Entity_type_id = this will identity the correct attribute_id = value of 4  Attribute_Code = database name of attribute

 Backend_type = references which table the attribute value is stored on

The complete image path is stored on the catalog_product_entity_media_gallery table  Entity_id = Product ID number

 Value = image path (ex: /b/bottle.jpg)

The product URL is stored on the catalog_product_entity_varchar table  Entity_id = Product ID Number

 Attribute_id = 87 (default)

 Store_ID = filter to the specific store

 Value = URL (ex: babich-sauvignon-blanc-marlborough-2009.html)



Related subjects :