alexeybusygin / ShippingRates

.NET wrapper for UPS, FedEx, USPS and DHL shipping rate APIs
MIT License
46 stars 15 forks source link

UPS deprecating xml API on June 5,2024 #52

Closed bgiromini closed 1 month ago

bgiromini commented 1 year ago

Got this email from UPS today:

Upgrades to the UPS API Security Model

Thank you for being a UPS API user! At UPS, we continue to improve our technology offerings and work to provide better security for our valued customers.

UPS has implemented an OAuth 2.0 security model for all APIs to enhance the overall security for our customers to reduce fraud and provide enhanced API capabilities. This change impacts your current API integration and requires you to make updates to your existing application interface.

How will this impact my API integration?

• Beginning June 5, 2023, UPS will no longer issue API access keys

• On June 3, 2024, access keys will no longer be supported for authentication to UPS APIs

• You will need to obtain OAuth API credentials from the new UPS Developer Portal and update your security protocols to OAuth 2.0 prior to June 3, 2024 to continue transacting with UPS APIs

• Any legacy UPS API integrations using XML, SOAP, or legacy JSON payloads will also be required to convert to the RESTful APIs

We have created an API access key migration guide to assist with your migration from access keys to OAuth 2.0. If you obtained an access key to provide to a 3rd party please notify them of these changes immediately.

So this means this package will need to implement the Rest api or it will no longer work on June 5, 2023.

peterped-dev commented 9 months ago

Any plans to support the new UPS requirement for OAuth mentioned here?

alexeybusygin commented 9 months ago

The work is in progress here. We expect it to be done by the end of January.

alexeybusygin commented 6 months ago

Unfortunately, I am having issues obtaining OAuth API credentials as we no longer have a contract with UPS. That's actually blocking the development of this feature. If anyone can provide me with the UPS OAuth API credentials, it would help a lot. Please feel free to reach me via alexey@busygin.com

alexeybusygin commented 5 months ago

The beta version of the new UPS OAuth 2.0 Security Model is ready for review: https://www.nuget.org/packages/ShippingRates/2.0.215-beta

bgiromini commented 5 months ago

I will have my team test these changes this week and let you know if we have any issues.

owi2000 commented 4 months ago

Switched over to the beta build and have been trying to test. Got Id and Secret values from UPS and changed the authentication as directed, however I'm not able to get rates. Not getting errors either, it's just hanging for me when I call the rateManager.GetRates().

alexeybusygin commented 4 months ago

Switched over to the beta build and have been trying to test. Got Id and Secret values from UPS and changed the authentication as directed, however I'm not able to get rates. Not getting errors either, it's just hanging for me when I call the rateManager.GetRates().

Could you please try the latest beta: https://www.nuget.org/packages/ShippingRates/2.0.217-beta And check shipment.InternalErrors if the issues are still there.

bgiromini commented 4 months ago

My team did a test and was able to successfully connect and get back rates. HOWEVER, even though we indicated we wanted negotiated rates, the rates barely changed. I will have to ask my co-worker but I am fairly certain he did a fiddler and verified the indicator was being passed correctly. ALSO, the URL is hard-coded to connect to the CIE environment, so we could not move forward to use it in production. I verified via direct use that the negotiated rates were in effect drastically different from what the GetRates() method was returning.

On Thu, May 30, 2024 at 7:58 AM Alexey Busygin @.***> wrote:

Switched over to the beta build and have been trying to test. Got Id and Secret values from UPS and changed the authentication as directed, however I'm not able to get rates. Not getting errors either, it's just hanging for me when I call the rateManager.GetRates().

Could you please try the latest beta: https://www.nuget.org/packages/ShippingRates/2.0.217-beta And check shipment.InternalErrors if the issues are still there.

— Reply to this email directly, view it on GitHub https://github.com/alexeybusygin/ShippingRates/issues/52#issuecomment-2139502632, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABG46GRQIYWJYKJRFS3WV4LZE4O73AVCNFSM6AAAAAAYMBR2JCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZZGUYDENRTGI . You are receiving this because you authored the thread.Message ID: @.***>

owi2000 commented 4 months ago

Regarding the negotiated rates, I contacted UPS about that and it's something wrong on their end they need to address. I found this when I was able to get rates in Postman. However I'm still unable to get any sort of result using this package. I'm thinking the issue is probably that our website is quite dated, and some of the packages required for this probably aren't compatible even though we're on .net4.6.1.

On the plus side, when I reached out to UPS they also informed me that the rollout is being pushed back to August. So that will hopefully give me time to address these issues.

alexeybusygin commented 4 months ago

However I'm still unable to get any sort of result using this package. I'm thinking the issue is probably that our website is quite dated, and some of the packages required for this probably aren't compatible even though we're on .net4.6.1.

I downgraded System.Text.Json to fix compatibility issues with .net 4.6.1: https://www.nuget.org/packages/ShippingRates/2.0.218-beta

alexeybusygin commented 4 months ago

ALSO, the URL is hard-coded to connect to the CIE environment, so we could not move forward to use it in production.

That's fixed in version 2.0.218-beta. Now, there is a UseProduction parameter in the UPSProviderConfiguration.

alexeybusygin commented 3 months ago

Released in version 2.1.0.