New Multi-Currency API issues

Marcelo_O
Tourist
7 0 5

Hello!

 

I don't like to complain but I have to say that the new Multi-Currency API is really a weird API and do not seem to reflect the current needs of app developers.

 

Maybe I am wrong but reading some docs about the api I could not found a good solution for my needed.

 

Basically, one of my app saves the entire products database internally to make it faster(many apps do this). My issue is that Shopify API did not provide the endpoint to convert the prices, and it says that currency can update every 15 minutes, so basically, I will need to check every 15 minutes if currency updated and refresh all my products if yes? That's insane.

 

Let me know if I am missing something, I really hope I do.

 

Would be MUCH easier if the Product API did not save every currency in every product, but the currency endpoint returns the rate, like 1.1 or something like that, so we can do the conversion by ourselves using the base price when we need.

 

Summing up, I have this suggestion:

 

OR 

 

 

I hope you guys take in consideration my suggestion, I already have some customers asking for compatibility with Multi-Currency API.

 

 

Josh
Shopify Staff
Shopify Staff
1131 82 191

Hey @Marcelo_O , 

 

I can definitely pass your feedback along, I agree entirely. I do have some comments though : 

 

Would be MUCH easier if the Product API did not save every currency in every product

 

Is this just a reference to fetching prices via the product API with the multi-currency header included?

 

Return the currency rate multiplier in the Currency api https://help.shopify.com/en/api/reference/store-properties/currency

Agreed - this would be nice, but it's also worth considering there are rounding rules involved and potential for those rounding rules to change. There's a lot of potential for discrepancies here, and surfacing the conversion rate alone still wouldn't allow a third-party to mirror pricing in multiple currencies. 

 

Provide the API that Shopify uses to get the rates, so we can use the same, this is also pointed in this post: https://community.shopify.com/c/Shopify-APIs-SDKs/Multi-currency-breaks-discount-code-apps/m-p/53461...

Same would apply here, as there's more involved than just grabbing an exchange rate and doing some math to convert a price. 

 

 

Now that is not at all to say that I don't agree with you 100%, because I do - there's just more involved here than some simple math and it's more complex than you'd expect to provide an easy way to convert these prices. I'll absolutely pass your feedback along though because this is something I'd like to see made easier. 

0 Likes
Marcelo_O
Tourist
7 0 5

Alright, thanks for the answer Josh.

 

I do detect 2 more limitations of the new API.

 

The limitations are:

 

  1.  I did not find the place I can get the currency format of the other currencies, just the main currency returns the currency format to use.
  2.  Another issue I believe is for apps that calculate total value because it works with discount codes. Since we don't have the multiplier, if let's say.. a app generates fixed discount of $10, in the cart page we need to recalculate the total, if the currency changes we don't know the value of this $10 are anymore to apply and show discounted total value.

These are real issues, hope Shopify can consider it to improve the API, actually is not possible implement for some apps because of the limitations.

 

0 Likes
Josh
Shopify Staff
Shopify Staff
1131 82 191

Hey @Marcelo_O

 

Could you share some background on needing the format of the currency before an order is placed? It would help when passing your concerns along, and it may be because it's early morning but I'm not having any use-cases come to mind at the moment. Is this for displaying something on the storefront? The pricing format would be shown in the correct format on multi-currency orders after they have been placed but you're right I'm not seeing anywhere else the format can be retrieved beforehand.

 

Also, have you looked into the liquid variables available for displaying presentment currencies on the cart page? If a discount was applied to a cart, that liquid should be able to show the converted amount. Using Ajax you should be able to fetch cart contents and get the cart pricing in presentment currency as well. 

0 Likes