How To

Multi-Currency

8min
to accommodate additional currency pricing , we will introduce an additional parameter to every api request pricefieldsuffix see modify request overview docid ndrepmgauhyltilxkg o for details on preparing for klevu js overriding see klevu api documentation for customer groups indexing the additional currency pricing data must be supplied at the product level during catalog indexing xml feed examples below is a feed xml example for product additional currencies \<item> \<price>123 45 gbp\</price> \<sale price>100 gbp\</sale price> \<additional currencies> \<additional currency> \<price>151 84 usd\</price> \<sale price>123 00 usd\</sale price> \</additional currency> \<additional currency> \<price>15240 jpy\</price> \<sale price>12345 jpy\</sale price> \</additional currency> \</additional currencies> below is a feed xml example for specific group additional currencies \<item> \<groups> \<group> \<id>vip customer group\</id> \<price>49 99 gbp\</price> \<sale price>49 99 gbp\</sale price> \<additional currencies> \<additional currency> \<sale price>61 74 usd\</sale price> \</additional currency> \<additional currency> \<sale price>6171 jpy\</sale price> \</additional currency> \</additional currencies> \</group> \</groups> template js override the desired currency/prices are applied to all queries via overrides using the "all" scope value see modify request overview docid ndrepmgauhyltilxkg o for details on preparing for klevu js overriding example 1 apply the selected currency for all products javascript \<script type="text/javascript"> // the currency to be applied var klevu currency = 'gbp'; klevu modifyrequest('all', function(data, scope){ klevu each(data request current recordqueries, function(key, query){ klevu setobjectpath(query, 'settings pricefieldsuffix', klevu currency); }); }); \</script> api parameter description format pricefieldsuffix fetch prices in a specific currency {currency} example 2 apply the selected currency for a specific customer group javascript \<script type="text/javascript"> // the currency and group of the currently logged in customer var klevu currency = 'gbp'; var klevu logincustomergroup = 'vip customer group'; / important for bigcommerce app users only the login groupid will need an ajustment for the delimeter klevu logincustomergroup = klevu logincustomergroup replace(' ', ' '); / klevu modifyrequest('all', function(data, scope){ klevu each(data request current recordqueries, function(key, query){ klevu setobjectpath(query, 'settings pricefieldsuffix', klevu currency + ' ' + klevu logincustomergroup); }); }); \</script> api parameter description format pricefieldsuffix fetch prices/currency specific to a customer group {currency} {groupid} see klevu api documentation for customer groups example 3 for klevu smart recommendations use the recommendations klevu processrecsrecordqueries function for the outgoing query modifications javascript \<script type = "text/javascript" > function klevu processrecsrecordqueries(recordqueries, recskey) { var recsquery = recordqueries\[0]; // apply the selected currency for all products klevu setobjectpath(recsquery, 'settings pricefieldsuffix', klevu currency); / option 2 // apply the selected currency for a specific customer group klevu setobjectpath(recsquery, 'settings pricefieldsuffix', klevu currency + ' ' + klevu logincustomergroup); / } \</script> see modify recommendations overview docid\ o03qerb3f sy0bhba64af for more details