Title: GemFind Diamond Link
Author: GemFind Digital Solutions
Published: <strong>June 17, 2026</strong>
Last modified: June 17, 2026

---

Search plugins

![](https://ps.w.org/gemfind-diamond-link/assets/banner-772x250.png?rev=3576104)

![](https://s.w.org/plugins/geopattern-icon/gemfind-diamond-link_1b273e.svg)

# GemFind Diamond Link

 By [GemFind Digital Solutions](https://profiles.wordpress.org/gemfind/)

[Download](https://downloads.wordpress.org/plugin/gemfind-diamond-link.1.0.3.zip)

 * [Details](https://wordpress.org/plugins/gemfind-diamond-link/#description)
 * [Reviews](https://wordpress.org/plugins/gemfind-diamond-link/#reviews)
 *  [Installation](https://wordpress.org/plugins/gemfind-diamond-link/#installation)
 * [Development](https://wordpress.org/plugins/gemfind-diamond-link/#developers)

 [Support](https://wordpress.org/support/plugin/gemfind-diamond-link/)

## Description

**GemFind Diamond Link** brings GemFind’s diamond search experience to WordPress.
Jewelers can let visitors browse natural and fancy-color diamonds, view details,
print or export PDFs, and use engagement tools such as Drop a Hint, Email a Friend,
Schedule a Viewing, and Request More Info.

#### Features

 * React-powered storefront (classic v1 or modern v2 UI)
 * Shortcode: `[gemfindDL_diamond_link]` with optional `version="1"` or `version
   ="2"`
 * WordPress admin: settings, CSS configurator, and onboarding help
 * REST API for the storefront and admin UI
 * Server-side proxy to JewelCloud APIs (avoids browser CORS issues)
 * Optional **WooCommerce** add-to-cart integration
 * PDF print export (Dompdf)
 * Full-width page template for a clean storefront layout
 * SEO-friendly path routing under your Diamond Link page

#### Requirements

 * WordPress 6.3+
 * PHP 8.1+
 * A **GemFind / JewelCloud dealer account** and Dealer ID (contact GemFind support)
 * WooCommerce is optional (only needed for cart checkout flows)

#### Shortcode

Place on any page or use the page created on activation:

    ```
    [gemfindDL_diamond_link]
    ```

Force a specific UI version:

    ```
    [gemfindDL_diamond_link version="2"]
    [gemfindDL_diamond_link version="1"]
    ```

#### Support

For dealer setup and JewelCloud Account ID, contact GemFind at [support@gemfind.com](https://wordpress.org/plugins/gemfind-diamond-link/support@gemfind.com?output_format=md)
or visit [gemfind.com](https://gemfind.com).

### Source code and build instructions

This plugin includes compiled build artifacts for performance (`assets/build/admin.
js`, `public/frontpublic/build/assets/frontend.js`, `public/static/js/frontend-v1.
js`).

To comply with WordPress.org Guideline 4 (human‑readable code), the full unminified
source and build tooling are maintained in a public repository:

Development Repository: https://github.com/GemFind-Application/New-DL-Wordpress-
Plugin

#### Build steps

 1. `composer install --no-dev`
 2. `npm install` and `npm run install:all`
 3. `npm run build` (admin, v2, then v1)

### External services

This plugin connects to third-party and external services. JewelCloud is **required**
for live diamond inventory. Other services below are optional or only used when 
a merchant enables the related feature. The policy links below were verified at 
the time of this release.

#### 1. JewelCloud API (api.jewelcloud.com)

 * **What it is and what it’s used for.** JewelCloud is GemFind Digital Solutions’
   diamond inventory platform. The plugin loads live catalog data: filters, search
   results, detail pages, navigation, dealer authentication, video URLs, and JC 
   options. Browser requests are proxied through the WordPress REST API (`gemfind-
   diamond-link/v1/jcProxy/*` and `/jcVideoProxy`) to avoid CORS issues. PHP also
   calls `https://api.jewelcloud.com` directly for activation defaults, init tool,
   email detail lookups, and server-side diamond resolution. Endpoints used include:`
   AccountAuthentication`, `GetNavigation`, `GetDiamondFilter`, `GetColorDiamondFilter`,`
   GetDiamond`, `GetColorDiamond`, `GetShapeByColorFilter`, `GetDiamondDetail`, `
   GetStyleSetting`, `GetDiamondsJCOptions`, `GetInitialFilter`, and `api/jewelry/
   GetVideoUrl`.
 * **What data is sent and when.** The merchant’s JewelCloud Dealer ID (saved in
   plugin settings) is sent on every call. Filter and search query parameters (shape,
   carat range, colour, clarity, etc.) are sent when the storefront loads or the
   visitor changes filters. Diamond inventory IDs are sent when a visitor opens 
   a detail page, requests a video URL, or uses WooCommerce add-to-cart. If the 
   merchant enables AccountAuthentication, the configured dealer password is also
   sent once during plugin initialisation (`initToolApi`). The plugin does not intentionally
   send visitor name, email, or phone number to JewelCloud inventory APIs.
 * **Terms of service.** https://gemfind.com/pages/terms-of-service — please refer
   to GemFind for Terms of Service, as JewelCloud is operated by GemFind Digital
   Solutions.
 * **Privacy policy.** https://www.jewelcloud.com/policies/privacy-policy

JewelCloud is operated by GemFind Digital Solutions. GemFind’s Terms of Service 
define the GemFind Network as including `www.jewelcloud.com`. Use the GemFind Terms
link above for contractual terms; use the JewelCloud privacy policy link above for
JewelCloud data-handling practices.

#### 2. JewelCloud diamond view tracking (platform.jewelcloud.com)

 * **What it is and what it’s used for.** GemFind/JewelCloud analytics endpoint 
   that records when a visitor views a diamond detail page in the storefront (v1
   and v2).
 * **What data is sent and when.** Dealer ID, vendor/retailer ID, diamond inventory
   ID, the site’s origin URL, and the visitor’s public IPv4 address (see Geolocation
   DB below). Sent from the visitor’s browser as a POST to `https://platform.jewelcloud.
   com/DiamondTracking.aspx` once per diamond detail page load, after diamond details
   are loaded and an IP address is obtained.
 * **Terms of service.** https://gemfind.com/pages/terms-of-service — please refer
   to GemFind for Terms of Service, as JewelCloud is operated by GemFind Digital
   Solutions.
 * **Privacy policy.** https://www.jewelcloud.com/policies/privacy-policy

#### 3. Geolocation DB (geolocation-db.com)

 * **What it is and what it’s used for.** Public IP lookup service used to obtain
   the visitor’s public IPv4 address for JewelCloud diamond view tracking (see section
   2 above).
 * **What data is sent and when.** The visitor’s browser sends a request to `https://
   geolocation-db.com/json/` when a diamond detail page loads. The plugin only reads
   the returned IPv4 address and forwards it to the JewelCloud tracking endpoint.
   No visitor name, email address, phone number, or form data is sent to this service
   by the plugin.
 * **Terms of service.** https://geolocation-db.com/terms
 * **Privacy policy.** https://geolocation-db.com/privacy

#### 4. Facebook (connect.facebook.net, facebook.com)

 * **What it is and what it’s used for.** Optional Facebook Like button on diamond
   detail pages when the merchant enables “Show Facebook Like” in plugin settings.
   The v1 storefront loads the Facebook SDK via the `react-facebook` library (`connect.
   facebook.net`). Share links may open `facebook.com` in a new tab without loading
   the SDK.
 * **What data is sent and when.** Page URL and standard Facebook widget/SDK telemetry
   as described in Meta’s policies. Sent only when `show_Facebook_Like` is enabled
   and the visitor views a diamond detail page that renders the Like widget. The
   plugin does not send visitor form data to Facebook.
 * **Terms of service.** https://www.facebook.com/terms.php
 * **Privacy policy.** https://www.facebook.com/privacy/policy

#### 5. Google reCAPTCHA

 * **What it is and what it’s used for.** Optional spam protection on storefront
   contact forms (Drop a Hint, Email a Friend, Schedule a Viewing, Request More 
   Info). Loaded only when the merchant configures a reCAPTCHA Site Key in plugin
   settings (scripts from Google).
 * **What data is sent and when.** Standard reCAPTCHA telemetry (browser/device 
   signals, IP address, interaction data) is sent to Google when a visitor submits
   a protected form. With no Site Key configured, the plugin makes no calls to Google
   reCAPTCHA. The plugin does not store this data; Google does.
 * **Terms of service.** https://policies.google.com/terms
 * **Privacy policy.** https://policies.google.com/privacy

#### 6. Camweara virtual try-on (cdn.camweara.com)

 * **What it is and what it’s used for.** Optional virtual try-on experience (iframe)
   provided by Modaka Technologies (Camweara) when the merchant enables try-on in
   plugin settings (`display_tryon`). The iframe is loaded from `https://cdn.camweara.
   com`.
 * **What data is sent and when.** Diamond or setting identifiers embedded in the
   iframe URL (carat, shape, SKU/stock number, company name). Sent only when the
   visitor opens the try-on feature on a diamond or setting detail page and try-
   on is enabled in settings. No visitor name, email, or message content is sent
   by the plugin to Camweara.
 * Terms of service. At the time of release, Camweara does not publish a separate
   Terms of Service page. Please
    contact Camweara directly for any contractual 
   terms applicable to your account.
 * Contact: https://camweara.com/contact-us/
 * **Privacy policy.** https://www.camweara.com/privacy-policy

Use of GemFind Diamond Link (including the optional Camweara try-on integration)
is governed by GemFind Terms of Service. Camweara is operated by Modaka Technologies;
data handling for the try-on iframe is described in Camweara’s privacy policy. Modaka
Technologies does not publish a separate public Terms of Service URL for Camweara—
merchant contractual terms are provided when subscribing to Camweara (contact info@modakatech.
com).

#### 7. Optional: GemFind support notification (off by default)

 * **What it is and what it’s used for.** Optional email copy of the merchant registration
   form to addresses the site owner configures.
 * **What data is sent and when.** If enabled via the `gemfindDL_share_registration_with_support`
   option and the `gemfindDL_support_registration_recipients` filter, the merchant’s
   name, email, phone, and shop domain are emailed to the configured recipient addresses
   when the registration form is submitted. **Disabled by default** — no data is
   sent unless the site owner explicitly enables this.
 * **Terms of service.** https://gemfind.com/pages/terms-of-service
 * **Privacy policy.** https://gemfind.com/pages/privacy-policy

#### 8. Optional: Remote SMTP settings API (off by default)

 * **What it is and what it’s used for.** Optional sync of SMTP mail settings from
   a merchant-configured remote HTTP API into the plugin database. Used only when`
   GEMFINDDL_REMOTE_FORM_API_URL` is defined in `wp-config.php` or the `gemfindDL_remote_form_api_base`
   filter returns a base URL. No remote URL is hardcoded or called by default.
 * **What data is sent and when.** The site’s shop domain is sent to the configured
   remote API endpoint to retrieve SMTP host, port, credentials, and from-address
   settings. This happens only when an administrator triggers SMTP sync or the plugin
   attempts to load remote SMTP config. **Disabled by default** — no data leaves
   the site unless the merchant explicitly configures a remote API URL.
 * **Terms of service.** Not applicable when disabled (default). When enabled, governed
   by the merchant’s chosen remote API provider.
 * **Privacy policy.** Not applicable when disabled (default). When enabled, governed
   by the merchant’s chosen remote API provider.

#### 9. Optional: Social share links (pinterest.com, twitter.com — user-initiated)

 * **What it is and what it’s used for.** Optional share icons on diamond detail
   pages. When a visitor clicks a share icon, the browser opens a Pinterest or Twitter/
   X share URL with the current page address. No SDK is loaded and no request is
   made until the visitor clicks.
 * **What data is sent and when.** Only the current page URL is passed in the share
   link when the visitor clicks Pinterest or Twitter/X share. No visitor name, email,
   or form data is sent by the plugin.
 * **Terms of service (Pinterest).** https://policy.pinterest.com/en/terms-of-service
 * **Privacy policy (Pinterest).** https://policy.pinterest.com/en/privacy-policy
 * **Terms of service (Twitter/X).** https://twitter.com/en/tos
 * **Privacy policy (Twitter/X).** https://twitter.com/en/privacy

### Privacy policy

Sites using this plugin should disclose in their privacy policy that:

 * Visitor diamond search and inventory requests are processed through the JewelCloud
   API (`api.jewelcloud.com`), operated by GemFind Digital Solutions.
 * When a visitor views a diamond detail page, the storefront may request the visitor’s
   public IP from Geolocation DB (`geolocation-db.com`) and send a tracking ping
   to JewelCloud (`platform.jewelcloud.com`) with dealer ID, diamond ID, site URL,
   and IP address.
 * Email addresses and messages submitted through Drop a Hint, Email a Friend, Schedule
   a Viewing, or Request More Info are sent to the jeweler’s configured admin email
   address using either the WordPress mailer or the SMTP credentials saved in the
   plugin.
 * If the merchant configures a reCAPTCHA Site Key, Google reCAPTCHA collects browser
   and device signals on protected forms.
 * If the merchant enables Facebook Like, Meta/Facebook may collect data per their
   policies when the Like widget loads.
 * If visitors use social share icons, Pinterest or Twitter/X may receive the page
   URL per their policies (see “External services” #9 above).
 * If the merchant enables virtual try-on, Camweara (`cdn.camweara.com`) loads in
   an iframe with product identifiers in the URL.
 * If the merchant opts in to support notifications (see “External services” #7 
   above), customer name, email, phone, shop domain and site URL are emailed to 
   the configured recipients.
 * If the merchant configures a remote SMTP settings API (see “External services”#
   8 above), the shop domain is sent to that remote service to retrieve mail settings.
 * Completing the in-plugin merchant registration form can optionally email the 
   WordPress site administrator (off by default; enable with the `gemfindDL_send_installer_registration_thank_you`
   filter).
 * WooCommerce, if used, applies its own checkout and customer data policies.

## Installation

 1. Upload the plugin folder to `/wp-content/plugins/` or install the ZIP via **Plugins-
    > Add New -> Upload**.
 2. Activate **GemFind Diamond Link** through the **Plugins** menu.
 3. Go to **GemFind Diamond Link -> Settings** and enter your JewelCloud Account ID(
    Dealer ID) and admin email.
 4. Open the Diamond Link page (created on install) or add `[gemfindDL_diamond_link]`
    to a page using the **GemFind Diamond Tools (full width)** template if desired.
 5. Pre-built JavaScript bundles are included under `public/` (storefront) and `assets/
    build/` (admin). If you develop from source, run `npm run build` in the plugin 
    directory before deploying.

## FAQ

### Do I need a GemFind account?

Yes. Live diamond inventory is loaded from JewelCloud using your dealer credentials.
GemFind support provides your Account ID.

### Does this work without WooCommerce?

Yes. Browsing, filtering, email actions, and print work without WooCommerce. Add-
to-cart requires WooCommerce to be installed and active.

### What is the difference between v1 and v2?

v2 is the current Diamond Link experience (default). v1 is the classic UI for sites
that still rely on the older layout. Choose the default under **Settings -> Frontend
experience**, or override per page with the shortcode `version` attribute.

### What data is sent to external servers?

This plugin requires JewelCloud for live diamond inventory and optionally connects
to other third-party services (analytics, spam protection, social widgets, virtual
try-on). See the **External services** section below for what each service is used
for, what data is sent, when calls happen, and links to each provider’s terms of
service and privacy policy.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“GemFind Diamond Link” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ GemFind Digital Solutions ](https://profiles.wordpress.org/gemfind/)

[Translate “GemFind Diamond Link” into your language.](https://translate.wordpress.org/projects/wp-plugins/gemfind-diamond-link)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/gemfind-diamond-link/),
check out the [SVN repository](https://plugins.svn.wordpress.org/gemfind-diamond-link/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/gemfind-diamond-link/)
by [RSS](https://plugins.trac.wordpress.org/log/gemfind-diamond-link/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.3

 * WordPress.org review: completed External services documentation with verified
   Terms/Privacy links for JewelCloud, Geolocation DB, Facebook, Google reCAPTCHA,
   and Camweara.
 * Expanded JewelCloud API endpoint list and clarified GemFind as the legal operator
   of JewelCloud.
 * Added Geolocation DB terms and privacy policy links.
 * Documented optional support-notification email and optional remote SMTP sync (
   both off by default).
 * Camweara section: standard Terms/Privacy format with GemFind ToS and Camweara
   privacy policy links.
 * Documented optional Pinterest/Twitter share links (user-initiated) and clarified
   remote SMTP is off by default.

#### 1.0.2

 * WordPress.org review: documented all external services (JewelCloud API and tracking,
   Geolocation DB, Facebook SDK, Google reCAPTCHA, Camweara) with terms and privacy
   policy links.
 * Strengthened POST `/addToCart` REST permission checks (site-scoped shop/dealer
   validation, rate limiting, plus CSRF nonce).
 * Diamond tracking URLs use HTTPS for `platform.jewelcloud.com`.

#### 1.0.1

 * WordPress.org review compliance: removed all unconditional “Powered by” / site
   URL branding from customer-facing email templates.
 * Bundled v1 help images locally (color, carat, 360-view); no remote `dl2.gemfind.
   us` asset loading.
 * Included React/PHP source (`src/`) and `package.json` in the WordPress.org package
   with build instructions (Guideline 4).
 * Unique `gemfindDL_` / `GEMFINDDL_` prefixes with legacy aliases for existing 
   installs.
 * Fixed GemFind privacy/terms links in readme (privacy policy URL verified; terms
   link uses gemfind.com).

#### 1.0.0

 * Initial 1.0.0 release for WordPress.org Plugin Directory.
 * Printable diamond view loads CSS via `wp_enqueue_style()` / `wp_print_styles()`(
   Plugin Check compliant).
 * Admin settings persistence fix (REST nonce middleware for standalone admin bundle).

## Meta

 *  Version **1.0.3**
 *  Last updated **15 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.3 or higher **
 *  Tested up to **7.0**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [diamonds](https://wordpress.org/plugins/tags/diamonds/)[ecommerce](https://wordpress.org/plugins/tags/ecommerce/)
   [Jewelry](https://wordpress.org/plugins/tags/jewelry/)[search](https://wordpress.org/plugins/tags/search/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/gemfind-diamond-link/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/gemfind-diamond-link/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/gemfind-diamond-link/reviews/)

## Contributors

 *   [ GemFind Digital Solutions ](https://profiles.wordpress.org/gemfind/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/gemfind-diamond-link/)