---
title: "Shop GMV window totals (Seller Center, full shop view)"
method: POST
path: "/shop-gmv/summary"
tags: ["Shop GMV"]
---

# Shop GMV window totals (Seller Center, full shop view)

`POST /shop-gmv/summary`

Window totals for one shop from the TikTok Seller Center daily rollup — SUMmed across the window with the same channel hierarchy as the timeseries response. 

Same coverage caveats as the timeseries endpoint. ``aov`` is recomputed as total GMV / total orders over the window (a window-correct value, not the average of daily AOVs). ``customers`` is the SUM of daily unique-customer counts — buyers who purchased on multiple days are double-counted; a true window-distinct count is not derivable from this rollup.

## Request body

- ShopGmvSummaryRequest — POST /shop-gmv/summary request body. Window totals across the Seller Center daily rollup for one shop.
  - `start_date` string, date, nullable — Inclusive window start (YYYY-MM-DD). Defaults to 29 days before ``end_date``.
  - `end_date` string, date, nullable — Inclusive window end (YYYY-MM-DD). Defaults to yesterday.

## Response `200`

Successful Response

- ShopGmvSummaryResponse — Window totals across the Seller Center daily rollup for one shop.
  - `shop_id` integer, required
  - `currency_code` string, nullable — ISO currency code; ``null`` when window has no data.
  - `start_date` string, required
  - `end_date` string, required
  - `day_count` integer, required — Number of daily rows that contributed to these totals.
  - `gmv` number, required — SUM of daily GMV across the window.
  - `orders` integer, required — SUM of daily orders.
  - `items_sold` integer, required — SUM of daily units sold.
  - `customers` integer, required — SUM of daily unique-customer counts. NOTE: this double-counts buyers who purchased on multiple days; the source rollup is unique-per-day. A true window-distinct count is not derivable from this table.
  - `aov` number, nullable — Window-level AOV computed as total GMV / total orders over the window. ``null`` when there are no orders. Note: this is NOT the average of daily AOV values (which would be meaningless since daily AOVs have different denominators).
  - `channels` ShopGmvChannels, required
    - `video` ShopGmvVideoChannel, required — Video-attributed GMV breakdown for a single time point.
      - `gmv` number, nullable — Total video-attributed GMV for the day.
      - `affiliate` number, nullable — Video GMV from creator/affiliate videos.
      - `seller` number, nullable — Video GMV from the seller's own videos.
    - `live` ShopGmvLiveChannel, required — Live-attributed GMV breakdown for a single time point.
      - `gmv` number, nullable — Total live-attributed GMV for the day.
      - `affiliate` number, nullable — Live GMV from creator/affiliate lives.
      - `seller` number, nullable — Live GMV from the seller's own lives.
    - `product_card` ShopGmvProductCardChannel, required — Product-card (organic) GMV breakdown for a single time point.
      - `gmv` number, nullable — Total product-card GMV (organic surfaces).
      - `shop_tab` number, nullable — GMV from customers browsing the shop tab/storefront.
      - `search` number, nullable — GMV from TikTok search results.
  - `traffic` ShopGmvTraffic, required
    - `product_impressions` integer, nullable — Product impressions across surfaces.
    - `product_clicks` integer, nullable — Product clicks across surfaces.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/reacherapp/apis/reacher-data-api.md) · [All operations](https://skmtc.dev/reacherapp/apis/reacher-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/reacherapp/reacher-data-api/revisions/643422c93bd8/schema)
