---
title: "Get session Shopify info"
method: GET
path: "/sessions/{sessionId}/woocommerce"
tags: ["Session"]
---

# Get session Shopify info

`GET /sessions/{sessionId}/woocommerce`

## Request

- Base URL: `https://api.gleap.io/v3`
- URL: `https://api.gleap.io/v3/sessions/{sessionId}/woocommerce`
- Auth: HTTP bearer

Get Shopify information for a session. Returns `{ customer, orders, shopDomain }`; `customer` may be
null for guest checkouts; returns an empty object when the integration is not configured or no customer
matches.

## Path parameters

- `sessionId` string, required

## Headers

- `project` string, required

## Response `200`

Ok

- union
  - CommercePanel
    - `provider` string, required: A shop platform's key (`shopify`, `woocommerce`, `custom`, `shopware`, …). The keys and where each platform keeps its connections come from the platform registry (platforms/registry.ts): `commerceProviderKeys()`, `commerceIntegrationKey(provider)`.
    - `label` string, required
    - `customer` object, nullable, required
      - `adminUrl` string
      - `since` string
      - `totalSpent` string
      - `ordersCount` number, double
      - `email` string
      - `name` string
    - `matchedBy` 'verified' | 'email' | 'order': How the panel found the shop data: `verified` (the signed-in storefront customer), `email` (the contact's email, which the browser can set to anyone's), `order` (an order number + email the guest gave in the chat).
    - `orders` CommercePanelOrder[], required
      - `id` string, required
      - `number` string, required
      - `status` string, required
      - `statusTone` string, required
      - `date` string
      - `total` string
      - `items` number, double, required
      - `carrier` string
      - `trackingNumber` string
      - `trackingUrl` string
      - `adminUrl` string
      - `lines` ReturnTypeTypeofpanelLineOf[]: Shopify panel (the Gleap Shopify app): lines, totals, returns and the actions a teammate may run.
        - `inReturn` string, required
        - `returnableQuantity` number, double, required
        - `refundableQuantity` number, double, required
        - `variantId` string, required
        - `price` string, required
        - `image` string, required
        - `quantity` number, double, required
        - `variant` string, required
        - `title` string, required
        - `id` string, required
      - `subtotal` string
      - `shippingTotal` string
      - `discountTotal` string
      - `statusUrl` string
      - `returns` object[]
        - `status` string, required
        - `name` string
      - `ownership` 'verified' | 'email' | 'none'
      - `actions` OrderAction[]
      - `blockedActions` object[]: Actions this teammate could run for the signed-in customer, shown disabled with the reason (email match only).
        - `reason` string, required
        - `action` 'refund' | 'cancel_order' | 'create_return' | 'update_shipping_address' | 'send_status_link' | 'send_discount' | 'send_cart_link', required
      - `refundable` string: Shopify: what is left to refund (formatted) and the order currency with its decimals (refund dialog).
      - `currency` string
      - `currencyDecimals` number, double
    - `pendingReturns` CommercePendingView[], required
      - `id` string, required
      - `summary` string, required
      - `requestedBy` string, required
      - `provider` string
      - `ticketId` string
      - `sessionId` string
      - `createdAt` string, date-time, required
      - `expiresAt` string, date-time, required
      - `action` string, required: create_return (also exchanges) or refund.
      - `orderNumber` string
      - `reason` string
      - `exchange` boolean
      - `amount` string: Refund: the amount asked for, formatted ("€20.00"), or everything left when absent.
      - `currency` string
      - `items` object[]
        - `quantity` number, double, required
        - `image` string
        - `variant` string
        - `title` string, required
    - `error` string
  - RecordStringAny: Construct a type with a set of properties K of type T

## Changes

- **2026-10-14** `1e2659b9a418`: 18 info
  - added the optional property `anyOf[#/components/schemas/CommercePanel]/matchedBy` to the response with the `200` status
  - added the optional property `anyOf[#/components/schemas/CommercePanel]/orders/items/blockedActions` to the response with the `200` status
  - added the optional property `anyOf[#/components/schemas/CommercePanel]/orders/items/currency` to the response with the `200` status
  - added the optional property `anyOf[#/components/schemas/CommercePanel]/orders/items/currencyDecimals` to the response with the `200` status
  - …14 more
- **2026-10-12** `f0a83767b7c7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/gleap/apis/gleap-server/changes/sessions/:sessionId/woocommerce/get.md)

---

[API](https://skmtc.dev/gleap/apis/gleap-server.md) - [All operations](https://skmtc.dev/gleap/apis/gleap-server/llms.txt) - [OpenAPI document](https://skmtc.dev/gleap/apis/gleap-server/revisions/3b025e883cef?raw)
