Endpoints: raw platform data

Direct access to DataGlass's normalized per-platform product, order, and ad-campaign records.

These endpoints expose DataGlass's normalized, per-platform records — the raw rows behind the analytics. RT ("real-time") is the latest snapshot of an entity; Fact is the historical, daily-versioned record. See Getting started for auth and Conventions for pagination. All read-only.

Click any endpoint to expand its parameters, request body, and response. datadate parameters are integers in YYYYMMDD form.

Shopee — products (raw)

POST/api/shopee/product/internal/fact/fetch-full-product

Retrieves historical (Fact) snapshots of Shopee products over a date range, searched by shop, region, and optional item id. Use for time-series analysis and historical comparisons.

Request body

Array of FactShopeeProductSearchRequest

FieldTypeRequiredDescription
shopIdintegeryesShop ID
regionstringyesRegion code
itemIdintegernoItem ID filter
datadateStartintegeryesStart date (YYYYMMDD)
datadateEndintegeryesEnd date (YYYYMMDD)

Response — Array of FactShopeeProductFull — historical product snapshots: name, SKU, category, brand, images, engagement (views/likes/rating/sales), stock (in-transit, sellable, reserved, available), pricing, and tax fields. …and more — see the full schema in the OpenAPI spec.

POST/api/shopee/product/internal/rt/fetch-full-product

Retrieves the latest (RT) snapshot of Shopee products for a shop/region, with optional item-id and status filters.

Request body

Array of RtShopeeProductSearchRequest

FieldTypeRequiredDescription
shopIdintegeryesShop ID
regionstringyesRegion code
itemIdintegernoItem ID filter
itemStatusesarraynoStatus filter (e.g. ["NORMAL","UNLIST"])

Response — Array of RtShopeeProductFull — current product records (name, SKU, category, brand, images, engagement, stock, pricing, fulfillment flag, promotion id, tax fields) with a nested models array of variant data. …and more — see the full schema in the OpenAPI spec.

POST/api/shopee/product/internal/rt/fetch-full-product/paginated

Cursor-paginated RT products with advanced filtering (product/SKU search, numeric filters on sale/margin/COGS/units) and custom sort.

Request body

RtShopeeProductPaginatedFetchRequest

FieldTypeRequiredDescription
userIdintegeryesMust match the authenticated user
shopIdintegeryesShop ID
regionstringyesRegion code
productSearchstringnoProduct name search
itemSkuSearchstringnoItem SKU search
filtersarraynoNumeric field filters (gt, gte, lt, lte, between…)
sortBystringnoSort field (sale, views, likes, rating…)
sortDirectionstringnoasc or desc
cursorRtProductIdintegernoPagination cursor
cursorSortValuenumbernoLast-seen sort value
pageSizeintegernoRows per page (default 200)

ResponseCursorPaginatedResult<RtShopeeProductCursor, RtShopeeProductFull> — product rows (with nested models) plus the next cursor. …and more — see the full schema in the OpenAPI spec.

POST/api/shopee/product/internal/fetch-product-dashboard/paginated

Cursor-paginated RT product dashboard rows for the products UI, with search, filtering, and sort. Returns margin percentiles and variant counts per product.

Request bodyRtShopeeProductPaginatedFetchRequest (same fields as the RT paginated endpoint above).

ResponseCursorPaginatedResult<RtShopeeProductCursor, ShopeeProductDashboard> — dashboard rows (name, SKU, status, images, margin, sale, 180-day units, COGS, variant count, margin percentiles min/Q1/median/Q3/max/mean).

POST/api/shopee/product/internal/fetch-product-dashboard/margin-stats

Computes aggregated margin statistics (min, max, median, Q1, Q3) over the filtered product-dashboard set. No pagination — a single stats response.

Request bodyRtShopeeProductPaginatedV2FetchRequest (unified column filters; pagination fields ignored).

ResponseProductMarginStats — margin percentiles: minimum, Q1, median, Q3, maximum.

POST/api/shopee/product/internal/fetch-product-dashboard/paginated/v2

Cursor-paginated dashboard with the unified column-filter syntax (name, SKU, COGS, sale, 180-day units, margin) and custom sort.

Request body

RtShopeeProductPaginatedV2FetchRequest

FieldTypeRequiredDescription
userIdintegeryesAuthenticated user id
shopIdintegeryesShop ID
regionstringyesRegion code
productSearchstringnoProduct name search
itemSkuSearchstringnoItem SKU search
filtersarraynoUnified column filters (name/sku/number/margin operators)
sortBystringnoSort field
sortDirectionstringnoasc or desc
cursorRtProductIdintegernoPagination cursor
cursorSortValuenumbernoSort value cursor
pageSizeintegernoRows per page

ResponseCursorPaginatedResult<RtShopeeProductCursor, ShopeeProductDashboard> — dashboard rows with margin percentiles.

POST/api/shopee/product/internal/fetch-product-dashboard/paginated/v3

Offset-paginated dashboard (page/pageSize) with unified column filters and custom sort.

Request body

RtShopeeProductPaginatedV3FetchRequest

FieldTypeRequiredDescription
userIdintegeryesAuthenticated user id
shopIdintegeryesShop ID
regionstringyesRegion code
filtersarraynoUnified column filters
sortBystringnoSort field (sale, margin, cogs, units_sold_180d)
sortDirectionstringnoasc or desc
pageintegerno0-based page (default 0)
pageSizeintegernoRows per page (default 200)

ResponseOffsetPaginatedResult<ShopeeProductDashboard> — page metadata (page, pageSize, totalItems, totalPages) plus dashboard rows.

POST/api/shopee/product/internal/product-lifecycle/fetch

Analyzes one item's lifecycle across all its models, aggregated to a time resolution (DAY/WEEK/MONTH) — sales trends, peak periods, and per-model breakdown.

Request body

ShopeeProductLifecycleRequest

FieldTypeRequiredDescription
shopIdintegeryesShop ID
itemIdintegeryesItem ID
resolutionstringyesTime resolution: DAY, WEEK, or MONTH

ResponseShopeeProductLifecycleData — aggregate lifecycle statistics and per-model trend data at the requested resolution.

Shopee — orders (raw)

POST/api/shopee/order/internal/fact/order-full/fetch

Retrieves historical (Fact) Shopee order snapshots over a date range, searched by shop, region, and optional order SN.

Request body

Array of FactShopeeOrderSearchRequest

FieldTypeRequiredDescription
shopIdintegeryesShop ID
regionstringyesRegion code
orderSnstringnoOrder SN filter
datadateStartintegeryesStart date (YYYYMMDD)
datadateEndintegeryesEnd date (YYYYMMDD)

Response — Array of FactShopeeOrderFull — order snapshots (order SN, status, currency, buyer, total amount, shipping, fulfillment, payment method, COD flag, timestamps, and shipping/handling/tax details). …and more — see the full schema in the OpenAPI spec.

POST/api/shopee/order/internal/rt/order-full/count

Counts RT orders matching the criteria (shop/region/optional order SN).

Request body — Array of RtShopeeOrderSearchRequest (shopId, region required; orderSn optional).

Responseinteger — total count of matching RT orders.

POST/api/shopee/order/internal/rt/order-full/fetch

Retrieves the latest (RT) Shopee order snapshots for a shop/region, with optional order-SN filter.

Request body — Array of RtShopeeOrderSearchRequest (shopId, region required; orderSn optional).

Response — Array of RtShopeeOrderFull — current order records (order SN, status, buyer, amounts, shipping, payment, timestamps, fee/tax fields). …and more — see the full schema in the OpenAPI spec.

POST/api/shopee/order/internal/rt/order-full/fetch-paginated

Cursor-paginated RT orders; supports multiple shop/region search criteria at once.

Request body

RtShopeeOrderPaginatedFetchRequest

FieldTypeRequiredDescription
searchesarrayyesArray of RtShopeeOrderSearchRequest (shop, region, optional order SN)
cursorintegernoPagination cursor (rt_order_id)
pageSizeintegernoRows per page (default 200)

ResponseCursorPaginatedResult<Long, RtShopeeOrderFull> — current order rows plus the next cursor.

Shopee — ads (raw)

POST/api/shopee/ads/internal/fact/ad-campaign-full/fetch

Retrieves historical (Fact) Shopee ad-campaign snapshots over a date range, with optional campaign id / shop / region filters.

Request body

Array of FactShopeeAdCampaignSearchRequest

FieldTypeRequiredDescription
campaignIdintegernoCampaign ID filter
shopIdintegernoShop ID filter
regionstringnoRegion code filter
datadateStartintegeryesStart date (YYYYMMDD)
datadateEndintegeryesEnd date (YYYYMMDD)

Response — Array of FactShopeeAdCampaignFull — campaign records (id, name, ad type, placement, active flag, datadate/datahour, metrics: spend/impressions/clicks/GMV/orders/ROAS, plus settings). …and more — see the full schema in the OpenAPI spec.

POST/api/shopee/ads/internal/fact/ad-campaign-full/fetch-paginated

Cursor-paginated Fact ad campaigns; supports multiple search criteria.

Request body

FactShopeeAdCampaignPaginatedFetchRequest

FieldTypeRequiredDescription
searchesarrayyesArray of FactShopeeAdCampaignSearchRequest
cursorDatadateintegernoCursor datadate (YYYYMMDD)
cursorDatahourintegernoCursor datahour (0–23)
cursorCampaignIdintegernoCursor campaign id
pageSizeintegernoRows per page (default 200)

ResponseCursorPaginatedResult<FactShopeeAdCampaignCursor, FactShopeeAdCampaignFull> — campaign records plus the next cursor. …and more — see the full schema in the OpenAPI spec.

POST/api/shopee/ads/internal/fact/ad-campaign-full/{shopId}/{region}/fetch-daily-grouped

Fact ad campaigns grouped by campaign per date, with hourly sub-rows. Cursor-paginated.

Path parameters

NameTypeRequiredDescription
shopIdintegeryesShop ID
regionstringyesRegion code

Request body

FactShopeeAdCampaignGroupedFetchRequest (optional)

FieldTypeRequiredDescription
searchesarraynoFilter by campaign id and/or date range
cursorDatadateintegernoCursor datadate (YYYYMMDD)
cursorCampaignIdintegernoCursor campaign id
pageSizeintegernoMax grouped rows (default 50)

ResponseCursorPaginatedResult<FactShopeeAdCampaignDailyCursor, FactShopeeAdCampaignDailyGrouped> — grouped campaign-per-date records with hourly sub-rows.

POST/api/shopee/ads/internal/fact/ad-campaign-full/{shopId}/{region}/fetch-active-campaigns-dashboard

Active (ongoing) campaigns with the latest day's aggregated metrics, with optional name/id/ad-type filters and custom sort. Cursor-paginated.

Path parameters

NameTypeRequiredDescription
shopIdintegeryesShop ID
regionstringyesRegion code

Request body

FactShopeeAdCampaignActiveSummaryFetchRequest (optional)

FieldTypeRequiredDescription
datadateintegernoFilter to an exact datadate (YYYYMMDD)
activeOnlybooleannoOnly active campaigns (null = all)
searchCampaignstringnoFuzzy search by campaign/ad name
searchCampaignIdintegernoSearch by campaign id
filtersarraynoNumeric filters on campaign metrics
adTypeFilterarraynoFilter by ad type (auto, manual)
sortBystringnoSort field (expense, broadRoi, datadate…)
sortDirectionstringnoasc or desc
cursorDatadateintegernoCursor datadate
cursorCampaignIdintegernoCursor campaign id
cursorSortValuenumbernoCursor sort value
pageSizeintegernoMax campaigns (default 50)

ResponseCursorPaginatedResult<FactShopeeAdCampaignDailyCursor, FactShopeeAdCampaignSummary> — active campaigns with latest-day metrics. …and more — see the full schema in the OpenAPI spec.

POST/api/shopee/ads/internal/fact/ad-campaign-full/{shopId}/{region}/fetch-active-campaigns

Same active-campaign selection as the dashboard variant, but returned as grouped campaign-per-date rows with hourly sub-rows.

Path parameters

NameTypeRequiredDescription
shopIdintegeryesShop ID
regionstringyesRegion code

Request bodyFactShopeeAdCampaignActiveSummaryFetchRequest (optional; same fields as above).

ResponseCursorPaginatedResult<FactShopeeAdCampaignDailyCursor, FactShopeeAdCampaignDailyGrouped> — grouped daily campaign records with hourly sub-rows.

POST/api/shopee/ads/internal/fact/ad-campaign-full/{shopId}/{region}/campaigns/{campaignId}/fetch-daily-summary

Daily summary rows for a single campaign. Cursor-paginated.

Path parameters

NameTypeRequiredDescription
shopIdintegeryesShop ID
regionstringyesRegion code
campaignIdintegeryesCampaign ID

Request body

FactShopeeAdCampaignDailySummaryFetchRequest (optional)

FieldTypeRequiredDescription
cursorDatadateintegernoCursor datadate (YYYYMMDD)
cursorCampaignIdintegernoCursor campaign id
pageSizeintegernoMax daily rows (default 50)

ResponseCursorPaginatedResult<FactShopeeAdCampaignDailyCursor, FactShopeeAdCampaignDailyGrouped> — daily records with hourly sub-rows and metrics.

GET/api/shopee/ads/internal/fact/ad-campaign-full/{shopId}/{region}/campaigns/{campaignId}/dates/{datadate}/fetch-hourly-detail

Hourly performance data for a single campaign on a specific date.

Path parameters

NameTypeRequiredDescription
shopIdintegeryesShop ID
regionstringyesRegion code
campaignIdintegeryesCampaign ID
datadateintegeryesDate (YYYYMMDD)

Response — Array of FactShopeeAdCampaignHourlyEntry — hourly snapshots (datahour 0–23, spend, impressions, clicks, GMV, orders, ROAS).

POST/api/shopee/ads/internal/fact/ad-cancellation-dedup/{shopId}/{datadateStart}/{datadateEnd}

Dedup amounts for cancelled ads within a date range, optionally filtered to specific campaigns.

Path parameters

NameTypeRequiredDescription
shopIdintegeryesShop ID
datadateStartintegeryesStart date (YYYYMMDD)
datadateEndintegeryesEnd date (YYYYMMDD)

Request bodyShopeeAdCancellationDedupFetchRequest (optional) — campaignIds (null = all campaigns).

ResponseShopeeAdCancellationDedupResponse — dedup amounts by campaign plus totals.

POST/api/shopee/ads/internal/fact/ad-total-cancel-dedup/{shopId}/{datadateStart}/{datadateEnd}

Total dedup amounts for all cancelled ads (no rebuy check) within a date range, optionally filtered to specific campaigns.

Path parameters

NameTypeRequiredDescription
shopIdintegeryesShop ID
datadateStartintegeryesStart date (YYYYMMDD)
datadateEndintegeryesEnd date (YYYYMMDD)

Request bodyShopeeAdCancellationDedupFetchRequest (optional) — campaignIds.

ResponseShopeeAdTotalCancelDedupResponse — total cancel dedup amounts by campaign and aggregated totals.

GET/api/shopee/ads/internal/analytics-summary/{shopId}/{datadateFrom}/{datadateTo}

Precomputed hourly shop-analytics summary across a date range — product, ads, order, return, and engagement stats with a computedAt timestamp.

Path parameters

NameTypeRequiredDescription
shopIdintegeryesShop ID
datadateFromintegeryesStart date (YYYYMMDD)
datadateTointegeryesEnd date (YYYYMMDD)

Response — Array of ShopeeShopAnalyticsSummary — per-date rows: product counts, avg price, total stock, ad metrics (impressions/clicks/spend/GMV/orders/ROAS/CTR), order stats (count/units/revenue/AOV), return stats, and engagement (views/likes/rating/sales), with computedAt.

Lazada — products (raw)

POST/api/lazada/product/internal/fact/fetch-full-product

Retrieves historical (Fact) Lazada product snapshots on a specific date, searched by seller, region, and optional item id.

Request body

Array of FactLazadaProductSearchRequest

FieldTypeRequiredDescription
sellerIdintegeryesSeller (shop) ID
regionstringyesRegion code
itemIdintegernoItem ID filter
datadateintegeryesDate (YYYYMMDD)

Response — Array of FactLazadaProduct — historical snapshots (item id, name, SKU, category, brand, images, status, stock, pricing, rating). …and more — see the full schema in the OpenAPI spec.

POST/api/lazada/product/internal/rt/fetch-full-product

Retrieves the latest (RT) Lazada product snapshots for a seller/region, with optional item-id and updated-after filters.

Request body

Array of RtLazadaProductSearchRequest

FieldTypeRequiredDescription
sellerIdintegeryesSeller (shop) ID
regionstringyesRegion code
itemIdintegernoItem ID filter
updatedTimeAfterstring (date)noOnly rows updated at/after this instant

Response — Array of RtLazadaProduct — current product records (item id, name, SKU, category, brand, images, status, stock, pricing, rating). …and more — see the full schema in the OpenAPI spec.

POST/api/lazada/product/internal/rt/fetch-full-product/paginated

Cursor-paginated RT products with product/SKU search, numeric filters, and custom sort.

Request body

RtLazadaProductPaginatedFetchRequest

FieldTypeRequiredDescription
sellerIdintegeryesSeller (shop) ID
regionstringyesRegion code
productSearchstringnoProduct name search
itemSkuSearchstringnoItem SKU search
filtersarraynoNumeric field filters
sortBystringnoSort field (sale, margin, cogs)
sortDirectionstringnoasc or desc
cursorRtProductIdintegernoPagination cursor
cursorSortValuenumbernoLast-seen sort value
pageSizeintegernoRows per page (default 200)

ResponseCursorPaginatedResult<RtLazadaProductCursor, RtLazadaProduct> — product rows plus the next cursor. …and more — see the full schema in the OpenAPI spec.

POST/api/lazada/product/internal/rt/fetch-product-dashboard/paginated

Cursor-paginated RT product dashboard rows with search, filters, sort, margin percentiles, and variant counts.

Request bodyRtLazadaProductPaginatedFetchRequest (same fields as the RT paginated endpoint above).

ResponseCursorPaginatedResult<RtLazadaProductCursor, LazadaProductDashboard> — dashboard rows (id, name, SKU, status, images, margin, sale, 180-day units, COGS, variant count, margin percentiles).

POST/api/lazada/product/internal/rt/fetch-product-dashboard/margin-stats

Aggregated margin statistics (min, max, median, Q1, Q3) over the filtered Lazada dashboard set.

Request bodyRtLazadaProductPaginatedV2FetchRequest (unified column filters; pagination fields ignored).

ResponseProductMarginStats — margin percentiles: minimum, Q1, median, Q3, maximum.

POST/api/lazada/product/internal/rt/fetch-product-dashboard/paginated/v2

Cursor-paginated dashboard with the unified column-filter syntax (name, SKU, COGS, sale, margin) and custom sort.

Request body

RtLazadaProductPaginatedV2FetchRequest

FieldTypeRequiredDescription
sellerIdintegeryesSeller (shop) ID
regionstringyesRegion code
productSearchstringnoProduct name search
itemSkuSearchstringnoItem SKU search
filtersarraynoUnified column filters (name/sku/number/margin operators)
sortBystringnoSort field
sortDirectionstringnoasc or desc
cursorRtProductIdintegernoPagination cursor
cursorSortValuenumbernoSort value cursor
pageSizeintegernoRows per page

ResponseCursorPaginatedResult<RtLazadaProductCursor, LazadaProductDashboard> — dashboard rows with margin percentiles.

POST/api/lazada/product/internal/rt/fetch-product-dashboard/paginated/v3

Offset-paginated dashboard (page/pageSize) with unified column filters and custom sort.

Request body

RtLazadaProductPaginatedV3FetchRequest

FieldTypeRequiredDescription
sellerIdintegeryesSeller (shop) ID
regionstringyesRegion code
filtersarraynoUnified column filters
sortBystringnoSort field (sale, margin, cogs)
sortDirectionstringnoasc or desc
pageintegerno0-based page (default 0)
pageSizeintegernoRows per page (default 200)

ResponseOffsetPaginatedResult<LazadaProductDashboard> — page metadata plus dashboard rows.

TikTok — orders (raw)

POST/api/tiktok/order/internal/rt/order-full/count

Counts RT TikTok orders matching the criteria (shop and optional order id).

Request body — Array of RtTikTokOrderSearchRequest (shopId required; orderId optional).

Responseinteger — total count of matching RT orders.

POST/api/tiktok/order/internal/rt/order-full/fetch

Retrieves the latest (RT) TikTok order snapshots for a shop, with optional order-id filter.

Request body — Array of RtTikTokOrderSearchRequest (shopId required; orderId optional).

Response — Array of RtTikTokOrder — current order records (order id, status, currency, buyer, total amount, shipping, COD, payment method, recipient address, timestamps, fee/tax fields) with nested itemList, itemTaxList, packageList. …and more — see the full schema in the OpenAPI spec.

POST/api/tiktok/order/internal/rt/order-full/fetch-paginated

Cursor-paginated RT orders; supports multiple shop/order-id search criteria.

Request body

RtTikTokOrderPaginatedFetchRequest

FieldTypeRequiredDescription
searchesarrayyesArray of RtTikTokOrderSearchRequest (shop id, optional order id)
cursorintegernoPagination cursor (rt_order_id)
pageSizeintegernoRows per page (default 200)

ResponseCursorPaginatedResult<Long, RtTikTokOrder> — current order rows plus the next cursor.

POST/api/tiktok/order/internal/fact/order-full/fetch

Retrieves historical (Fact) TikTok order snapshots over a date range, searched by shop and region.

Request body

Array of FactTikTokOrderSearchRequest

FieldTypeRequiredDescription
shopIdintegeryesShop ID
regionstringyesRegion code
datadateStartintegeryesStart date (YYYYMMDD)
datadateEndintegeryesEnd date (YYYYMMDD)

Response — Array of FactTikTokOrder — historical order snapshots (order id, status, buyer, amounts, shipping, fees, payment, recipient address, timestamps incl. datadate/datahour/datamonth) with nested item/tax/package arrays. …and more — see the full schema in the OpenAPI spec.

POST/api/tiktok/order/internal/fact/order-full/fetch-paginated

Cursor-paginated Fact orders; supports multiple shop/region/date-range search criteria.

Request body

FactTikTokOrderPaginatedFetchRequest

FieldTypeRequiredDescription
searchesarrayyesArray of FactTikTokOrderSearchRequest (shop id, region, date range)
cursorintegernoPagination cursor (fact_order_id)
pageSizeintegernoRows per page (default 200)

ResponseCursorPaginatedResult<Long, FactTikTokOrder> — historical order rows (with nested item/tax/package arrays) plus the next cursor. …and more — see the full schema in the OpenAPI spec.