Flxpoint Help Center
All DocsContact support

Shift4Shop as a Channel

July 2, 2026

Summary

Connect your Shift4Shop store to Flxpoint with a Token and Private Key generated from a REST API app in your Shift4Shop admin, plus your store's HTTPS Secure URL. Publish and sync listings, pull orders, and write tracking back to Shift4Shop; product image uploads use a separate FTP connection, and Import Listings is not supported.

Sync & Link Listings
Keeps price, quantity and status in sync between Flxpoint and Shift4Shop, and links Flxpoint listings to existing Shift4Shop products by SKU
Publish Listings
Creates and updates product listings on Shift4Shop from Flxpoint, including variants, categories and (via FTP) images
Get Orders
Imports new Shift4Shop orders into Flxpoint, filtered by order status
Sync Orders
Writes shipment tracking and shipping details back to the matching Shift4Shop order

On the Flxpoint Connect Channel screen, enter a Connection Name, then paste the values from the REST API app you created in your Shift4Shop admin. Click Test Connection, then Save Connection.

TokenRequired
Generated in your Shift4Shop admin under Modules → REST API → Settings. Click Add to create an API app (name it "Flxpoint"), grant permissions for Products, Categories, Orders, Customers, Brands, and Images/Files, then save/authorize — the page then displays your Token.
Shift4Shop admin login
Private KeyRequired
Displayed alongside the Token when you create and authorize the REST API app. Treat it like a password — don't share it publicly.
Provided by your own Shift4Shop app setup, not by Flxpoint.
Secure URLRequired
Your public storefront URL over HTTPS (e.g., https://yourstore.com/) — the same URL customers use to browse your store.
Do NOT use your admin login URL here, or authentication will fail.
Image FTP (Server, Protocol, Username, Password, Subfolder, Port)Optional
Only needed if you publish product images. Shift4Shop receives images over FTP, not its REST API. Enter Image FTP Server (e.g., ftp2.3dcartstores.com), Protocol (typically Implicit FTPS), Username, Password, Subfolder (e.g., /web/assets/images/) and Port (typically 22) in the Publish Listings settings.
Find these in your Shift4Shop welcome email or hosting settings; verify them in an FTP client if images fail to upload.
Getting a 401 or 403 on Test Connection? A 401 means the Token or Private Key is incorrect — regenerate the API app credentials. A 403 means the API app is missing permissions — re-check Products, Categories, Orders, Customers, Brands and Images/Files. Also confirm you entered your storefront Secure URL, not the admin login URL.

Use your storefront Secure URL, not your admin login URL

The Secure URL field requires your public-facing storefront URL with HTTPS (e.g., https://yourstore.com/) — the same URL customers use. Using your Shift4Shop admin login URL instead will cause authentication errors.

Image uploads during Publish require FTP — separate from the API connection

Shift4Shop uses FTP to receive product images, not its REST API. Publish Listings will create product records without images if FTP is not configured. Enter a separate FTP server, username, password, subfolder path, port and protocol (typically Implicit FTPS) in Flxpoint's Publish Listings settings to upload images.

Distributors must already exist in Shift4Shop before mapping them in Publish

The Distributor field passes a distributor name; on publish the system looks up the matching Distributor ID in your store. If the name doesn't exist under Admin → Catalog → Distributors, the publish job fails with a "distributor not found" error. Distributors are not auto-created by Flxpoint.

Required mapping fields differ by job

For Sync & Link Listings, map SKU, Stock and Price. For Publish Listings, map SKU, Title and Price. For Get Orders, map Item SKU (there is no separate "External Order Number" mapping in Get Orders). For Sync Orders, map Shipment Tracking Code. Jobs with these unmapped fail with a missing-required-field error.


Shift4Shop FieldMaps To – Notes
SKUListing Variant SKU. Must be mapped — it's the linking key that matches Flxpoint listings to Shift4Shop products.
StockQuantity. Required. Updates the on-hand stock level in Flxpoint.
PriceList Price. Required. The product's selling price.
CostEstimated Cost. Optional. Tracks product cost.
Retail PriceMSRP. Optional. Suggested retail price.
Sale PriceList Price. Optional. Discounted price when on sale.
Price 2–5Not mapped by default. Optional tiered-pricing fields — leave unmapped unless you use them.
Syncs simple products and variants. Hiding a variant sets it to "Out of Stock"/"Currently Unavailable" on Shift4Shop; Delist removes the product from the store (re-run a publish/sync job to restore it). Exceeding Shift4Shop's API rate limit pauses the integration and triggers a notification.
Shift4Shop FieldMaps To – Notes
SKUSKU. Required. Uniquely identifies the product.
TitleTitle. Required. The product title.
PriceList Price. Required. Selling price.
Retail PriceMSRP. Optional. Suggested retail price.
Sale PriceList Price. Optional. Discounted price.
StockQuantity. Optional. Stock level.
DescriptionDescription. Optional. Product details.
ManufacturerBrand. Optional.
DistributorDistributor. Optional. Passes the distributor name; the system resolves the Distributor ID in your store and errors if it doesn't exist (no auto-create). Rules can set it by supplier/source.
UPC / GTINUPC / GTIN. Optional. Product identifiers.
Weight / Length / Width / HeightWeight / Length / Width / Height. Optional. Dimensions.
Category 1–3Category 1–3. Optional. Assigns store categories.
All ImagesImage. Optional. Uploaded via FTP (not the REST API) — FTP must be configured or products publish without images.
All Options / AttributesOption / Attribute. Optional. Variant options (e.g., Size: M) and product features (e.g., Material: Cotton).
Overwrite updates already-published variants (title, description, categories, MPN, UPC, GTIN, images). Flxpoint cannot delete listings on Shift4Shop — deletions must be done in the store.
Shift4Shop FieldMaps To – Notes
Invoice NumberExternal Order Number. Required. Uniquely identifies the order.
Catalog IDItem SKU. Required. Identifies each ordered item.
Order Amount / Order DateOrder Amount / Order Date. Optional. Total value and date placed.
Billing First/Last Name, Company, Email, PhoneFirst Name / Last Name / Company / Email / Phone. Optional billing contact.
Billing Address / Address 2 / City / State / Zip / CountryAddress Line 1/2, City, State, Postal Code, Country. Optional billing address.
Shipment First/Last Name, Address 1/2, City, State, Zip, Country→ ship-to name and address fields. Optional.
Shipment Method Name / Shipment CostShipping Method / Shipping Cost. Optional.
Item Unit Price / Item Unit Cost / Item QuantityItem Price / Item Cost / Item Quantity. Optional line-item detail.
Item Description / Item Weight / Item IDItem Description / Item Weight / External Item ID. Optional.
Filter which orders import with the Order Status setting (e.g., "New", "Processing", "Shipped") — the status must match Shift4Shop exactly. A PII Retention setting (Indefinitely / 30 or 90 Days After Shipment) controls how long customer data is kept before redaction.
Shift4Shop FieldMaps To – Notes
Shipment Tracking CodeTracking Number. Required. Writes Flxpoint's tracking number back onto the matching Shift4Shop order.
Shipment Method NameMethod. Optional. The shipping method (e.g., UPS) must already exist under Settings → Shipping → Shipping Methods in Shift4Shop.
Shipment address fields (Address 1/2, City, State, Zip, Country, Company, Email, Phone, Name)Optional. Update ship-to details on the order when needed.
Sync Orders pushes tracking/shipment updates to Shift4Shop — it does not create orders. Set up your Shift4Shop shipping methods first so carrier/method names map correctly.

"401 Unauthorized" or "403 Forbidden" on the connection test
A 401 means the Token or Private Key is incorrect — regenerate the API app credentials in Shift4Shop and update them in Flxpoint. A 403 means the app lacks permissions — go to Modules → REST API → Settings and confirm it has Products, Categories, Orders, Customers, Brands and Images/Files. Also confirm you used your storefront Secure URL (e.g., https://yourstore.com/), not the admin login URL.
Product images missing after Publish (FTP uploaded a temp file instead of the image)
This is a known FTP upload issue. Verify all FTP settings: server address, protocol (Implicit FTPS), username, password, subfolder path and port. Confirm the credentials work by testing them in an FTP client like FileZilla. If they're correct and the temp-file behavior persists, raise a support ticket with example SKUs and the FTP error from the job logs — it may be a platform-level bug.
"Publish error: Distributor not found in Shift4Shop store"
The Distributor name in your Publish Listings mapping doesn't match any distributor in your store. Go to Admin → Catalog → Distributors in Shift4Shop and confirm the distributor exists and the name matches exactly — including capitalization and spacing. Distributors are not auto-created; add it first, then re-run publish.
Orders imported into Flxpoint but not appearing/updating in Shift4Shop
Get Orders pulls orders from Shift4Shop into Flxpoint — it does not push orders back. Orders originate in Shift4Shop; tracking/shipment data is returned via Sync Orders. If tracking isn't showing on Shift4Shop orders, confirm the Sync Orders job has run and that Shipment Tracking Code is mapped in its template.
Publish fails — unable to publish listings to Shift4Shop
Work through it in order: run Test Connection; confirm SKU, Title and Price are mapped; then read the job logs. A distributor error means the distributor must be added to Shift4Shop first; an FTP error means image-upload credentials are wrong or FTP isn't configured; an API error usually means the REST API app is missing permissions (check Products and Images/Files).
Sync Listings not updating price or stock in Shift4Shop
First confirm the listing is linked — Sync Listings can't update an unlinked listing. If linked, verify SKU, Stock and Price are mapped in the template. Check the logs for API rate-limit errors (they pause the integration). If none of these apply, review the job's last-run timestamp to confirm it's still running on schedule.

How do I generate the Token and Private Key needed to connect Shift4Shop?
In your Shift4Shop admin, go to Modules and search for REST API. Open Settings and click Add to create a new API app — name it something like "Flxpoint." Grant it permissions for Products, Categories, Orders, Customers, Brands and Images/Files. Save and authorize — the page then displays your Token and Private Key. Treat the Private Key like a password. Paste both, along with your Secure URL, into the Flxpoint channel setup form.
Does the Shift4Shop REST API module ask for a "public key" from Flxpoint before I can proceed?
Some versions of the REST API module show a prompt asking for a public key. This refers to your own store's app-setup step, not a key provided by Flxpoint — you generate the Token and Private Key yourself within your Shift4Shop admin when you create the API app. You do not need a key from Flxpoint to proceed. Contact Flxpoint support if you're unsure which step is blocking you.
What FTP credentials do I need and where do I find them?
Shift4Shop provides FTP credentials when you sign up or in your store's hosting settings. You need: Image FTP Server (typically ftp2.3dcartstores.com), Protocol (typically Implicit FTPS), Username, Password, Subfolder (typically /web/assets/images/) and Port (typically 22). Check the welcome email from Shift4Shop or contact their support, then enter them in Flxpoint under the Publish Listings configuration settings.
Can Flxpoint delete product listings from Shift4Shop?
No — Flxpoint cannot delete listings from Shift4Shop. The Delist operation marks a product inactive or removes the link within Flxpoint, but the record remains in your Shift4Shop store and must be deleted directly from the Shift4Shop admin. To hide rather than delete, use the Hide variant option in Sync Listings to set it to Out of Stock or Currently Unavailable. Note that this channel does not support Delist as a feature that removes store listings from Flxpoint's own records – it only changes the listing's status as described above.
How does Get Orders filter which orders are imported?
Get Orders filters by the Order Status values you select in settings — for example, "New" or "Processing." Only orders matching the selected statuses import into Flxpoint. If expected orders aren't appearing, confirm the order status in Shift4Shop matches one of your selected filters exactly — Shift4Shop uses labels like "New," "Processing," and "Shipped."
© 2026 Flxpoint. All rights reserved.