Shopify Carriers API assign services to countries - shopify

Shopify experts are not able to reply this. This question is about Shopify app development. This app is regarding adding custom carrier services to show real time shipping rates.
I added (Shopify API Documentation Ref: CarrierService):
url: store_url."/admin/carrier_services.json"
Posted Data:
{
"carrier_service": {
"name": "My Carrier",
"callback_url": "http:\/\/blablabla.com",
"service_discovery": true
}
}
Now, the carrier is created and returns quotes as well. Everything is working fine.
There is just one issue: When we add any custom carrier to the shipping zone. Either it shows invalid services list i.e. services of Shopify default USPS, FedEx, or UPS services list OR shows:
There are no available services for the country you have selected
Grammatically, there is no any way to add carriers to shipping zones. I am wondering: how Shopify decides what to show? This services list is also added in shipping zones, which is read only according to API.
Logically, it should either get services while creating a new carrier and show them, OR simply show any message which represents that custom carrier services will be available.
Invalid services from Shopify default carriers:
Invalid services from Shopify default carriers
No services & wrong message:
No services & wrong message

Set a static response on carrier service url (in this case "http://blablabla.com") it will set services automatically. Once they are visible in shipping zones then you can make them dynamic.

Related

How to get shipping origin address for a Bigcommerce store through API

How to get the shipping origin of a BigCommerce store through the APIs available. I was able to retrieve the store information address but that differs from the shipping origin address I have configured for my development store
It's not documented, however you can use /stores/{{store_hash}}/v3/store/locations?is_default_shipping_origin=true to get this info. šŸ˜Š

How to create Listing in ebay sandbox?

I am working with EBAY [REST API]. For this i am using SANDBOX [which is test enviornment of Ebay]. I have created a developer account and two sandbox test user.For acting as a buyer and seller.I am trying to create listing using seller account. i created the product in the inventory but when i publish offer it gives me error and i could not publish the offer. it give me error like create policies etc.
I want to create a product using seller account and then buy tht product using buyer account.
Is there any other way to create listing ?
I am following this : https://developer.ebay.com/devzone/guides/features-guide/content/basics/Call-SandboxTesting.html
Since you have not specified the exact error you are getting when making the publishOffer call, I will try to outline the whole process for reference. The prerequisite steps for publishing an offer from your sandbox account are:
Create Payment, Fulfillment, and Return policies for your sandbox account. For this, you may call their respective APIs or you can use their API Explorer which has sample policy requests ready to be executed or, easiest of all, you can manage your business policies from the sandbox website here
Create your inventory item using createOrReplaceInventoryItem call
Create an inventory location for the created item through the createInventoryLocation API call. Your offer won't publish without this.
Create an offer for the inventory item. Specify the offer details, such as fulfillment, payment, return policy IDs, category ID, inventory location ID, etc
Publish the offer
There are quite a few requirements, specific to the type of item you are providing through a listing, that you have to fulfill before eBay will let you publish the offer. You can find more information about this in the error response you get when publishing the offer.
With that said, eBay's sandbox has behaved very unreliably in the past from my experience. So if you are doing everything right and still running into problems, as a last resort, you can try creating the listing by using eBay's Trading API's AddItem call. I have personally found these sets of eBay APIs to be more reliable (albeit more outdated).

how to access shopify Products via API without api-key and password?

i want to develop a chrome extension to see stats for any store which develop in shopify, can i access any store products without API-Key and Password in shopify?
No, you cant access products json without using api-key or permanent token of the store.
But still you want to access the product details you atleast needs the handler of the product.
Lets say your store is "abc.myshopify.com" and handler of your product is "xyz", then you can product json of xyz by HTTP GET call in following url
https://www.abc.myshopify.com/products/xyz.json
in general
https://www.[storename]/products/[product-handle].json
You could try using the Shopify StoreFront API.
It allows to get information of your shop from from your own website or custom app. Although it doesn't need a API Password, it needs a Api Key that doesn't need to be a secret.
The documentation says this (the first point is the important):
Using the Storefront API, you can:
Fetch data about a single product or a collection of products to
display on any website or device.
Create unique checkout experiences
with full control over the shopping cart.
Create new customers or
modify existing ones, including address information.
Allow customers
to select unique product options.
There is no way shopify will provide store details (product list) without api authentication.
For your requirement, I would suggest to create a shopify app which will sync all product details to your storage and you can access data from there.

Real Time Carrier Shipping with a Test Shopify website

Is it possible to use real-time carrier shipping rates in a Test Shopify website?
We provide fulfillment services for a client who is using Shopify and we would like to test this feature along with our import routines before the client goes live with real-time rates.
Yes, the carrier service API works on development stores that have been created from a partners account.

How do I test a new app that has not been published against the shipping api?

I have been given access to the new shipping api, when creating an app in partner section and subsequent editing of it details I can set it as a shipping app.
I can then add a shipping rate provider in the test shop (same partner account) but can only see USPS, Canada post, Fedex etc..and can not see the app. I imagine this is because the test app has not been published. But I do not want to publish the test app, and a requirement to publish an app before it can be added as a shipping provider would sort of hinder developement and testing ;-)
I have tried visiting http://your-store.myshopify.com/admin/api/auth?api_key=YOUR_API_KEY
but I can't see how that will add my test app as a shipping rate provider in the shipping preferences of the test app.
In fact I gave up on using http://your-store.myshopify.com/admin/api/auth?api_key=YOUR_API_KEY and moved over to user Oauth2 (I couldn't seem to get legacy auth examples working.)
I can register the app via OAuth2 however the option for this shipping app does not appear in the "Carrier calculated shipping rates"
Now I am really stumped.
Make sure that the app you created has checked the ā€œthis is a shipping appā€ box.
Visit http://YOUR-STORE.myshopify.com/admin/api/auth?api_key=YOUR_API_KEY
Visit https://YOUR-STORE.myshopify.com/admin/shipping and the shipping service your app exposes should be available as a carrier-calculated shipping rate. (Hit that button at the top of the page if you havenā€™t added any yet.)
Ok Edwards answer is correct as far as registering an app is concerned.
However if the app provides the shipping api it will "NOT" appear in carrier-calculated shipping rates config for shipping.
After you succesfully register the app you then have to make a POST call to carrier_services.json. e.g. in python
response = connection.post("%s/carrier_services.json" % shopify_session.site,headers)
Once you do this the new shipping api will be called during the checkout process.
Also note at the moment if you make any changes to the shipping configuration in preferences you will need make another POST to carrier_services.json to re-enable the shipping api. It seems any changes to the shipping details currently unhooks the app from being called.
This is early days and no doubt things will change.