B2B vs. B2C Commerce Models
The Propeller platform is designed to handle both Business-to-Business (B2B) and Business-to-Consumer (B2C) commerce scenarios. Understanding the differences between these models is crucial for effective API integration and platform utilization.
Overview
Propeller's dual B2B/B2C architecture allows businesses to serve both corporate clients and individual consumers from a single platform. Each model has distinct characteristics that influence how data is structured, managed, and accessed through the API.
Key Differences
Aspect | B2B (Business-to-Business) | B2C (Business-to-Consumer) |
---|---|---|
Primary Users | Companies and their employees | Individual consumers |
Data Structure | Hierarchical (Companies → Contacts) | Flat (Individual customers) |
Pricing Model | Negotiated, customer-specific | Standard or customer-specific |
User Management | Role-based access control | Individual accounts |
Catalog Access | Restricted, customer-specific | Public or customer-specific |
B2B Commerce Model
Organizational Structure
B2B commerce in Propeller is built around companies and contacts:
Company (Organization)
├── Contact 1 (Employee/User)
├── Contact 2 (Employee/User)
└── Addresses
Companies represent business entities and contain:
- Company information (name, tax number, contact details)
- Organizational hierarchy (parent-child relationships)
- Inherited settings and permissions
- Budget and ordering restrictions
- Address management
Contacts represent individual users within companies:
- Personal information (name, email, phone)
- Role-based permissions
- Order history and preferences
API Usage for B2B
Company Management
# Create a company
POST /v2/companies
{
"name": "Acme Corporation",
"taxNumber": "NL123456789B01",
"parent": {"sourceId": "PARENT_COMP", "source": "CRM"}
}
# Get company contacts
GET /v2/companies/id/123?expands=contacts
Contact Management
# Create a contact within a company
POST /v2/contacts
{
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@acme.com",
"parent": {"sourceId": "ACME_CORP", "source": "CRM"}
}
B2C Commerce Model
Individual Customer Structure
B2C commerce focuses on individual customers:
Customer (Individual)
├── Personal Information
└── Addresses
Customers represent individual consumers and contain:
- Personal information (name, email, phone)
- Order history and preferences
- Multiple addresses (billing, shipping)
- Account settings and preferences
API Usage for B2C
Customer Management
# Create a customer
POST /v2/customers
{
"firstName": "Jane",
"lastName": "Smith",
"email": "jane.smith@email.com",
"phone": "+1234567890"
}
# Get customer orders
GET /v2/customers/id/456
Data Model Differences
Resource Structure
Resource | B2B Usage | B2C Usage |
---|---|---|
Companies | Primary organizational unit | Not applicable |
Contacts | Users within companies | Not applicable |
Customers | Not applicable | Primary user unit |
Orders | Company/contact-based | Customer-based |
Integration Considerations
B2B Integration Patterns
ERP Integration
# Sync company data from ERP
POST /v2/companies/bulk/sourceId
{
"companies": [
{
"sourceId": "ERP_COMP_001",
"source": "SAP_ERP",
"name": "Acme Corporation"
}
]
}
CRM Integration
# Sync contact data from CRM
POST /v2/contacts/bulk/sourceId
{
"contacts": [
{
"sourceId": "CRM_CONTACT_001",
"source": "SALESFORCE",
"firstName": "John",
"lastName": "Doe",
"parent": {"sourceId": "ACME_CORP", "source": "CRM"}
}
]
}
B2C Integration Patterns
E-commerce Integration
# Sync customer data from e-commerce platform
POST /v2/customers/bulk/sourceId
{
"customers": [
{
"sourceId": "SHOP_CUSTOMER_001",
"source": "SHOPIFY",
"firstName": "Jane",
"lastName": "Smith"
}
]
}
Understanding the differences between B2B and B2C models is essential for effective Propeller platform implementation. Choose the appropriate model based on your target market and business requirements.