Shops
Understanding shop platforms and shops in Openship
Openship uses a two-tier system for connecting to e-commerce platforms: Shop Platforms (templates) and Shops (instances). Understanding this distinction is crucial for setting up your integrations correctly.
Shop Platform Architecture
Shop Platform contains all the integration logic and function mappings (searchProductsFunction, getProductFunction, etc.) that define how to interact with the e-commerce platform.
Shop Instances contain only the connection details (domain, accessToken) and reference the platform for all functionality. Multiple shops can use the same platform template.
Shop Platforms vs Shops
Shop Platforms (Templates)
A Shop Platform is a reusable template that defines how Openship integrates with a specific type of e-commerce platform. Think of it as a blueprint or configuration preset.
What Shop Platforms contain:
- Integration function mappings (which code to run for different operations)
- OAuth credentials for app-based installations
- Default settings for the platform type
Examples of Shop Platforms:
- Shopify Platform - Template for all Shopify stores
- BigCommerce Platform - Template for all BigCommerce stores
- Demo Platform - Template for testing custom integrations
- Custom Platform - Template with HTTP endpoints for custom integrations
Shops (Instances)
A Shop is an actual connection to a specific store or account. It uses a Shop Platform template but contains the unique credentials and settings for that particular store.
What Shops contain:
- Reference to which Shop Platform to use
- Store-specific credentials (domain, access token)
- Store name and metadata
- Custom configuration overrides
Examples of Shops:
- "My Shopify Store" - Uses Shopify Platform, connects to
mystore.myshopify.com
- "Backup Store" - Also uses Shopify Platform, connects to
backup.myshopify.com
- "Demo Shop" - Uses Demo Platform for testing
How Shops Work
Create Shop Platform (Template)
First, you create a Shop Platform that defines the integration method:
Shop Platform: "Shopify Platform"
├── searchProductsFunction: "shopify"
├── getProductFunction: "shopify"
├── searchOrdersFunction: "shopify"
├── updateProductFunction: "shopify"
└── createWebhookFunction: "shopify"
All function values point to the built-in Shopify integration (/integrations/shop/shopify.ts
).
Create Shops (Instances)
Then, you create individual shops that use this platform:
Shop: "Main Store" Shop: "EU Store"
├── Platform: Shopify Platform ├── Platform: Shopify Platform
├── Domain: main.myshopify.com ├── Domain: eu.myshopify.com
├── Access Token: abc123... ├── Access Token: xyz789...
└── Name: "Main Store" └── Name: "EU Store"
Both shops use the same integration logic (Shopify Platform) but connect to different stores with different credentials.
Function Execution
When Openship needs to search products in "Main Store":
- Lookup: Find shop's platform → "Shopify Platform"
- Check function:
searchProductsFunction
= "shopify" - Import: Load
/integrations/shop/shopify.ts
- Execute: Call
searchProductsFunction()
with shop's credentials - Connect: Make API calls to
main.myshopify.com
using shop's access token
Platform Types
Built-in Platform Presets
Openship comes with preset templates for popular e-commerce platforms:
- Shopify - Full integration with Shopify stores
- BigCommerce - Full integration with BigCommerce stores
- WooCommerce - WordPress/WooCommerce integration
- Demo - Testing platform with sample data
When you select a preset, all function values are automatically filled with the appropriate integration name.
Custom HTTP Platforms
You can also create platforms that use HTTP endpoints instead of built-in integrations:
Shop Platform: "My Custom Platform"
├── searchProductsFunction: "https://my-api.com/search-products"
├── getProductFunction: "https://my-api.com/get-product"
├── searchOrdersFunction: "https://my-api.com/search-orders"
└── updateProductFunction: "https://my-api.com/update-product"
This allows integration with any system that can provide HTTP endpoints matching Openship's interface.
Typical Workflow
Step 1: Create Shop Platform
- Go to Shop Platforms page
- Click "Create Platform"
- Choose a preset (Shopify, BigCommerce, etc.) or create custom
- Configure OAuth credentials (if needed)
- Save the platform template
Step 2: Create Shops
- Go to Shops page
- Select your Shop Platform
- Click "Create Shop"
- Enter shop-specific details:
- Shop name
- Store domain
- Access credentials
- Save the shop instance
Step 3: Use in Automation
Now your shops can be used in:
- Product matching - Link products between shops and channels
- Order automation - Automatic order processing
- Inventory sync - Keep stock levels synchronized
Benefits of This System
Reusability
Create one Shopify platform, use it for multiple Shopify stores without reconfiguring integration settings.
Flexibility
Mix built-in integrations with custom HTTP endpoints. Use Shopify for some shops, custom APIs for others.
Maintainability
Update integration logic in the platform template, and all shops using that platform inherit the changes.
Testing
Use demo platforms for testing automation workflows without affecting real stores.
Getting Started
For Built-in Platforms
- Create a platform using a preset (e.g., "Shopify Platform")
- Connect shops to that platform with their specific credentials
- Start creating product matches and automation
For Custom Integrations
- Deploy HTTP endpoints following our custom shop guide
- Create a custom platform pointing to your endpoints
- Connect shops using your custom platform
- Test the integration with our demo endpoints first
For Testing
- Create a "Demo Platform" using the demo preset
- Add demo shops with sample test data
- Practice workflows before connecting real stores
The platform system gives you maximum flexibility while maintaining consistency across your integrations. Whether you're connecting a single Shopify store or building complex custom integrations, the platform-first approach scales with your needs.