Integration Manager

Updated on January 17th, 2023

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Extensiv Hub
    Getting Started Using Hub Technical Issues & FAQs
  • 3PL Warehouse Manager
    Receiving Operations Inventory Management Shipping Operations System Configuration Scanning Operations Integrations Content Best Practice Resources Release Notes
  • Warehouse Manager
    Getting Started Admin Console Shipping Order Picking & Packing Receiving Customer Portal Cycle Counting Kit Building Managing Users Barcode Scanner Import/Export Integrations Barcoding Wave Picking Bin Move Mobile Receiving and Picking Settings
  • Order Manager
    Dashboard Orders Inventory Purchase Orders Shipments Customers Products Analytics Settings API API Integrations Accessing and Navigating Order Manager Error Messages Order Manager
  • Integration Manager
    General Support Order Sources Order Destinations Troubleshooting API Documentation Extras & Addons
  • FAQs
  • Support
+ More
  • Help Center
  • Integration Manager
  • Order Sources
  • PrestaShop
  • Order Sources
    • Test Category
      • Sub-Category - 1
        • Sub-Sub-Category-N
      • Sub-Category-2
    • 1ShoppingCart
        • 1ShoppingCart Integration Overview
        • Setting Up 1ShoppingCart
        • 1ShoppingCart Settings
    • Amazon Direct Fulfillment
        • Setting Up Amazon Direct Fulfillment
        • Amazon Vendor Central
    • Amazon Seller Central
        • Error: Amazon MWS Developer Access is About to Expire
        • Missing Amazon Seller Central Orders
        • Amazon Inventory Error - An FBA offer already exists on this SKU
        • Amazon Could Not Upload Tracking
        • Amazon Inventory Sync Issue
        • Amazon - Access to Orders.ListOrders is denied
        • Amazon Marketplace Integration Overview
        • Amazon Marketplace Alerts
        • Amazon Marketplace Settings
        • Amazon Marketplace Extra Fields
        • Amazon - No valid marketplaces
        • Amazon Ship Methods
        • Setting Up Amazon Seller Central
        • Amazon orders marked as late even when shipped same day
        • Amazon Ship Confirmation Delays
    • ApparelMagic
        • ApparelMagic Integration Overview
        • Setting Up ApparelMagic
        • ApparelMagic Settings
    • ArcDynamic
        • ArcDynamic Integration Overview
        • Setting Up ArcDynamic
    • AspDotNetStorefront
        • AspDotNetStorefront Integration Overview
        • Setting Up AspDotNetStorefront.com
    • BigCommerce
        • BigCommerce - Could not upload tracking - The field quantity is invalid
        • BigCommerce Integration Overview
        • Setting Up BigCommerce
        • BigCommerce Settings
        • BigCommerce multiple Extensiv Integration Manager connections to a single store
        • BigCommerce Orders Missing Shipping Address
    • BlueCherry
        • Setting Up BlueCherry
    • ByDesign Freedom
        • Setting Up ByDesign Freedom
        • ByDesign Freedom Settings
    • Centra
        • Centra Integration Overview - Order Source
    • ChannelAdvisor
        • Setting Up ChannelAdvisor
        • ChannelAdvisor Settings
        • ChannelAdvisor - Carrier and Class is Invalid
    • Cin7
        • Setting Up Cin7
        • Cin7 Settings
    • ClickBank
        • Setting Up ClickBank
    • Cratejoy
        • Cratejoy Integration Overview
        • Setting Up Cratejoy
        • Cratejoy Settings
        • When are Cratejoy Shipments Loaded?
    • CS Cart
        • Setting Up CS Cart
    • CSV Cart
        • Using a Cloud FTP Service
        • Setting Up CSV Files
        • How to Load CSV Order Files via FTP into Extensiv Integration Manager
        • How to Upload CSV Order Files into Extensiv Integration Manager
        • Custom Date Format - CVS Mapping
        • Supported CSV Formats
        • CSV Cart Mapping Instructions
        • CSV Mapping - Merchant Version
    • Dear Systems
        • Setting Up DEAR Systems
        • Dear Systems Settings
        • How to enable DEAR Inventory Sync
    • DemandStream
        • Setting Up CommerceHub DemandStream
    • DSCO
        • Migrating from DSCO V2 to DSCO V3
        • Setting Up Warehouses in DSCO
        • DSCO Integration Overview
        • Setting Up DSCO
        • Missing DSCO Orders
        • Transitioning from the DSCO FTP cart to the DSCO API cart
        • DSCO - Missing Orders | Manual Acknowledgment
    • Ebay
        • eBay Integration Overview
        • Setting Up Ebay
        • eBay Settings
        • Ebay Error - Variation level SKU should be supplied to revise a Multi-SKU item.
        • How to find "Sales Record Number" in eBay?
        • Inventory-based listing management is not currently supported by this tool - Ebay
        • Ebay listings not syncing with Extensiv Integration Manager
        • Ebay Auth token is expired
        • You've reached the number of items you can list - Ebay
        • Using eBay Global Shipping Program
    • Ecwid
        • Setting Up Ecwid Cart
        • Ecwid Settings
    • Etsy
        • Etsy - Why Is My Listing Inactive?
        • Setting Up Etsy
        • Etsy Settings
        • Etsy Error - quantity must be consistent across all products
        • How to get your Etsy Shop ID
    • Faire
        • Setting Up Faire
        • Faire Product Sync
        • Faire Integration Overview
        • Faire Shipping Confirmations Are Being Rejected
    • Feature List
        • Cart Setup Complexity
        • OAuth Cart List
        • Purchase Order Receiving Upload
        • Purchase Order Download
        • Cancel Order in Cart
        • Order Cancel Download
        • Product Detail Sync
        • Invoice
        • Shipment Confirmation
        • Inventory Sync
        • Order Download
    • Forecastly
        • Setting Up Forecastly
    • Google Shopping
        • Google Shopping Integration Overview
        • Setting Up Google Shopping
    • Groupon
        • Groupon Goods Integration Overview
        • Setting Up Groupon Goods
        • Setting Up Groupon Stores
        • Groupon Prices Don't Match Expected
        • Loading Groupon Stores Orders
    • Houzz
        • Setting Up Houzz
        • Houzz Seller & Houzz Vendor Workflow
        • Houzz Updates - Cal Title 20
        • Multiple Tracking number support for Houzz
        • Missing Houzz Orders
    • Infusionsoft
        • Setting Up Infusionsoft
    • Integral Group
        • Setting Up Integral Group
        • Setup Merchant SKUs and UPCs - Integral Group
    • Joor
        • Joor to NetSuite Integration
        • Joor to TradeGecko Integration
        • Joor Integration Overview
        • Setting Up Joor
        • Joor Settings
        • Joor Category List
        • Joor to Extensiv Order Manager Integration
        • Joor Product Sync
    • Lightspeed Retail
        • Lightspeed Retail Integration Overview
        • Setting Up Lightspeed Retail
        • LightSpeed Server response message: The child object either does not exist or is archived and cannot be updated via the parent object.
    • Linnworks
        • Setting Up Linnworks
    • Magento
        • Setting Up Magento
        • Setting Up Magento 2
        • Magento 1 Settings
        • Magento 2 Settings
        • Supported Plugins - Magento
        • Invalid api path - Magento
        • Magento 2 Permissions Error
        • Magento orders missing products
        • SOAP extension is not loaded - Error Message
        • Access Denied - Magento
        • Invalid carrier specified - Magento
        • Magento Shipment Emails Don't Include Tracking Number
    • Neto
        • Neto Integration Overview
        • Setting Up Neto
    • NetSuite
        • Netsuite cart inventory not updating. Please enter value(s) for: IA Memo
        • NetSuite - You must have at least one valid line item for this transaction
        • NetSuite - Only one request may be made against a session at a time
        • Setting Up NetSuite
    • Nexternal
        • Setting Up Nexternal
    • OnBuy
        • OnBuy Integration Overview
        • Setting Up OnBuy
    • OpenCart
        • OpenCart Integration Overview
        • Setting Up OpenCart
        • OpenCart Connection Issues
        • OpenCart Settings
    • OrderBot
        • Setting Up OrderBot
    • OrderStream
        • Performing tests inside CommerceHub Testing Portal
        • Setting Up CommerceHub OrderStream
        • CommerceHub OrderStream Settings
        • CommerceHub OrderStream Invoices
        • CommerceHub Required Resources
        • CommerceHub Orders Late or Not Shipped
        • CommerceHub Inventory Not Updating
        • 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
        • Setup Merchant SKUs and UPCs - CommerceHub
        • CommerceHub Walmart.com
    • Overstock.com
        • Setting Up Overstock.com
    • PayPal
        • Setting Up PayPal
    • PrestaShop
        • Setting Up PrestaShop
        • PrestaShop Settings
        • Error pulling mapping code from PrestaShop
        • Internal error. To see this error please display the PHP errors. - PrestaShop
        • Blank Tracking Number - PrestaShop
        • Shipping Confirmation Error - PrestaShop
        • Fatal Error - PrestaShop
        • Internal Server Error 500 - PrestaShop
        • Unexpected HTTP Status 302 - PrestaShop
    • Pulse Commerce
        • Setting Up Pulse Commerce
        • No order/fulfillment loaded - Pulse Commerce
    • Quickbooks
        • Quickbooks Online Integration Overview
        • Setting Up Quickbooks Online
    • Quickbooks Commerce (Formerly TradeGecko)
        • TradeGecko - The access token expired
        • TradeGecko Integration Overview
        • Setting Up TradeGecko
        • TradeGecko Settings
        • TradeGecko Couldn't Find OrderLineItem
        • TradeGecko - You don't have permission to update this fulfillment
        • TradeGecko - The access token was revoked
        • Load Packed Orders from TradeGecko
        • How do I get TradeGecko to send Shipping Notification Emails?
        • Why Do My TradeGecko Orders Have A Crossed Out Line?
    • Radial
        • Radial Retailers
        • Radial Integration Overview
    • Rakuten.com
        • Rakuten.com Integration Overview
        • Setting Up Rakuten.com
    • SalesForce
        • SalesForce - Could not create SOAP Object - LOGIN_MUST_USE_SECURITY_TOKEN
        • Setting Up SalesForce
        • Salesforce API Limit
        • SalesForce - Custom Mappings
        • INVALID_FIELD No such column 'XXX' on entity 'YYY' - Salesforce
        • Enable Shipping Confirmation - SalesForce
    • Shift4Shop - 3DCart
        • Shift4Shop 3dcart Integration Overview
        • Setting Up Shift4Shop 3DCart
        • Shift4Shop Settings
        • Error with 3DCart order status
    • ShipStation
        • ShipStation Integration Overview
        • Setting Up ShipStation
        • Shipments and Shipping Info fields blank in ShipStation
        • ShipStation Tag Filtering
    • Shopify
        • Shopify Payment Status Info
        • Shopify Inventory not syncing
        • Shopify Integration Overview
        • Setting Up Shopify
        • Shopify Settings
        • Shopify API Subject to Breaking Changes
        • Shipping Method Setup - Shopify
        • Shopify Filter Order Rules
        • Shopify - Line Items: must be stocked at the same location
        • Shopify Custom Fulfillment Service - Routing Items
        • Shopify Products say: Unavailable on Extensiv Integration Manager
        • How to Cancel & Refund a Shopify order from Extensiv Integration Manager
        • How to Ignore Shopify POS Orders
        • Shopify - This action requires write_orders scope
        • Shopify - All line items of a fulfillment must use the same fulfillment service
    • Order Manager
        • Extensiv Order Manager Integration Overview
        • Setting Up Extensiv Order Manager
        • Extensiv Order Manager Settings
        • Initialize Inventory Sync For New Extensiv Order Manager Products
        • Extensiv Order Manager Warehouse Name or Warehouse ID error
    • SPS Commerce
        • SPS Commerce Implementation Overview
        • Setting Up SPS Commerce
        • SPS Commerce Project Pricing
        • SPS Retailers
        • Home Shopping Network (HSN) - SPS Commerce
    • Squarespace
        • Squarespace Integration Overview
        • Setting Up Squarespace
    • Stitch Labs
        • Setting Up Stitch Labs
        • StitchLabs Orders Not Loading
        • Missing Mapped Line Items For The Given Connector - Stitch Labs
        • Linking Products & Inventory in Stitch Labs
    • Teapplix
        • Setting Up Teapplix
    • UltraCart
        • Setting Up UltraCart
    • Uniware ClearConnect
        • Setting Up Uniware ClearConnect
    • Unleashed
        • Setting Up Unleashed
    • Veeqo
        • Veeqo Integration Overview
        • Setting Up Veeqo
    • Vend POS
        • Vend Integration Overview
        • Setting Up Vend
        • Vend Settings
        • Missing Outlet Address in Vend
        • Vend Stock Adjustment Sync (Beta)
        • Item Price For Tax Inclusive Store (Vend <> Tradegecko Connection)
        • Vend Stock Transfer Sync (Beta)
        • Vend Product Sync
    • Vin eRetail
        • Setting up Vin eRetail
    • Volusion
        • Setting Up Volusion
        • Volusion Settings
        • Volusion - No response from cart
        • Volusion Ship Methods
    • Walmart Marketplace & DSV
        • Walmart Integration Overview
        • Setting Up Walmart
        • Missing Walmart Orders
    • Wayfair
        • Wayfair - Migrate from FTP to SFTP
        • Wayfair Integration Overview
        • Setting Up Wayfair
        • Wayfair EU Invoice Setup
        • Overdue Inventory for Wayfair
        • Wayfair UCC-128 Labels
        • Wayfair Data Integration Requirements - Flat File form
    • Web Shop Manager
        • Web Shop Manager Integration Overview
        • Setting Up Web Shop Manager
    • Wish
        • Setting Up Wish
        • Wish Integration Overview
    • Wix
        • Setting Up Wix
        • Wix Integration Overview
    • WooCommerce
        • Setting Up WooCommerce
        • Setting WooCommerce Timezone
        • WooCommerce Settings
        • Sorry, you are not allowed to create resources - WooCommerce
        • Fix WooCommerce Permissions
        • Error adding notes to order - WooCommerce
        • WooCommerce reported a file not found error
        • Invalid response from WooCommerce
        • WooCommerce Confirmation Methods
        • WooCommerce Inventory Sync
        • Conflicting Order Numbers - WooCommerce
        • Cannot connect to WooCommerce site
        • WooCommerce Ship Methods
        • Cannot communicate securely with peer - WooCommerce
        • API key provided does not have write permissions - WooCommerce
    • XML Cart
        • Setting Up XML Files
        • Setting Up HSN
        • XML Format - HSN
    • Yahoo Stores - Small Business
        • Setting Up Yahoo Stores
        • Setup and Load Yahoo Component Items
    • Zoho Inventory
        • Setting Up Zoho Inventory
        • Zoho Inventory Integration Overview

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!

 
 
This solution is required until PrestaShop resolves this bug.
 
Modify classes/order/Order.php: 
 
  1. Please open PrestaShop root directory on server. Make sure that you have permission to modify PrestaShop source files.
     
  2. 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);
    }
 
'{shipping_number}' should match the Tracking Number placeholder in your Email Template.

'{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.
 

 

Was this article helpful?

Yes
No
Share additional feedback about this article

Related Articles

  • Shipping Confirmation Error - PrestaShop
  • Setting Up PrestaShop
  • Internal error. To see this error please display the PHP errors. - PrestaShop
  • Error pulling mapping code from PrestaShop

Not finding the help you need?

Contact Support
Solutions
  • Solutions for Brands
  • Solutions for 3PLs
  • Solutions for 4PLs
  • Solutions for B2B
Products
  • Extensiv 3PL Warehouse Manager
  • Extensiv Warehouse Manager
  • Extensiv Order Manager
  • Extensiv Integration Manager
  • Extensiv Network Manager
Products
  • Customer Success
  • Implementation
  • Consulting
Ecosystem
  • Fulfillment Marketplace
  • Integrations
  • Partners
  • Become a Partner
Resources
  • Resource Library
  • Blog
  • Market Insights
  • What is a 3PL?
  • What is a 4PL?
  • What is a WMS?
  • Why a Cloud-based WMS?
  • Glossary
Help
  • Help Center
  • API Documentation
  • Extensiv Univerisity
  • Community
  • System Status
  • Extensiv Logo
  • 100 N Pacific Coast Hwy, Suite 1100, El Segundo, CA 90245
  • |
  • Contact Us:
  • 83-EXTENSIV 888.375.2368 (main)
  • |
  • 310.844.7570 (local)
  • Copyright © 2023 Extensiv
  • |
  • All rights reserved.
  • Privacy Policy
  • |
  • Terms of Service
  • Follow Us:
Expand