Ellipse Gradient for Header
SAP Commerce Cloud logo

SAP Commerce Cloud Integration Guide

Connect SAP Commerce Cloud with enterprise systems through OCC REST APIs, OData-based Integration APIs, configured events, files, and OAuth 2.0.

SAP Commerce Cloud integration options at a glance

SAP Commerce Cloud integrations primarily use OCC REST APIs for customer-facing commerce operations such as products, carts, checkout, customers, and orders. The OData-based Integration API supports configured Integration Objects for master-data synchronization, fulfillment, and administrative scenarios. Catalog synchronization, Impex processing, media exchange, and other import/export mechanisms support bulk-oriented workloads. Event and outbound integration patterns are available in some configurations, but webhook coverage depends on the release, extensions, and tenant setup. Martini can authenticate with OAuth 2.0, orchestrate scheduled or event-driven workflows, map commerce data, apply business rules, and manage retries without relying on direct database access.

Integration pointSupported by SAP Commerce Cloud?Common use casesHow Martini supports it
OCC REST APIsYesCustomer-facing commerce operations including product and category browsing, customer accounts, carts, checkout, orders, delivery, payment, and promotion operations where enabled.Martini can consume authenticated OCC endpoints, paginate collections, transform responses, apply business rules, and expose an API façade for downstream applications.
OData-based Integration APIYesMaster-data synchronization and administrative or back-office exchange using configured Integration Objects for products, catalogs, customers, organizations, orders, and fulfillment data.Martini can call configured Integration API resources, map Integration Object attributes, and orchestrate incremental or scheduled synchronization.
Webhooks / outbound callbacksLimitedEvent-driven integration through configured outbound integrations, event publication, custom handlers, extensions, or associated SAP integration components. Coverage is not universal across commerce objects.Martini can receive webhook-style callbacks through an exposed API and start workflows, while falling back to scheduled API polling when no suitable event is available.
Bulk, asynchronous, and batch processingLimitedCatalog synchronization, import/export, OData batch behavior where supported, and high-volume product or master-data movement.Martini can partition workloads, control concurrency, process batches, persist checkpoints, and route failed items for replay after tenant-specific limits are confirmed.
File and media exchangeYesImpex-based processing, catalog and product imports or exports, media metadata, product images, documents, and configured external file exchange.Martini can process structured files, separate media metadata from binary content, call supported media endpoints, and coordinate storage or import workflows.
OAuth 2.0 authenticationYesServer-to-server access using client credentials, bearer tokens, client permissions, scopes, and environment-specific token configuration.Martini can store client credentials in secrets, obtain and apply bearer tokens, isolate environment configuration, and handle token expiration according to the configured flow.
SOAP APIsLegacyOlder SAP Commerce integrations may use legacy web services where the specific release and extensions still expose them.Martini can consume SOAP services when a legacy endpoint is confirmed, but REST and OData should be preferred for new implementations.
Direct database accessNoDirect production database integration is not a normal supported SAP Commerce Cloud approach.Martini should use supported APIs, events, synchronization processes, or files rather than connecting to the underlying Commerce database.

How SAP Commerce Cloud exposes data and business events

SAP Commerce Cloud OCC REST APIs

OCC provides REST endpoints for customer-facing commerce operations such as product and category browsing, customer registration and profiles, carts, checkout, orders, stores, delivery, payment, and promotions where enabled.

Martini implementation pattern

Martini consumes the configured OCC endpoints with OAuth 2.0 bearer tokens, handles pagination and response validation, maps the returned commerce objects, and invokes downstream APIs or exposes a controlled façade for other applications.

Implementation sequence

Authenticate with the configured OAuth 2.0 client
Call the relevant OCC resource
Process paginated results until completion
Map the commerce response to the target model
Apply validation and business rules
Write the result and store a correlation checkpoint

SAP Commerce Cloud Integration API

The Integration API exposes OData-based resources defined by configured Integration Objects. It is commonly used for product, catalog, customer, organization, order, fulfillment, and other master-data exchanges.

Martini implementation pattern

Martini calls the tenant-specific Integration API, maps Integration Object attributes to canonical models, and coordinates incremental or scheduled synchronization. The exact query, navigation, batch, and write behavior must be verified against the configured tenant.

Implementation sequence

Confirm the Integration Object and permitted attributes
Authenticate the Integration API request
Retrieve or submit the configured OData resource
Map attributes and normalize identifiers
Validate references and required values
Persist the successful checkpoint or external identifier

Outbound events and callbacks

SAP Commerce Cloud can support event-driven patterns through configured outbound integrations, event publication, custom handlers, extensions, or associated SAP integration components. Coverage and delivery semantics depend on the release and tenant configuration.

Martini implementation pattern

Martini exposes a secured API endpoint to receive a configured callback, validates the event and correlation data, and retrieves the current Commerce resource when the event payload is incomplete. When no appropriate event exists, a scheduled Martini workflow polls the relevant API instead.

Implementation sequence

Receive the configured callback or event notification
Authenticate and validate the notification
Retrieve the current Commerce object when required
Map the event context to a canonical message
Apply deduplication and business rules
Acknowledge or route failures for retry

Import, export, and media processing

SAP Commerce Cloud supports Impex, catalog synchronization, media exchange, and other import/export patterns for high-volume product, catalog, and binary media workloads. The preferred mechanism depends on volume and tenant configuration.

Martini implementation pattern

Martini coordinates file or API-based processing, separates media metadata from binary content, partitions large workloads, and records the status of each batch. It can combine bulk preparation with API-based validation or downstream publication.

Implementation sequence

Identify the required import, export, or media process
Retrieve or receive the source file and metadata
Validate structure, encoding, and required fields
Transform data into the SAP Commerce format
Submit or transfer the batch through the approved interface
Record item-level errors and reconcile the completed batch

Common SAP Commerce Cloud integration patterns

Pattern 1: Synchronize products and catalogs

When to use this pattern

Use this pattern when SAP Commerce Cloud is the source for product, category, price, stock-related, or media information consumed by an experience platform, marketplace, or other commerce application.

Integration direction
SAP Commerce Cloud
Martini
Adobe Experience Manager
Example Mapping
SAP Commerce Cloud FieldCanonical FieldTarget Field
product.codeproductSkusku
product.nameproductNamename
catalogVersioncatalogVersioncatalogVersion
price.valuesellingPriceprice
Martini implementation pattern

A scheduled workflow queries OCC or configured Integration Objects using pagination and a supported change marker. Martini normalizes catalog and product structures, separates media metadata from binary content, validates required attributes, upserts by SKU or product code, and stores a checkpoint only after each page or batch succeeds. Failed items are recorded for replay without repeating successful work.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • pagination and checkpointing
  • data mapping
  • validation
  • idempotent upsert
  • error handling

Pattern 2: Synchronize orders with an ERP

When to use this pattern

Use this pattern when submitted SAP Commerce Cloud orders must be sent to SAP S/4HANA or another order, billing, warehouse, or fulfillment platform.

Integration direction
SAP Commerce Cloud
Martini
SAP S/4HANA
Example Mapping
SAP Commerce Cloud FieldCanonical FieldTarget Field
order.codecommerceOrderIdSalesOrder
order.user.uidcustomerIdBusinessPartner
order.entries[].product.codelineSkuProduct
order.totalPrice.valueorderTotalTotalNetAmount
Martini implementation pattern

Martini retrieves new or changed Orders through OCC or the Integration API, maps order entries, addresses, delivery modes, payments, and totals, then submits the target transaction. The workflow verifies order state, stores the external identifier, avoids duplicate submission with a correlation key, and retries transient service failures while routing validation or state conflicts for review.

Martini capabilities used
  • workflow orchestration
  • API consumption
  • data transformation
  • business rules
  • correlation tracking
  • retry handling
  • duplicate prevention

Pattern 3: Synchronize customers and accounts

When to use this pattern

Use this pattern when customer profiles and addresses need to remain aligned between SAP Commerce Cloud and SAP Customer Data Cloud, Salesforce, SAP S/4HANA, or another enterprise customer system.

Integration direction
SAP Commerce Cloud
Martini
Salesforce
Example Mapping
SAP Commerce Cloud FieldCanonical FieldTarget Field
customer.uidcustomerExternalIdExternal_Id__c
customer.namefullNameName
customer.defaultAddressprimaryAddressBillingAddress
customer.profileConsentconsentStatusConsentStatus
Martini implementation pattern

The workflow establishes the system of record for each field, retrieves changed Customers, applies privacy-aware field mapping and validation, and performs lookup-and-upsert operations using the Commerce UID or agreed external ID. Martini isolates personal data in secure configuration and routes authorization, validation, and duplicate conflicts separately from transient API errors.

Martini capabilities used
  • API-led workflows
  • field-level mapping
  • validation
  • business rules
  • secure secrets
  • lookup-and-upsert
  • error classification

Pattern 4: Publish inventory and fulfillment updates

When to use this pattern

Use this pattern when stock levels or Consignments from an ERP, warehouse, or fulfillment platform must update SAP Commerce Cloud or be distributed to other channels.

Integration direction
SAP S/4HANA
Martini
SAP Commerce Cloud
Example Mapping
SAP Commerce Cloud FieldCanonical FieldTarget Field
materialNumberproductSkuproduct.code
availableQuantityavailableStockstockLevel.available
shipmentNumberconsignmentIdconsignment.code
shipmentStatusfulfillmentStatusconsignment.status
Martini implementation pattern

Martini receives scheduled extracts or configured events, normalizes inventory and shipment identifiers, groups high-volume updates into supported batches, and writes through the approved Integration API or synchronization process. The workflow applies quantity and state rules, records rejected items, and uses bounded retries so a temporary outage does not create inconsistent fulfillment updates.

Martini capabilities used
  • scheduled and event-driven workflows
  • batch processing
  • mapping and transformation
  • business rules
  • controlled concurrency
  • reconciliation
  • retry handling

Applications commonly integrated with SAP Commerce Cloud

SAP Commerce Cloud is often part of a broader commerce landscape spanning ERP, customer data, service, experience, procurement, and tax systems. Martini can coordinate these integrations through documented APIs, configured event interfaces, files, and reusable workflows while keeping system-of-record decisions explicit.

Application Scenario Direction Martini Pattern
SAP S/4HANA Synchronize products, pricing, customers, orders, billing, inventory, and fulfillment data between commerce and ERP processes. SAP Commerce Cloud → Martini → SAP S/4HANA Use OCC or the Integration API for commerce data, map it to S/4HANA API models, apply validation and system-of-record rules, and use idempotent keys with bounded retries for transient failures.
SAP Customer Data Cloud Coordinate identity, registration, consent, profile, and customer-account processes around commerce experiences. SAP Commerce Cloud → Martini → SAP Customer Data Cloud Orchestrate authenticated API calls in both directions, normalize customer identifiers and consent fields, and protect personal data through environment-specific secrets and authorization controls.
Salesforce Synchronize customer, account, product, order, or service information when Salesforce remains the CRM or service system. SAP Commerce Cloud → Martini → Salesforce Retrieve Commerce customer and order data, map it to Salesforce objects, route updates according to the agreed system of record, and prevent duplicate creation with stable external identifiers.
ServiceNow Create or update service cases from order, delivery, customer, or commerce-related events and return case status when required. SAP Commerce Cloud → Martini → ServiceNow Trigger a Martini workflow from a configured event or scheduled query, transform order and customer context into ServiceNow requests, persist correlation identifiers, and retry only transient failures.
Adobe Experience Manager Coordinate commerce catalog, product, pricing, and experience content for headless or composable digital experiences. SAP Commerce Cloud → Martini → Adobe Experience Manager Use scheduled or event-assisted synchronization, separate product metadata from media binaries, map catalog structures, and checkpoint successful pages or batches.
Shopify Exchange product, inventory, and order data in a multi-channel commerce landscape where more than one commerce platform is operated. SAP Commerce Cloud → Martini → Shopify Define ownership for products, inventory, and orders, use API-based incremental synchronization, transform platform-specific identifiers, and apply lookup-and-upsert logic to avoid duplicates.
Avalara Exchange tax-related transaction data and obtain tax calculations during checkout or order processing where the relevant Commerce tax integration is configured. SAP Commerce Cloud → Martini → Avalara Call the configured tax API within a controlled workflow, map addresses and transaction lines, validate responses before order progression, and route tax service failures separately from business validation errors.

How to build a SAP Commerce Cloud integration in Martini

Objective

Establish environment-specific access to SAP Commerce Cloud using the appropriate OCC or Integration API base URL and OAuth 2.0 configuration.

Instructions in Martini

  • Store client IDs, client secrets, token settings, and URLs in Martini secrets or secure environment configuration.
  • Confirm the required Commerce API, Integration Object permissions, scopes, and authorities with the SAP Commerce administrator.
  • Separate development, test, and production credentials and endpoints.

Objective

Select a scheduled, API-led, file-based, or configured event trigger based on the availability and reliability of the SAP Commerce integration mechanism.

Instructions in Martini

  • Use a scheduler for polling, catalog synchronization, or recurring reconciliation.
  • Use an inbound API or webhook-style callback only when the relevant Commerce event or outbound integration is configured.
  • Define a fallback polling strategy when event coverage is incomplete.

Objective

Read the required SAP Commerce Cloud objects through OCC, the Integration API, approved file processes, or configured event interfaces.

Instructions in Martini

  • Handle collection pagination without assuming a fixed page size.
  • Use supported modified timestamps, status changes, synchronization metadata, or external identifiers for incremental processing.
  • Persist checkpoints only after the corresponding page, file, or batch has completed successfully.

Objective

Coordinate API calls, enrichment, validation, target writes, state transitions, and reconciliation in a maintainable Martini workflow.

Instructions in Martini

  • Separate retrieval, transformation, target submission, and checkpoint persistence into clear workflow stages.
  • Use correlation identifiers across Commerce objects and downstream transactions.
  • Route authentication, validation, rate-limit, stale-object, and transient service failures differently.

Objective

Convert SAP Commerce Products, Categories, Customers, Carts, Orders, Consignments, or Stock levels into the target application’s schema.

Instructions in Martini

  • Create a canonical model where multiple systems exchange the same business object.
  • Normalize identifiers, addresses, monetary values, statuses, catalog versions, and timestamps.
  • Keep media metadata and binary content handling separate when large files are involved.

Objective

Enforce system-of-record decisions, valid order-state transitions, privacy controls, duplicate prevention, and data-quality requirements.

Instructions in Martini

  • Use stable keys such as product code, customer UID, order code, or consignment code.
  • Validate required attributes and references before creating or updating target objects.
  • Do not retry validation failures or invalid business-state transitions without corrective action.

Common SAP Commerce Cloud data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
ProductsSynchronize sellable products, variants, catalog versions, prices, stock-related information, and product metadata.SAP S/4HANA, Adobe Experience Manager, Shopify, marketplaces, data platformsMartini retrieves products through OCC or configured Integration Objects, maps identifiers and attributes, separates media from product data, and performs idempotent upserts.
CategoriesExchange product categorization and catalog navigation structures.Adobe Experience Manager, Shopify, marketplaces, search and experience platformsMartini processes category hierarchies with parent-child ordering, validates references, and checkpoints completed pages or batches.
CustomersSynchronize customer accounts, profiles, addresses, and account-related data.SAP S/4HANA, SAP Customer Data Cloud, Salesforce, ServiceNowMartini applies field-level mapping, privacy controls, stable identifiers, validation, and lookup-and-upsert behavior to prevent duplicate accounts.
CartsCoordinate active shopping carts containing products, quantities, prices, discounts, and delivery information.Customer applications, order management systems, tax servicesMartini uses OCC operations for transactional flows, validates cart state before updates, and treats transient API failures separately from invalid cart-state errors.
OrdersExchange submitted purchases, order entries, payment information, delivery details, totals, and status.SAP S/4HANA, fulfillment platforms, warehouses, ServiceNow, ShopifyMartini maps order lines and addresses, stores correlation identifiers, verifies state transitions, and uses idempotent processing with bounded retries.
ConsignmentsRepresent fulfillment and shipment units associated with orders.SAP S/4HANA, warehouse systems, carriers, ServiceNowMartini correlates consignments with orders, maps shipment status and tracking data, and rejects stale or invalid state transitions for review.

Authentication and security considerations

OAuth 2.0 access

SAP Commerce Cloud commonly protects OCC and Integration API access with OAuth 2.0 bearer tokens. Client credentials, scopes, authorities, token endpoints, and permitted operations depend on the tenant configuration.

Secrets and permissions

Store client secrets, token values, base URLs, and environment-specific settings in Martini secrets or secure environment configuration. Grant only the Commerce API permissions required by each workflow.

Protected data

  • Separate development, test, and production credentials.
  • Apply field-level controls to customer, address, payment, and consent data.
  • Do not embed credentials in workflow logic or payloads.
  • Use supported APIs and approved file or event interfaces instead of direct database access.

Operational considerations for SAP Commerce Cloud integrations

Rate limits and pagination

Request limits depend on tenant configuration, cloud tenancy, API gateway behavior, and the surrounding SAP landscape. Control concurrency, handle 429 responses where returned, use bounded exponential backoff, and process paginated collections until completion.

Idempotency and checkpoints

Use product codes, customer UIDs, order codes, consignment codes, or agreed external identifiers as stable keys. Persist checkpoints only after successful pages or batches so a restart does not duplicate completed work.

Schema and extension changes

Tenant-specific extensions and Integration Objects can change the available fields and operations. Use contract tests and monitor required attributes, status values, API versions, and Integration Object definitions.

Business-state errors

Order and fulfillment transitions are stateful. Verify the current state before updating an object, and route validation, stale-object, and invalid-transition failures for correction rather than repeatedly retrying them.

Media and bulk processing

Separate media metadata from binary content and use import, export, synchronization, or supported batch mechanisms for high-volume workloads. Reconcile item-level failures and completed batches.

Why use Martini instead of scripts or point-to-point integrations?

Centralized orchestration

Martini coordinates SAP Commerce Cloud API calls, events, files, target-system writes, validation, and reconciliation in workflows rather than scattering logic across independent scripts.

Reusable integration assets

Reusable workflows, APIs, mappings, transformations, and secure environment configuration make it easier to support multiple Commerce channels and downstream systems without duplicating implementation logic.

Operational control

Martini provides a place to implement pagination, checkpoints, idempotency, bounded retries, error classification, and monitoring for long-running catalog, order, customer, and inventory processes.

Flexible API-led design

Martini can consume OCC and Integration APIs, receive configured callbacks, process approved files, and expose a stable API façade. This supports tenant-specific SAP Commerce configurations without requiring direct database access or a dedicated vendor connector.

Frequently asked questions

How can SAP Commerce Cloud be integrated with enterprise systems?

SAP Commerce Cloud can integrate through OCC REST APIs for customer-facing commerce operations, the OData-based Integration API for configured Integration Objects and master-data exchange, import/export and synchronization processes for bulk workloads, and configured event or outbound integration mechanisms. OAuth 2.0 is commonly used for protected API access.

Can Martini integrate with SAP Commerce Cloud?

Yes. Martini can consume SAP Commerce Cloud OCC REST APIs and configured Integration API resources, authenticate with OAuth 2.0, process files and media through approved interfaces, receive configured callback traffic, and orchestrate scheduled or event-assisted synchronization workflows.

Do I need a connector to integrate SAP Commerce Cloud with Martini?

No. A dedicated SAP Commerce Cloud connector is not required. Martini can use SAP Commerce Cloud’s confirmed REST and OData-based APIs, OAuth 2.0 authentication, file processes, and supported event or callback interfaces.

Is there any extra Lonti cost to integrate SAP Commerce Cloud with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate SAP Commerce Cloud. Integrations are subject to the provisioned capacity of the Martini environment. Separate costs may apply from SAP, cloud infrastructure, or other third-party systems based on subscription, usage, and deployment model.

Which SAP Commerce Cloud APIs should be used for an integration?

Use OCC REST APIs for customer-facing operations such as products, carts, checkout, customers, and orders. Use the OData-based Integration API for configured Integration Objects and broader master-data synchronization. Legacy SOAP services should only be considered when a specific release and extension set confirms their availability.

Are SAP Commerce Cloud events or webhooks available?

Event-driven patterns and outbound integrations are available in some SAP Commerce Cloud configurations, but coverage is release-, extension-, and tenant-dependent. Martini can receive a configured callback and retrieve the current resource when needed; scheduled API polling is the safer fallback where no suitable event exists.

How does Martini synchronize SAP Commerce Cloud data reliably?

Martini can run scheduled or event-assisted workflows, process paginated results, use supported change markers, map and validate data, and persist checkpoints after successful pages or batches. Stable identifiers and lookup-and-upsert behavior help prevent duplicate Products, Customers, Orders, or other objects.

How are errors, retries, and API façades handled?

Martini can classify authentication, validation, not-found, rate-limit, business-state, and transient service failures, applying bounded retries only where appropriate. It can also expose a controlled REST API façade that validates requests, orchestrates SAP Commerce operations, and returns a stable contract to downstream applications.