Description
Bagisto Shopify Connector is a Bagisto extension that pulls products from Shopify stores and keeps inventory aligned in both directions.
An admin or seller adds a store with its shop URL, client ID, and client secret. The connector reads it through the Shopify GraphQL Admin API.
Products arrive as simple, virtual, or configurable items, and variant images come along with them.
Field mapping, import chunk size, the daily import cap, and inventory sync are all set in configuration.
The connector supports Bagisto v2.5.0 and needs the Marketplace package. It runs on MySQL or PostgreSQL.
Additionally, if you want to run a multi-seller store on Bagisto, then check Laravel Multi Vendor Marketplace.
Highlighted Features of Bagisto Shopify Connector
Import Shopify Products
Pick products from a live Shopify grid with filter and sort, then import them as queued jobs.
Two-Way Inventory Sync
Invoices and shipments reduce Shopify stock, and Shopify orders reduce Bagisto stock.
Seller Store Connections
Each seller links their own Shopify store, and no seller can open another seller's connection.
Configurable Field Mapping
Map title, price, weight, vendor, tags, SEO fields, and more to Bagisto attributes without code.
Signed Webhooks
Every webhook is checked against the connection's client secret before any data changes.
Update Existing Products
Re-pull imported products on demand. A stored link table keeps the same children and avoids duplicates.
Why Do We Need Bagisto Shopify Connector?
Bagisto Shopify Connector exists because Bagisto cannot read a Shopify catalogue by default. Sellers on Shopify must enter every product again. Manual entry takes time and breeds mistakes. Titles, prices, and images drift apart, and stock counts differ.
A Bagisto Shopify integration removes that gap. The connector removes that work. Products arrive with the right type, and stock moves between both stores at the locations you map.
Each variant keeps its own image, and a re-sync updates the same child products instead of adding new ones.
Also, if you want to sync accounting data from Bagisto to QuickBooks, you can check Bagisto (Laravel) QuickBooks Connector.
Bagisto Shopify Connector Use Cases
-
Move a Shopify Catalogue
A store owner brings an existing Shopify catalogue into Bagisto without re-keying products.
-
Onboard Marketplace Sellers
A marketplace owner lets sellers who run Shopify bring their own products into the seller panel.
-
Sell on Both Channels
A seller lists the same stock on Shopify and Bagisto, and both counts stay in step.
-
Run Several Shopify Stores
An admin links many stores, each with its own credentials and its own mappings.
Shopify Connector Configuration in Bagisto
Configuration controls how the connector behaves. Admins open it under Configure > Marketplace > Shopify.
Settings are grouped as General, Synchronization, and Emails, so a store can tune limits and alerts in one place.
- Switch Enable Module on, and switch Enable for Sellers on when sellers should connect stores.
- Set the Max Request Limit (Daily), the daily import cap. The default is 50.
- Set the Import Chunk Size, the products per queued job. The default is 5.
- Switch Enable Inventory Sync on to push stock changes to Shopify.
- Switch Enable Webhooks on to accept Shopify webhooks.
- Turn the Import Success Email and Import Failure Email on or off.
Shopify Store Connections
The Connections grid lists every linked Shopify store. Admins and sellers create, edit, and delete their own connections here.
Each connection keeps its own credentials, so one store never sees another store's data.
- Enter the Store URL, API Key (Client ID), and API Secret Key (Client Secret) for each store.
- Authenticate with the Client Credentials Grant, with no long-lived token stored.
- Encrypt the client secret and access token at rest.
- Grant the required access scopes: read_products, write_products, read_locales, read_publications, read_locations, and write_inventory.
- Search, edit, or delete connections from the grid.
Shopify Attribute Mapping
Attribute Mapping decides which Shopify field fills which Bagisto attribute. A global default mapping works from day one.
A connection can override the default with its own mapping when a store needs different rules.
- Map title, description, price, compare-at price, cost, and weight.
- Map vendor, product type, tags, barcode, handle, and taxable.
- Map inventory tracked, allow purchase when out of stock, SEO title, and SEO description.
- Read a tooltip on each field that states which attribute types it accepts.
- Use the default pairs, such as title to name and handle to URL key.
Shopify Inventory Sync and Webhooks
Inventory sync keeps stock equal in Bagisto and Shopify. Changes move only at the locations you mapped.
Webhooks are registered when a connection is created, and each store has its own endpoints.
- Reduce Shopify stock when Bagisto creates an invoice or shipment.
- Reduce Bagisto stock on the orders/create webhook.
- Pull current quantities on the inventory_levels/update webhook.
- Reject unsigned or mismatched requests with a 401 before data is touched.
- Switch inventory sync and webhooks on or off in configuration.
Seller Panel Shopify Connector
When Enable for Sellers is on, each seller gets a Shopify entry in the seller panel.
Sellers manage their own connections, mappings, and imports. They never see another seller's store.
- Create, edit, and delete store connections from the Stores page.
- Set category and variant mapping from the Mapping page.
- Import Shopify products from the Import Products page.
- Receive a 404 when opening another seller's connection id.
- Rely on separate seller permissions for connections, mapping, and imports.
Complete Bagisto Shopify Connector Feature List
Product Import & Sync
- Import Shopify products as simple, virtual, or configurable Bagisto products with simple children
- Create a simple product when a variant needs shipping, and a virtual product when it does not
- Fetch each variant's own image on import and on every re-sync
- Update existing products with cursor pagination, and reset the imported flag to import again
- Import in chunks as queued jobs, with a daily import cap per user
Mapping & Configuration
- Map Shopify fields to Bagisto attributes with a global default and per-connection overrides
- Map categories, variant options, and inventory sources to Shopify locations for each store
- Add the inventory policy, vendor, product type, tags, barcode, and taxable attributes on install
- Set import chunk size, request limit, sync, webhook, and email options under Configure
Inventory & Webhooks
- Reduce Shopify stock on Bagisto invoices and shipments at mapped locations only
- Reduce Bagisto stock from orders/create and pull quantities from inventory_levels/update
- Register webhooks on connection create, with one route per connection id
- Set a boolean is_on_marketplace metafield on Shopify when a product is imported or reset
Marketplace & Roles
- Enable the connector for the admin only, or for sellers as well
- Give admin and sellers separate controllers, jobs, grids, menus, and ACL permissions
- Isolate seller connections and return 404 for another seller's connection
- Link many Shopify stores per admin and per seller
Security & Credentials
- Authenticate with the Client Credentials Grant and store no long-lived token
- Encrypt the client secret and access token at rest
- Verify every webhook with HMAC-SHA256 against the client secret
- Validate required API scopes, including read_locations and write_inventory
- Refresh tokens every 45 minutes and retry a 401 request once with a fresh token
Reliability & Tools
- Run heavy work on the dedicated shopify queue with a 60 second job timeout
- Back off on 429 and THROTTLED responses, and refuse import when the queue is set to sync
- Log to the shopify-connector channel and run shopify:connect, shopify:queue-work, and shopify:refresh-tokens
- Add six tables of its own and leave every core table unchanged
- Use Notifications and import emails, and ship in 22 languages
Support
For any query or issue, please create a support ticket here http://webkul.uvdesk.com/. You may also check our all Bagisto Extensions.