If spot prices do not appear to be updating, it may be because the market is closed. Market hours for precious metals correspond to CME Globex hours for metals futures
Log into your product catalog as an administrator. When you are logged in, you should see the menu item “Config” in the navigation bar at the top of the screen. Click on the “Config” menu item to display a dropdown menu. Click on the Spot Admin option. It will be the third option on the menu. From there you can control the spot prices powering all of your services (charts, widgets, mobile apps, product catalog, alerts, etc). You can set a Fixed Value or an Adjustment Value for your spot prices. To override your spot price with a Fixed Value, use the fields Bid and/or Ask for the appropriate metal.
For example, to lock your Ask of Gold at a fixed price of $1,215.75, put that value in the Ask field for gold. To apply an adjustment value to your spot price, use the fields for Bid Adjustment and or Ask Adjustment for the appropriate metal. For example, to have your Ask of Gold automatically adjust by ¢50 over the spot price and your bid automatically adjust by the same amount, you would set “Ask Adjustment” for Gold to 0.5 and the “Bid Adjustment” for Gold to -0.5. Also, Enable Spot Price Overrides must be checked and settings saved for any of these values to be applied. To turn these values off and resume the use of the spot price data feed, uncheck the Enable Spot Price Overrides checkbox and save the settings.
There are a number of factors that affect how spot prices are calculated and how they are displayed.
- Site Y may be using a different data source. If they are using a different data provider their spot prices will almost certainly be slightly different due to variations in calculations, delivery, caching and timing.
- Site Y may be applying adjustments to the global spot price in order to affect how their site displays pricing data.
- Site Y may have difference from your site such as speed, latency, delivery, caching, polling intervals and code.
Add or change the HTTP headers within the API request. The header that you will need to change/add is the Accept header. The recommended value for this header is application/json. However, If you prefer XML results, you can specify application/xml but we recommend JSON for most use cases.
In order to access the nFusion Solutions APIs, you will be issued one or more API tokens, depending on your use case. These API tokens should be considered a secret, and should not be exposed over the public internet. To that end, API calls should never be made directly in JavaScript such that the code can be inspected in a browser and the API token discovered. Instead of making direct calls to nFusion APIs in client-side code, please use a proxy on your own server. For example, https://yoursite.com/proxy/metals/spot. The nFusion API can then be called from your server-side code and the token will not be exposed. It is also highly recommended that your proxy perform some form of caching so that the ratio of client-side requests for data is not 1:1 with calls to nFusion APIs, as this will boost performance. Moreover, when accessing our data API, some of the following HTTP headers should be added to your API requests, depending on your use cases.
- Accept
- The recommended value for this header is “application/json”. If you prefer XML results you can specify “application/xml”, but we recommend JSON for most use cases.
- Accept-Encoding
- The recommended value for this header is “deflate,gzip”. This will result in compressed results that generally have better performance.
- Content-Type
- For POST/PUT operations that require a message body this header should be set to “application/json”.
- User-Agent
- We recommend setting this to your customer id.
When your API calls return an HTTP code 403 (forbidden), with sub status 502, your API call has exceeded rate limits. This means that you are calling the API too many times within a certain period of time and are therefore being denied. Reducing the number of API calls you make per second will resolve the issue.
There are a number of reasons that widgets may fail to load on a page.
- If you are receiving responses with status code 401 (unauthorized), it may be that your subscription has expired or you have a domain mismatch.
- You may have added the script code to your page incorrectly. Double-check the included instructions you received.
- There is a javascript error on the page. Check your browser developer panel for errors.
- There is more than one widget on the same page with matching IDs. This is causing a conflict with the widget scripts. To remedy this error, see our tutorial below on how to add multiple instances of one widget to the same.
Custom CSS changes to your widgets can be made by the nFusion Solutions support team. You can send the desired CSS code to support@vps98376.inmotionhosting.com. If you are not able to create the CSS yourself, you can send support a mockup of how you would like your widget to be styled along with the necessary specifications such as color codes (RGB, or hex), height, width, font family, etc. This will allow our team to be efficient and style your widget according to your requirements.
Sign in to the Alerts Services portal using your admin email address. Once you have logged in as the admin to the admin URL, you’ll see the following options:
- Set marketing message for alerts emails
- Send a promotional message now to all users
- Export user list
- Manage Email templates
Click on the second option—send a promotional message now to all users. This option allows the admin to push a message at any time to all users who have opted in to receive news and promotional messages. After clicking on the second option, you will be directed to a new page containing a text entry box where you may add your desired message. Once you have finished creating your message, simply click the Send button. Subsequently, a page will display the results of your message. These results contain information regarding the message. For example, you will be shown how many notifications were sent out with further detail pertaining to whether or not they were push or SMS notifications. This allows you to understand how many people your message is reaching and how it is reaching them, therefore allowing you to enhance your marketing strategies.
We have tested and confirmed compatibility with the three most popular multi-currency plugins in the WordPress plugin store. These plugins will work out of the box with our plugin as of version 2.9.9. If you are not using at least version 2.9.9 of our plugin, currency switching plugins may not be compatible. Please note the version with which they have been tested.
- CURCY – Multi Currency for WooCommerce
- By: Villatheme
- Tested With Version: 2.1.9
- Url: https://wordpress.org/plugins/woo-multi-currency/
- WOOCS – Currency Switcher for WooCommerce
- By: realmag777
- Test With Version: 1.3.7.3
- Url: https://wordpress.org/plugins/woocommerce-currency-switcher/
- Currency Switcher for WooCommerce
- By: WP Wham
- Tested With Version: 2.15.0
- Url: https://wordpress.org/plugins/currency-switcher-woocommerce/
- Note: If you use this plugin and the mini cart is not updating properly, go to the plugin’s advanced settings and enable “Fix mini cart”.
If you are not using one of the plugins that we have confirmed to be compatible in the list mentioned here, there are a couple of things to look for. Our plugin depends on the get woocommerce_currency() function which returns the current WooCommerce currency code. If your currency switcher plugin is not updating the WooCommerce currency then our plugin will not update the product prices with the new currency. The other thing that may be causing your plugin to not work properly is the priority at which the woocommerce_product_get_price filter is set. As of version 2.9.9, our Product Catalog plugin is setting the priority of the aforementioned filter to 10000 in an attempt for our hook to be run last. If the priority of said filter in the currency plugin is higher than 10000, it may be overriding the price that is being returned from the Product Catalog.
To do this, you must be using one of our supported currency switcher plugins. If you are using a supported currency switcher, you have two options:
1. Use our WordPress Charts & Widgets Plugin
As of version 1.2.4, our widgets plugin will work out of the box with any of the aforementioned supported currency switchers
2. Use our currency helper script
The currency helper script is implemented in a very similar fashion to our default widget scripts. You simply need to paste a script into the page where you would like to display the widget. If you would like to use this option, please visit our tutorial on how to implement the currency helper script.
<div id='c528ee05-722d-4762-a635-213197f7b8b4' style='width:100%;height:100%;'></div>
<script>
(function () {
var t = document.getElementsByTagName('script')[0];
var s = document.createElement('script');
s.async = true;
s.src =
'https://widget.nfusionsolutions.com/widget /script/chart/1/32796899-2cc3-4454-ac51-2c95c78799af/c528ee05-722d-4762-a635-213197f7b8b4';
t.parentNode.insertBefore(s, t);
})();
</script>
Now say you wanted to add another chart on the same page (maybe to change the selected symbol for example). Here is what it would look like to add a second instance of the same widget to a single page:
<div id='my-custom-id' style='width:100%;height:100%;'></div>
<script>
(function(){
var t = document.getElementsByTagName('script')[0];
var s = document.createElement('script'); s.async = true;
s.src = 'https://widget.nfusionsolutions.com/widget/script/chart/1/32796899-2cc3-4454-ac51-2c95c78799af/c528ee05-722d-4762-a635-213197f7b8b4/my-custom-id';
t.parentNode.insertBefore(s, t);
})();
</script>
Notice how everything is the same except for the DIV element ID and the end of the src attribute.let button = $('.sample-button'), widget = $('#188e705d-23afa-45dd-fce21-09c8298af4f2'); button.click(changeSymbol()); function changeSymbol() { widget.children("iframe").attr("src", "https://widget.nfusionsolutions.com/widget/script/chart/1/6e98ae99-d878-43a2-81f0-a2528bd3d47e/5444e580-e249-426f-b07f-d23c19049c08" + "?selected= silver"); }
If you are logged in and want to change your password:
While logged in to the product catalog, navigate to the menu item in the upper right-hand corner of your screen within the navigation menu and click on the item that displays your username. Once you have clicked your username, a dropdown will appear with four options. Click on the second option, “password”. From here, you can simply create a new password. Enter the old password for the specified user and then enter the user’s new password. Last, confirm the new password to assure that it is correct. Once you have filled out all of the required fields in order to reset your password, click the submit button at the bottom of the form and it will submit your changes. Your new password will then take effect immediately.
If you are not logged in and have forgotten/lost your password:
Try to utilize the password reset functionality. At the login screen click on “can’t access your account”, then choose “work or school” account, then complete the prompts to initiate a password reset. If you are still unable to log in contact support@vps98376.inmotionhosting.com.
<script src="https://widgetcdn.nfusionsolutions.com/asset/static/1/common/1/js/currency-interop.min.js"></script>
2. Now that the script is available to use, you can add a widget to the page by using code similar to the following:
<div id='YOUR-WIDGET-ID' style='width:100%;height:100%;'></div>
<script>
(function(){
nFSCurrencyHelper.init('YOUR-WIDGET-SCRIPT-SRC-URL');
})();
</script>
Simply replace “YOUR-WIDGET-ID” in the above script with the ID that is in your widgets preview page script. Then similarily, replace the “YOUR-WIDGET-SCRIPT-SRC-URL” with the url being assigned to the s.src variable that is in your widgets preview page script.
This script is very similar to our default widget scripts, with the exception that you need to use the “nFSCurrencyHelper.init” function and pass the function the widget’s src.Integration between the Product Pricing Catalog service and Shopify is accomplished via API integration between the two software platforms. Therefore, you must have a valid subscription to the nFusion Solutions Product Pricing Catalog. If you do not yet have a subscription, please contact sales.
App Setup:
Once the app is installed and activated:
- Navigate to the nFusion app settings
- Set the following required items and save your changes:
- Catalog Subdomain
- Catalog Sales Channel
- Catalog API Key
In regard to the sales channel, you can either create a new sales channel or use any existing sales channel you would like for this app integration. For example, you could create a sales channel named “Website” that contains all of the products that you want to be available to your nFusion Shopify app. Any products that you want price updates for in Shopify must be tagged with the sales channel you previously choose for this app integration. To add a product to a sales channel, go to the main Product tab and select the icon next to a product SKU. This will then expand that product record and allow you to add/remove products from sales channels. The SKU field for each product in the nFusion Product Catalog must match exactly the corresponding product you want to be updated in Shopify. Once you have completed the steps above, your app should be fully integrated with your nFusion Product Catalog.
Integration between the Product Pricing Catalog service and WP/WC is accomplished via API integration between the two software platforms. Therefore, you must have a valid subscription to the nFusion Solutions Product Pricing Catalog. If you do not yet have a subscription, please contact sales.
Plugin Setup:
- Install Plugin
- Go to the Plugins menu and activate Product Catalog Plugin for WooCommerce
Once the plugin is installed and activated, navigate to the nFusion Settings within the settings submenu in the WordPress toolbar. Next, fill in the text entry boxes with the required information pertaining to your product catalog. In regard to the sales channel, you can either create a new one or use any existing sales channel you would like for this plugin integration. For example, you could create a sales channel named “Website” that contains all of the products that you want to be available to your nFusion WordPress plugin. Moreover, any products that you want price updates for must be tagged with the sales channel you choose for this plugin integration. To add a product to a sales channel, go to the main Product tab and select the icon next to a product SKU. This will then expand that product record and allow you to add/remove products from Sales Channels. Once you have linked the plugin with your product catalog via the sales channel, go to the Products page on your WordPress/WooCommerce site. Then, add the Product SKU for each product in the nFusion Solutions Catalog Integration section at the bottom of the product pages. This SKU needs to match the product SKU in the nFusion Product Catalog service. Once you have completed the steps above your plugin should be fully integrated with your nFusion Product Catalog.
Below is a step-by-step process for how to set up eBay integration with the Product Pricing Catalog.
- Create a sales channel that will be used to group all products you want to integrate into eBay. You may skip this step if you already have a sales channel you would like to use.
- Add any product(s) you want to integrate with eBay to the eBay sales channel.
- You can add products individually to a sales channel by clicking on the arrow icon to the left of a product’s SKU on the main Products tab. This will expand the row and you can then click on the Sales Channel tab and then click the pencil (edit) icon to add that product to one or more sales channels.
- You can add All Products to a Sales Channel by clicking on the top navigation Config / Attributes and then scrolling down to the Sales Channel section. From here, pick the Sales Channel you want to add all products to and click the Add All Products button on the right-hand side.
- Click on the top navigation Integration / eBay then go to the eBay tab in the catalog. Go to where it says “eBay API Authentication Token”. There is a link there “[To issue a new authorization token for your eBay integration click here]”. Click that link and issue a token to nFusion Catalog to allow it to update your eBay listings.
- Click the link that says “[To refresh your eBay listings manually before the next scheduled interval click here]”. You do not need to do this every time, as it will auto-update once the integration job has been scheduled. If you have any active or scheduled Fixed Price eBay listings they should now appear in the table.
- Map eBay listings to catalog products. To do this go to each row in the table, click edit, then in the column “Catalog Product” select the SKU of the product to map.
- Create your eBay listings markups. If markups are applied to eBay listings they are applied to the “retail ask” of that product in the catalog. There are several options for pricing eBay listings:
- Apply a markup to the sales channel used for eBay listings. This will apply a consistent markup to all listings (i.e. 10% above retail ask).
- Apply markup in each row of the eBay listings mapping table. This allows you to specify different markup amounts for each listing.
- Combine options a & b. Sales channel markups are applied first, then mapping level markups.
- Once your initial setup is complete notify nFusion Solutions so that your integration can be started.
- Keep in mind that as you create new listings, or existing listings expire or are renewed (if eBay creates a new listing id) you will need to perform the mapping step again.
A few things to note during this process:
- Only Fixed Price listings can be updated on eBay
- Listings cannot be created in eBay from the catalog, only updated
- Only the price field is updated on eBay
- The catalog does not take into account inventory levels
- Zero prices are not pushed to eBay, they are skipped
- eBay integration job can not run more often than every 10 minutes. (This is because of limitations enforced by the eBay API)
- Does not support tiered pricing
- Only supports US instances of eBay listings
The Product Pricing Catalog (PPC) is a dynamic pricing calculator and product pricing management dashboard that incorporates real-time spot prices, currency rates, unit weight, user-entered markups, and performs on-demand calculations, which are integrated into your e-commerce system via APIs. Our platform allows you to set all of your product pricing exactly how you would like it in your management dashboard and then automatically pull that live dynamic pricing into your website, mobile app, custom invoicing page, ERP, etc. Once logged in to the Product Pricing Catalog (PPC) you will see some demo products already set up. You can use these example products, modify them, or add new products as needed. You can edit a product to adjust the markups and get the pricing exactly how you need it, applying dollar or % values or both. You can set your Ask (sale prices) as well as your Bid (buying prices) in this same view. Keep in mind the product SKU (unique primary key per product) and the Sales Channel are required for product prices to properly update within your E-Commerce software. In addition, the Product Pricing Catalog (PPC) has a series of APIs that you can access once you are logged in. In the upper right-hand corner under your username, there is a dropdown menu that has the API documentation in it. You can also access your PPC API token in this drop-down menu.
Send a request to support@vps98376.inmotionhosting.com with your current company name and new company name including address if changed.
HTTPS
All requests to the API should be made over HTTPS using TLS >= 1.2.
Authentication
In order to access the nFusion Solutions APIs, you will be issued one or more API tokens, depending on your use case. These API tokens should be considered a secret, and should not be exposed over the public internet. To that end, API calls should never be made directly in JavaScript such that the code can be inspected in a browser and the API token discovered. Instead of making direct calls to nFusion APIs in client-side code, please use a proxy on your own server. For example, https://yoursite.com/proxy/metals/spot. The nFusion API can then be called from your server-side code and the secret will not be exposed. It is also highly recommended that your proxy perform some form of caching so that the ratio of client-side requests for data is not 1:1 with calls to nFusion APIs, as this will boost performance.
Request Rates
Your code should take the necessary steps to limit the rate of calls to a single nFusion service to less than 1 call/second. Calls made at higher rates may be throttled and an error result returned (403.502).
Efficiency of Requests
In order to limit your rate of API calls and ensure your requests are not throttled or rejected, please make an effort to structure your use of the API in an efficient manner. One of the most common ways you can accomplish this is to combine multiple calls into a single call by making efficient use of parameters. For example:
Instead of making these 2 calls:
https://api.nfusionsolutions.biz/api/v1 /Currencies/summary?pairs=CAD/USDhttps://api.nfusionsolutions.biz/api/v1 /Currencies/summary?pairs=USD/CAD
Make this 1 call:
https://api.nfusionsolutions.biz/api/v1 /Currencies/summary?pairs=CAD/USD,USD/CAD
Instead of making these 8 calls:
https://api.nfusionsolutions.biz/api/v1/Metals/spot/summary?currency=USD&metals=gold
https://api.nfusionsolutions.biz/api/v1/Metals/spot/summary?currency=USD&metals=silver
https://api.nfusionsolutions.biz/api/v1/Metals/spot/summary?currency=USD&metals=platinum
https://api.nfusionsolutions.biz/api/v1/Metals/spot/summary?currency=USD&metals=palladium
https://api.nfusionsolutions.biz/api/v1/Metals/spot/summary?currency=CAD&metals=gold
https://api.nfusionsolutions.biz/api/v1/Metals/spot/summary?currency=CAD&metals=silver
https://api.nfusionsolutions.biz/api/v1/Metals/spot/summary?currency=CAD&metals=platinum
Mhttps://api.nfusionsolutions.biz/api/v1/Metals/spot/summary?currency=CAD&metals=palladium
Make this 1 call:
ttps://api.nfusionsolutions.biz/api/v1/Metals/spot/summary?currency=USD,CAD&metals=gold,silver,platinum,palladium
Headers
Some of the following HTTP headers should be added to your API requests, depending on your use cases.
Accept
The recommended value for this header is “application/json”. If you prefer XML results you can specify “application/xml”, but we recommend JSON for most use cases.
Accept-Encoding
The recommended value for this header is “deflate,gzip”. This will result in compressed results that generally have better performance.
Content-Type
For POST/PUT operations that require a message body, this header should be set to “application/json”.
User-Agent
We recommend setting this to a unique value, such as your customer id, to allow for easier searching in logs if needed.
Additional Documentation
Metals & Currency Data API help:
Product Pricing Catalog API help:
To see supported:
Currencies: Visit our API documentation under Currencies and view the endpoints where the path ends in “supported”
Metals: Visit our API documentation under Metals and view the endpoints where the path ends in “supported”
Indices: Visit our API documentation under Currencies and view the endpoints where the path ends in “supported”
Benchmarks: Visit our API documentation under Metals and view the endpoints where the path contains “benchmark”
Configurations are default values that are able to be changed and become the new default for that widget. Query string parameters are values that override the default values of the widget on a per-widget-instance basis. For example, you can use the same chart multiple times with each instance being different due to query string parameters. Let’s say that the default currency within the widgets configurations is set to USD. By adding a query string parameter to one of the chart instances src URLs we can override the currency to something different for only that instance of the chart.
Standard Configurations:
- Currency: Changes the default currency to be displayed.
- Unit of Measure: Changes the default unit of measure to be displayed.
- Auto Update: Can be enabled or disabled (enabled by default).
- Update Interval: Changes the interval in which the widget updates the prices.
- Link: When a user clicks within the widget area they would be redirected to the provided URL
- Timezone: Changes the default timezone to be displayed.
- Whitelist URL(s): This controls which URLs the widget is allowed to be displayed on.
Standard Query String Operations/Parameters:
- Symbols (?symbols): Changes the symbols that populate the widget. This operation also has the ability to reorganize the order in which the symbols are displayed.
- Currency (?currency): Changes the currency that the prices are displayed in.
- Unit of Measure (?unitofmeasure): Changes the unit of measure that the prices are displayed in.
- Width (?width): Changes the width of the widget iframe.
- Height (?height): Changes the height of the widget iframe.
Charts:
Within our chart widgets, there are two main versions, V1 and V2. The only difference between these two versions is the layout of the chart elements. In regard to functionality, both charts are capable of accomplishing the same tasks. That being said, both versions can support the following configurations and query string operations:
Configurations:
- Display Navigation Bar: This option allows you to either display or hide the navigation bar at the bottom of the chart. (displayed by default)
Query String Operations/Parameters:
- Selected Symbol (?selected=): Changes the symbol that the chart initially displays.
- Selected Timeframe (?timeframeindex=): Changes the timeframe that the chart initially displays.
- Chart Type (?charttype=): Changes the line style that is graphed within the chart area.
Use this interactive demo of our V1 chart to better understand how the query string parameters work:
Tables:
Within our table widgets, there are six versions, V1 (standard), V2 (carousel), V3(Historical Performance Table), V4 (Annual Historical Performance Table), V5 (Multi-Unit Table), and V6 (Multi-Unit Multi-Currency Table).
V1 & V2:
Similar to the V1 and V2 charts, the only difference between the V1 and V2 tables is the styling and position of table elements.
Configurations:
- Table Fields: Displays the selected field(s)
- Ask
- Bid
- Change
- Change Percent
- High
- Low
- Pr. Close
- Open
- Last
Query String Parameters: Supports the standard parameters.
V3 (Historical Performance Table):
Our version three table is a historical performance table that displays historical data for a single selected symbol at one day, one week, one month, six months, one year, five years, ten years, and fifteen years. Configurations:
- Table Fields: Displays the selected field(s)
- Ask
- Bid
- Change
- High
- Low
Query String Parameters: Supports the standard parameters.
V4 (Annual Historical Performance Table):
Our version four table displays historical ask and change percent data points for multiple currencies at one-year intervals up to forty years.
Configurations: Supports the standard parameters.
Query String Parameters:
- Years (?years=): This allows you to determine how many years of data should be displayed
- Currency (?currency=): A comma-separated list of currencies allows you to select multiple currencies for the data to be presented in
V5 (Multi-Unit Table):
Our version five table displays live spot prices for a single metal in multiple units of measure.
Configurations:
- Table Fields: Displays the selected field(s)
- Ask
- Bid
- Change
- Change Percent
- High
- Low
- Pr. Close
Query String Parameters:
- Unit of Measure (?unitofmeasure=): A comma-separated list of units of measure allows you to select multiple units of measure for the data to be presented in
V6 (Multi-Unit Multi-Currency Table):
Our version six table displays live spot prices for multiple metals in multiple currencies and multiple units of measure.
Configurations: Supports the standard parameters.
Query String Parameters:
- Unit of Measure (?unitofmeasure=): A comma-separated list of units of measure allows you to select multiple units of measure for the data to be presented in
- Currency (?currency=): A comma-separated list of currencies allows you to select multiple currencies for the data to be presented in
Ticker:
Our spot price ticker displays real-time data points in a responsive banner-like design.
Configurations:
- Scrolling (default): This option sets the ticker to continuously scroll from left to right
- Fixed: This option removes the scrolling effect and displays the ticker elements in a mobile responsive layout.
- Ticker Fields: Displays the selected field(s)
- Ask
- Bid
- Change
- Change Percent
- High
- Low
- Pr. Close
Query String Parameters: Supports the standard parameters.
RMD Calculator:
Our RMD (required minimum distribution) Calculator allows users to view their estimated RMD through a user-friendly chart display based on input that is entered such as age, account balance, whether or not there is a primary beneficiary, and estimated rate of return.
Product Page:
Our product page widget utilizes the product catalog and its features including sales channels and product families in order to create a full-page display with live bids and ask prices for the desired products.
Widget Page:
Our widget page allows you to fully utilize all the features of our chart, table, and ticker widgets by encapsulating multiple widgets in a single page layout. Within the widget page, the user has the capability to change the symbol, currency, and unit of measure for every widget instance on the page, all at the same time.