Sales Channels vs Integrations
Purpose and Role
- Sales Channel: Represents a specific point of sale or order source (like an online store, retail location, or marketplace)
- Integration: Represents the connection to an external system (like Shopify, Amazon, or a custom API)
Relationship
- A sales channel can be connected to an integration, but it doesn't have to be
- One integration can be connected to multiple sales channels
- The relationship is managed through the
integration_id
field in the sales channel
Configuration
Each sales channel has its own configuration for:
- Routing strategy
- Auto-fulfillment
- Custom packing slips
- Default channel status
Data Flow
Integrations are responsible for:
- Importing sales channels from external systems
- Syncing data between systems
- Managing the connection details
Sales channels are responsible for:
- Defining how orders from that source should be handled
- Setting business rules for that specific channel
- Managing channel-specific configurations
Example Scenario
Integration (Shopify)
├── Sales Channel 1 (Online Store)
│ └── Configuration: local routing, auto-fulfill
└── Sales Channel 2 (Mobile App)
└── Configuration: external routing, manual fulfillment
Benefits
This separation allows for:
- Flexible configuration of how orders are handled from different sources
- Multiple sales channels from the same integration to have different behaviors
- Independent management of integration connections and sales channel configurations
- Better organization of business rules and order processing logic