Zest's corporate gifting storefronts work natively with Magento, BigCommerce, Commerce7, and Salesforce Commerce Cloud, in addition to Shopify. This means you can connect your existing ecommerce backend to power product sync, order injection, and fulfillment tracking without rebuilding your tech stack.
If a platform you're considering moving to isn't natively supported, reach out to your Zest success manager to learn how we can offer support in your transition to another ecommerce platform.
Before you begin, make sure you have the following in place:
Admin access to your ecommerce platform to generate API credentials.
A Zest sandbox account for testing before going live in production.
Separate API credentials created for sandbox and production environments.
Alignment with your dev team on any custom platform configurations (custom checkouts, ERP connections, etc.) that could affect order creation.
Supported Platforms at a Glance
Zest has native integrations with the following platforms for corporate gifting:
Shopify (any plan)
Magento
BigCommerce
Commerce7 (primarily wine and beverage brands)
Salesforce Commerce Cloud
If your brand runs on an unsupported platform, you can use a lightweight Shopify instance as a middleware backend. See the Shopify-as-middleware section below.
Platform-Specific Setup
Magento
To connect Zest to Magento, provide your API credentials during onboarding. Zest uses the POST /V1/orders endpoint to inject orders and writes custom attributes via Amasty in a separate API call, including channel and channel_reference fields.
To differentiate Zest orders from standard web orders, Zest initially creates orders with a custom pending_zest status. Once Amasty attributes are written successfully, the order transitions to pending. You can use these statuses to filter orders in reports and create separate fulfillment rules.
A few things to keep in mind:
Product descriptions are pulled directly from Magento, so any HTML or formatting issues in the source will appear in your storefront.
Custom checkout extensions may require non-standard fields that can block order creation. Flag any custom checkout implementations early in your integration process.
After any Magento version update or platform deployment, verify that the Amasty attribute writing step is still functioning. Amasty's internal database ID handling is known to be fragile and deploys can occasionally break the attribute writing step.
BigCommerce
To connect Zest to BigCommerce, create an API credential set with the following permissions:
Fulfillment Methods — Read-Only
Store Inventory — Read-Only
Order Fulfillment — Read-Only
Customers — Modify
Orders — Modify
Products — Read-Only
Order Transactions — Modify
Setting permissions to Modify wherever offered will prevent you from needing to update credentials later.
When Zest creates orders in BigCommerce, it sets external_id to the Zest order number, sets external_merchant_id to "Zest," and passes tax and fees as fee line items rather than as products. Depending on your brand's configuration, gift messages and ship dates may be passed as product modifiers at the item level.
A few important limitations to be aware of:
BigCommerce blocks order creation when products are out of stock. There is no way to bypass inventory checks from Zest's side — you'll need to update inventory directly in BigCommerce before Zest can push the order through. Hiding product visibility does not affect Zest's ability to create orders.
BigCommerce's Payment Status field cannot be written to via API. This is a platform restriction, not a Zest limitation.
BigCommerce has a separate
purchasing_disabledflag on variants that controls availability independently of inventory count. Make sure this flag is not enabled on any products you want available in your storefront.
Commerce7
Zest connects to Commerce7 using shared app credentials configured during onboarding. Your Zest success manager will map data formatting to match Commerce7's requirements.
For multi-recipient corporate orders, Zest creates individual orders in Commerce7 — one per shipping address — using Commerce7's cart flow (create cart, add items, select shipping, and charge). These orders flow through your existing Commerce7 workflows automatically.
Salesforce Commerce Cloud
Zest integrates with Salesforce Commerce Cloud using the Salesforce Commerce APIs (SCAPI). The recommended setup is to configure a dedicated site ID in SFCC exclusively for Zest orders, which eliminates the need for additional filtering — every order in that site is a Zest order.
Zest polls for orders and products on a regular sync cycle rather than receiving webhooks, so large order volumes may take some time to fully sync. Each Zest environment connects one-to-one with a single SFCC environment.
For product bundles, Zest uses the bundled products endpoint with the master product and variant. Make sure your team can provide the exact mapping of SKUs to bundle ID and variant SKU combinations before going live.
Using Shopify as a Middleware Backend for Unsupported Platforms
If your brand is on a platform Zest doesn't natively support, you can still use Zest by connecting a lightweight Shopify backend as middleware. Here's how it works:
Spin up a basic Shopify plan and configure it with your gifting-specific products and inventory.
Connect this Shopify instance to your Zest sandbox account.
Run test orders to confirm product sync and order injection are working correctly.
Point the storefront to a subdomain so it runs independently from your main D2C site — no cart merging required.
Go live with the Shopify backend connected to your Zest production account.
Your main website stays on your existing platform. Zest reads product and inventory data from the Shopify backend and writes orders back to it. Setup typically takes about an hour.
Setting Up Sandbox and Production Environments
Always test in a sandbox environment before going live in production.
Create two separate Zest accounts — one for sandbox and one for production.
Connect your platform's dev or staging environment to the Zest sandbox account using separate API credentials.
Complete end-to-end test orders, including multi-recipient scenarios.
Replicate the configuration in your Zest production account using your production platform credentials.
Run a final round of production tests before directing live traffic.
For Salesforce Commerce Cloud specifically, you can switch between dev and staging environments by updating the Instance ID and Organization ID in the configuration.
Migrating Zest From Another Platform to Shopify
If you're moving from a non-Shopify platform and want to transition your Zest integration to Shopify, your existing Zest instance is preserved throughout the process — all historical orders, links, and collateral remain intact.
Connect your new Shopify account to your existing Zest sandbox for testing.
Conduct test orders to confirm the new setup is functioning correctly.
Pick a low-traffic date for the migration cutover.
Remove the old platform integration from Zest.
Connect Shopify using the Shopify Integration Guide within your Zest account.
Import your products into the Shopify-connected storefront.
Expected downtime is one to two hours. No additional migration fees apply, and the migration does not need to coincide with your Shopify go-live date.
Troubleshooting Common Integration Issues
Orders are stuck or failing to sync.
If the API connection drops, re-authorize the integration to generate a new access token. Failed orders are automatically retried by Zest's event infrastructure — once the underlying issue is resolved, stuck orders will be retried and pushed through.
Magento orders stuck in "pending_zest" status.
This typically means the channel and channel_reference Amasty order attributes were not written successfully. These are written in a separate API call after order creation, and Amasty's internal ID handling is known to be fragile. Contact Zest support to manually add missing fields and unblock stuck orders.
Products not importing correctly.
For BigCommerce, confirm the purchasing_disabled flag is not set on relevant variants — Zest treats these as unavailable. For Magento, review your product descriptions for HTML issues in the source. For Salesforce, note that product search works by name or product ID, not SKU.
BigCommerce out-of-stock errors blocking orders.
Update inventory directly in BigCommerce — Zest cannot bypass inventory checks. Once inventory is updated, Zest will push the order through.
Amasty attribute errors after a Magento deploy.
A platform-side deployment can break the Amasty attribute writing step. File a Magento dev ticket to investigate, and contact Zest support to manually add missing fields to unblock any stuck orders in the meantime.
