Ellipse Gradient for Header
Salesforce Order Management logo

Salesforce Order Management Integration Guide

Integrate Salesforce Order Management with commerce, ERP, fulfillment, payment, and service systems through Salesforce APIs, event mechanisms, bulk processing, and secure Martini workflows.

Salesforce Order Management integration options at a glance

Salesforce Order Management supports REST APIs for SOQL queries, sObject operations, and composite requests; SOAP APIs for legacy or strongly typed integrations; Bulk API 2.0 for asynchronous migration and reconciliation; and Salesforce Files APIs for order-related documents. Change Data Capture, Platform Events, Pub/Sub API, and Outbound Messages provide event or callback options for selected objects and scenarios, rather than a universal webhook for every OMS change. OAuth 2.0 Connected Apps secure access through flows such as JWT bearer, authorization code, and supported client credentials. Martini can consume these APIs, receive callbacks through exposed endpoints, transform data, orchestrate workflows, and coordinate retries and reconciliation.

Integration pointSupported by Salesforce Order Management?Common use casesHow Martini supports it
REST APIsYesUse SOQL queries, sObject operations, composite requests, and other REST resources for synchronous order, fulfillment, return, and status operations. OMS object availability depends on the target org.Martini can consume REST endpoints, authenticate with protected configuration, map JSON, apply business rules, and expose REST APIs for downstream systems.
GraphQL APIsLimitedSalesforce provides GraphQL, but Order Management object and operation coverage must be verified for the target org and API version. REST is the safer general OMS choice.Martini can consume GraphQL APIs where the required Salesforce schema and operations are confirmed, then transform the response in workflows.
SOAP APIsYesPartner and Enterprise SOAP APIs support legacy, strongly typed, or WSDL-oriented Salesforce integrations.Martini can consume SOAP services, map XML responses and requests, and incorporate SOAP calls into broader workflows.
Webhooks / outbound callbacksLimitedChange Data Capture, Platform Events, Pub/Sub API, Outbound Messages, Apex callouts, and Flow-based callouts support selected event or callback scenarios. They are not universal OMS webhooks.Martini can expose API endpoints or consume webhook-style callbacks, validate messages, start workflows, and route event-specific processing.
Bulk / async / batch APIsYesBulk API 2.0 supports asynchronous ingest and query for historical migration, large-volume synchronization, and reconciliation.Martini can orchestrate asynchronous jobs, poll or retrieve results, transform batches, load dependent objects in order, and record exceptions.
File / attachment APIsYesSalesforce Files uses ContentVersion, ContentDocument, and ContentDocumentLink for invoices, return labels, shipment documents, and customer-submitted files.Martini can retrieve file metadata or content through Salesforce APIs and route or associate documents with downstream transactions.
Database / analytics accessLimitedSalesforce provides API-based SOQL, query, reporting, and analytics access; direct access to the underlying Salesforce database is not a standard mechanism.Martini can query Salesforce APIs and persist data in an external SQL database for staging, reporting, or reconciliation.
AuthenticationYesConnected Apps support OAuth 2.0 authorization code, JWT bearer, supported client credentials, and other documented flows. Permissions and scopes determine effective access.Martini can keep tokens, client credentials, certificates, and related secrets in protected environment configuration and send bearer tokens to Salesforce APIs.

How Salesforce Order Management exposes data and business events

Salesforce REST APIs

Salesforce REST APIs provide the most generally applicable synchronous interface for SOQL queries, sObject operations, composite requests, and related resources. They can be used for Orders, OrderItems, OrderSummaries, FulfillmentOrders, ReturnOrders, and other objects available in the target org.

Martini implementation pattern

Martini implementation pattern: a workflow authenticates to Salesforce, retrieves or writes the required resources, maps JSON into a canonical model, applies lifecycle and validation rules, and returns or persists the result for the target application.

Implementation sequence

Authenticate through a configured Salesforce Connected App
Query or receive the required Salesforce object identifiers
Retrieve related objects and continuation pages
Map Salesforce JSON into the target model
Apply lifecycle, permission, and validation rules
Write the result to the target system and store correlation data

Salesforce Events and Callbacks

Salesforce supports Change Data Capture, Platform Events, Pub/Sub API, Outbound Messages, and other callback patterns for selected objects and scenarios. Coverage is event- and configuration-specific, so OMS lifecycle changes must be verified in the target org.

Martini implementation pattern

Martini implementation pattern: expose a controlled API endpoint for supported callback traffic or consume the selected event interface, validate the message, retrieve current Salesforce state when necessary, and start a workflow for routing and downstream processing.

Implementation sequence

Expose a secured Martini API endpoint or configure the selected event consumption path
Receive the Salesforce event or callback notification
Validate the message and capture event and correlation identifiers
Retrieve current Salesforce state when the notification is not complete
Map and route the change to downstream workflows
Acknowledge or record the event and schedule reconciliation for missed changes

Salesforce Bulk API 2.0

Bulk API 2.0 supports asynchronous ingestion and query for large data volumes. It is suited to historical order migration, scheduled synchronization, and reconciliation rather than low-latency individual updates.

Martini implementation pattern

Martini implementation pattern: a scheduled or manually initiated workflow submits a bulk query or ingest job, tracks asynchronous state, downloads results in batches, transforms dependent OMS objects, and records counts and exceptions.

Implementation sequence

Start the migration or reconciliation workflow
Submit a Bulk API query or ingest job
Poll the asynchronous job until completion
Retrieve result pages or files
Transform records in dependency order
Load the target system and reconcile counts, totals, and identifiers

Salesforce Files APIs

Salesforce Files uses ContentVersion, ContentDocument, and ContentDocumentLink to represent file content and relationships. The relationship between an order-related document and an OMS object must be confirmed in the target org.

Martini implementation pattern

Martini implementation pattern: retrieve file metadata and content through Salesforce APIs, validate document associations, route the file to the target repository or transaction, and record the source identifiers for traceability.

Implementation sequence

Identify the Salesforce file and related OMS object
Retrieve ContentVersion metadata and content
Validate file type, relationship, and size
Transform or route the document to the target system
Associate the target document with the order or return
Record source IDs and processing status

Common Salesforce Order Management integration patterns

Pattern 1: Synchronize orders to an ERP

When to use this pattern

Use this pattern when Salesforce Order Management is responsible for order and fulfillment context while an ERP processes inventory, financial transactions, invoicing, or returns. Event-driven updates can be combined with scheduled reconciliation.

Integration direction
Salesforce Order Management
Martini
SAP S/4HANA or NetSuite
Example Mapping
Salesforce Order Management FieldCanonical FieldTarget Field
Order.IdsourceOrderIdexternalOrderId
Order.OrderNumberorderNumbersalesOrderNumber
OrderItem.Quantityline.quantityorderedQuantity
Order.StatusorderStatusdocumentStatus
Martini implementation pattern

A Martini workflow queries changed Orders and OrderItems or processes supported Salesforce events, enriches the payload with related customer and address information, validates required ERP fields, and creates or updates the ERP transaction. It stores external identifiers, applies idempotent upsert rules, retries transient API failures with backoff, and writes permanent exceptions to an operational queue or review process.

Martini capabilities used
  • workflows
  • API consumption
  • data mapping
  • business rules
  • error handling
  • scheduled reconciliation

Pattern 2: Orchestrate fulfillment updates

When to use this pattern

Use this pattern when Salesforce FulfillmentOrders must be sent to a warehouse, 3PL, or shipping process and shipment or exception status must return to Salesforce.

Integration direction
Salesforce Order Management
Martini
Warehouse or 3PL application
Example Mapping
Salesforce Order Management FieldCanonical FieldTarget Field
FulfillmentOrder.IdfulfillmentIdfulfillmentReference
FulfillmentOrderLineItem.Quantityline.quantityrequestedQuantity
FulfillmentOrder.StatusfulfillmentStatusstatus
Shipment.TrackingNumbertrackingNumbertrackingNumber
Martini implementation pattern

Martini receives a supported event or retrieves incremental FulfillmentOrders, verifies that the parent Order and lines are available, maps locations and item quantities, and sends the fulfillment request. Responses are normalized and written back through Salesforce REST APIs, while duplicate messages, invalid transitions, rate limits, and unavailable warehouse responses follow separate retry and exception paths.

Martini capabilities used
  • event-driven workflows
  • API consumption
  • data transformation
  • conditional routing
  • idempotency
  • error handling

Pattern 3: Coordinate returns and refunds

When to use this pattern

Use this pattern when ReturnOrders and ReturnOrderLineItems must be validated, processed by a warehouse or payment provider, and reflected in Salesforce service and order status.

Integration direction
Salesforce Order Management
Martini
Adyen or warehouse application
Example Mapping
Salesforce Order Management FieldCanonical FieldTarget Field
ReturnOrder.IdreturnIdreturnReference
ReturnOrderLineItem.QuantityreturnedQuantityquantity
ReturnOrder.StatusreturnStatusreturnState
Payment.AuthorizationAmountrefundAmountamount
Martini implementation pattern

A Martini workflow detects or queries new ReturnOrders, validates eligibility, quantities, and order references, then routes the request to the appropriate warehouse or payment process. It applies business rules for approval and refund timing, uses source and event identifiers for idempotency, retries transient failures, and returns inspection, approval, disposition, and refund outcomes to Salesforce.

Martini capabilities used
  • workflows
  • data mapping
  • validation
  • business rules
  • API orchestration
  • retry handling

Pattern 4: Migrate and reconcile historical OMS data

When to use this pattern

Use this pattern for an initial load, platform transition, historical reporting store, or periodic reconciliation involving large volumes of Orders, OrderItems, OrderSummaries, FulfillmentOrders, and ReturnOrders.

Integration direction
Salesforce Order Management
Martini
SQL database or target application
Example Mapping
Salesforce Order Management FieldCanonical FieldTarget Field
Order.IdsalesforceIdsource_id
OrderSummary.StatussummaryStatusorder_status
FulfillmentOrder.IdfulfillmentIdfulfillment_id
ReturnOrder.IdreturnIdreturn_id
Martini implementation pattern

A Martini scheduled workflow uses Bulk API 2.0 or paginated REST queries, tracks a durable watermark, loads parent and child objects in dependency order, and persists source identifiers in a staging or reconciliation store. It compares counts, totals, statuses, and external IDs, produces exception outputs, and supports bounded retries and restartable batches.

Martini capabilities used
  • scheduled workflows
  • Bulk API orchestration
  • data mapping
  • SQL connectivity
  • reconciliation
  • monitoring

Applications commonly integrated with Salesforce Order Management

Salesforce Order Management can be integrated with adjacent Salesforce products, enterprise back-office platforms, commerce applications, payment providers, and API-led integration layers. The exact objects, fields, and interfaces depend on the Salesforce org, enabled OMS features, licenses, and API version.

Application Scenario Direction Martini Pattern
Salesforce Commerce Cloud Send completed commerce transactions into Salesforce Order Management and return fulfillment, shipment, and order-status information to the commerce experience. Salesforce Commerce Cloud → Martini → Salesforce Order Management Martini can consume or receive commerce order data, normalize customer, item, address, tax, and payment fields, and call Salesforce REST APIs. A reconciliation workflow can query changed orders when event delivery is unavailable.
Salesforce Service Cloud Give service agents order, fulfillment, shipment, return, and refund context while allowing approved service processes to initiate OMS updates. Salesforce Order Management → Martini → Salesforce Service Cloud A Martini workflow maps OrderSummary, FulfillmentOrder, ReturnOrder, and payment-status data into service-facing models, applies authorization and status rules, and exposes an API for approved updates.
Salesforce Sales Cloud Synchronize account, customer, order-history, and opportunity-related context across Salesforce business processes. Salesforce Sales Cloud → Martini → Salesforce Order Management Martini can query or receive Salesforce changes, map shared identifiers and order summaries, and use idempotent upserts while preserving the distinct lifecycles of sales and OMS objects.
SAP S/4HANA Exchange orders, inventory, fulfillment, deliveries, invoices, and returns with enterprise back-office processes. Salesforce Order Management → Martini → SAP S/4HANA Martini orchestrates REST, SOAP, or file-based calls as required by the SAP implementation, transforms Salesforce objects into SAP transaction models, and routes validation failures for operational review.
NetSuite Synchronize sales orders, inventory, fulfillment, invoices, and returns where NetSuite provides financial or ERP processing. Salesforce Order Management → Martini → NetSuite A workflow can retrieve incremental Salesforce changes, map external IDs and financial fields to NetSuite requests, apply duplicate protection, and write resulting statuses back to Salesforce.
Shopify Combine Shopify storefront orders or catalog activity with Salesforce order-management, service, and fulfillment processes. Shopify → Martini → Salesforce Order Management Martini can receive Shopify events or retrieve Shopify data, normalize the commerce payload, create or update Salesforce orders through REST APIs, and reconcile status changes on a schedule.
MuleSoft Anypoint Platform Use an API-led layer to expose, secure, transform, and govern Salesforce OMS integrations. Salesforce Order Management → Martini → MuleSoft Anypoint Platform Martini can consume MuleSoft-exposed APIs or expose APIs for MuleSoft consumption, applying canonical mappings, validation, correlation IDs, and controlled error handling between platforms.
Adyen Coordinate payment authorization, capture, refund, and payment-status information with Salesforce order and return processes. Salesforce Order Management → Martini → Adyen A Martini workflow can validate payment-related OMS data, call the payment API, apply idempotency and refund rules, and return payment outcomes or exceptions to Salesforce.

How to build a Salesforce Order Management integration in Martini

Objective

Establish Salesforce access with a Connected App and a flow appropriate to the integration, while keeping credentials and certificates outside workflow logic.

Instructions in Martini

  • Choose OAuth 2.0 authorization code, JWT bearer, or another supported flow
  • Create a least-privilege Salesforce integration user and Connected App configuration
  • Store client credentials, certificates, and tokens in protected Martini environment configuration
  • Confirm org URL, API version, scopes, object permissions, and field permissions

Objective

Select an event-driven, API-led, or scheduled trigger based on the required latency and the Salesforce object coverage available in the target org.

Instructions in Martini

  • Use supported CDC, Platform Events, Pub/Sub, or Outbound Message scenarios where appropriate
  • Expose a secured Martini API endpoint for Salesforce callbacks when required
  • Use REST queries for synchronous retrieval and scheduled reconciliation
  • Use Bulk API 2.0 for large-volume migration or asynchronous synchronization

Objective

Obtain complete Salesforce objects and relationships without assuming that one status or event contains the full OMS state.

Instructions in Martini

  • Retrieve Orders, OrderItems, OrderSummaries, FulfillmentOrders, or ReturnOrders as required
  • Follow REST continuation URLs or Bulk API result pages
  • Retrieve related files through ContentVersion and related objects when needed
  • Track SystemModstamp, LastModifiedDate, event identifiers, or another durable watermark

Objective

Coordinate calls, dependencies, routing, and state transitions in a maintainable Martini workflow.

Instructions in Martini

  • Separate parent and child object processing where dependencies require it
  • Add correlation IDs and preserve Salesforce source identifiers
  • Route fulfillment, return, payment, document, and reconciliation scenarios independently
  • Use asynchronous processing when downstream systems or Salesforce jobs are long-running

Objective

Convert Salesforce JSON, XML, event payloads, or file metadata into canonical and target-specific models.

Instructions in Martini

  • Map Salesforce IDs separately from customer-visible order numbers
  • Normalize addresses, quantities, prices, taxes, statuses, and dates
  • Transform OrderItem and ReturnOrderLineItem relationships explicitly
  • Use validation before sending incomplete or incompatible records downstream

Objective

Apply lifecycle, permission, eligibility, and duplicate-prevention rules before making downstream changes.

Instructions in Martini

  • Confirm that order, fulfillment, return, and payment transitions are valid
  • Use external IDs, source IDs, and event identifiers for idempotent processing
  • Distinguish transient rate-limit or platform failures from permanent validation errors
  • Prevent refunds, fulfillment actions, or status regressions from being applied twice

Common Salesforce Order Management data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
OrderRepresents the customer order and its overall commercial state.Commerce platforms, ERP systems, service applications, finance systemsMartini retrieves or receives Orders, validates lifecycle and identity fields, maps them to canonical order models, and uses external IDs or upserts to prevent duplicates.
OrderItemRepresents individual products or services included in an Order.ERP, inventory, warehouse, fulfillment, finance systemsMartini maps item identifiers, quantities, prices, taxes, and relationships to the parent Order while enforcing dependency and validation rules.
OrderSummaryProvides a consolidated representation used for post-order processing and downstream order-management operations.Service Cloud, reporting stores, ERP, customer-facing applicationsMartini uses OrderSummary for downstream status and history views, preserving Salesforce identifiers and distinguishing it from the commercial Order lifecycle.
FulfillmentOrderRepresents a fulfillment request or unit of work associated with delivering order items.Warehouse systems, 3PL platforms, ERP, shipping applicationsMartini routes fulfillment requests, maps locations and line items, applies status-transition rules, and writes shipment or exception updates back to Salesforce.
ReturnOrderRepresents a return request or return transaction associated with an order.Warehouse, payment platforms, service applications, ERPMartini validates eligibility and status, coordinates return processing, and handles duplicate or replayed state changes idempotently.
ReturnOrderLineItemRepresents products or quantities included in a return.Warehouse, inventory, payment, ERP systemsMartini maps returned quantities and product identifiers to downstream return lines and preserves the relationship to ReturnOrder.

Authentication and security considerations

OAuth and Connected Apps

Salesforce APIs use Connected Apps and OAuth 2.0 flows including authorization code, JWT bearer, and supported client credentials scenarios. Access tokens are sent as bearer tokens, and refresh tokens may be issued depending on the flow.

Least-privilege access

Salesforce users, profiles, permission sets, object permissions, field permissions, scopes, org policies, and API versions determine effective access. Use a dedicated integration user with only the permissions required for OMS processing.

Martini secret protection

Keep Salesforce client credentials, certificates, refresh tokens, and other secrets in protected Martini environment configuration. Do not embed secrets in workflows or expose access tokens in logs or payloads.

Operational considerations for Salesforce Order Management integrations

Limits and pagination

Salesforce enforces org-level and user-level API limits. Use composite or bulk operations where appropriate, follow REST continuation URLs, and retrieve Bulk API results asynchronously rather than repeatedly loading the full order population.

Incremental synchronization

Use durable watermarks such as SystemModstamp or LastModifiedDate where appropriate. Combine event processing with scheduled reconciliation because event coverage and delivery behavior vary by object and configuration.

Lifecycle and idempotency

Order, OrderSummary, FulfillmentOrder, payment, shipment, and return lifecycles are distinct. Persist Salesforce IDs and external identifiers, use idempotent upserts, and prevent duplicate or regressive status transitions.

Schema and release changes

Salesforce releases platform changes three times per year. Confirm API versions, object availability, fields, picklist values, managed-package extensions, and permissions in the target org, then test before deployment.

Retries and observability

Separate authentication, rate-limit, validation, permission, and transient platform errors. Apply bounded backoff for transient failures, record Salesforce request identifiers and correlation IDs, and route permanent data-quality errors to an operational exception process.

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

Orchestrate more than API calls

Point-to-point scripts often combine authentication, transformation, retries, and business rules in code that is difficult to reuse. Martini workflows provide a structured way to coordinate Salesforce APIs, events, files, databases, and downstream applications.

Centralize mappings and rules

Martini can map Orders, OrderItems, FulfillmentOrders, ReturnOrders, and related data into canonical and target-specific models while keeping validation, lifecycle rules, and duplicate protection consistent.

Support multiple processing models

A single integration design can combine synchronous REST operations, SOAP calls, event or callback processing, scheduled synchronization, and Bulk API migration workflows without requiring a separate point-to-point implementation for each path.

Improve maintainability

Reusable workflows, protected configuration, controlled APIs, correlation data, error handling, and monitoring make integrations easier to test, operate, and adapt as Salesforce org configuration and API versions change.

Frequently asked questions

How can Salesforce Order Management be integrated with enterprise systems?

Salesforce Order Management can be integrated through REST APIs, SOAP APIs, Bulk API 2.0, Salesforce Files APIs, and selected event or callback mechanisms such as Change Data Capture, Platform Events, Pub/Sub API, and Outbound Messages. OAuth 2.0 Connected Apps secure access, while scheduled reconciliation can supplement event-driven processing.

Can Martini integrate with Salesforce Order Management?

Yes. Martini can integrate with Salesforce Order Management by consuming Salesforce REST or SOAP APIs, orchestrating Bulk API processing, receiving supported event or callback traffic through an exposed API, mapping OMS objects, and coordinating downstream workflows. Object availability depends on the Salesforce org, enabled features, permissions, and API version.

Do I need a connector to integrate Salesforce Order Management with Martini?

No dedicated Salesforce Order Management connector is required. Martini can use Salesforce's confirmed native REST, SOAP, Bulk, Files, authentication, event, and callback mechanisms through workflows and APIs. A native Martini Salesforce OMS connector is not documented in the supplied materials.

Is there any extra Lonti cost to integrate Salesforce Order Management with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate Salesforce Order Management. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Salesforce, cloud infrastructure, payment providers, ERP platforms, or other third-party systems based on subscriptions, usage, and deployment model.

Which Salesforce integration method should an OMS implementation use?

Use REST for synchronous object operations and SOQL queries, Bulk API 2.0 for large-volume migration or reconciliation, and SOAP where a legacy or strongly typed integration requires it. Event mechanisms are useful for supported near-real-time changes, while scheduled reconciliation provides protection against missed or delayed events. Salesforce GraphQL is available, but OMS object coverage should be verified before relying on it.

Are Salesforce Order Management webhooks or events available?

Salesforce supports selected event and callback patterns through Change Data Capture, Platform Events, Pub/Sub API, Outbound Messages, Apex callouts, and Flow-based HTTP callouts. These are not universal webhooks for every OMS transition. The target org must be checked for object coverage, event configuration, retention, replay, ordering, and delivery behavior.

How does Martini handle Salesforce data synchronization and duplicate events?

Martini can combine event-driven workflows with scheduled incremental queries and reconciliation. Workflows can persist Salesforce IDs, external identifiers, event identifiers, and watermarks such as SystemModstamp or LastModifiedDate. Idempotent upserts, status-transition rules, bounded retries, and exception routing help prevent duplicate orders, fulfillments, returns, or refunds.

Can Martini expose an API façade for Salesforce Order Management?

Yes. Martini can expose controlled REST APIs that provide a canonical interface for commerce, ERP, service, or payment applications while workflows translate requests into Salesforce REST or SOAP operations. The façade can centralize authentication, validation, field mapping, business rules, correlation, and error handling.