NivoSync
InloggenNu kopen

First sync

Connect your Nivoda credentials, run the initial inventory pull, and verify the catalogue is populated correctly.

10 min readUpdated 2026-05-03

The first sync pulls Nivoda's diamond inventory into your local database for the first time. It is the most resource-intensive operation NivoSync performs — and the one that, once completed, you almost never have to repeat.

This guide takes you from "licence active" to "diamonds visible in the catalogue".

Where this guide ends: the Diamonds screen listing your full Nivoda inventory locally.

Before you start

You will need:

  • An active Nivoda B2B account with API access enabled. If you do not have one, sign up at nivoda.com and request API access from their team. Approval typically takes 1–2 business days.
  • Your Nivoda API username and password — found in the Nivoda dashboard under Account → API access.
  • About 15–30 minutes while the sync runs in the background. You can keep working in the WP admin during this time.

Step 1: Connect Nivoda credentials

  1. In the WP admin, go to NivoSync → Settings → API & Sync.
  2. In the Nivoda credentials section, paste your username and password.
  3. Click Save credentials.
  4. The plugin tests the credentials immediately — you should see a green Connection verified badge appear within 5 seconds.
Connection verified — the token is cached for 12 hours and renews automatically.

What happens behind the scenes:

  • Credentials are encrypted with AES-256-GCM before persisting to the database. Even an attacker with read access to your wp_ns_options table cannot recover the plaintext without your WordPress AUTH_KEY.
  • The plugin makes a test call to Nivoda's /account endpoint to verify the credentials authenticate.
  • An API token is fetched and cached for 12 hours. The plugin renews the token automatically before expiry.

Step 2: Choose what to sync

Before running the sync, narrow down what you actually want in your catalogue. Pulling everything Nivoda has is rarely the right answer — most stores sell a specific cut/colour/clarity range.

Go to NivoSync → Settings → Sync filters and configure:

  • Lab-grown vs natural — most modern stores sync only lab-grown to start, and add natural later. Toggle accordingly.
  • Shape allowlist — round / oval / cushion / princess / emerald / pear / marquise / asscher / radiant / heart. Pick the shapes you actually merchandise.
  • Price range — set a min and max in your store currency to skip diamonds outside your retail tier.
  • Carat range — for example 0.30–5.00 ct skips industrial micro-diamonds and one-of-a-kind 10ct+ stones you would order on demand instead.
  • Lab allowlist — GIA, IGI, GCAL, EGL, etc. Most stores want only GIA + IGI for trust signals.

Step 3: Run the first sync

Once filters are configured:

  1. Go to NivoSync → Sync.
  2. Click Run full sync now.
  3. Confirm in the modal — the plugin warns this will take time on first run.
  4. The sync starts and the page redirects to a Sync in progress view with a live progress bar.
Sync mid-flight — leave the page open or close it; the cron continues either way.

What you will see during the sync:

  • A counter incrementing: Diamonds processed: 1,234 / 47,891.
  • A throughput indicator: ~250 diamonds/sec on shared hosting, ~1,200/sec on dedicated CPU.
  • An estimated remaining time, updated every 10 seconds.
  • A Pause button if you need to free up server resources for something else.

You can leave this page or close the browser — the sync continues in the background via WP-Cron. If you reload, the progress bar reflects the current state.

Step 4: Monitor progress

Two ways to watch the sync without staring at the progress bar:

From the sync log panel:

  1. Go to NivoSync → Sync and scroll to the log panel.
  2. Each batch logs an info line: Synced batch 12: 1,000 diamonds (45.2s, 22.1 diamonds/sec).

From WP-CLI (useful if your hosting kills long-running web requests):

# Run the sync from CLI instead of cron — bypasses any web-tier timeout
wp nivosync sync --full
 
# Watch progress in another terminal
wp nivosync sync:status
 
# Tail the structured log
tail -f wp-content/uploads/nivosync/logs/sync.log

Step 5: Verify the catalogue

When the sync completes, you will see a green completion banner: "Sync completed: 47,891 diamonds in 19m 22s".

Successful first sync. From here onwards, NivoSync runs incremental syncs automatically.

Verify by:

  1. Going to NivoSync → Diamonds. You should see a paginated table with the full catalogue.
  2. Going to your front-end catalogue page (default /diamonds/). You should see the diamond grid populated with results.
  3. Trying a filter — pick a shape and a colour range. The grid should narrow instantly (filters run on the local cache, not the API).
  4. Clicking a diamond. The detail page should render with the complete spec sheet.

What if the sync fails

The most common failure modes:

SymptomCauseFix
Stops at exactly 60 / 120 secondsWeb tier timeoutRun from CLI: wp nivosync sync --full
Stops mid-sync with "Memory limit"PHP memory exhaustedRaise WP_MEMORY_LIMIT to 512M in wp-config.php
Stops with "Auth failed" mid-syncToken expired during long runPlugin should auto-renew; if not, report it
Stops with "Rate limited"Nivoda quota exceededWait an hour, increase batch delay in Settings → Sync
Completes but catalogue emptyFilters too narrowLoosen the filters from Step 2 and re-sync

In every case, the Logs page captures the exact error and the batch where it happened. A retry from that batch is non-destructive — already-synced diamonds are not re-processed.

What happens after the first sync

Once the initial pull completes, NivoSync switches to incremental sync mode automatically. From this point onwards:

  • A scheduled cron job runs at the interval you configured (hourly / 4-hourly / daily — set in Settings → Sync).
  • Each run pulls only diamonds that changed since the last sync (new additions, price updates, removals).
  • Incremental syncs typically complete in 30–90 seconds — orders of magnitude faster than the first full pull.

You should never need to run a full sync again unless:

  • You significantly broaden your sync filters (e.g. enable a new shape).
  • You suspect data corruption (rare; logs would show it).
  • You migrate to a fresh database and want to start over.

Up next

Your diamond catalogue is live. The five getting-started docs end here — you have a working store. Configuration guides for theming, pricing, ring builder and bookings are coming as we expand the docs site.

For now, the most useful next step is to:

  1. Visit Themes in the admin and pick the look that matches your brand (Default, Modern, Elegant).
  2. Customise the colour palette under Themes → Customise.
  3. Configure your pricing markup under Settings → Pricing engine.

If you get stuck, email support — most onboarding questions have a one-line answer from us.