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.

FieldWhat to enter
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.


Keeps price, quantity and status in sync between Flxpoint and Shift4Shop, and links Flxpoint listings to existing Shift4Shop products by SKU

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.

Creates and updates product listings on Shift4Shop from Flxpoint, including variants, categories and (via FTP) images

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.

Imports new Shift4Shop orders into Flxpoint, filtered by order status

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.

Writes shipment tracking and shipping details back to the matching Shift4Shop order

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.
Image upload fails with SFTP/FTP connection or transfer errors?
This usually indicates the target Shift4Shop server has hit its storage quota (disk full) or the connection is dropping mid-upload. Verify your FTP disk space usage in your hosting provider's dashboard. If space is low, you must manually clean up old or unassigned images from the Shift4Shop FTP directories to free up room for new uploads. If space is available but errors persist, check for network stability or compression errors in your FTP client.
Images not appearing on the store despite a successful FTP upload?
This can be caused by platform-level caching or the image being overwritten on the server but not refreshing in the store UI. Confirm the image file exists in the correct subfolder via an FTP client like FileZilla. If you are republishing products to fix image issues, coordinate with support to provide specific SKUs for targeted overwrite operations to ensure the store recognizes the updated files without consuming extra disk space.
Product images missing after Publish (FTP uploaded a temp file instead of the image)
This is a known FTP upload issue where temporary file artifacts are created instead of JPEG files. To resolve this, run an overwrite job for the affected SKUs to trigger a re-upload of the images. Verify the Updated On timestamp to ensure the job executed recently, and confirm the images appear on both the FTP server URLs and the Shift4Shop storefront. If the issue persists, provide example SKUs to support for further investigation.

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."

Image upload workflow

When publishing listings to Shift4Shop, Flxpoint uses FTP or SFTP to transfer product images. This process can be configured to overwrite existing images to maintain a clean directory and minimize storage usage. You can schedule image overwrite jobs and monitor their progress through the channel integration logs.

Common upload failures

Failed to perform SFTP file transfer

This error typically indicates an interruption in the communication between Flxpoint and the Shift4Shop server. Common causes include:

  • Disk space quota exceeded: The target FTP server has reached its storage limit, preventing new files from being written.

  • Dropped connections: The network connection timed out or was closed by the server mid-upload.

  • Compression errors: Data corruption occurring during the stream compression process.

Storage management and cleanup

To prevent storage exhaustion on your Shift4Shop server, it is important to periodically clean up images that are no longer linked to active products. This often occurs when sources are removed or products are deleted, but the physical image files remain on the FTP server.

Note: If you are republishing a large number of products, coordinate with support to identify specific SKUs for targeted overwrite operations. This ensures existing files are replaced rather than creating duplicates that consume additional space.

Troubleshooting missing images

Images are on FTP but not appearing in the store?

If the logs confirm a successful upload and you can see the file on the FTP server but it does not appear on the Shift4Shop storefront, the issue is likely related to the Shift4Shop internal cache. In these cases, the file transfer was successful, and the storefront requires a refresh or cache clear to recognize the new assets.

How do I verify a successful transfer?

Check the publishing logs for the specific Channel Sync job. Flxpoint uses enhanced logging for image transfers to provide detailed diagnostic information if a file fails to move to the destination directory.

© 2026 Flxpoint. All rights reserved.