Page 1 of 1

Not able to get negotiated rates from UPS

Posted: Mon Apr 18, 2011 4:35 pm
by damionhickman
It looks like AC does not send the <AccessRequest> node in its XML when getting a rate quote from UPS per the UPS.log.
UPS Says that the node, which contains AccessLicenseNumber, UserID and Password are required for negotiated rates, but there is no fields to enter these in AbleCommerce.

Is this a bug, and if so, what is the workaround?


Here is the portion that is missing from AbleCommerce's XML submission:

Code: Select all

<AccessRequest>
<AccessLicenseNumber>XXXXXXXXXXXXXXXX</AccessLicenseNumber>
<UserId>XXX..XXX</UserId>
<Password>XXXX..XXXX</Password>
</AccessRequest> 

Re: Not able to get negotiated rates from UPS

Posted: Tue Apr 19, 2011 4:53 am
by mazhar
You can give your custom implementations of UPS provider in order to achieve this. Have a look at this topic http://wiki.ablecommerce.com/index.php/ ... ng_Carrier

At the bottom of that page there is link to forums thread containing complete source code of UPS shipping provider. Download that source code, extend it with your custom needs and then make use of your customized version of UPS provider instead of default one.

Re: Not able to get negotiated rates from UPS

Posted: Tue Apr 19, 2011 6:09 am
by jmestep
We are working on the same problem and I do have a bug report into Able about it and we have been trying to determine whether we are getting negotiated rates or not. I put in custom code that stores those pieces of data instead of Able default and we are getting lower rates on that gateway than we are getting on a test gateway with no custom credentials. They still aren't as low as the rate chart UPS gave, but we are trying to determine if they include other charges UPS tacks on. On the test gateway, the rates we are getting match the ones you would get by going to the UPS site.
Once we get this figured out, I am supposed to update my support case with the results so Able can work on it if necessary.

Re: Not able to get negotiated rates from UPS

Posted: Tue Apr 19, 2011 6:15 am
by jmestep
I am looking in Able source code (7.0.6) and they have two methods
Send Request to Provider, that includes
credentials.LoadXml("<?xml version=\"1.0\"?><AccessRequest><AccessLicenseNumber>" + this.AccessKey + "</AccessLicenseNumber><UserId>" + this.UserId + "</UserId><Password>" + this.Password + "</Password></AccessRequest>");

They also have SendRequestToProviderWithoutCredentials
Still digging....

Re: Not able to get negotiated rates from UPS

Posted: Tue Apr 19, 2011 11:52 am
by damionhickman
mazhar wrote:You can give your custom implementations of UPS provider in order to achieve this. Have a look at this topic http://wiki.ablecommerce.com/index.php/ ... ng_Carrier

At the bottom of that page there is link to forums thread containing complete source code of UPS shipping provider. Download that source code, extend it with your custom needs and then make use of your customized version of UPS provider instead of default one.
That source is three years old and the resulting DLL does not have properties that Admin\Shipping\Providers\UPS\Configure.aspx.cs is trying to set, would I need a source-code license in order to add this negotiated rates functionality, or is there updated source code somewhere or is this bug fixed in 7.0.7?

Re: Not able to get negotiated rates from UPS

Posted: Thu Apr 21, 2011 10:34 am
by jmestep
Here is a reply I got from UPS Level 3 support- all pieces are being passed by Able.
We are writing in regards to the issue you reported for a customer that is using the AbleCommerce e-commerce software to obtain rates from UPS and is not receiving a negotiated rate. This issue was escalated to UPS Third Level Developer Tools Support for investigation.

After checking the setup for the customer, we were able to determine that the setup to enable negotiated rates to be viewed via the UPS Developer Tools has not been completed for this customer. This setup would need to be completed by their UPS Account Representative. The customer should contact their UPS Account Representative and provide the following information:

"Please enable ABR Rates for user ID AbleCxxxx under the Negotiated Rates section of the Registration Services web site for the shipper account number that is being used to submit rate requests."

Once this setup is completed by the account representative, the customer should begin seeing negotiated rates as expected. We have verified that all fields needed to return a negotiated rate are being included in the requests that you are submitting. So, once this setup is complete, the should begin to be reflected in response. If you have any questions regarding this, please feel free to contact us. Thank you.

Re: Not able to get negotiated rates from UPS

Posted: Thu Apr 21, 2011 11:21 am
by damionhickman
Thanks jmestep - that saves me a lot of time!
"Please enable ABR Rates for user ID AbleCxxxx under the Negotiated Rates section of the Registration Services web site for the shipper account number that is being used to submit rate requests."
How are you get the randomly generated userID (AbleCXXXXX) that's sent to UPS without needing to write your own script to intercept the XML POST that ablecommerce sends?

It seems that the <accessRequest> portion IS sent, but is REMOVED in the UPS.log file created by setting it to debug mode - why the omission?

I wrote my own script to capture mine, but i doubt that would be an acceptable solution for others.

Re: Not able to get negotiated rates from UPS

Posted: Fri Apr 22, 2011 6:25 am
by jmestep
When I was troubleshooting this, I put code on the ship gateway page to show the userid. But the UPS high level tech support guy was able to look in there logs to find it. Actually, at first he found a different one that had been creating when I was adding and removing gateways so when I called him back, I had him look for the one that had been generated for the live gateway.
I've posted all the details to my bug report at Able, so maybe they will display the userid after it is created.

Re: Not able to get negotiated rates from UPS

Posted: Fri Apr 22, 2011 4:48 pm
by damionhickman
I captured the XML Ablecommerce is sending out and sent it over to UPS developer support, who told me that there's two portions missing from that XML that's preventing the Negotiated Rates from being sent out.
Thank you for your inquiry. There are two elements missing from your XML Rating Request that prevent UPS from returning the Negotiated Rates to you. First, the UPS account number associated with the Negotiated Rates contract is not listed in the <Shipper> container which is it required to be.

Second, the closed element <NegotiatedRatesIndicator/> is not listed in the request. This element must be in the Shipment\RateInformation container.

I made the above changes in your request and created a successful test that returned the discounted rate. Please make the above changes in your system.
http://damionhickman.com/steve/ac-request.gif

Here's an image of the XML that AC is sending to UPS, the portions in RED being the areas that are absent.

My question: how do I fix this - do I need a source code license?

Re: Not able to get negotiated rates from UPS

Posted: Fri May 13, 2011 7:23 am
by plugables
Source for UPS gateway has already been made available. viewtopic.php?f=47&t=6651

You may write a custom version of UPS gateway to handle this.

Re: Not able to get negotiated rates from UPS

Posted: Fri May 13, 2011 9:20 am
by damionhickman
plugables wrote:Source for UPS gateway has already been made available. viewtopic.php?f=47&t=6651

You may write a custom version of UPS gateway to handle this.
Thanks but this code is outdated and does not function on AC 7.0.3+

Re: Not able to get negotiated rates from UPS

Posted: Fri May 13, 2011 10:17 am
by jmestep
UPS backpedaled on what they had told me- I had to put the userid, password, shippernumber in to get the negotiated rates.
I tested it by changing what was in the database, but that broke if the client made another configuration change.
So I have made code changes on a couple of the admin pages after Able sent the request to set up the gateway originally, so my changes save the necessary credentials. I'm keeping my Able bug report up to day on developments.

Re: Not able to get negotiated rates from UPS

Posted: Sun May 22, 2011 9:14 am
by jmadlin
Any update on this? I have a store in the UK and not geting any rates returned. I suspect that this is the same issue.

Re: Not able to get negotiated rates from UPS

Posted: Mon May 23, 2011 5:49 am
by jmestep
I made a custom UPS dll and some changes to the admin page to send across the username, shippernumber and password and am able to get negotiated rates now. I have a bug report with Able to keep them up to date with my findings.

Re: Not able to get negotiated rates from UPS

Posted: Mon May 23, 2011 5:57 am
by jmadlin
We dont own the source code. Would we need it in order to faciliatate this?