Integration Management

Updated on September 11th, 2025
-
Order Sources
- 1ShoppingCart
- Amazon Direct Fulfillment
-
Amazon Seller Central
- Amazon - Access to Orders.ListOrders is denied
- Amazon - No valid marketplaces
- Amazon Could Not Upload Tracking
- Amazon Inventory Error - An FBA offer already exists on this SKU
- Amazon Inventory Sync Issue
- Amazon Marketplace Alerts
- Amazon Marketplace Extra Fields
- Amazon Marketplace Integration Overview
- Amazon Marketplace Settings
- Amazon orders marked as late even when shipped same day
- Amazon Ship Confirmation Delays
- Amazon Ship Methods
- Error: Amazon MWS Developer Access is About to Expire
- Missing Amazon Seller Central Orders
- Setting Up Amazon Seller Central
- ApparelMagic
- ArcDynamic
- AspDotNetStorefront
- BigCommerce
- BlueCherry
- BrightSites
- ByDesign Freedom
- Centra
- ChannelAdvisor
- Cin7
- ClickBank
- Cratejoy
- CS Cart
- CSV Cart
- Cin7 Core (Dear)
- DemandStream
- DSCO
-
Ebay
- Ebay Auth token is expired
- Ebay Error - Variation level SKU should be supplied to revise a Multi-SKU item.
- eBay Integration Overview
- Ebay listings not syncing with Extensiv Integration Manager
- eBay Settings
- How to find "Sales Record Number" in eBay?
- Inventory-based listing management is not currently supported by this tool - Ebay
- Setting Up Ebay
- Using eBay Global Shipping Program
- You've reached the number of items you can list - Ebay
- Ecwid
- Etsy
- Faire
- Feature List
- Forecastly
- Goldbelly
- Google Shopping
- Groupon
- Houzz
- Infusionsoft
- Integral Group
- Joor
- Lightspeed Retail
- Linnworks
-
Magento
- Access Denied - Magento
- Invalid api path - Magento
- Invalid carrier specified - Magento
- Magento 1 Settings
- Magento 2 Permissions Error
- Magento 2 Settings
- Magento orders missing products
- Magento Shipment Emails Don't Include Tracking Number
- Setting Up Magento
- Setting Up Magento 2
- SOAP extension is not loaded - Error Message
- Supported Plugins - Magento
- Neto
- NetSuite
- Nexternal
- OnBuy
- OpenCart
-
Order Manager
- Extensiv Order Manager Integration Overview
- Extensiv Order Manager Settings
- Extensiv Order Manager Warehouse Name or Warehouse ID error
- Initialize Inventory Sync For New Extensiv Order Manager Products
- Setting Up Extensiv Order Manager
- Setting Up ShipStation as an Order Destination for Extensiv Order Management
- OrderBot
-
OrderStream
- CommerceHub Confirmation Error - PO does not exist for this relationship
- CommerceHub Confirmation Error - PO is not in a state where this action can be applied
- CommerceHub Inventory Not Updating
- CommerceHub Orders Late or Not Shipped
- CommerceHub OrderStream Invoices
- CommerceHub OrderStream Settings
- CommerceHub Required Resources
- CommerceHub Walmart.com
- Performing tests inside CommerceHub Testing Portal
- Setting Up CommerceHub OrderStream
- Setting up Merchant SKUs and UPCs - CommerceHub
- Overstock.com
- PayPal
-
PrestaShop
- Blank Tracking Number - PrestaShop
- Error pulling mapping code from PrestaShop
- Fatal Error - PrestaShop
- Internal error. To see this error please display the PHP errors. - PrestaShop
- Internal Server Error 500 - PrestaShop
- PrestaShop Settings
- Setting Up PrestaShop
- Shipping Confirmation Error - PrestaShop
- Unexpected HTTP Status 302 - PrestaShop
- Pulse Commerce
- Quickbooks
- Radial
- SalesForce
- Shift4Shop - 3DCart
- ShipStation
-
Shopify
- How to Ignore Shopify POS Orders
- Setting Up Shopify
- Shopify - Line Items: must be stocked at the same location
- Shopify - This action requires write_orders scope
- Shopify Filter Order Rules
- Shopify Integration Overview
- Shopify Inventory Not Syncing
- Shipping Method Setup - Shopify
- Shopify Payment Status Info
- Shopify Products say: Unavailable on Extensiv Integration Manager
- Shopify Settings
- SPS Commerce
- Squarespace
- Sticky.io
- Teapplix
- UltraCart
- Uniware ClearConnect
- Unleashed
- Veeqo
- Vend POS
- Vin eRetail
- Volusion
- Walmart Marketplace & DSV
- Wayfair
- Web Shop Manager
- Wish
-
WooCommerce
- API key provided does not have write permissions - WooCommerce
- Cannot communicate securely with peer - WooCommerce
- Cannot connect to WooCommerce site
- Conflicting Order Numbers - WooCommerce
- Error adding notes to order - WooCommerce
- Fix WooCommerce Permissions
- Invalid response from WooCommerce
- Setting Up WooCommerce
- Setting WooCommerce Timezone
- Sorry, you are not allowed to create resources - WooCommerce
- WooCommerce Confirmation Methods
- WooCommerce Inventory Sync
- WooCommerce reported a file not found error
- WooCommerce Settings
- WooCommerce Ship Methods
- Xero
- XML Cart
- Yahoo Stores - Small Business
- Zoho Inventory
Blank Tracking Number - PrestaShop
Problem
PrestaShop generates Shipping Confirmation Email that contains an empty tracking number:
-
Email shows "{shipping_number}" instead of the actual tracking number.
-
Email shows "{followup}" instead of the actual tracking link.
-
Email shows a blank tracking number.
Solution
PrestaShop server admin needs to modify two source files: Order.php & WebserviceRequest.php
Create a back up
Please create a back up Order.php & WebserviceRequest.php before making changes to these files in case you need to restore the originals!
- Please open PrestaShop root directory on server. Make sure that you have permission to modify PrestaShop source files.
- Go to classes/order directory, and open Order.php.
Find function setWsShippingNumber($shipping_number) (around line 2215), and insert the following line as marked:
public function setWsShippingNumber($shipping_number)
{
$id_order_carrier = Db::getInstance()->getValue('
SELECT `id_order_carrier`
FROM `'._DB_PREFIX_.'order_carrier`
WHERE `id_order` = '.(int)$this->id);
if ($id_order_carrier) {
$order_carrier = new OrderCarrier($id_order_carrier);
$order_carrier->tracking_number = $shipping_number;
$this->shipping_number = $shipping_number; // <----------Insert this line !
$order_carrier->update();
} else {
$this->shipping_number = $shipping_number;
}
return true;
}
Find function setCurrentState($id_order_state, $id_employee = 0) (around line 1545), and add following lines to that function:
public function setCurrentState($id_order_state, $id_employee = 0)
{
if (empty($id_order_state)) {
return false;
}
$history = new OrderHistory();
$history->id_order = (int)$this->id;
$history->id_employee = (int)$id_employee;
$history->changeIdOrderState((int)$id_order_state, $this);
$res = Db::getInstance()->getRow('
SELECT `invoice_number`, `invoice_date`, `delivery_number`, `delivery_date`
FROM `'._DB_PREFIX_.'orders`
WHERE `id_order` = '.(int)$this->id);
$this->invoice_date = $res['invoice_date'];
$this->invoice_number = $res['invoice_number'];
$this->delivery_date = $res['delivery_date'];
$this->delivery_number = $res['delivery_number'];
$this->update();
$carrier = new Carrier($this->id_carrier, $this->id_lang); // <----------Insert this line !
$template_vars = array( // <----------Insert this line !
'{shipping_number}' => $this->shipping_number, // <----------Insert this line !
'{followup}' => str_replace('@', $this->shipping_number, $carrier->url), // <----------Insert this line !
); // <----------Insert this line !
$history->addWithemail(true, $template_vars);
}
'{followup}' should match Tracking URL placeholder in your Email Template
3. Make sure to save Order.php file before you close it.
Modify classes/webservice/WebserviceRequest.php:
4. Go to classes/webservice directory, and open file WebserviceRequest.php.
Find function saveEntityFromXml($successReturnCode) (around line 1371), and insert following lines (around line 1425):
......
foreach ($xmlEntities as $xmlEntity) {
/** @var SimpleXMLElement $xmlEntity */
$attributes = $xmlEntity->children();
/** @var ObjectModel $object */
$retrieve_data = $this->resourceConfiguration['retrieveData'];
if ($this->method == 'POST') {
$object = new $retrieve_data['className']();
} elseif ($this->method == 'PUT') {
$object = new $retrieve_data['className']((int)$attributes->id);
if (!$object->id) {
$this->setError(404, 'Invalid ID', 92);
return false;
}
}
$this->objects[] = $object;
$i18n = false;
if(!empty($this->resourceConfiguration['fields']['current_state'])){ // <----------Insert this line! (Around Line 1425)
$prop = $this->resourceConfiguration['fields']['current_state']; // <----------Insert this line!
unset($this->resourceConfiguration['fields']['current_state']); // <----------Insert this line!
$this->resourceConfiguration['fields']['current_state'] = $prop; // <----------Insert this line!
} // <----------Insert this line!
// attributes
foreach ($this->resourceConfiguration['fields'] as $fieldName => $fieldProperties) {
$sqlId = $fieldProperties['sqlId'];
if ($fieldName == 'id') {
$sqlId = $fieldName;
}
if (isset($attributes->$fieldName) && isset($fieldProperties['sqlId']) && (!isset($fieldProperties['i18n']) || !$fieldProperties['i18n'])) {
if (isset($fieldProperties['setter'])) {
......
5. Make sure to save WebserviceRequest.php before you close it.