Nivoda might not be an unknown entity to you, if you are into an online jewellery and diamond marketplace business. Nivoda is perhaps one of the best diamond database that is shared and is accessible across the globe from where and by anyone who is into the diamond and jewellery business. Jewellery websites and diamond marketplaces often require to access the database of Nivoda through Nivoda API integration. However, before we look into the steps for integrating Nivoda to the website, let’s get a basic idea about what Nivoda is for those who are new to the jewellery business.

What is Nivoda?

Nivoda is a global diamond trading platform designed to streamline the buying and selling of diamonds and gemstones. It connects jewellery retailers, wholesalers, and manufacturers with a vast network of diamond suppliers, providing access to real-time inventory and competitive pricing.

Some of the key features of Nivoda include:

  • Offers a large selection of certified diamonds and gemstones from multiple suppliers worldwide.

  • Transparent pricing with real-time updates to help users make informed purchasing decisions.

  • Handles shipping and insurance, ensuring secure and timely delivery to customers.

  • Enables seamless integration with eCommerce platforms, allowing businesses to showcase and sell diamonds directly on their websites. This is what we are going to explore in this blog.

  • Helps businesses save on sourcing costs by aggregating options in one platform.

Being a jewellery website development company, we have tried to cover a Nivoda integration to the jewellery website in simple steps.

Steps to integrate Nivoda API in Jewellery website

Step 1: Sign Up and get credentials

Create your free account on nivoda and verify your account. You can use your email id as username and password to use the nivoda api or if you want you can also create new user from Nivoda’s admin panel for api. Nivoda provides the GraphQL staging and live API to retrieve the diamond list, diamond details, create nivoda order etc. If you are facing any API access error then please try to contact with Nivoda’s customer support to activate the account credentials and grant the api access.

Step 2: Get access token

You need to first get the access token to execute the nivoda’s GraphQL api. You can use Postman or GraphiQL to test the GraphQL api’s. Please use below code to retrieve the access token and expires time.


URL staging: https://intg-customer-staging.nivodaapi.net/api/diamonds/
URL live: https://integrations.nivoda.net/api/diamonds

Method: POST

GRAPHQL QUERY:query Authenticate($username: String!, $password: String!) {
  authenticate {
    username_and_password(username: $username, password: $password) {
      token
      expires
    }
  }
}

GRAPHQL VARIABLES:{
  "username": “YOUR “EMAIL,
  "password": “YOUR PASSWORD”
}

Step 3: Get Diamond List

There are two ways to get the diamond list.

  • Use Nivoda GraphQL API

  • Use FTP to download diamond list in CSV

1. Use Nivoda GraphQL API

Use below GraphQL query to get the list of diamonds. You need to pass bearer token retrieved from above api for authorization. You can modify the query to filter the diamond. Offset will be used to specify index from where you want to start the listing. Limit will allow you to retrieve the specified diamonds details. Your max limit will be 50 per request. You can use order to sort the diamond list. If you don’t want to apply any filter pass empty object ‘{}’ in query. You can also specify which diamond detail you want in the response. Please follow the last step to get the detail of all the available filters and query fields.


URL staging: https://intg-customer-staging.nivodaapi.net/api/diamonds/
URL live: https://integrations.nivoda.net/api/diamonds

Method: POST

GRAPHQL QUERY:query GetDiamondList  {
  diamonds_by_query(
    query: {
        labgrown: true,
        shapes: ["ROUND"],
        color: [H, G, F, E, D],
        dollar_value: {from: 50, to: 5000000},
    },
    offset: 0,
    limit: 50, 
    order: { type: createdAt, direction: DESC }
  ) {
    items {
        id
        diamond {
            OrderItemId
            id
            video
            v360 {
                url
            }
            image
            certificate {
                id
                carats
                color
                clarity
                symmetry
                lab
                shape
                certNumber
                pdfUrl         
            }
            NivodaStockId
            delivery_time {
                min_business_days
                max_business_days
            }
        }
        price
        discount
    }
    total_count
  }
}

2. Use FTP to download diamond list in CSV

Please follow below steps:

  • Navigate to Feed Center using menu.

  • Add new feed for all the available types of diamond.

  • Copy the direct download link for all feed.

  • You can use these links to download csv on your server or also you can import the data in your database. Nivoda updates the csv after every 1 hour. So, you can download CSV hourly to get the latest diamonds.

  • You can create your custom API and add only the required filters as you want.

Integrate Nivoda API to your jewellery website today Contact Nimblechapps now! **Contact us

Step 4: Get Diamond Details

You can use the nivoda detail query to get the diamond detail or you can also use the csv to get the single diamond details. But nivoda updates the csv after every 1 hour. So, we recommend to use the nivoda diamond detail query to get the latest price and other information. Please follow the last step to get the detail of all the available filters and query fields.


URL staging: https://intg-customer-staging.nivodaapi.net/api/diamonds/
URL live: https://integrations.nivoda.net/api/diamonds

Method: POST

GRAPHQL QUERY:
  query GetDiamondByID($diamond_id: ID!) {
  get_diamond_by_id(diamond_id: $diamond_id) {
        id
        diamond {
            id
            OrderItemId
            v360 {
                url
            }
            video
            image
            delivery_time{
            min_business_days
            max_business_days
            }
            certificate {
                id
                lab
                shape
                certNumber
                labgrown
                color
            }
            NivodaStockId
            final_price
            show_certificate_number
            HoldId
            
        }
        price
        discount
        markup_price
        markup_discount
    }
}

GRAPHQL VARIABLES:{
    "diamond_id":  “ID OF THE DIAMOND” // EX ID: ”e3d4fc8e-5fbe-44da-b27f-3df924cb3d46"
}

Step 5: Create Nivoda Order

You can use the GraphQL mutation provided by the nivoda to create the diamond order. It will send the diamond to your shipping address specified in your profile page. You will get the shipping status update related email on your registered email address.


URL staging: https://intg-customer-staging.nivodaapi.net/api/diamonds/
URL live: https://integrations.nivoda.net/api/diamonds

Method: POST

GRAPHQL MUTATION:
mutation {
  create_order(
    items: [
      {
        offerId: “PRODUCT TYPE/PRODUCT ID”, // SAMPLE ID: “DIAMOND/5497a505-a9f3-47ad-803a-a9dd2c2d1535"
        customer_order_number: “specify your order number”,
        customer_comment: “Specify any instruction for order“
      }
    ]
  )
}

Step 6: Use Nivoda GraphQL For Detailed Information

You can use the Nivoda GraphiQL to know about all the available query and mutation by nivoda. It will provide the detailed information about all the available filters and response fields for specific query and mutations. Please open below staging URL in browser and use below username and password.


URL: https://intg-customer-staging.nivodaapi.net/api/diamonds-graphiql
USERNAME: nivoda-api-docs
PASSWORD: nivoda-graphiql

Please check the nivoda’s official documentation “https://github.com/Nivoda/nivoda-api” for latest staging credentials.

Following the above mentioned steps, you can ensure a working integration of Nivoda API to your jewellery website or diamond marketplace. Explore the cost for developing jewellery website along with integration Nivoda API for a better business performance and be the part of the growing online jewellery market.

Conclusion

Integrating Nivoda into your jewellery website offers a lots of benefits that can significantly enhance your business operations and customer experience. With Nivoda, your website gains access to a vast inventory of diamonds and gemstones from global suppliers, ensuring that you can offer a wide variety of products without managing a physical inventory. The platform's real-time pricing feature ensures transparency and allows your customers to make informed purchasing decisions, boosting their trust in your brand. Furthermore, Nivoda's API integration seamlessly connects with your existing jewellery eCommerce platform, streamlining operations and enabling instant updates to your product listings. This not only simplifies inventory management but also improves website responsiveness and user experience. As part of effective jewellery website development, Nivoda integration ensures that your website stays competitive in the digital marketplace while providing customers with an enriched shopping experience.