Concierge works with all of Zest's supported ecommerce platforms: Shopify, Magento, BigCommerce, Commerce 7, and Salesforce Commerce Cloud. If your store is on a different platform, there's a quick and easy path to get you up and running.
This article covers everything you need to know about connecting Concierge to a non-Shopify platform, from initial setup to day-to-day operations.
Platform Compatibility
Zest Concierge works with the following ecommerce platforms. All plan tiers are supported.
Platform | Concierge Support |
Shopify | Native integration — all plans |
Magento | Native integration |
BigCommerce | Native integration |
Commerce 7 | Native integration |
Salesforce Commerce Cloud | Native integration |
WooCommerce | Contact your Zest CSM |
Squarespace | Contact your Zest CSM |
Wix | Contact your Zest CSM |
Custom stack | Contact your Zest CSM |
What If My Platform Isn't Supported?
If your store is on a platform Zest doesn't natively support — like WooCommerce, Squarespace, Wix, or a fully custom tech stack — reach out to the Zest team for integration steps.
Magento Integration
How orders are created
Zest creates orders in Magento via the standard Magento REST API. Each order arrives with a Pending Zest status, which you can customize — for example, to Processing - Admin — to distinguish Zest orders from regular web orders in your reports and fulfillment rules.
Note: If your Magento store uses a custom checkout implementation (such as Hyva), additional configuration may be needed during setup. Flag this with your Zest success manager early in the onboarding process so it can be addressed before go-live.
Data Zest passes with each order
Zest populates all standard Magento order fields, including:
Product line items with unit prices, subtotals, taxes, and discounts.
Gift message and recipient shipping information.
Scheduled delivery date (when applicable).
Custom order attributes — such as order channel and order reference number — for filtering in reports and routing orders to the right fulfillment workflow.
When a Concierge order is fully discounted, Zest always populates line item totals with the pre-discount price to ensure downstream systems (such as SAP or your ERP) calculate correctly.
If your Magento instance uses Amasty or other third-party order attribute extensions, Zest writes those attributes in a separate step after order creation. If orders ever get stuck following a Magento platform update, contact your success manager — this is usually resolved quickly.
Scheduled delivery dates
Scheduled delivery dates are stored in the appropriate Magento order attribute so they flow through your existing ERP and fulfillment workflows without any additional configuration.
Identifying Zest orders in Magento
Field | Value |
Order channel attribute |
|
Order reference attribute | Zest order number |
Payment method | Zest Payment |
Assigning a custom order status (such as Processing - Admin) to Zest orders makes it easy to filter them in reports and set up separate fulfillment rules.
Performance and sync timing
Order syncs typically complete within about 5 minutes. Zest doesn't use a static IP address, so no firewall allowlisting is required on your side.
What happens if orders fail to sync?
If the API connection drops or orders fail to push, Zest retries automatically at increasing intervals. Most temporary issues — like a platform maintenance window — resolve without any manual action. If orders remain stuck in Pending Zest status after the underlying issue is resolved, contact your success manager.
What to know before a Magento upgrade
Your Magento API credentials added to Zest remain intact during a version update, so no Zest reconfiguration is needed. That said, custom integrations (such as order attribute writing) can occasionally be affected by a Magento-side deploy. Verify gifting functionality after any platform updates and report any issues to your success manager promptly.
BigCommerce Integration
API permissions to set up
When generating your BigCommerce API credentials for Zest, grant the following permissions:
Permission | Required Level |
Fulfillment Methods | Read-Only |
Store Inventory | Read-Only |
Order Fulfillment | Read-Only |
Customers | Modify |
Orders | Modify |
Products | Read-Only |
Order Transactions | Modify |
Tip: Set permissions to Modify wherever the option is available, even if Zest doesn't currently use full write access for that scope. This avoids needing to update credentials and reconnect later as features expand.
Create separate API credentials for your sandbox and production environments.
What data Zest passes with each order
Zest populates the following fields when creating orders in BigCommerce:
External Merchant ID: Always set to
Zest— this is the primary way to identify Zest orders in BigCommerce.External ID: Set to the Zest order number for easy lookup and reconciliation.
Payment method: Populated with the credit card processor and PSP reference number.
Customer details: Name, billing address, and shipping address.
Gift messages and ship dates: Passed as product-level modifiers on each item (not as order-level attributes). Gift messages are applied to every item in the order.
Fees: Tax and additional fees are passed as fee line items rather than as products.
BigCommerce's API restricts writing to the Payment Status field — this is a BigCommerce platform limitation, not a Zest limitation. Zest cannot populate this field regardless of API permissions.
If another system (such as NetSuite) also writes to BigCommerce's External Order ID field after an order is created, Zest may need to use an alternative field to store the Zest order ID. Contact your success manager if this applies to your setup.
Handling out-of-stock products
BigCommerce blocks order creation when a product is out of stock with the message: "Quantities of one or more products are out of stock or did not meet quantity requirements." Zest cannot bypass this check. To unblock affected orders:
Update inventory directly in BigCommerce for the affected products.
Zest will push the orders through once inventory is available.
Hiding a product's visibility in BigCommerce does not affect Zest's ability to create orders. Only actual inventory availability matters.
BigCommerce has a separate Purchasable flag on product variants that controls whether a variant can be ordered, independently of inventory count. This is sometimes used for limited-time or made-to-order items. If a variant's Purchasable flag is turned off, Zest cannot create orders for it even if inventory shows as available. Update this flag directly in BigCommerce to unblock.
Identifying Zest orders in BigCommerce
Field | Value |
External Merchant ID |
|
External ID | Zest order number |
Staff Notes |
|
Why some products may not import correctly
Variants without prices: Inactive variants that can't be deleted but have no price assigned will fail to import. Zest ignores these automatically — no action needed on your end.
Deleted product images: BigCommerce's REST API can return previously deleted images. Zest uses BigCommerce's GraphQL API for image data specifically to avoid this, so your Zest storefront will only show active, current images.
Performance and sync timing
BigCommerce enterprise plans have no practical rate limits for Zest's usage. BigCommerce uses real-time webhooks, so order status and inventory updates are reflected quickly.
Salesforce Commerce Cloud Integration
How it works
Zest uses the Salesforce Commerce APIs (SCAPI) to create and manage orders. Each Zest environment connects to one Salesforce Commerce Cloud environment at a time — a one-to-one relationship — so sandbox and production stay cleanly separated.
Setting up a dedicated site for Zest orders
You can configure a dedicated Site ID in your Salesforce Commerce Cloud instance exclusively for Zest orders. Every order in that site is a Zest order — no additional filtering or custom attributes are needed for reporting or downstream workflows.
Custom attributes for order tracking
Zest can pass custom order attributes (such as the Zest order number and order type) to help you distinguish Concierge orders from other order sources in your reporting.
Order sync timing
Zest polls Salesforce Commerce Cloud for order updates rather than receiving webhooks. For most gifting volumes this is seamless, but for high-volume campaigns with 1,000+ orders, allow up to approximately 15 minutes for all orders to sync.
Sandbox and production setup
Each Zest environment maps one-to-one with a Salesforce Commerce Cloud environment. To switch from a development to staging environment, update the Instance ID and Organization ID while keeping the same API credentials.
Commerce 7 Integration
How it works
Zest connects to Commerce 7 via credentials set up during onboarding. Your Zest success manager handles all data formatting and field mapping to match Commerce 7's requirements — no technical configuration is needed on your end.
How multi-recipient corporate orders work
When a Concierge order includes multiple recipients, Zest automatically injects individual Child Orders into Commerce 7 — one per shipping address — with the gifter as the customer on each. These orders flow through your existing downstream integrations (ERP, warehouse, ShipCompliant, and others) without any additional setup.
Identifying Zest orders in Commerce 7
Each order receives a note containing the Zest order number and invite number for easy reconciliation.
Sandbox and Production Setup
Setting up two separate Zest environments is strongly recommended before going live.
Create a Zest account connected to your sandbox or development environment.
Create a separate Zest account for production.
Connect and test thoroughly in sandbox — run test orders end to end.
Replicate the setup in production and complete a final round of abbreviated testing before launching.
Tip for BigCommerce: Create separate API credentials in BigCommerce for sandbox and production to keep environments cleanly isolated.
Tip for Salesforce Commerce Cloud: Each Zest environment connects one-to-one with an SFCC environment. Use the same API credentials across environments and only swap the Instance ID and Organization ID in the URL when transitioning between dev, staging, and production.
Migrating From Another Platform to Shopify
If you're moving your ecommerce platform to Shopify while already using Zest, there's no need to rush the migration — and no additional Zest migration fees apply.
Connect your new Shopify account to your existing Zest sandbox environment for testing.
Run end-to-end test orders to confirm everything works correctly.
Pick a low-traffic window for the live cutover.
Remove the old platform integration in Zest.
Connect Shopify using the Zest integration guide.
Import your products into the new Shopify-connected Zest environment.
Expected downtime during cutover: approximately 1–2 hours.
Your existing Zest instance — including all historical orders, gift links, and collateral — is preserved. The switchover date does not need to coincide with your Shopify store go-live date; you can plan them independently.
Troubleshooting
Orders are failing to sync
If the API connection drops or an order fails to push, Zest retries automatically at increasing intervals. Most temporary issues resolve themselves without manual action. If orders remain stuck after the underlying issue is resolved, contact your success manager — they can review and unblock specific orders.
Products are not importing correctly
BigCommerce: Check that all active variants have prices assigned. Variants without prices are skipped automatically.
Magento: Product descriptions are imported as-is, including any HTML markup. If descriptions look incorrect in Zest, clean them up directly in Magento.
Salesforce Commerce Cloud: Product search works by product name/title, not by SKU. Make sure product titles are consistent between your platform and Zest.
Will this integration affect my website performance?
No. Zest operates entirely in the background and is not in the path of your website or checkout. Order and product data are synced asynchronously. Zest doesn't use a static IP address, so no firewall changes are needed on your side.
