M2E Pro service is provided based on a client-server network architecture. Which means the data communication is performed following a certain scenario M2E Pro server acts as intermediary between the Magento and the channel servers.
To ensure that synchronization is launched regularly, M2E Cron Service is scheduled to make calls to Magento Server every minute. The Cron job is simply a task that is set to run every single minute. There is no data communication at this stage yet.
Next, the interaction between the servers starts. All Magento product changes made within the standard Magento logic are detected automatically. This is when the data is transmitted: from Magento to M2E Pro Server and then the channel one. What is happening is that M2E retrieves the data from Magento server and sends it to the channel. Accordingly, M2E submits order data to Magento after the channel server returns it.
All server-to-server interactions are performed via HTTPS.
In the end, no information remains stored on M2E Pro server. It reads the data from Magento source and sends it to the appropriate destination channel. M2E appears to be a data processing point.
Each request from Magento system is validated by M2E Pro Security Service (MSS). The service is set to validate the domain and IP of the request and compare it to the information associated with the license key assigned to the system. Any inconsistency in the domain or IP is automatically reported to the customer.
To keep the data synchronization running smoothly between the servers at all times, here are a few tips on what to take into account:
1. System resources
When installing M2E Pro on Magento, it is essential to have sufficient resources available to maintain a healthy operation of the module. M2E is never idle, the extension consistently processes loads of data, i.e. submits data to the channel or imports information from the channel. In order to keep the service uninterrupted, it’s crucial that memory and execution time resources meet the recommended values. We suggest setting memory limit to at least 512 MB on Magento 1 and 1 GB on Magento 2. Depending on the size of the data managed by the extension, the limit requirements may vary. The execution time is recommended to be set to at least 360 sec on Magento 1 and 600 sec on Magento 2.
The overall performance of M2E Pro greatly depends on the efficient resources of the environment. Being installed on the resource-restricted system, some module operations may be blocked. In particular, poor system configurations will affect timely product updates, order import, etc.
2. Allow incoming connections to Magento server from cron1.m2epro.com and cron2.m2epro.com
M2E Pro uses its own Cron Service specifically developed to optimize the work of the whole synchronization process. By default, the Cron Job is scheduled to make calls to Magento server and initiate the synchronization every minute.
The Cron Service gets enabled automatically after an Extension Key for the new M2E Pro Installation is registered. An important condition is that Magento server must accept the incoming calls from M2E Pro Cron server. If some server configurations or the firewall preferences block the inbound connections made from cron1.m2epro.com and cron2.m2epro.com, synchronization may not be launched at all.
Magento Cron can be used as an alternative solution. It should be properly enabled and scheduled to trigger M2E Pro synchronization.
The Cron status and the time of its last run are clearly indicated on the Help page of M2E Integration in the Magento backend. If both M2E and Magento Cron Jobs fail to run, the Cron status will be highlighted in red.
3. Allow outbound connections from Magento server to s1.m2epro.com and s2.m2epro.com through port 443
The outgoing connections from Magento to M2E Pro server ensures the data flow between Magento and the Extension. It is worth verifying that the connections to s1.m2epro.com and s2.m2epro.com are not restricted by any firewall settings.
All of the data transfers are made through HTTPS request which makes it essential to have CURL Library supporting SSL certificate installed on the Magento server.