How To
Multi-Currency
8 min
to accommodate additional currency pricing , we will introduce an additional parameter to every api request pricefieldsuffix see modify request docid ndrepmgauhyltilxkg o for details on preparing for klevu js overriding see klevu api documentation for https //docs klevu com/apis/smart search examples#gi08z indexing the additional currency pricing data must be supplied at the product level during catalog indexing xml feed examples below is a https //github com/klevu/feed/blob/8030b070f2b7d707791e65a2b22b2223d2c421cd/sample xml#l190 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 https //github com/klevu/feed/blob/8030b070f2b7d707791e65a2b22b2223d2c421cd/sample xml#l533 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 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 https //docs klevu com/apis/smart search examples#gi08z 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 docid\ o03qerb3f sy0bhba64af for more details

