Flxpoint Help Center
All DocsContact support

XR Direct as a Source

August 4, 2026

Summary

XR Direct (also known as Sex Toy Distributing / STD) is a wholesale distributor of adult and lifestyle products. Unlike most sources, XR Direct uses three separate static feed URLs rather than an interactive Test Connection button. Get Inventory (Primary) downloads and merges all three feeds on every run: a Product XML feed (credentials embedded in the URL, pulled fresh every run), an Image XML feed (credentials embedded in the URL, cached 1 day), and an Inventory CSV feed (public, no credentials, cached 1 hour). Get Inventory (Secondary) uses only the public Inventory CSV for lightweight hourly quantity refreshes.

Get Inventory (Primary)
Merges the Product XML, Image XML and Inventory CSV feeds into a full catalog import.
Get Inventory (Secondary)
Hourly quantity-only refresh from the public Inventory CSV.

XR Direct is configured with three static feed URLs instead of the usual connection form, and there is no Test Connection button. Complete the Source Wizard (Vendor Warehouse recommended), then go to Integrations → Get Inventory [Primary] → Start Creating Integrations → XR Direct and enter the three URLs on the integration settings page. XR Direct provides all three when you sign up as a reseller.

Product Feed URLRequired
Product XML: the full catalog. Your XR Direct login and password are embedded in the URL path. Pulled fresh on every Get Inventory (Primary) run.
Image Feed URLRequired
Image XML: image URLs keyed by SKU. Credentials are embedded in the URL path. Cached for 1 day to avoid repeated downloads.
Inventory Feed URLRequired
Inventory CSV: SKU and QtyAvailable. Public, so it carries no credentials. Cached for 1 hour.
Order operations (Send Fulfillment Requests, Get Shipments) are not delivered through these feeds. Contact your Flxpoint account manager to confirm availability.

No Test Connection button: the integration validates the Product XML URL on the first run, not during setup

XR Direct does not use the standard interactive Test Connection flow. Instead, Flxpoint verifies the Product XML feed URL is reachable as the first step of every GIP run. Credential or URL issues will surface in the run logs, not during setup. Save the integration with the three feed URLs and run GIP manually for your first sync to confirm everything is working.

Feed URLs contain your login and password: treat them as secrets

The Product XML and Image XML feed URLs have your XR Direct login and password embedded directly in the URL path. Anyone with the URL has full read access to your catalog including pricing. Never paste these URLs in support tickets, screenshots, emails, or shared documents without redacting the credential portion. If a feed URL is exposed, contact XR Direct immediately to rotate it, then update the integration configuration.

MSRP fallback: if suggestedRetail is null or zero, MSRP = price × 1.4

GIP maps suggestedRetail as MSRP. If a variant's suggestedRetail is null or zero, MSRP is automatically calculated as price × 1.4. This is a built-in fallback, no separate rule needed. If you need accurate vendor-supplied MSRP on affected SKUs, contact XR Direct to populate suggestedRetail in their feed.

Variant detection: items where masterProductId does not equal model are variants; MPN truncated to 50 chars

XR Direct groups variants by masterProductId. Items where masterProductId differs from model are treated as variants of the parent; items where they match are standalone products. manufacturerCode (MPN) is hard-capped at 50 characters, longer values are truncated by design. Up to 4 option types per product: size, color, option, flavor.


FieldMaps To: Notes
masterProductIdParent SKU. Groups variants: items where masterProductId differs from model are variants of the parent; items where they match are standalone products.
modelVariant SKU.
titleTitle. Whitespace trimmed.
descriptionDescription. HTML tags stripped.
brandManufacturer. Title-cased.
primaryCategoryCategory Level 1. CamelCase converted to spaced words, for example AdultToys becomes Adult Toys.
categoryCategory Level 2. First semicolon-delimited value only.
priceCost.
suggestedRetailMSRP. Falls back to price × 1.4 when null or zero.
mapMAP.
weightWeight. No dimensions are supplied by this feed.
upcUPC.
manufacturerCodeMPN. Truncated to 50 characters.
activeStatus.
QtyAvailableQuantity. From the Inventory CSV, joined on ItemID to model.
FieldMaps To: Notes
ItemIDVariant SKU. Required. Joined to the SKU created by Get Inventory (Primary).
QtyAvailableQuantity. The only field this operation updates.
Full catalog fieldsNot included. Pricing, images and attributes refresh through Get Inventory (Primary) only.

GIP run fails with HTTP 401/403: credentials in Product or Image XML feed URL are invalid
An HTTP 401 or 403 error on the Product XML or Image XML feed means the credentials embedded in the feed URL are invalid or expired. Steps: (1) contact XR Direct support to get a fresh feed URL with valid credentials; (2) update the affected feed URL in your XR Direct integration configuration in Flxpoint; (3) re-run GIP manually to confirm the connection now succeeds. Do not share the URL in a support ticket, redact the credential portion first.
"No items found in product file": feed URL is correct but returning empty
XR Direct returns an empty Product XML feed when credentials are invalid, the response is technically a 200 OK but contains zero products. If GIP succeeds but imports nothing: (1) open the Product XML feed URL in a browser, if it loads with no items the URL is likely wrong or the account is inactive; (2) verify with XR Direct that your account is active and API-enabled; (3) confirm the URL includes the correct credentials for your specific reseller account.
JAXB XML parsing failure: unescaped & characters in the feed
XR Direct's Product XML occasionally contains unescaped & characters outside CDATA blocks, which break standard XML parsers. Flxpoint's integration automatically applies a CDATA-aware regex fix and retries. No action is needed on your end unless the retry also fails. If parsing still fails after the auto-retry, the feed itself may be corrupt at the time of the run, re-trigger the run after a few hours or contact XR Direct support to verify the feed file is intact.

How do I set up XR Direct and where do I get the feed URLs?
Complete the Source Wizard (Vendor Warehouse recommended). Go to Integrations → Get Inventory [Primary] → Start Creating Integrations → XR Direct. On the integration settings page, enter the three feed URLs: Product Feed URL (Product XML, credentials embedded), Image Feed URL (Image XML, credentials embedded), and Inventory Feed URL (public Inventory CSV, no credentials). XR Direct (also known as Sex Toy Distributing / STD) provides all three URLs when you sign up as a reseller. If your credentials change, update the affected feed URL or URLs in the integration settings and re-run GIP.
What does each feed contribute to GIP and how often is each cached?
Three feeds, three roles: Product XML, the full catalog (titles, descriptions, variants, pricing, brand, categories, attributes), pulled fresh on every GIP run, not cached; Image XML, image URLs keyed by SKU, cached for 1 day to reduce repeated downloads; Inventory CSV, SKU and QtyAvailable, cached for 1 hour. GIP merges all three into a single product record per run and saves in batches of 500. GIS uses only the Inventory CSV for hourly quantity-only refreshes (no pricing, images, or attributes).
What field mappings does GIP use from the Product XML?
Product-level: masterProductId → Parent SKU; title → Title (whitespace trimmed); description → Description (HTML tags stripped); brand → Manufacturer (title-cased); primaryCategory → Category Level 1 (CamelCase converted to spaced words, e.g. AdultToys becomes Adult Toys); category → Category Level 2 (first semicolon-delimited value only). Variant-level: model → Variant SKU; price → Cost; suggestedRetail → MSRP (fallback: price × 1.4 if null or zero); map → MAP; weight → Weight (no dimensions); upc → UPC; manufacturerCode → MPN (truncated to 50 chars); active → Status. Inventory: QtyAvailable → Quantity (joined on ItemID to model).
What is the Copy Variant Images setting in GIP?
The Copy Variant Images setting in GIP Configure Settings controls how shared images are handled: if set to true, every variant retains its own separate image set; if set to false (default), images that are shared across all variants of a parent are promoted to the product level and not duplicated per variant. Use the default (false) for most setups, it keeps your catalog cleaner and avoids redundant image storage per variant.
© 2026 Flxpoint. All rights reserved.