Integration API
OData-based integration API for data integration and synchronization with external systems.
OData-based integration API for data integration and synchronization with external systems.
openapi: 3.1.0
info:
title: SAP Commerce Cloud Integration API
description: >-
OData-based Integration API for SAP Commerce Cloud, providing
data integration and synchronization capabilities with external
systems. Supports CRUD operations on Commerce data models through
OData v2 protocol, enabling inbound and outbound integration for
products, orders, customers, stock levels, and more.
version: '2.0'
contact:
name: SAP Support
url: https://support.sap.com/
termsOfService: https://www.sap.com/about/legal/terms-of-use.html
externalDocs:
description: Integration API Documentation
url: https://help.sap.com/docs/SAP_COMMERCE_CLOUD_PUBLIC_CLOUD/50c996852b32456c96d3161a95544cdb/8696c1e06fce461a862d7f0eb60cca7b.html
servers:
- url: https://{tenant}.{region}.commercecloud.sap/odata2webservices
description: SAP Commerce Cloud Production
variables:
tenant:
description: Tenant identifier
default: my-tenant
region:
description: Deployment region
default: us
tags:
- name: Catalogs
description: Catalog and classification data integration
- name: Customers
description: Customer data integration
- name: Metadata
description: OData service metadata
- name: Orders
description: Order data integration
- name: Products
description: Product data integration
- name: Stock
description: Stock and inventory integration
security:
- oauth2: []
paths:
/InboundProduct/Products:
get:
operationId: listProducts
summary: SAP Commerce Cloud List products
description: >-
Retrieve products through the inbound product integration object.
Supports OData query options for filtering, sorting, and pagination.
tags:
- Products
parameters:
- $ref: '#/components/parameters/filter'
- $ref: '#/components/parameters/select'
- $ref: '#/components/parameters/expand'
- $ref: '#/components/parameters/top'
- $ref: '#/components/parameters/skip'
- $ref: '#/components/parameters/orderby'
responses:
'200':
description: Product list
content:
application/json:
schema:
$ref: '#/components/schemas/ODataProductCollection'
'401':
description: Unauthorized
post:
operationId: createProduct
summary: SAP Commerce Cloud Create or update a product
description: >-
Create or update product data through the inbound integration layer.
tags:
- Products
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/IntegrationProduct'
responses:
'201':
description: Product created
content:
application/json:
schema:
$ref: '#/components/schemas/IntegrationProduct'
'400':
description: Invalid product data
/InboundProduct/Products('{integrationKey}'):
get:
operationId: getProduct
summary: SAP Commerce Cloud Get product by integration key
description: >-
Retrieve a specific product by its integration key.
tags:
- Products
parameters:
- $ref: '#/components/parameters/integrationKey'
- $ref: '#/components/parameters/select'
- $ref: '#/components/parameters/expand'
responses:
'200':
description: Product data
content:
application/json:
schema:
$ref: '#/components/schemas/IntegrationProduct'
'404':
description: Product not found
patch:
operationId: updateProduct
summary: SAP Commerce Cloud Update a product
description: >-
Partially update product data through the integration layer.
tags:
- Products
parameters:
- $ref: '#/components/parameters/integrationKey'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/IntegrationProduct'
responses:
'200':
description: Product updated
'404':
description: Product not found
delete:
operationId: deleteProduct
summary: SAP Commerce Cloud Delete a product
description: >-
Delete a product through the integration layer.
tags:
- Products
parameters:
- $ref: '#/components/parameters/integrationKey'
responses:
'204':
description: Product deleted
'404':
description: Product not found
/InboundCustomer/Customers:
get:
operationId: listCustomers
summary: SAP Commerce Cloud List customers
description: >-
Retrieve customer data through the inbound customer integration object.
tags:
- Customers
parameters:
- $ref: '#/components/parameters/filter'
- $ref: '#/components/parameters/select'
- $ref: '#/components/parameters/top'
- $ref: '#/components/parameters/skip'
responses:
'200':
description: Customer list
content:
application/json:
schema:
$ref: '#/components/schemas/ODataCustomerCollection'
post:
operationId: createCustomer
summary: SAP Commerce Cloud Create or update a customer
description: >-
Create or update customer data through the inbound integration layer.
tags:
- Customers
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/IntegrationCustomer'
responses:
'201':
description: Customer created
'400':
description: Invalid customer data
/InboundOrder/Orders:
get:
operationId: listOrders
summary: SAP Commerce Cloud List orders
description: >-
Retrieve order data through the inbound order integration object.
tags:
- Orders
parameters:
- $ref: '#/components/parameters/filter'
- $ref: '#/components/parameters/select'
- $ref: '#/components/parameters/expand'
- $ref: '#/components/parameters/top'
- $ref: '#/components/parameters/skip'
- $ref: '#/components/parameters/orderby'
responses:
'200':
description: Order list
content:
application/json:
schema:
$ref: '#/components/schemas/ODataOrderCollection'
post:
operationId: createOrder
summary: SAP Commerce Cloud Create or update an order
description: >-
Create or update order data through the inbound integration layer.
tags:
- Orders
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/IntegrationOrder'
responses:
'201':
description: Order created
'400':
description: Invalid order data
/InboundStockLevel/StockLevels:
get:
operationId: listStockLevels
summary: SAP Commerce Cloud List stock levels
description: >-
Retrieve stock level data through the inbound stock integration object.
tags:
- Stock
parameters:
- $ref: '#/components/parameters/filter'
- $ref: '#/components/parameters/top'
- $ref: '#/components/parameters/skip'
responses:
'200':
description: Stock level list
content:
application/json:
schema:
$ref: '#/components/schemas/ODataStockCollection'
post:
operationId: createStockLevel
summary: SAP Commerce Cloud Create or update stock level
description: >-
Create or update stock level data through the inbound integration layer.
tags:
- Stock
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/IntegrationStockLevel'
responses:
'201':
description: Stock level created
'400':
description: Invalid stock data
/InboundClassification/ClassificationSystems:
get:
operationId: listClassificationSystems
summary: SAP Commerce Cloud List classification systems
description: >-
Retrieve classification system data for product categorization.
tags:
- Catalogs
parameters:
- $ref: '#/components/parameters/filter'
- $ref: '#/components/parameters/top'
- $ref: '#/components/parameters/skip'
responses:
'200':
description: Classification systems
content:
application/json:
schema:
type: object
properties:
d:
type: object
properties:
results:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
/$metadata:
get:
operationId: getMetadata
summary: SAP Commerce Cloud Get service metadata
description: >-
Retrieve the OData service metadata document describing
all available entity types and associations.
tags:
- Metadata
responses:
'200':
description: OData metadata document
content:
application/xml:
schema:
type: string
security: []
components:
securitySchemes:
oauth2:
type: oauth2
description: OAuth 2.0 authentication for SAP Commerce Cloud Integration API
flows:
clientCredentials:
tokenUrl: https://{tenant}.{region}.commercecloud.sap/authorizationserver/oauth/token
scopes:
basic: Basic access
parameters:
integrationKey:
name: integrationKey
in: path
required: true
description: Integration key (composite key identifying the entity)
schema:
type: string
filter:
name: $filter
in: query
description: OData filter expression
schema:
type: string
select:
name: $select
in: query
description: Comma-separated list of properties to return
schema:
type: string
expand:
name: $expand
in: query
description: Comma-separated list of navigation properties to expand
schema:
type: string
top:
name: $top
in: query
description: Maximum number of results to return
schema:
type: integer
skip:
name: $skip
in: query
description: Number of results to skip
schema:
type: integer
orderby:
name: $orderby
in: query
description: Property name and direction for sorting
schema:
type: string
schemas:
ODataProductCollection:
type: object
properties:
d:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/IntegrationProduct'
IntegrationProduct:
type: object
properties:
code:
type: string
description: Product code
name:
type: string
description: Product name
description:
type: string
description: Product description
catalogVersion:
type: string
description: Catalog version reference
approvalStatus:
type: string
enum:
- approved
- unapproved
- check
description: Product approval status
ean:
type: string
description: European Article Number
unit:
type: string
description: Unit of measure
supercategories:
type: array
items:
type: object
properties:
code:
type: string
description: Parent category references
integrationKey:
type: string
description: Unique integration key
ODataCustomerCollection:
type: object
properties:
d:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/IntegrationCustomer'
IntegrationCustomer:
type: object
properties:
uid:
type: string
description: Customer unique identifier
name:
type: string
description: Customer full name
customerID:
type: string
description: Customer ID
addresses:
type: array
items:
type: object
properties:
streetname:
type: string
streetnumber:
type: string
postalcode:
type: string
town:
type: string
country:
type: string
description: Customer addresses
integrationKey:
type: string
description: Unique integration key
ODataOrderCollection:
type: object
properties:
d:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/IntegrationOrder'
IntegrationOrder:
type: object
properties:
code:
type: string
description: Order code
date:
type: string
format: date-time
description: Order date
status:
type: string
description: Order status
currency:
type: string
description: Order currency ISO code
totalPrice:
type: number
format: double
description: Total price
user:
type: object
properties:
uid:
type: string
description: Customer reference
entries:
type: array
items:
type: object
properties:
entryNumber:
type: integer
productCode:
type: string
quantity:
type: integer
totalPrice:
type: number
format: double
description: Order entries
integrationKey:
type: string
description: Unique integration key
ODataStockCollection:
type: object
properties:
d:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/IntegrationStockLevel'
IntegrationStockLevel:
type: object
properties:
productCode:
type: string
description: Product code
available:
type: integer
description: Available stock quantity
warehouse:
type: string
description: Warehouse identifier
reserved:
type: integer
description: Reserved stock quantity
preOrder:
type: integer
description: Pre-order stock quantity
releaseDate:
type: string
format: date-time
description: Stock release date
integrationKey:
type: string
description: Unique integration key