We're here to help

Check out our tutorials, technical guides, and API documentation.

Why are my spot prices not updating?

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

How can I customize my company's spot price?

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.

Why does the change value (price, bid, ask, etc) on our site not match site Y?

There are a number of factors that affect how spot prices are calculated and how they are displayed.

  1. 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.
  2. Site Y may be applying adjustments to the global spot price in order to affect how their site displays pricing data.
  3. Site Y may have difference from your site such as speed, latency, delivery, caching, polling intervals and code.
How can I get spot price data in XML or JSON?

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.

How do I integrate catalog data (APIs)?

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.
Why do some of my API calls return HTTP code 403?

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.

Why are the widgets on my site not loading?

There are a number of reasons that widgets may fail to load on a page.

  1. If you are receiving responses with status code 401 (unauthorized), it may be that your subscription has expired or you have a domain mismatch.
  2. You may have added the script code to your page incorrectly. Double-check the included instructions you received.
  3. There is a javascript error on the page. Check your browser developer panel for errors.
  4. 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.
How do I send messages to alert users?

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.

What currency plugins are compatible with your Precious Metals Automated Product Pricing plugin?

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.

  1. CURCY – Multi Currency for WooCommerce
  2. WOOCS – Currency Switcher for WooCommerce
  3. Currency Switcher for WooCommerce
Why does my currency plugin not work with your Precious Metals Automated Product Pricing plugin?

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.

Can I modify the functionality of your Precious Metals Automated Product Pricing plugin?
If our free plugin does not support your specific desired behavior, you can modify your local copy of the plugin to have custom behavior if you choose. Please keep in mind the following cautions if you do decide to modify the plugin:
 
1. We do not offer support for modified versions of our plugins. Once you have modified the code from its public source all development support for that plugin is out of scope for our team.
2. If you modify your local copy and don’t disable auto-updates for that plugin, then the next time we release a new version your local changes will be overwritten and lost.
3. If you do disable auto-updates and modify your local copy you will no longer receive upgrades when we release them. This means you will not receive the benefit of future bug fixes and/or feature enhancements. It may be possible for your developer to examine the code in the public repository and merge in the changes, but our team can provide no support for the merge, nor for any of the code of your customized plugin.
How do I get my widgets to be displayed in the currency set by my currency switcher plugin?

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.

How to customize widget styling using the Dashboard

You can now personalize the styling of your widgets effortlessly through our new Dashboard app! To get started, follow these steps:

Access the Widgets Page: Log in to your nFusion dashboard and navigate to the widgets page.

 

Edit a Widget: In the widgets page, locate the widget you want to customize, and click the ‘edit’ pencil icon in the actions column. This action will take you to the widget’s editor screen.

 

Customization Sections: On the widget’s editor screen, you’ll find two main sections:

  • File Upload Section: This section allows you to upload files, such as CSS and (JS, available only in the advanced widget package), as well as an image file.
  • Widget Settings Section: Here, you can configure specific widget settings. In this guide, we’ll focus on the file upload section and explore how to upload a custom CSS file.

 

Before You Begin:

Before uploading your custom CSS, we highly recommend reviewing our CSS best practices documentation to ensure that your styling is applied without any conflicts.

 

Uploading Custom CSS:

To upload your custom CSS file, follow these steps:

  1. Click the ‘upload’ icon button under the ‘Upload CSS’ column. This action will open a file explorer, allowing you to select the CSS file you wish to upload.
  2. Once you’ve selected a CSS file, you’ll receive a confirmation message confirming that your CSS file has been successfully uploaded.

 

Preview Your Changes:

To see your customizations in action, return to the widgets page and click the ‘preview’ button for the widget you’ve just edited. This will open a widget preview page where you can view your new CSS styling.

 

Troubleshooting CSS Application:

If you find that your custom CSS is not being applied, consider the following solutions:

  • Clearing Cache and Hard Reload:
    • Open the Developer Console using Control+Shift+I (Windows/Linux) or Option+Command+I (Mac), or via Tools > Developer > Developer Tools, or by right-clicking and choosing Inspect.
    • Press and hold or right-click the Refresh Icon.
    • Choose “Empty Cache and Hard Reload” from the dropdown.
  • Check CSS Specificity:
    • Open the Developer Console and inspect the element you want to style. In the “Styles” panel on the right-hand side, ensure that your CSS rule is not crossed out. If it is, this indicates a different CSS rule may have higher specificity.
  • Verify CSS Selectors and File:
    • Check for typos in your CSS selectors and their order.
    • Ensure the CSS file you uploaded is the correct one by using the Developer Console’s “Network” tab and finding the CSS request corresponding to your custom CSS file.

 

If none of the above solutions work, please contact our support team at support@vps98376.inmotionhosting.com. When reporting your issue, be sure to include all the steps you’ve taken to resolve the problem before reaching out. This will help us provide the quickest possible solution to your customization needs.

How to add multiple instances of one widget to the same page
To do this, each widget must have a unique ID so that when they are loaded into the page, there are no javascript errors or conflicts. Therefore, when you are adding multiple instances of the same widget to a single page, you need to change the ID of the DIV element so that it is unique within that page; then, modify the src attribute within the script by adding “/your-id” to the end of the root domain. By changing the ID and modifying the src, you are telling the script which DIV element to load the chart into. For example, here is a default chart widget script that has been copied from the preview page:

<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.
How to have external buttons that manipulate the iframe
To do this, you must connect the two elements, both the button and the iframe, via javascript. This tutorial will use the example of creating a button that changes the selected symbol of a chart. First, start by adding your desired event listener. In this example, since we are using a button we would add a click event. Once you have added the event listener to the button element, create a function that will manipulate the iframe and call it from within the click event. Now, this function will run every time the button is clicked. Next, you will need to get access to the iframe element. Once you have access, you may then manipulate its attributes. In this example, we will be manipulating the “src”. Once you get the src of the iframe, you simply need to replace or override that src URL with the new desired src URL.
 
For example, a default chart src URL looks like this: “https://widget.nfusionsolutions.com/widget/chart/1/fya3e32-e870-adf20-a9f3-c88c636f7s8d/188e705d-23afa-45dd-fce21-09c8298af4f2”
 
If you want to change the symbol when the button is clicked, the src URL would look like this: “https://widget.nfusionsolutions.com/widget/chart/1/fya3e32-e870-adf20-a9f3-c88c636f7s8d/188e705d-23afa-45dd-fce21-09c8298af4f2?selected=silver”
 
When you replace the src URL in the javascript the chart iframe will then update and display the new src URL.
Below is an example code snippet using jQuery to switch the charts selected symbol to silver:
 
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");
}

 

How to reset your product catalog password

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 our support team.
How to implement widgets using the currency helper script
To implement your widgets using our currency helper there are two simple steps. 1. To ensure that the helper script is available before attempting to use it, you must add the following script within your header:

<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.
How to log into dashboard and catalog using a third party social provider

Open your web browser and visit either your nFusion Dashboard at https://dashboard.nfusionsolutions.com/ or your nFusion Catalog at https://nfusioncatalog.com/account/login?tenantalias={your_tenant_name}&scheme=AzureAdB2C. If you are not already logged in, you will be presented with the login page.

 

As you step into the nFusion Cloud of solutions, you can tap into the power of your existing Google, Microsoft, Apple, or Facebook accounts. For instance, if the email you received your Dashboard invite on is linked to a Google or Gmail account, a simple click on the Google button gets you authenticated in a snap making logging in a breeze!

 

Should your email address lack association with any of these four providers, there’s an alternative option. Just click “sign up now” at the top, and you can easily create a new account using your email address, alongside a password of your preference. This empowers you with the ability to establish a new account with ease.

How to switch to new catalog authorization

In one of our latest releases to the Product Pricing Catalog, we’ve added an SSO (Single Sign On) feature that allows you to log into your Product Pricing Catalog and the Dashboard using the same user account! This will help streamline the process and minimize the time you spend logging into your nFusion applications!

 

To switch to this new way of Authentication, you need to navigate to the Products page of your nFusion Dashboard by visiting: https://dashboard.nfusionsolutions.com/en/pages/products

 

Here you’ll see a table of users that currently have access to your Product Catalog. To add your user record to this table, click the “Add user” under the users section of the page. Then enter your name and the email address to which you received your nFusion Dashboard invitation. Under “Role” select the role you would like to provide this user account with. The “Administrator” role allows both read and write access to products, product families, etc. whereas the “Sales” role is essentially a read-only view of the product catalog for those users who only need viewing access to the products within the Catalog. Once this information has been entered, click “Submit” towards the bottom left-hand corner of the page.

 

The user you’ve just added can now log into the catalog and you should have received an email to help you do so. To accept your invitation to join the Product Catalog, navigate to https://nfusioncatalog.com/account/login?tenantalias={your_tenant_name}&scheme=AzureAdB2C. Here is where you can tap into the power of your existing Google, Microsoft, Apple, or Facebook accounts. For instance, if the email you received your Dashboard invite on is linked to a Google or Gmail account, a simple click on the Google button gets you authenticated in a snap making logging in a breeze!

 

Now that you’re logged in using your new user account that is utilizing your personal social authentication method, you no longer need to log into the Dashboard using the old admin and or sales emails that were previously provided to you.

How to install and configure Shopify app

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.

How to install and configure WordPress plugin

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.

How to enable product re-indexing for WordPress

Our Product Catalog Plugin for WooCommerce will automatically enable product re-indexing if the Action Scheduler plugin is installed and active on your WordPress website.

 

Action Scheduler:

The Action Scheduler plugin is a scalable, traceable job queue for background processing large queues of tasks in WordPress. Designed for distribution in WordPress plugins – no server access required. Action Scheduler is developed and maintained by Automattic (the developers of WordPress & WooCommerce) with significant early development completed by Flightless.

 

How to install & activate:

  1. Download the .zip archive of the latest stable release
  2. Go to the Plugins > Add New > Upload administration screen on your WordPress site
  3. Select the archive file you just downloaded
  4. Click Install Now
  5. Click Activate

Or clone the Git repository into your site’s wp-content/plugins folder.

 

Usage:

Once the Action Scheduler plugin is installed, the Product Catalog Plugin will utilize its functionality to asynchronously re-index your products within WooCommerce.

How to setup eBay integration

Below is a step-by-step process for how to set up eBay integration with the Product Pricing Catalog.

  1. 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.
  2. Add any product(s) you want to integrate with eBay to the eBay sales channel.
    1. 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.
    2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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:
    1. 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).
    2. Apply markup in each row of the eBay listings mapping table. This allows you to specify different markup amounts for each listing.
    3. Combine options a & b. Sales channel markups are applied first, then mapping level markups.
  7. Once your initial setup is complete notify nFusion Solutions so that your integration can be started.
  8. 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
How to setup your catalog for the first time

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.

How to change my company name

Send a request to support@vps98376.inmotionhosting.com with your current company name and new company name including address if changed.

API best practices

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:

nFusion CSS best practices

Use nFusion Selectors:

Make sure that the selectors you are using are as specific as possible. This will reduce the likelihood of your CSS not overriding the default CSS.

 

To find the best selector to use when styling your widgets, use the Developer Console to inspect the widget elements and view the CSS rules that are currently being applied to it. This will give you a better understanding of what CSS you should add and where.

 

For example, the chart widget applies a default font family using a high-level selector “.nfusionsolutions-com-chart” like so:

.nfusionsolutions-com-chart {

    font-family: ‘Lora’, serif;

}

 

To override the default you would use the same selector and assign the font family property to the desired font family value.

.nfusionsolutions-com-chart {

    font-family: {my-custom-font}, serif;

}

 

Other best practices:

  • Use tools and linters to help prevent errors from going undetected and cause your CSS to not work properly. There are various tools and linters like Stylelint and CSSLint that can help you identify and fix issues related to CSS best practices in your code.
  • You can use methods like BEM (Block-Element-Modifier) or SMACSS (Scalable and Modular Architecture for CSS) to structure your CSS. Additionally, grouping related styles and using comments for documentation can help improve code organization

 

If you’re newer to CSS, you can find numerous online tutorials and articles on CSS best practices. Websites, blogs, and forums like MDN Web Docs, CSS-Tricks, and Stack Overflow are excellent places to start.

Supported Currencies, Metal, Indices, and Benchmarks

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”

Widget types, supported configuration options and query parameters

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.

contact our support team

If you need technical support or have a question, fill out the form below or click on the button to call. Our support hours are Monday through Friday 8 a.m.–5 p.m. CST.

Name(Required)
Support Area (Required)