Shopify has the ability to get shipping rates from several carriers (USPS, UPS, FedEx, DHL), but not from a custom carrier, I need the ability to get rates from a fulfillment center, I want to use fulfillment’s rates without them sharing their credentials to (UPS, USPS, FedEx, DHL).
I want Shopify to be able to call an API, get the rates from the fulfilment center and display those rates to a customer instead of the rates from USPS, UPS FedEx, DHL, but I want those rates to appear to the customer as if those rates are coming from those carriers.
So the customer would still be able to select the carrier (UPS, USPS, FedEx, DHL), but the carrier’s rates are coming from the fulfillment center instead of the carriers. So the customer requests the rates, Shopify calls fulfillment center’s API, fulfillment calls the carrier’s API, retrieves the rates, and sends those rates to Shopify and Shopify displays those rates to the customer.
What is the best way to accomplish this? Is this even possible? Do I have to hire a Shopify programmer to do this?
The webhook integration sounds very interesting.> > Are you able to display rates from 3PL, but as USPS, UPS, FedEx… to a customer. So it looks like the rates are coming directly from the carriers and not from 3PL? I have never seen how that looks like to a customer in the Shopify store, only the standard rates or free shipping.> > Thank You> > Peter
Part of creating a carrier service is specifying the callback URL (callback_url)
This is the url shopify will call when it wants to get rates from the carrier. It’ll fire off a POST to that url when it wants rates from that carrier.
The response from that call is used to populate the shipping options.
Link below.
You want to setup your special carrier and get shopify to use it when getting shipping options.
I am new to Shopify. Is it possible to use this feature(ttps://shopify.dev/docs/admin-api/rest/reference/shipping-and-fulfillment/carrierservice?api[version]=2020-04) in Shopify basic plan if we paid annually?
I have created a custom carrier using an access token generated from the Apps section of my store.
The Carrier shows up in the admin settings
The webhook is hitting my endpoint and I can log the expected data
The issue I am having is that when I try to return the rates to Shopify, they don’t show up as ‘Services’ in the admin settings; nor in the checkout process.
I’ve done the following to help troubleshooting:
Slightly change the address to prevent caching during troubleshooting.
Copy/pasted the response object provided by their documentation (Also verified I properly converted to JSON)
Verified that my SSL cert was legit using a few 3rd party services (I had read that this was the issue for a someone else with my reported issue)
Spoke with general, partner and some kind of technical support from Shopify, with no clear answer or direction.
Searched the forums and internet for over 4 hours.
Followed steps to a few other tutorials to get this to work, in their various languages exactly as they advised.
Scrapped my development shop and started over from the top.
Ensured I had the correct permissions for the app scope, then added all permissions.
“Keep in mind Shopify requires a specific response JSON format to work.”
I can’t seem to find anything in their documentation that touches on that. Unless you mean the examples they provide in the docs, which are definitely not working for me. Could you point me in that direction maybe? I’m getting to my wits end here, any help would be greatly appreciated!
@Jebert94 ,
I did, as it turns out the framework I was using was altering the response format in a way that Shopify didn’t like. This line here,
“Keep in mind Shopify requires a specific response JSON format to work.”;
was exactly the problem. In my case the response was being wrapped with a format that conforms to jsonrpc. When Shopify says it needs a specific response JSON format to work you need to follow their example exactly. Any deviation from that will not work. Make sure you monitor exactly what is being returned and ensure that the body of the response looks exactly like the Shopify examples in their API documentation.
I know this is an old post and you have probably resolved this. I have just to add to other people who might have a similar issue. We have recently launched a shipping rate app, JsRates, that lets you write your own shipping rules using JavaScript. One of the rich features of JsRates is it enables you make calls to third-party API endpoint; therefore, you can easily integrate rates from any third-party carrier.