We're running ZC 1.57d, and the UPS shipping module was working correctly. But it also displayed the red message that there was a new version. So I installed the new version and now Shipstation is unable to write the shipping info (date, shipping service and tracking number) back to the customer's order record. The error we're getting from Shipstation is "An error occurred attempting to update orders: Invalid XML. Error: 'Unexpected end of file has occurred. The following elements are not closed: Orders. Line 3, position 1.' We received: '<?xml version="1.0" encoding="utf-16"?> <Orders> '
There was nothing in our logs about the problem, so it's not causing an issue in Zencart itself.
At this point, we have to go into every order manually and add the shipping info, so my shipping people are understandably giving me a very hard time.
Welp, the problem turned out to be something entirely different. What the shipping folk said to me was completely the opposite of what was actually happening. I had installed the latest Shipstation module that I downloaded from Shipstation itself, not realizing that it was only for 1.5.8. So Shipstation was failing to import orders from Zencart, not failing to update the Zencart orders with the shipment info--tracking number, etc. When I realized what had happened and reinstalled the older version of Shipstation's interface, it all worked fine.
But I do still have a question about UPS XML. UPS has a class called UPS Ground Saver, and I don't see any way to enable that in Zencart. It's available through Shipstation, so we can take advantage of it, but I'd like to be able to offer it to our customers as well. Is there any way to include that in the plugin?
never heard of it.
in the feb 2023 UPS Rating Package XML Developer Guide, you can see a screenshot of the service options from the US.
best.
Yes, I had already seen that. Ground Saver is apparently what Shipstation calls the UPS SurePost service, their 'last mile' service that hands off packages under a certain size to the USPS. So that is probably why it isn't available in the XML interface, because it requires package size information in order to be an option. Oh well. I wish we could offer it to our customers, but without volume info being available, it wouldn't be feasible. Our products are frequently purchased together, so regardless of the size of each individual one, a total order could easily add up to not being SurePost eligible.
Small bug in a recent update.
line 387
if ($next_zone['zone_id'] < 1 || $next_zone['zone_id'] === $order->delivery['zone_id']) {
fails to work because of ===. $next_zone['zone_id'] is not an int the way $order->delivery['zone_id'] is.
Casting fixes.
The symptom is the shipping estimator does not show UPSXML rates prior to login for users who restrict UPSXML by Zone.
That Software Guy. My Store: Zen Cart Support
Available for hire - See my ad in Services
Plugin Moderator, Documentation Curator, Chief Cook and Bottle-Washer.
Do you benefit from Zen Cart? Then please support the project.