> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # ConvertCurrency # Package: stores # Namespace: CurrencyConverter # Method link: https://dev.wix.com/docs/api-reference/business-solutions/stores/currency-converter/convert-currency.md ## Permission Scopes: Manage Currencies: SCOPE.DC-CURRENCY-CONVERTER.MANAGE-CURRENCIES ## Introduction Returns a list of converted amounts, from the original (from) currency to the target (to) currency. --- ## REST API ### Schema ``` Method: convertCurrency Description: Returns a list of converted amounts, from the original (from) currency to the target (to) currency. URL: https://www.wixapis.com/v1/currencies/amounts/{from}/convert/{to} Method: POST Method parameters: param name: amounts | type: array | description: Amounts to convert. - name: value | type: string | description: Value without decimals (e.g., for 10.95 value will be 1095). - name: decimalPlaces | type: integer | description: Decimal places to apply (e.g., for 10.95 decimal_places will be 2). Return type: ConvertCurrencyResponse - name: amounts | type: array | description: Converted amounts. - name: value | type: string | description: Value without decimals (e.g., for 10.95 value will be 1095). - name: decimalPlaces | type: integer | description: Decimal places to apply (e.g., for 10.95 decimal_places will be 2). - name: rateTimestamp | type: string | description: Date and time the conversion rate was last updated. ``` ### Examples ### ConvertCurrency ```curl ~~~cURL curl 'https://www.wixapis.com/currency_converter/v1/currencies/amounts/USD/convert/EUR' \ --data-binary '{ "amounts": [ { "value": 30, "decimal_places": 0 } ] }' \ -H 'Content-Type: application/json' \ -H 'Authorization: ' ~~~ ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.stores.CurrencyConverter.convertCurrency(identifiers, amounts) Description: Returns a list of converted amounts, from the original (from) currency to the target (to) currency. # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: identifiers.from, identifiers.to, identifiers, amounts Method parameters: param name: amounts | type: array | description: Amounts to convert. | required: true - name: value | type: string | description: Value without decimals (e.g., for 10.95 value will be 1095). - name: decimalPlaces | type: integer | description: Decimal places to apply (e.g., for 10.95 decimal_places will be 2). param name: identifiers | type: ConvertCurrencyIdentifiers none | required: true - name: from | type: string | description: Original currency. | required: true - name: to | type: string | description: Target currency. | required: true Return type: PROMISE - name: amounts | type: array | description: Converted amounts. - name: value | type: string | description: Value without decimals (e.g., for 10.95 value will be 1095). - name: decimalPlaces | type: integer | description: Decimal places to apply (e.g., for 10.95 decimal_places will be 2). - name: rateTimestamp | type: Date | description: Date and time the conversion rate was last updated. ``` ### Examples ### Convert an array of amounts from one currency to another (with elevated permissions) ```javascript import { currencies } from '@wix/ecom'; import { auth } from '@wix/essentials'; const elevatedConvertCurrency = auth.elevate(currencies.convertCurrency); const identifiers = { 'from': 'USD', 'to': 'GBP' }; const amounts = [ { 'decimalPlaces': 2, 'value': '1000' }, { 'decimalPlaces': 2, 'value': '20324' } ]; elevatedConvertCurrency(identifiers, amounts) .then((convertedAmounts) => { const firstConvertedAmount = convertedAmounts.amounts[0]; const timestamp = convertedAmounts.rateTimestamp; }); /* Promise resolves to: * { * "amounts": [ * { * "decimalPlaces": 2, * "value": "795" * }, * { * "decimalPlaces": 2, * "value": "1616287" * } * ], * "rateTimestamp": "2023-04-30T21:00:00.277Z" * } */ ``` ### Convert an array of amounts from one currency to another ```javascript import { currencies } from '@wix/ecom'; const identifiers = { 'from': 'USD', 'to': 'GBP' }; const amounts = [ { 'decimalPlaces': 2, 'value': '1000' }, { 'decimalPlaces': 2, 'value': '20324' } ]; currencies.convertCurrency(identifiers, amounts) .then((convertedAmounts) => { const firstConvertedAmount = convertedAmounts.amounts[0]; const timestamp = convertedAmounts.rateTimestamp; }); /* Promise resolves to: * { * "amounts": [ * { * "decimalPlaces": 2, * "value": "795" * }, * { * "decimalPlaces": 2, * "value": "1616287" * } * ], * "rateTimestamp": "2023-04-30T21:00:00.277Z" * } */ ``` ### convertCurrency (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { currencies } from '@wix/ecom'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { currencies }, // Include the auth strategy and host as relevant }); async function convertCurrency(identifiers,amounts) { const response = await myWixClient.currencies.convertCurrency(identifiers,amounts); }; ``` ---