Skip to main content

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

AspectB2B (Business-to-Business)B2C (Business-to-Consumer)
Primary UsersCompanies and their employeesIndividual consumers
Data StructureHierarchical (Companies → Contacts)Flat (Individual customers)
Pricing ModelNegotiated, customer-specificStandard or customer-specific
User ManagementRole-based access controlIndividual accounts
Catalog AccessRestricted, customer-specificPublic 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

ResourceB2B UsageB2C Usage
CompaniesPrimary organizational unitNot applicable
ContactsUsers within companiesNot applicable
CustomersNot applicablePrimary user unit
OrdersCompany/contact-basedCustomer-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.