-
-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
UPS Ship API Support #129
Comments
Just for clarity, do you mean the Shipping API? If so, that's the API we use to generate labels by creating a shipment. Do you mean you want to use that API for rates-fetching? It's my understanding that taxes and rates are included in the quoted price. This "product" when selected by the user is then used to generate a shipment (and label) when it comes to fulfilment. |
Sorry for not getting back sooner :) Just for clarity, do you mean the Shipping API? If so, that's the API we use to generate labels by creating a shipment. I believe so. Here is the response we got back from UPS regarding getting duties and taxes on international shipping: "Based on the information, it appears to me that you are using the UPS rating API to get the rates for the shipments. Please note that the Rating API does not return the Duties and Taxes when requesting a rate for the shipment, the duties and taxes are returned when shipping a package using Ship API. A rate request will only return the rate for a specific UPS service or multiple." Do you mean you want to use that API for rates-fetching? It's my understanding that taxes and rates are included in the quoted price. This "product" when selected by the user is then used to generate a shipment (and label) when it comes to fulfilment. Yes. As per the comment from UPS, international duties and taxes aren't included in the quoted price from the Rating API, but if the Shipping API can be used for fetching the rates it would include them. Is that possible? Thanks |
Thanks for your response, that's quite interesting to hear. I'll look into this, but I believe it should be possible! |
Hey @engram-design 👋. Is there anyway we can help expedite this? This is holding up a client from deploying UPS Worldwide. We eager to get their business shipping internationally. |
Looking into it, this isn't going to be an easy addition, because the Shipment API requires you to specify a service to use. Whereas we "shop" for rates using Looping through each enabled service and checking rates with the I know your UPS contact @pseudoclass has mentioned Tax and Duties aren't included in the rating API, which seems backward to me. The Having a bit of a search, I wonder if the Landed Cost Quote API would be suitable.
|
I'm not seeing this item in the response from UPS at all. The docs mention that including 'Shipment' => [
'Shipper' => $this->getContact($shipment->getFrom()),
'ShipFrom' => $this->getContact($shipment->getFrom()),
'ShipTo' => $this->getContact($shipment->getTo()),
'NumOfPieces' => count($shipment->getPackages()),
'Package' => $this->getPackages($shipment),
'TaxInformationIndicator' => 'X',
],
How feasible would it be to use this API in the plugin or are you suggesting we implement this manually perhaps? (btw I work with @pseudoclass and @sjcallender) |
@johnnynotsolucky It'd be amazing if you could share your origin and destination address, along with a test dimension/weight values (even better if you're using the rates tester utility), so I can replicate your setup. We would implement this Landed Cost Quote API as an addition to the standard one, so it'll be something you could opt into. I'd just need to ensure that it delivers the same information as the regular quote API. |
@engram-design can I email you those addresses + extra config we're using?
Sounds great! |
@johnnynotsolucky Of course, shoot through to |
@engram-design I can get the same results using the default rates tester address too. I'll just put it all here. config.php: return [
'*' => [
'hasCpSection' => true,
'applyFreeShipping' => true,
'enableCaching' => false,
'enableRouteCheck' => false,
'providers' => [
'ups' => [
'name' => 'UPS',
'enabled' => true,
'clientId' => '$UPS_API_CLIENT_ID',
'clientSecret' => '$UPS_API_CLIENT_SECRET',
'accountNumber' => '$UPS_API_ACCOUNT_NUMBER',
'isProduction' => '$UPS_API_IS_PRODUCTION', // resolves to false
'services' => [
'01' => [
'enabled' => true,
],
'02' => [
'enabled' => true,
],
'03' => [
'enabled' => true,
],
'12' => [
'enabled' => true,
],
'13' => [
'enabled' => false,
],
'14' => [
'enabled' => false,
],
],
],
],
]
]; Example request to UPS:
Both these tests use the default dimension and weight values. Origin: 1 Infinite Loop, Cupertino, CA, US, 95014
Origin: 1 Infinite Loop, Cupertino, CA, US, 95014
|
Thanks for that, indeed the
That's frustrating. I've made a slight change to now handle tax-inclusive rates that come back in the response, but like your examples above, I'm not getting that in my responses. I've been testing out the Landed Cost API, but I am getting a bit stuck with some more advanced concepts like Harmonized Tariff Schedule (HTS) Codes, which is starting to make things pretty overkill just to get some tax/duty-inclusive rates. I'm not sure where that leaves us, I'm afraid. We can't use the Ship API to get rates inclusive of taxes, as that's going to generate a label and charge the account. It also doesn't allow us to "shop" rates (get multiple rates). |
@engram-design thanks for looking more into this, it's really appreciated!
I had a look at that API when you mentioned it previously and I had wondered how much work it would be to implement alongside current implementations 😅
Hoping UPS tech support can shed some light on this - I'll let you know here if we get anything useful back 💪 |
Yeah, I got 99% of the way there, then it starts to complain about this missing data like tariffs, which is getting to be too complex for just being able to post something. I'll get in touch with my UPS contact as well and see how we go. |
What are you trying to do?
We would like to be able to fetch duties and taxes applied in the UPS shipping provider in Postie for international shipping. Currently the UPS shipping provider in Postie supports the Rates, Tracking and Labels API's but in order to get duties and taxes for international orders it would need to also support the UPS "Ship" API.
What's your proposed solution?
Add support in the UPS Shipping Provider for the "Ship" API
Additional context
No response
The text was updated successfully, but these errors were encountered: