Skip to main content

Salesforce exchanges

In the Salesforce Commerce Cloud (SFCC) integration, exchanges use a webhook model.

J
Written by Jakub Talarek

What is it?

In the Salesforce Commerce Cloud (SFCC) integration, exchanges use a webhook model. When an exchange is ready to process, Ingrid Returns sends a signed event to a webhook endpoint you configure, and your system creates the exchange order in SFCC. Ingrid manages the return, decides when the exchange should trigger based on your policy, and delivers the event — but order creation stays entirely in your SFCC environment.

Because exchange creation depends on your endpoint, the exchange completes only if your endpoint is reachable when the event fires — even if SFCC itself is fully available.

How it works

  1. The customer selects an exchange item in the Ingrid Returns widget and submits the return.

  2. Ingrid records the exchange selection alongside the return.

  3. Based on your exchange policy, Ingrid waits for the trigger condition to be met.

  4. When the condition is met, Ingrid sends a signed POST to your configured webhook URL.

  5. Your endpoint verifies the signature, then creates the exchange order in SFCC.

Each request is signed with HMAC-SHA256, and the signature is included in the X-Ingrid-Signature header. Your endpoint should verify this header before processing the payload, to confirm the request genuinely came from Ingrid.

Exchange policy timing

Policy

When Ingrid sends the exchange event

When it fits

Immediate exchange

When the customer submits the return

Reliable-stock size or color swaps; fastest customer experience

Exchange on return

When all returned items are received at the warehouse

Reduces the risk of double inventory commitment

Exchange on shipment

When the returned parcel is confirmed in transit

Balances speed with light verification

Manual approval

After a Back-office user approves the exchange

High-value or fraud-sensitive items

A single return can be linked to more than one exchange order — each replacement selection generates its own event.

Configuration

Exchanges are configured in two places: the ecom integration settings (for your webhook URL and secret) and the exchange policy (for timing).

Webhook URL and secret

In Returns Back-office → Settings → Admin → [Shop] → Edit Ecom Integration, set:

  • Webhook URL — your endpoint that receives exchange events. If this is empty or wrong, no events are sent.

  • Webhook secret — used to sign each request with HMAC-SHA256. Your endpoint verifies the X-Ingrid-Signature header against it.

Exchange policy

Set the shop-level policy in Returns Back-office → Settings → Admin → [Shop] → Edit Settings → Exchanges. The default is immediate exchange.

You can also set the policy per price list in Returns Back-office → Settings → Price Setups → [Price List] → Edit. The price list setting overrides the shop-level default for any order matched to that list.

Examples

Immediate exchange for a size swap

A fashion merchant wants exchange orders created as soon as the customer submits the return, so fulfillment can start picking right away. Policy: immediate exchange.

  1. A customer returns a size M jacket and selects size L.

  2. The customer submits the return.

  3. Ingrid immediately sends the exchange event to the merchant's endpoint.

  4. The merchant's system creates a new SFCC order for the size L jacket.

  5. SFCC fulfillment picks it up like any standard order.

Result: the replacement order is in SFCC within seconds. The merchant carries inventory risk if the returned item comes back unsellable.

Exchange after warehouse receipt for premium goods

A merchant selling high-value items wants to inspect goods before shipping a replacement. A dedicated price list applies to orders over £150 with policy set to exchange on return; the shop default stays immediate exchange.

  1. A customer returns a £300 coat and selects a different color.

  2. The return ships and is received at the warehouse.

  3. Warehouse staff confirm receipt via quality check or the Public API.

  4. Once all items are confirmed, Ingrid sends the exchange event.

  5. The merchant's system creates the SFCC exchange order.

Result: premium replacements only ship after receipt, while standard orders still exchange immediately.

FAQ

Does Ingrid create the SFCC order directly?
No. Ingrid sends an event to your webhook endpoint, and your system creates the order in SFCC.

An exchange event was sent but no order appeared in SFCC.
Your endpoint likely returned an error or was unreachable when the event fired. Confirm the URL is correct and your server is reachable.

The exchange didn't trigger when I expected.
Check the policy at both shop level and on the relevant price list — the price list setting overrides the shop default. Confirm which price list applies to the order.

A return completed with an exchange selection, but no event arrived.
Confirm the webhook URL is set in the ecom integration settings. If it's empty, no event is sent, regardless of policy.

Can one return have more than one exchange?
Yes. A return can be associated with multiple exchange orders.

What if my endpoint was down when the event fired?
Don't rely on the event being resent. Use the Public API to retrieve the return and exchange data and process the exchange on your side. Confirm current retry behavior with the Returns team.

Limitations

Constraint

Type

Notes

Depends on your webhook endpoint

Hard limit

SFCC availability alone doesn't determine success — your endpoint must be reachable when the event fires.

No SFCC order confirmation back to Ingrid

Hard limit

Ingrid can't see whether the SFCC order was actually created after the event.

Refunds are handled separately

Hard limit

Refunds aren't issued by Ingrid in SFCC — see the Salesforce refunds article.

Policy applies at shop or price list level

Configurable

Not per individual order — use price list segmentation for different order types.

Did this answer your question?