simplcommerce / SimplCommerce

A simple, cross platform, modulith ecommerce system built on .NET
http://www.simplcommerce.com
Apache License 2.0
4.21k stars 1.59k forks source link

UPS shipping module #848

Open bugproof opened 4 years ago

bugproof commented 4 years ago

UPS offers many ways to access the API (JSON, XML, SOAP) the easiest way would be to use included WSDL schemas and that should generate the client using Connected Service:

image

https://medium.com/grensesnittet/integrating-with-soap-web-services-in-net-core-adebfad173fb

I'm not sure if such generation tools exist for JSON, so using JSON could be more work but could be more performant due to more lightweight data format

More info: https://www.ups.com/upsdeveloperkit

image

It's a very popular shipping carrier. I'm currently looking at ways to implement this

Any guidance would be helpful 😄

dmarciano commented 4 years ago

Years ago I integrated with UPS and FedEx for generating prices and shipping labels. I'm not sure about UPS, but I know FedEx (at least at the time) allowed you to develop in a sandbox, but to use their live services you actually had to get certified by showing your code didn't cause problems as well as provide them with samples of the generated labels to ensure it met their standards. Just something to keep in mind/look into.

bugproof commented 4 years ago

UPS allows you to develop in a sandbox as well fortunately, to use it live you just need an account and getting access token is just a matter of clicking on the button ( no need to wait)

dmarciano commented 4 years ago

I was referring more to the certification that FedEx had me go through.

thiennn commented 4 years ago

Yeah, can't way to see the PRs

dmarciano commented 4 years ago

@bugproof I just checked and, yes, UPS requires you to get "certified" by them. On this page it states in step 3:

  1. Move to Production: Once files have been submitted and approved by the UPS certification team, production access is granted. The email address for submitting files is included with the most current Developer Guide.

Someone would really have to delve into this guide to find out what files have to be submitted and how this affects an open-source project such as this vs. a commerical/in-house product.

bugproof commented 4 years ago

@dmarciano from their page:

Move to Production: Once files have been submitted and approved by the UPS certification team, production access is granted. The e-mail address for submitting files is included within the most current Developer Guide.

do you know what it means exactly? What files to you need to submit? I checked developer guide and there's no information about this...

There's only "Request production access token" or something like this on their page. Can you explain how does it block us in integration? I think you can use the API freely, and only shop owner has to worry about getting production token.

I will try to ask UPS support...

dmarciano commented 4 years ago

I don't know for UPS specifically as I never used them for a production application. However, for FedEX, the requirements were that I had to submit anything the application printed out (e.g. shipping labels) to ensure that they met their standards (e.g. formatted correctly, clearly printed, etc.). If I remember correctly, I also had to submit a copy of the code that used FedEx's API to ensure that I wasn't doing anything malicious and that I was using it according to their TOS.

I'm not saying that it necessarily blocks this project from integration with UPS, but that it should at least be looked into to ensure that the integration isn't added and then their is some problem that wasn't addressed once users start using the code in production.