X-Cart: shopping cart software

X-Cart forums (https://forum.x-cart.com/index.php)
-   General talk (https://forum.x-cart.com/forumdisplay.php?f=29)
-   -   Shipworks.com (https://forum.x-cart.com/showthread.php?t=60446)

cedaly1968 08-05-2011 02:24 PM

Shipworks.com
 
Anyone have experience integrating Shipworks.com to X-Cart? Anyone with experiences to share using the service?

ambal 08-09-2011 04:59 AM

Re: Shipworks.com
 
I mentioned this thread in X-Cart twitter blog and someone shared their experience in reply.

See http://twitter.com/#!/Legion_Company/status/100903284335845376

William Ely 08-09-2011 05:15 AM

Re: Shipworks.com
 
Yes, we have had a good experience with Shipworks so far. We have been using it with X-cart for 3 months now without a single problem.

The integration was surprisingly easy. It was just a matter of uploading a single file, provided by the Shipworks website, to the X-cart admin directory.

We have found Shipworks to be an excellent offline order and customer manager. We were already using it for our eBay stores as well, so it is nice to have everything on one screen when fulfilling orders and handling customer emails.

I highly recommend it for small to medium volume sellers.

Keys Care 08-11-2011 09:32 AM

Re: Shipworks.com
 
Looks very interesting. Do you know if there is a way to import a scale weight reading to set the postage?

William Ely 08-11-2011 09:49 AM

Re: Shipworks.com
 
It does indeed import scale readings when shipping a package. I use USPS flat rate boxes mostly, so that is not a feature I take advantage of currently, but it might come in handy at a later date.

The software has a 30 day free trial, I recommend just downloading it and giving it a shot. I fell in love with it immediately. I have it interfaced with our Endicia account and it updates the online status of our eBay and X-cart orders to mark them as shipped. It also handles sending the confirmation of shipment emails and the importing of tracking numbers into both eBay and X-cart's order management systems to allow easy tracking by the customer.

I hate to sound like a fanboy, but this software rocks in my opinion.

Keys Care 08-11-2011 10:08 AM

Re: Shipworks.com
 
Thanks William! I am bringing up a new 4.4.3 store and have been using Workingman for a few years now on my 4.1.9 store. Not terrible, but it only does USPS.

I will download and try this because shipping has been the single worst dragon I fight. We use a fulfillment company and they cannot use anything that is at all complicated. This almost seems to be too good to be real. 8O

Thanks! Bob

William Ely 08-11-2011 10:09 AM

Re: Shipworks.com
 
No problem, glad to share my experiences. I hope it works for you.

cedaly1968 08-16-2011 10:03 AM

Re: Shipworks.com
 
Thanks man - this is GREAT insight!

Raptor 07-31-2013 11:23 AM

Re: Shipworks.com
 
We love shipworks on our other shopping systems (interspire etc) however their new plugin shipworks3.php does not work at all with Xcart 4.6.0

It redirects to home.php every time you link to it - there is no XML output.

If we comment out the line $login=$username; then we get XML output but shipworks software will not connect just throws up a bad user/pass error

I suspect their module is designed for 4.5.x as 4.6.0 had many many changes with regards to authentication.

From their code:
$storedPassword = text_decrypt($user_data["password"]);

They try to decrypt the password and check it manually - Xcart 4.6.0 will just say f**k off.


We have contacted their tech support but not really got anywhere so far - i'll keep you posted.

Raptor 07-31-2013 12:37 PM

Re: Shipworks.com
 
We fixed it ourselves

--- shipworks3_orig.php 2013-07-31 22:29:32.354409709 +0200
+++ shipworks3.php 2013-07-31 22:27:50.474412403 +0200
@@ -768,7 +768,7 @@
}
else
{
- if ($password == $storedPassword)
+ if (text_verify($password, $storedPassword))
{
$loginOk = true;


Tested working in XCART 4.6.0

Keys Care 07-31-2013 02:26 PM

Re: Shipworks.com
 
ShipWorks has a new shipwork3.php file for xcart. Just go to their support center and tell them you need the xcart php file and they will send it to you.

I have not checked, but they may have posted it under the xcart directory.

We got it and it worked immediately.

Bob

Raptor 08-27-2013 05:14 AM

Re: Shipworks.com
 
Quote:

Originally Posted by Keys Care
ShipWorks has a new shipwork3.php file for xcart. Just go to their support center and tell them you need the xcart php file and they will send it to you.

I have not checked, but they may have posted it under the xcart directory.

We got it and it worked immediately.

Bob


and it does not work with 4.6.0 - didn't you read my post I already referenced shipworks3.php and explained clearly that it was impossible for it to work with the new 4.6.0 security structure

We actually fixed the bugs and sent it to them. They confirmed to me personally that shipworks3.php does NOT work with 4.6.0 and that our fix solved the problem. I have no idea if they have committed our solution yet.

voron 09-01-2013 09:57 PM

Re: Shipworks.com
 
Shipworks listed at Marketplace now: http://marketplace.x-cart.com/addons-modules/store-management/shipping/ShipWorks

thebluedoorboutique 09-05-2013 05:45 AM

Re: Shipworks.com
 
How does this work for you guys? We currently use T-HUB.

elmirage001 01-23-2016 03:58 PM

Re: Shipworks.com
 
Quote:

Originally Posted by Raptor
We fixed it ourselves

--- shipworks3_orig.php 2013-07-31 22:29:32.354409709 +0200
+++ shipworks3.php 2013-07-31 22:27:50.474412403 +0200
@@ -768,7 +768,7 @@
}
else
{
- if ($password == $storedPassword)
+ if (text_verify($password, $storedPassword))
{
$loginOk = true;


Tested working in XCART 4.6.0


Hi Raptor,

Thank you so much for the above fix!

For our 4.6.6 live store I also had to make the following change to the shipworks3.php file since our x-cart store is installed in the root.

shipworks3.php Line# 28

From:
Code:

# Required XCart setup
    require "../top.inc.php";
    include "./auth.php";


To:
Code:

# Required XCart setup
    require "./top.inc.php";
    include "./auth.php";


Thanks again!

Paul

Raptor 08-18-2016 12:25 PM

Re: Shipworks.com
 
Stopped working for me again after upgrading to 4.7.6

Error I get now is:

An error occurred while parsing EntityName. Line 1, position 1134.

What a pain in the ass this is.

Raptor 08-19-2016 12:58 PM

Re: Shipworks.com
 
Found the problem

Shipworks does not like '&' in the file name of any payment or shipping methods ;)

The fix I posted in the Op is also not required any more - the php file straight from the shipworks site works as is with 4.6.7

elmirage001 08-19-2016 04:45 PM

Re: Shipworks.com
 
Quote:

Originally Posted by Raptor
Found the problem

Shipworks does not like '&' in the file name of any payment or shipping methods ;)

The fix I posted in the Op is also not required any more - the php file straight from the shipworks site works as is with 4.6.7

Thanks so much for keeping us all updated! I just upgraded my dev store to 4.7.6 in anticipation of Phil's upcoming ULTRA Template. I was going to try to help you debug but you already solved it. Thank you!

Paul

Raptor 08-22-2016 11:03 AM

Re: Shipworks.com
 
I spoke to soon - its not updating tracking numbers

[22-Aug-2016 18:26:23] SQL error:
Site : https://website.com
Remote IP : xx.xx.xx.xx
Logged as : email@website.com
SQL query : update xcart_orders set tracking='111111111111111111111' where orderid='12345'
Error code : 1054
Description : Unknown column 'tracking' in 'field list'
Request URI: /admin/shipworks3.php
Backtrace:
/home/web/website.com/public_html/include/func/func.db.php:738
/home/web/website.com/public_html/include/func/func.db.php:615
/home/web/website.com/public_html/admin/shipworks3.php:246
/home/web/website.com/public_html/admin/shipworks3.php:154

elmirage001 08-22-2016 11:37 AM

Re: Shipworks.com
 
Hi Raptor, my 4.7.6 dev site is not ready to test ShipWorks yet.

Tracking information used to be stored in Table 'orders' and now it looks like it's in Table 'order_tracking_numbers'

Try updating as shown below.

In Shipworks3.php around line 248

Change From:
Code:

// execute sql statement
        db_query("update $sql_tbl[orders] set tracking='$trackingNumber' where orderid='$orderid'");

To:
Code:

// execute sql statement
        db_query("update $sql_tbl[order_tracking_numbers] set tracking='$trackingNumber' where orderid='$orderid'");

Hope this works!

Paul

Raptor 08-22-2016 11:42 AM

Re: Shipworks.com
 
Thanks for that

But now i'm getting incorrect username and password in shipworks - wtf ?

Raptor 08-22-2016 12:45 PM

Re: Shipworks.com
 
I fixed the user/pass issue by rolling back to the previous shipworks module (3.3.6.0) - such a pain.

The table fix didn't solve. It didn't upload anything to the db - but not getting any sql error emails either.

Raptor 08-22-2016 01:14 PM

Re: Shipworks.com
 
I see the error. The order ID doesn't exist - it needs to ADD it

Raptor 08-22-2016 01:28 PM

Re: Shipworks.com
 
OK somewhat solved it - it adds all the tracking numbers correctly now - they show up in xcart correctly

Code:

db_query("update $sql_tbl[order_tracking_numbers] set tracking='$trackingNumber', orderid='$orderid'");

HOWEVER i now get sql error emails

SQL query : update xcart_order_tracking_numbers set tracking='11111111111111111111', orderid='12345'
Error code : 1062
Description : Duplicate entry '12345-11111111111111111111' for key 'PRIMARY'
Request URI: /admin/shipworks3new.php
Backtrace:

elmirage001 08-22-2016 02:24 PM

Re: Shipworks.com
 
Do you get the error with a "New" order with a new 'orderid'?

Raptor 08-22-2016 02:27 PM

Re: Shipworks.com
 
It needs to be insert and not update.....

INSERT xcart_order_tracking_numbers (tracking, orderid)
VALUES (11111111111111111111,12345);

Raptor 08-22-2016 02:36 PM

Re: Shipworks.com
 
Boom

I fixed the problem. Line 250:

It needs to insert the values and not update as they are now stored in a separate table from the order – update won’t work as the values don’t exist. This will now also support multiple tracking numbers too.

This is for all X-Cart versions above 4.7

PHP Code:

db_query("INSERT $sql_tbl[order_tracking_numbers] (tracking, orderid) VALUES ('$trackingNumber',$orderid)"); 


elmirage001 08-22-2016 02:43 PM

Re: Shipworks.com
 
Quote:

Originally Posted by Raptor
Boom

PHP Code:

db_query("INSERT $sql_tbl[order_tracking_numbers] (tracking, orderid) VALUES ($trackingNumber,$orderid)"); 


Thanks so much! I appreciate all your hard work! Paul

Raptor 08-22-2016 03:17 PM

Re: Shipworks.com
 
You can also add your Custom Order Status Codes if you have that module activated. It's easy to find the 2 digital code using something like Firebug

Around Line 258:

PHP Code:

// Returns the status codes supported by XCart
    
function action_GetStatusCodes()
    {
        
$codes = array("B" => "Backordered",
            
"C" => "Complete",
            
"D" => "Declined",
            
"F" => "Failed",
            
"I" => "Not Finished",
            
"P" => "Processed",
            
"Q" => "Queued",
            
"T1" => "Refunded",
            
"V3" => "Canceled"); 



Raptor 08-22-2016 09:15 PM

Re: Shipworks.com
 
Also noticed after the upgrade, xcart puts a ton of tracking numbers as "0" in older orders. To easily get rid of all these just run the query

DELETE FROM `xcart_order_tracking_numbers` WHERE `xcart_order_tracking_numbers`.`tracking` = '0';

elmirage001 08-23-2016 05:56 AM

Re: Shipworks.com
 
Quote:

Originally Posted by Raptor
Also noticed after the upgrade, xcart puts a ton of tracking numbers as "0" in older orders. To easily get rid of all these just run the query

DELETE FROM `xcart_order_tracking_numbers` WHERE `xcart_order_tracking_numbers`.`tracking` = '0';

Hi Raptor, thanks again for both fixing SW, and for the education on how! I would have been banging my head on the wall for many days...

Paul

Raptor 09-30-2016 07:16 AM

Re: Shipworks.com
 
Quote:

Originally Posted by Raptor
Boom

I fixed the problem. Line 250:

It needs to insert the values and not update as they are now stored in a separate table from the order – update won’t work as the values don’t exist. This will now also support multiple tracking numbers too.

This is for all X-Cart versions above 4.7

PHP Code:

db_query("INSERT $sql_tbl[order_tracking_numbers] (tracking, orderid) VALUES ($trackingNumber,$orderid)"); 



Fixed a small bug. The tracking number had to be wrapped in single quotes '$trackingNumber' or tracking numbers with letters would not insert (so most international tracking numbers)

PHP Code:

db_query("INSERT $sql_tbl[order_tracking_numbers] (tracking, orderid) VALUES ('$trackingNumber',$orderid)"); 


Shipworks have been notified and they should be updating their official php soon enough.

Raptor 09-30-2016 07:21 AM

Re: Shipworks.com
 
Now we need to get it to update the order status if it is changed in Xcart

i.e. if an order in X-Cart has already been downloaded to Shipworks as processed, but it is later set to cancelled or declined (in X-cart) - the status remains as processed in Shipworks, you have to do it manually - which is a nightmare if you have a seperate accounts and shipping department and hundreds of orders.

elmirage001 10-18-2016 06:48 AM

Re: Shipworks.com
 
Quote:

Originally Posted by Raptor
Now we need to get it to update the order status if it is changed in Xcart

i.e. if an order in X-Cart has already been downloaded to Shipworks as processed, but it is later set to cancelled or declined (in X-cart) - the status remains as processed in Shipworks, you have to do it manually - which is a nightmare if you have a seperate accounts and shipping department and hundreds of orders.

I looked at the code (with my limited understanding...) and I do not see a way for the user to mod this. It looks to me like the change would have to happen in the Shipworks software itself.

eric_smith 12-30-2016 01:18 AM

Re: Shipworks.com
 
Yes I used Shipworks.com for x cart and found a good integration between the two. And Shipworks is very good at customer managing.

elmirage001 10-26-2018 09:42 AM

Re: Shipworks.com
 
Quote:

Originally Posted by Raptor
Fixed a small bug. The tracking number had to be wrapped in single quotes '$trackingNumber' or tracking numbers with letters would not insert (so most international tracking numbers)

PHP Code:

db_query("INSERT $sql_tbl[order_tracking_numbers] (tracking, orderid) VALUES ('$trackingNumber',$orderid)"); 


Shipworks have been notified and they should be updating their official php soon enough.

Hi Raptor,

My test store is now on 4.7.10 and PHP 7.2 so I asked for an updated ShipWorks3.php file. First they sent me the X-CART 5 version and after another request I was sent the same old XCART4_v3_3_6_1.zip version.

I applied your database edit above and it works great! I also made the change below. Not sure if it's 100% correct but it worked for me. I'll send ShipWorks my updated .php file.

From:
Code:

# Required XCart setup
    require "../top.inc.php";
    include "./auth.php";

To:
Code:

# Required XCart setup
    //require "../top.inc.php";
    //include "./auth.php";
    require_once __DIR__.'/top.inc.php';
    require_once __DIR__.'/auth.php';

Thank you again for making the upgrade process easier!!

Paul


All times are GMT -8. The time now is 10:48 AM.

Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.