> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omneo.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Claimable Benefits, eCommerce

> How to surface and redeem Omneo benefits at online checkout.

Claimable benefits in an eCommerce context follow the same Definition/Issue/Redeem pattern as in-store benefits. However, the checkout integration requires additional steps to surface the benefit to the customer and capture the redemption at the point of purchase.

## Overview

The typical flow is:

1. Customer authenticates on your eCommerce platform (resolved to Omneo profile via identity)
2. At checkout, your storefront queries available benefits for the profile
3. Customer selects which benefit to apply
4. Your checkout creates a redemption via the API
5. Your checkout applies the discount to the cart (handled by your platform, not Omneo)
6. On order completion, a transaction is created in Omneo with the `redemption_id`

## Step 1: Resolve the Omneo profile

Use the identity search endpoint to find the Omneo profile ID from your eCommerce platform's customer ID:

```shell theme={null}
GET /api/v3/identities/search?handle=shopify&identifier={shopifyCustomerId}
```

## Step 2: Fetch available benefits

```shell theme={null}
GET /api/v3/profiles/{profileId}/benefits
```

Filter for `status: "active"` benefits to show only currently redeemable benefits.

## Step 3: Create a redemption

When the customer confirms benefit application at checkout:

```shell theme={null}
curl -X POST https://api.[tenant].getomneo.com/api/v3/profiles/{profileId}/benefits/{benefitId}/redemptions \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "issued_at": "2025-06-15 14:30:00",
    "timezone": "Australia/Melbourne",
    "external_id": "CHECKOUT-SESSION-88123"
  }'
```

Store the returned redemption `id` in the checkout session.

## Step 4: Apply the discount

Omneo records the redemption but does not apply discounts to your eCommerce cart directly. Your platform is responsible for applying the discount value. Retrieve the benefit definition's discount type and value from the definition, and apply it via your platform's discount mechanism (e.g., Shopify discount codes or draft orders, Salesforce Commerce Cloud price adjustments).

## Step 5: Record the transaction

When the order is fulfilled and payment confirmed, create the transaction with the `redemption_id` to complete the loop:

```shell theme={null}
curl -X POST https://api.[tenant].getomneo.com/api/v3/transactions \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "profile_id": "{profileId}",
    "total": 89.95,
    "total_original": 99.95,
    "transacted_at": "2025-06-15 15:00:00",
    "external_id": "ORDER-88123",
    "redemption_id": 159
  }'
```

## Shopify-specific: checkout extensions

On Shopify, benefit and reward redemption at checkout is handled by Omneo's checkout extensions, configured per store. See [Shopify extension](/extensions/shopify/overview) for the full feature list.

<Note>Content needed: benefit status enum values, handling redemption cancellation if customer abandons checkout, and multi-benefit checkout flow.</Note>
