[{"data":1,"prerenderedAt":3994},["ShallowReactive",2],{"nav-en":3,"learn-chrome-vn":592,"doc-\u002Fvn\u002Fdocs\u002Fai-and-api\u002Fapi\u002Fplatform-data":690,"mdc--1ud1xs-key":3983},[4],{"title":5,"path":6,"stem":7,"children":8,"page":11},"Docs","\u002Fdocs","docs",[9,81,269,470,553],{"title":10,"draft":11,"path":12,"stem":13,"children":14},"Overview",false,"\u002Fdocs\u002Foverview","docs\u002F01.overview\u002Findex",[15,16,41,66],{"title":10,"path":12,"stem":13,"draft":11},{"title":17,"draft":11,"path":18,"stem":19,"children":20,"page":11},"Get started","\u002Fdocs\u002Foverview\u002Fget-started","docs\u002F01.overview\u002F01.get-started",[21,26,31,36],{"title":22,"path":23,"stem":24,"draft":11,"icon":25},"What is DataGlass","\u002Fdocs\u002Foverview\u002Fget-started\u002Fwhat-is-dataglass","docs\u002F01.overview\u002F01.get-started\u002F01.what-is-dataglass","i-material-symbols-info-rounded",{"title":27,"path":28,"stem":29,"draft":11,"icon":30},"Quick start","\u002Fdocs\u002Foverview\u002Fget-started\u002Fquick-start","docs\u002F01.overview\u002F01.get-started\u002F02.quick-start","i-material-symbols-rocket-launch-rounded",{"title":32,"path":33,"stem":34,"draft":11,"icon":35},"Supported platforms","\u002Fdocs\u002Foverview\u002Fget-started\u002Fsupported-platforms","docs\u002F01.overview\u002F01.get-started\u002F03.supported-platforms","i-material-symbols-grid-view-rounded",{"title":37,"path":38,"stem":39,"draft":11,"icon":40},"Connecting shops","\u002Fdocs\u002Foverview\u002Fget-started\u002Fconnecting-shops","docs\u002F01.overview\u002F01.get-started\u002F04.connecting-shops","i-material-symbols-link-rounded",{"title":42,"draft":11,"path":43,"stem":44,"children":45,"page":11},"Foundations","\u002Fdocs\u002Foverview\u002Ffoundations","docs\u002F01.overview\u002F02.foundations",[46,51,56,61],{"title":47,"path":48,"stem":49,"draft":11,"icon":50},"This shop vs Unified view","\u002Fdocs\u002Foverview\u002Ffoundations\u002Fthis-shop-vs-unified","docs\u002F01.overview\u002F02.foundations\u002F01.this-shop-vs-unified","i-material-symbols-layers-rounded",{"title":52,"path":53,"stem":54,"draft":11,"icon":55},"COGS and their role","\u002Fdocs\u002Foverview\u002Ffoundations\u002Fcogs-and-their-role","docs\u002F01.overview\u002F02.foundations\u002F02.cogs-and-their-role","i-material-symbols-payments-rounded",{"title":57,"path":58,"stem":59,"draft":11,"icon":60},"What's in your margin","\u002Fdocs\u002Foverview\u002Ffoundations\u002Fideal-vs-realized-margin","docs\u002F01.overview\u002F02.foundations\u002F03.ideal-vs-realized-margin","i-material-symbols-compare-arrows-rounded",{"title":62,"path":63,"stem":64,"draft":11,"icon":65},"True ROAS","\u002Fdocs\u002Foverview\u002Ffoundations\u002Ftrue-roas","docs\u002F01.overview\u002F02.foundations\u002F04.true-roas","i-material-symbols-ad-group-rounded",{"title":67,"draft":11,"path":68,"stem":69,"children":70,"page":11},"Explore","\u002Fdocs\u002Foverview\u002Fexplore","docs\u002F01.overview\u002F03.explore",[71,76],{"title":72,"path":73,"stem":74,"draft":11,"icon":75},"Pricing","\u002Fdocs\u002Foverview\u002Fexplore\u002Fpricing","docs\u002F01.overview\u002F03.explore\u002F01.pricing","i-material-symbols-sell-rounded",{"title":77,"path":78,"stem":79,"draft":11,"to":80},"Releases","\u002Fdocs\u002Foverview\u002Fexplore\u002Freleases","docs\u002F01.overview\u002F03.explore\u002F02.releases","\u002Freleases",{"title":82,"draft":11,"path":83,"stem":84,"children":85},"Features","\u002Fdocs\u002Ffeatures","docs\u002F02.features\u002Findex",[86,87,117,167,208,230,250],{"title":10,"path":83,"stem":84,"draft":11},{"title":88,"draft":11,"path":89,"stem":90,"children":91,"page":11},"Shops","\u002Fdocs\u002Ffeatures\u002Fshops","docs\u002F02.features\u002F01.shops",[92,97,102,107,112],{"title":93,"path":94,"stem":95,"draft":11,"icon":96},"Shop overview","\u002Fdocs\u002Ffeatures\u002Fshops\u002Fshop-overview","docs\u002F02.features\u002F01.shops\u002F01.shop-overview","i-material-symbols-space-dashboard-rounded",{"title":98,"path":99,"stem":100,"draft":11,"icon":101},"Understanding the numbers","\u002Fdocs\u002Ffeatures\u002Fshops\u002Funderstanding-the-numbers","docs\u002F02.features\u002F01.shops\u002F02.understanding-the-numbers","i-material-symbols-help-rounded",{"title":103,"path":104,"stem":105,"draft":11,"icon":106},"Attribution & dedup","\u002Fdocs\u002Ffeatures\u002Fshops\u002Fattribution-and-dedup","docs\u002F02.features\u002F01.shops\u002F03.attribution-and-dedup","i-material-symbols-call-merge-rounded",{"title":108,"path":109,"stem":110,"draft":11,"icon":111},"Shop health","\u002Fdocs\u002Ffeatures\u002Fshops\u002Fshop-health","docs\u002F02.features\u002F01.shops\u002F04.shop-health","i-material-symbols-monitor-heart-rounded",{"title":113,"path":114,"stem":115,"draft":11,"icon":116},"Shop settings and sync","\u002Fdocs\u002Ffeatures\u002Fshops\u002Fshop-settings-and-sync","docs\u002F02.features\u002F01.shops\u002F05.shop-settings-and-sync","i-material-symbols-settings-rounded",{"title":118,"draft":11,"path":119,"stem":120,"children":121,"page":11},"Products","\u002Fdocs\u002Ffeatures\u002Fproducts","docs\u002F02.features\u002F02.products",[122,127,132,137,142,147,152,157,162],{"title":123,"path":124,"stem":125,"draft":11,"icon":126},"Product table","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Fproduct-table","docs\u002F02.features\u002F02.products\u002F01.product-table","i-material-symbols-deployed-code-rounded",{"title":128,"path":129,"stem":130,"draft":11,"icon":131},"Unified products","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Funified-products","docs\u002F02.features\u002F02.products\u002F02.unified-products","i-material-symbols-dashboard-customize-rounded",{"title":133,"path":134,"stem":135,"draft":11,"icon":136},"Matching and merging products","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Fmatching-and-merging","docs\u002F02.features\u002F02.products\u002F03.matching-and-merging","i-material-symbols-merge-rounded",{"title":138,"path":139,"stem":140,"draft":11,"icon":141},"Bulk edit (Excel)","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Fbulk-edit-excel","docs\u002F02.features\u002F02.products\u002F04.bulk-edit-excel","i-material-symbols-grid-on-rounded",{"title":143,"path":144,"stem":145,"draft":11,"icon":146},"Inventory and reorder","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Finventory-and-reorder","docs\u002F02.features\u002F02.products\u002F05.inventory-and-reorder","i-material-symbols-inventory-2-rounded",{"title":148,"path":149,"stem":150,"draft":11,"icon":151},"Stock sync","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Fstock-sync","docs\u002F02.features\u002F02.products\u002F06.stock-sync","i-material-symbols-sync-rounded",{"title":153,"path":154,"stem":155,"draft":11,"icon":156},"Commission","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Fcommission","docs\u002F02.features\u002F02.products\u002F07.commission","i-material-symbols-price-change-rounded",{"title":158,"path":159,"stem":160,"draft":11,"icon":161},"Auto bump","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Fauto-bump","docs\u002F02.features\u002F02.products\u002F08.auto-bump","i-material-symbols-trending-up-rounded",{"title":163,"path":164,"stem":165,"draft":11,"icon":166},"Margin spread","\u002Fdocs\u002Ffeatures\u002Fproducts\u002Fmargin-spread","docs\u002F02.features\u002F02.products\u002F09.margin-spread","i-material-symbols-straighten-rounded",{"title":168,"draft":11,"path":169,"stem":170,"children":171},"Financial breakdown","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown","docs\u002F02.features\u002F03.financial-breakdown\u002Findex",[172,173,178,183,188,193,198,203],{"title":10,"path":169,"stem":170,"draft":11},{"title":174,"path":175,"stem":176,"draft":11,"icon":177},"Simulate and draft edit","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown\u002Fsimulate-and-draft-edit","docs\u002F02.features\u002F03.financial-breakdown\u002F01.simulate-and-draft-edit","i-material-symbols-science-rounded",{"title":179,"path":180,"stem":181,"draft":11,"icon":182},"Set margin","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown\u002Fset-margin","docs\u002F02.features\u002F03.financial-breakdown\u002F02.set-margin","i-material-symbols-tune-rounded",{"title":184,"path":185,"stem":186,"draft":11,"icon":187},"Margin optimizer","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown\u002Fmargin-optimizer","docs\u002F02.features\u002F03.financial-breakdown\u002F03.margin-optimizer","i-material-symbols-instant-mix-rounded",{"title":189,"path":190,"stem":191,"draft":11,"icon":192},"Price elasticity","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown\u002Fprice-elasticity","docs\u002F02.features\u002F03.financial-breakdown\u002F04.price-elasticity","i-material-symbols-show-chart-rounded",{"title":194,"path":195,"stem":196,"draft":11,"icon":197},"Product calculator","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown\u002Fproduct-calculator","docs\u002F02.features\u002F03.financial-breakdown\u002F05.product-calculator","i-material-symbols-calculate-rounded",{"title":199,"path":200,"stem":201,"draft":11,"icon":202},"Product history","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown\u002Fproduct-history","docs\u002F02.features\u002F03.financial-breakdown\u002F06.product-history","i-material-symbols-history-rounded",{"title":204,"path":205,"stem":206,"draft":11,"icon":207},"Net profit & hidden cost","\u002Fdocs\u002Ffeatures\u002Ffinancial-breakdown\u002Fnet-profit-and-hidden-cost","docs\u002F02.features\u002F03.financial-breakdown\u002F07.net-profit-and-hidden-cost","i-material-symbols-visibility-off-rounded",{"title":72,"draft":11,"path":209,"stem":210,"children":211,"page":11},"\u002Fdocs\u002Ffeatures\u002Fpricing","docs\u002F02.features\u002F04.pricing",[212,216,221,226],{"title":213,"path":214,"stem":215,"draft":11,"icon":141},"Price Edit","\u002Fdocs\u002Ffeatures\u002Fpricing\u002Fprice-edit","docs\u002F02.features\u002F04.pricing\u002F01.price-edit",{"title":217,"path":218,"stem":219,"draft":11,"icon":220},"Price increase whitelist","\u002Fdocs\u002Ffeatures\u002Fpricing\u002Fprice-increase-whitelist","docs\u002F02.features\u002F04.pricing\u002F02.price-increase-whitelist","i-lucide-badge-check",{"title":222,"path":223,"stem":224,"draft":11,"icon":225},"Requesting whitelist approval","\u002Fdocs\u002Ffeatures\u002Fpricing\u002Frequest-whitelist-approval","docs\u002F02.features\u002F04.pricing\u002F03.request-whitelist-approval","i-lucide-mail",{"title":227,"path":228,"stem":229,"draft":11,"icon":75},"Price tiers","\u002Fdocs\u002Ffeatures\u002Fpricing\u002Fprice-tiers","docs\u002F02.features\u002F04.pricing\u002F04.price-tiers",{"title":231,"draft":11,"path":232,"stem":233,"children":234},"Campaign simulator","\u002Fdocs\u002Ffeatures\u002Fcampaign-simulator","docs\u002F02.features\u002F05.campaign-simulator\u002Findex",[235,236,241,246],{"title":10,"path":232,"stem":233,"draft":11},{"title":237,"path":238,"stem":239,"draft":11,"icon":240},"Campaign phases","\u002Fdocs\u002Ffeatures\u002Fcampaign-simulator\u002Fphase-model","docs\u002F02.features\u002F05.campaign-simulator\u002F01.phase-model","i-material-symbols-timeline-rounded",{"title":242,"path":243,"stem":244,"draft":11,"icon":245},"Ads planning","\u002Fdocs\u002Ffeatures\u002Fcampaign-simulator\u002Fads-planning","docs\u002F02.features\u002F05.campaign-simulator\u002F02.ads-planning","i-material-symbols-ads-click-rounded",{"title":247,"path":248,"stem":249,"draft":11,"icon":60},"Counterfactual","\u002Fdocs\u002Ffeatures\u002Fcampaign-simulator\u002Fcounterfactual","docs\u002F02.features\u002F05.campaign-simulator\u002F03.counterfactual",{"title":251,"draft":11,"path":252,"stem":253,"children":254,"page":11},"Orders","\u002Fdocs\u002Ffeatures\u002Forders","docs\u002F02.features\u002F06.orders",[255,259,264],{"title":251,"path":256,"stem":257,"draft":11,"icon":258},"\u002Fdocs\u002Ffeatures\u002Forders\u002Forders","docs\u002F02.features\u002F06.orders\u002F01.orders","i-material-symbols-receipt-long-rounded",{"title":260,"path":261,"stem":262,"draft":11,"icon":263},"Reconciliation","\u002Fdocs\u002Ffeatures\u002Forders\u002Freconciliation","docs\u002F02.features\u002F06.orders\u002F02.reconciliation","i-material-symbols-balance",{"title":265,"path":266,"stem":267,"draft":11,"icon":268},"Shipping labels","\u002Fdocs\u002Ffeatures\u002Forders\u002Fshipping-labels","docs\u002F02.features\u002F06.orders\u002F03.shipping-labels","i-material-symbols-local-shipping-rounded",{"title":270,"draft":11,"path":271,"stem":272,"children":273},"Growth","\u002Fdocs\u002Fgrowth","docs\u002F03.growth\u002Findex",[274,275,298,362,386],{"title":10,"path":271,"stem":272,"draft":11},{"title":276,"draft":11,"path":277,"stem":278,"children":279,"page":11},"Actions","\u002Fdocs\u002Fgrowth\u002Factions","docs\u002F03.growth\u002F01.actions",[280,285,289,294],{"title":281,"path":282,"stem":283,"draft":11,"icon":284},"What are Actions","\u002Fdocs\u002Fgrowth\u002Factions\u002Fwhat-are-actions","docs\u002F03.growth\u002F01.actions\u002F01.what-are-actions","i-material-symbols-app-spark-rounded",{"title":286,"path":287,"stem":288,"draft":11},"Action flow","\u002Fdocs\u002Fgrowth\u002Factions\u002Faction-flow","docs\u002F03.growth\u002F01.actions\u002F02.action-flow",{"title":290,"path":291,"stem":292,"draft":11,"icon":293},"Deployed and dismissed","\u002Fdocs\u002Fgrowth\u002Factions\u002Fdeployed-and-dismissed","docs\u002F03.growth\u002F01.actions\u002F03.deployed-and-dismissed","i-material-symbols-published-with-changes-rounded",{"title":295,"path":296,"stem":297,"draft":11,"icon":197},"How Results are calculated","\u002Fdocs\u002Fgrowth\u002Factions\u002Fresults","docs\u002F03.growth\u002F01.actions\u002F04.results",{"title":299,"draft":11,"path":300,"stem":301,"children":302,"icon":304},"Action types","\u002Fdocs\u002Fgrowth\u002Faction-types","docs\u002F03.growth\u002F02.action-types\u002Findex",[303,305,310,315,319,324,329,334,339,343,348,353,358],{"title":10,"path":300,"stem":301,"draft":11,"icon":304},"i-material-symbols-format-list-bulleted-rounded",{"title":306,"path":307,"stem":308,"draft":11,"icon":309},"Price buffer","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fprice-buffer","docs\u002F03.growth\u002F02.action-types\u002F01.price-buffer","i-material-symbols-money-range-rounded",{"title":311,"path":312,"stem":313,"draft":11,"icon":314},"Commission adjust","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fcommission-adjust","docs\u002F03.growth\u002F02.action-types\u002F02.commission-adjust","i-material-symbols-percent-discount-rounded",{"title":316,"path":317,"stem":318,"draft":11,"icon":106},"Variant merge","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fvariant-merge","docs\u002F03.growth\u002F02.action-types\u002F03.variant-merge",{"title":320,"path":321,"stem":322,"draft":11,"icon":323},"Target ROAS","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Ftarget-roas","docs\u002F03.growth\u002F02.action-types\u002F04.target-roas","i-material-symbols-target",{"title":325,"path":326,"stem":327,"draft":11,"icon":328},"Bundle Deal","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fbundle-deal","docs\u002F03.growth\u002F02.action-types\u002F05.bundle-deal","i-material-symbols-category-rounded",{"title":330,"path":331,"stem":332,"draft":11,"icon":333},"Product Boost","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fproduct-boost","docs\u002F03.growth\u002F02.action-types\u002F06.product-boost","i-material-symbols-electric-bolt-rounded",{"title":335,"path":336,"stem":337,"draft":11,"icon":338},"Campaign Enrollment","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fcampaign-enrollment","docs\u002F03.growth\u002F02.action-types\u002F07.campaign-enrollment","i-material-symbols-play-arrow-rounded",{"title":340,"path":341,"stem":342,"draft":11,"icon":245},"Ad Adjustment","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fad-adjustment","docs\u002F03.growth\u002F02.action-types\u002F08.ad-adjustment",{"title":344,"path":345,"stem":346,"draft":11,"icon":347},"SEO","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fseo","docs\u002F03.growth\u002F02.action-types\u002F09.seo","i-material-symbols-category-search-rounded",{"title":349,"path":350,"stem":351,"draft":11,"icon":352},"Add-on Deal","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fadd-on-deal","docs\u002F03.growth\u002F02.action-types\u002F10.add-on-deal","i-material-symbols-add-box-rounded",{"title":354,"path":355,"stem":356,"draft":11,"icon":357},"Stock Up","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Fstock-up","docs\u002F03.growth\u002F02.action-types\u002F11.stock-up","i-material-symbols-inventory-rounded",{"title":359,"path":360,"stem":361,"draft":11,"icon":323},"TikTok Target ROAS","\u002Fdocs\u002Fgrowth\u002Faction-types\u002Ftiktok-target-roas","docs\u002F03.growth\u002F02.action-types\u002F12.tiktok-target-roas",{"title":363,"draft":11,"path":364,"stem":365,"children":366,"page":11},"Ads","\u002Fdocs\u002Fgrowth\u002Fads","docs\u002F03.growth\u002F03.ads",[367,372,376,381],{"title":368,"path":369,"stem":370,"draft":11,"icon":371},"Reading the Sankey","\u002Fdocs\u002Fgrowth\u002Fads\u002Freading-the-sankey","docs\u002F03.growth\u002F03.ads\u002F01.reading-the-sankey","i-material-symbols-schema-rounded",{"title":373,"path":374,"stem":375,"draft":11,"icon":60},"Cannibalization","\u002Fdocs\u002Fgrowth\u002Fads\u002Fcannibalization","docs\u002F03.growth\u002F03.ads\u002F02.cannibalization",{"title":377,"path":378,"stem":379,"draft":11,"icon":380},"Meta (Facebook) Ads","\u002Fdocs\u002Fgrowth\u002Fads\u002Fmeta-ads","docs\u002F03.growth\u002F03.ads\u002F03.meta-ads","i-simple-icons-meta",{"title":382,"path":383,"stem":384,"draft":11,"icon":385},"CPAS profit","\u002Fdocs\u002Fgrowth\u002Fads\u002Fcpas-profit","docs\u002F03.growth\u002F03.ads\u002F04.cpas-profit","i-material-symbols-hub-rounded",{"title":387,"draft":11,"path":388,"stem":389,"children":390,"icon":65},"Optimization groups","\u002Fdocs\u002Fgrowth\u002Foptimization-groups","docs\u002F03.growth\u002F04.optimization-groups\u002Findex",[391,392,397,402,407,412,416,421,426,431,436,441,445,450,455,460,465],{"title":10,"path":388,"stem":389,"draft":11,"icon":65},{"title":393,"path":394,"stem":395,"draft":11,"icon":396},"Planning your groups","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fplanning-your-groups","docs\u002F03.growth\u002F04.optimization-groups\u002F00.planning-your-groups","i-lucide-boxes",{"title":398,"path":399,"stem":400,"draft":11,"icon":401},"Creating a group","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fcreating-a-group","docs\u002F03.growth\u002F04.optimization-groups\u002F01.creating-a-group","i-lucide-plus",{"title":403,"path":404,"stem":405,"draft":11,"icon":406},"Global settings","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fglobal-settings","docs\u002F03.growth\u002F04.optimization-groups\u002F02.global-settings","i-lucide-settings-2",{"title":408,"path":409,"stem":410,"draft":11,"icon":411},"Budget and limits","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fbudget-and-limits","docs\u002F03.growth\u002F04.optimization-groups\u002F03.budget-and-limits","i-lucide-wallet",{"title":270,"path":413,"stem":414,"draft":11,"icon":415},"\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fgrowth","docs\u002F03.growth\u002F04.optimization-groups\u002F04.growth","i-lucide-trending-up",{"title":417,"path":418,"stem":419,"draft":11,"icon":420},"Choosing an objective","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fchoosing-an-objective","docs\u002F03.growth\u002F04.optimization-groups\u002F05.choosing-an-objective","i-lucide-target",{"title":422,"path":423,"stem":424,"draft":11,"icon":425},"Constraints","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fconstraints","docs\u002F03.growth\u002F04.optimization-groups\u002F06.constraints","i-lucide-shield-check",{"title":427,"path":428,"stem":429,"draft":11,"icon":430},"Distribution","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fallocation-preference","docs\u002F03.growth\u002F04.optimization-groups\u002F07.allocation-preference","i-lucide-sliders-horizontal",{"title":432,"path":433,"stem":434,"draft":11,"icon":435},"Pacing and rebalancing","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fpacing-and-rebalancing","docs\u002F03.growth\u002F04.optimization-groups\u002F08.pacing-and-rebalancing","i-lucide-clock",{"title":437,"path":438,"stem":439,"draft":11,"icon":440},"The month plan","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fmonthly-plan","docs\u002F03.growth\u002F04.optimization-groups\u002F09.monthly-plan","i-lucide-calendar-days",{"title":442,"path":443,"stem":444,"draft":11,"icon":435},"The Timeline schedule","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fschedule","docs\u002F03.growth\u002F04.optimization-groups\u002F10.schedule",{"title":446,"path":447,"stem":448,"draft":11,"icon":449},"Automation rules","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fautomation","docs\u002F03.growth\u002F04.optimization-groups\u002F11.automation","i-lucide-workflow",{"title":451,"path":452,"stem":453,"draft":11,"icon":454},"Managing campaigns in a group","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fmanaging-campaigns","docs\u002F03.growth\u002F04.optimization-groups\u002F12.managing-campaigns","i-lucide-list-checks",{"title":456,"path":457,"stem":458,"draft":11,"icon":459},"How the run works","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fdaily-run","docs\u002F03.growth\u002F04.optimization-groups\u002F13.daily-run","i-lucide-refresh-cw",{"title":461,"path":462,"stem":463,"draft":11,"icon":464},"When the ads model is updating","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fmodel-training","docs\u002F03.growth\u002F04.optimization-groups\u002F14.model-training","i-lucide-brain-circuit",{"title":466,"path":467,"stem":468,"draft":11,"icon":469},"Glossary","\u002Fdocs\u002Fgrowth\u002Foptimization-groups\u002Fglossary","docs\u002F03.growth\u002F04.optimization-groups\u002F16.glossary","i-lucide-book-a",{"title":471,"draft":11,"path":472,"stem":473,"children":474},"AI and API","\u002Fdocs\u002Fai-and-api","docs\u002F04.ai-and-api\u002Findex",[475,476,518],{"title":10,"path":472,"stem":473,"draft":11},{"title":477,"draft":11,"path":478,"stem":479,"children":480,"icon":482},"AI assistants","\u002Fdocs\u002Fai-and-api\u002Fassistants","docs\u002F04.ai-and-api\u002F01.assistants\u002Findex",[481,483,488,493,498,503,508,513],{"title":10,"path":478,"stem":479,"draft":11,"icon":482},"i-material-symbols-smart-toy-rounded",{"title":484,"path":485,"stem":486,"draft":11,"icon":487},"Connect to ChatGPT","\u002Fdocs\u002Fai-and-api\u002Fassistants\u002Fconnect-chatgpt","docs\u002F04.ai-and-api\u002F01.assistants\u002F01.connect-chatgpt","i-simple-icons-openai",{"title":489,"path":490,"stem":491,"draft":11,"icon":492},"Connect to Claude","\u002Fdocs\u002Fai-and-api\u002Fassistants\u002Fconnect-claude","docs\u002F04.ai-and-api\u002F01.assistants\u002F02.connect-claude","i-simple-icons-claude",{"title":494,"path":495,"stem":496,"draft":11,"icon":497},"Native playbooks","\u002Fdocs\u002Fai-and-api\u002Fassistants\u002Fplaybooks","docs\u002F04.ai-and-api\u002F01.assistants\u002F03.playbooks","i-material-symbols-route-rounded",{"title":499,"path":500,"stem":501,"draft":11,"icon":502},"Prompt library","\u002Fdocs\u002Fai-and-api\u002Fassistants\u002Fprompt-library","docs\u002F04.ai-and-api\u002F01.assistants\u002F04.prompt-library","i-material-symbols-forum-rounded",{"title":504,"path":505,"stem":506,"draft":11,"icon":507},"MCP tool catalog","\u002Fdocs\u002Fai-and-api\u002Fassistants\u002Ftool-catalog","docs\u002F04.ai-and-api\u002F01.assistants\u002F05.tool-catalog","i-material-symbols-build-rounded",{"title":509,"path":510,"stem":511,"draft":11,"icon":512},"Permissions and safety","\u002Fdocs\u002Fai-and-api\u002Fassistants\u002Fusage-and-safety","docs\u002F04.ai-and-api\u002F01.assistants\u002F06.usage-and-safety","i-material-symbols-health-and-safety-rounded",{"title":514,"path":515,"stem":516,"draft":11,"icon":517},"Worked MCP examples","\u002Fdocs\u002Fai-and-api\u002Fassistants\u002Fworked-examples","docs\u002F04.ai-and-api\u002F01.assistants\u002F07.worked-examples","i-material-symbols-menu-book-rounded",{"title":519,"draft":11,"path":520,"stem":521,"children":522,"page":11},"API","\u002Fdocs\u002Fai-and-api\u002Fapi","docs\u002F04.ai-and-api\u002F02.api",[523,528,533,538,543,548],{"title":524,"path":525,"stem":526,"draft":11,"icon":527},"Getting started","\u002Fdocs\u002Fai-and-api\u002Fapi\u002Fgetting-started","docs\u002F04.ai-and-api\u002F02.api\u002F01.getting-started","i-material-symbols-key-rounded",{"title":529,"path":530,"stem":531,"draft":11,"icon":532},"API security & limits","\u002Fdocs\u002Fai-and-api\u002Fapi\u002Fsecurity","docs\u002F04.ai-and-api\u002F02.api\u002F02.security","i-material-symbols-verified-user-rounded",{"title":534,"path":535,"stem":536,"draft":11,"icon":537},"Endpoints: products & orders","\u002Fdocs\u002Fai-and-api\u002Fapi\u002Fproducts-and-orders","docs\u002F04.ai-and-api\u002F02.api\u002F03.products-and-orders","i-material-symbols-package-2-rounded",{"title":539,"path":540,"stem":541,"draft":11,"icon":542},"Endpoints: financial breakdown","\u002Fdocs\u002Fai-and-api\u002Fapi\u002Ffinancial-breakdown","docs\u002F04.ai-and-api\u002F02.api\u002F04.financial-breakdown","i-material-symbols-account-balance-rounded",{"title":544,"path":545,"stem":546,"draft":11,"icon":547},"Endpoints: raw platform data","\u002Fdocs\u002Fai-and-api\u002Fapi\u002Fplatform-data","docs\u002F04.ai-and-api\u002F02.api\u002F05.platform-data","i-material-symbols-database-rounded",{"title":549,"path":550,"stem":551,"draft":11,"icon":552},"Endpoints: Actions & recommendations","\u002Fdocs\u002Fai-and-api\u002Fapi\u002Frecommendations","docs\u002F04.ai-and-api\u002F02.api\u002F06.recommendations","i-material-symbols-recommend-rounded",{"title":554,"draft":11,"path":555,"stem":556,"children":557},"Administration","\u002Fdocs\u002Fadministration","docs\u002F05.administration\u002Findex",[558,559,579],{"title":10,"path":555,"stem":556,"draft":11},{"title":560,"draft":11,"path":561,"stem":562,"children":563,"page":11},"Team and access","\u002Fdocs\u002Fadministration\u002Fteam-and-access","docs\u002F05.administration\u002F01.team-and-access",[564,569,574],{"title":565,"path":566,"stem":567,"draft":11,"icon":568},"Team & roles","\u002Fdocs\u002Fadministration\u002Fteam-and-access\u002Fteam-and-roles","docs\u002F05.administration\u002F01.team-and-access\u002F01.team-and-roles","i-material-symbols-group-rounded",{"title":570,"path":571,"stem":572,"draft":11,"icon":573},"Adding teammates","\u002Fdocs\u002Fadministration\u002Fteam-and-access\u002Fadding-teammates","docs\u002F05.administration\u002F01.team-and-access\u002F02.adding-teammates","i-material-symbols-person-add-rounded",{"title":575,"path":576,"stem":577,"draft":11,"icon":578},"Managing access","\u002Fdocs\u002Fadministration\u002Fteam-and-access\u002Fmanaging-access","docs\u002F05.administration\u002F01.team-and-access\u002F03.managing-access","i-material-symbols-admin-panel-settings-rounded",{"title":580,"draft":11,"path":581,"stem":582,"children":583,"page":11},"Account","\u002Fdocs\u002Fadministration\u002Faccount","docs\u002F05.administration\u002F02.account",[584,588],{"title":585,"path":586,"stem":587,"draft":11,"icon":385},"Open Platform","\u002Fdocs\u002Fadministration\u002Faccount\u002Fopen-platform","docs\u002F05.administration\u002F02.account\u002F01.open-platform",{"title":589,"path":590,"stem":591,"draft":11,"icon":258},"VAT","\u002Fdocs\u002Fadministration\u002Faccount\u002Fvat","docs\u002F05.administration\u002F02.account\u002F02.vat",{"id":593,"docsPage":594,"docsSidebar":605,"docsTabs":607,"extension":609,"footer":610,"header":669,"localeSwitch":685,"meta":687,"stem":688,"__hash__":689},"chrome_en\u002Fen\u002Fchrome.yml",{"onThisPage":595,"copyPage":596,"copied":597,"copyMenu":598,"copyMarkdownLink":599,"linkCopied":600,"viewMarkdown":601,"openChatGpt":602,"openClaude":603,"platforms":604},"On this page","Copy page","Copied","More copy options","Copy Markdown link","Copied to clipboard","View as Markdown","Open in ChatGPT","Open in Claude","Works on",{"label":606},"Docs sidebar",{"ariaLabel":608},"Docs sections","yml",{"ariaLabel":611,"columns":612,"legal":649,"quote":650,"askAi":653},"Footer",[613,625,631,639],{"label":67,"children":614},[615,616,619,622],{"label":5,"to":6},{"label":617,"to":618},"Use cases","\u002Fuse-cases",{"label":620,"to":621},"Training","\u002Ftraining",{"label":623,"to":624},"Resources","\u002Fresources",{"label":626,"children":627},"Build",[628,629,630],{"label":477,"to":478},{"label":519,"to":525},{"label":585,"to":586},{"label":632,"children":633},"Updates",[634,635],{"label":77,"to":80},{"label":636,"to":637,"target":638},"Blog","https:\u002F\u002Fwww.dataglasslabs.com\u002Fblog","_blank",{"label":640,"children":641},"DataGlass",[642,645,648],{"label":643,"to":644,"target":638},"Open DataGlass","https:\u002F\u002Fapp.dataglasslabs.com",{"label":646,"to":647,"target":638},"Website","https:\u002F\u002Fwww.dataglasslabs.com",{"label":72,"to":73},"DataGlass Labs. All rights reserved.",{"text":651,"caption":652},"Measure what you keep, and then grow what you measure.","The DataGlass team",{"label":654,"prompt":655,"assistants":656},"Ask AI about DataGlass","I want to learn how to use DataGlass, a decision engine for Shopee, Lazada and TikTok Shop sellers that optimizes ads, pricing and promotions for true profit. Use web search to read the DataGlass docs at https:\u002F\u002Flearn.dataglasslabs.com\u002Fdocs (with an agent-readable summary at https:\u002F\u002Flearn.dataglasslabs.com\u002Fllms.txt), then explain what DataGlass does, how to get started and which guides to read first.",[657,661,665],{"label":658,"icon":659,"url":660},"ChatGPT","chatgpt","https:\u002F\u002Fchatgpt.com\u002F?prompt={prompt}",{"label":662,"icon":663,"url":664},"Claude","claude","https:\u002F\u002Fclaude.ai\u002Fnew?q={prompt}",{"label":666,"icon":667,"url":668},"Perplexity","perplexity","https:\u002F\u002Fwww.perplexity.ai\u002Fsearch?q={prompt}",{"sections":670,"navLabel":683,"openApp":643,"search":684},[671,674,675,677,679,681],{"key":672,"label":673},"home","Home",{"key":7,"label":5},{"key":676,"label":617},"use-cases",{"key":678,"label":620},"training",{"key":680,"label":77},"releases",{"key":682,"label":623},"resources","Sections","Start searching",{"label":686},"Region and language",{},"en\u002Fchrome","mobUs3s2Zj3jKhQlnWk_tray3mh7L0ptp0ZGYXlK4NA",{"id":691,"title":544,"body":692,"description":3975,"draft":11,"draftReason":3976,"extension":3977,"layout":3976,"meta":3978,"navigation":3979,"path":545,"platforms":3976,"rawbody":3980,"seo":3981,"stem":546,"__hash__":3982},"docs_en\u002Fdocs\u002F04.ai-and-api\u002F02.api\u002F05.platform-data.md",{"type":693,"value":694,"toc":3965},"minimark",[695,717,733,738,872,973,1167,1189,1212,1387,1527,1606,1610,1714,1745,1774,1854,1858,1964,2073,2210,2455,2520,2653,2738,2821,2901,2980,2984,3076,3169,3333,3354,3373,3530,3653,3657,3682,3719,3795,3885],[696,697,698,699,703,704,707,708,711,712,716],"p",{},"These endpoints expose DataGlass's normalized, per-platform records — the raw rows behind the analytics. ",[700,701,702],"strong",{},"RT"," (\"real-time\") is the latest snapshot of an entity; ",[700,705,706],{},"Fact"," is the historical, daily-versioned record. See ",[709,710,524],"a",{"href":525}," for auth and ",[709,713,715],{"href":714},"\u002Fdocs\u002Fai-and-api\u002Fapi\u002Fgetting-started#conventions","Conventions"," for pagination. All read-only.",[718,719,721],"callout",{"icon":720},"i-lucide-mouse-pointer-click",[696,722,723,724,728,729,732],{},"Click any endpoint to expand its parameters, request body, and response. ",[725,726,727],"code",{},"datadate"," parameters are integers in ",[725,730,731],{},"YYYYMMDD"," form.",[734,735,737],"h2",{"id":736},"shopee-products-raw","Shopee — products (raw)",[739,740,744,747,752,758,858],"api-endpoint",{"method":741,"path":742,"summary":743},"POST","\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Ffact\u002Ffetch-full-product","Historical Shopee products",[696,745,746],{},"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.",[696,748,749],{},[700,750,751],{},"Request body",[696,753,754,755],{},"Array of ",[725,756,757],{},"FactShopeeProductSearchRequest",[759,760,761,780],"table",{},[762,763,764],"thead",{},[765,766,767,771,774,777],"tr",{},[768,769,770],"th",{},"Field",[768,772,773],{},"Type",[768,775,776],{},"Required",[768,778,779],{},"Description",[781,782,783,800,815,830,844],"tbody",{},[765,784,785,791,794,797],{},[786,787,788],"td",{},[725,789,790],{},"shopId",[786,792,793],{},"integer",[786,795,796],{},"yes",[786,798,799],{},"Shop ID",[765,801,802,807,810,812],{},[786,803,804],{},[725,805,806],{},"region",[786,808,809],{},"string",[786,811,796],{},[786,813,814],{},"Region code",[765,816,817,822,824,827],{},[786,818,819],{},[725,820,821],{},"itemId",[786,823,793],{},[786,825,826],{},"no",[786,828,829],{},"Item ID filter",[765,831,832,837,839,841],{},[786,833,834],{},[725,835,836],{},"datadateStart",[786,838,793],{},[786,840,796],{},[786,842,843],{},"Start date (YYYYMMDD)",[765,845,846,851,853,855],{},[786,847,848],{},[725,849,850],{},"datadateEnd",[786,852,793],{},[786,854,796],{},[786,856,857],{},"End date (YYYYMMDD)",[696,859,860,863,864,867,868],{},[700,861,862],{},"Response"," — Array of ",[725,865,866],{},"FactShopeeProductFull"," — historical product snapshots: name, SKU, category, brand, images, engagement (views\u002Flikes\u002Frating\u002Fsales), stock (in-transit, sellable, reserved, available), pricing, and tax fields. ",[869,870,871],"em",{},"…and more — see the full schema in the OpenAPI spec.",[739,873,876,879,883,888,959],{"method":741,"path":874,"summary":875},"\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-full-product","Current Shopee products",[696,877,878],{},"Retrieves the latest (RT) snapshot of Shopee products for a shop\u002Fregion, with optional item-id and status filters.",[696,880,881],{},[700,882,751],{},[696,884,754,885],{},[725,886,887],{},"RtShopeeProductSearchRequest",[759,889,890,902],{},[762,891,892],{},[765,893,894,896,898,900],{},[768,895,770],{},[768,897,773],{},[768,899,776],{},[768,901,779],{},[781,903,904,916,928,940],{},[765,905,906,910,912,914],{},[786,907,908],{},[725,909,790],{},[786,911,793],{},[786,913,796],{},[786,915,799],{},[765,917,918,922,924,926],{},[786,919,920],{},[725,921,806],{},[786,923,809],{},[786,925,796],{},[786,927,814],{},[765,929,930,934,936,938],{},[786,931,932],{},[725,933,821],{},[786,935,793],{},[786,937,826],{},[786,939,829],{},[765,941,942,947,950,952],{},[786,943,944],{},[725,945,946],{},"itemStatuses",[786,948,949],{},"array",[786,951,826],{},[786,953,954,955,958],{},"Status filter (e.g. ",[725,956,957],{},"[\"NORMAL\",\"UNLIST\"]",")",[696,960,961,863,963,966,967,970,971],{},[700,962,862],{},[725,964,965],{},"RtShopeeProductFull"," — current product records (name, SKU, category, brand, images, engagement, stock, pricing, fulfillment flag, promotion id, tax fields) with a nested ",[725,968,969],{},"models"," array of variant data. ",[869,972,871],{},[739,974,977,980,984,989,1156],{"method":741,"path":975,"summary":976},"\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-full-product\u002Fpaginated","Current Shopee products (cursor paginated)",[696,978,979],{},"Cursor-paginated RT products with advanced filtering (product\u002FSKU search, numeric filters on sale\u002Fmargin\u002FCOGS\u002Funits) and custom sort.",[696,981,982],{},[700,983,751],{},[696,985,986],{},[725,987,988],{},"RtShopeeProductPaginatedFetchRequest",[759,990,991,1003],{},[762,992,993],{},[765,994,995,997,999,1001],{},[768,996,770],{},[768,998,773],{},[768,1000,776],{},[768,1002,779],{},[781,1004,1005,1019,1031,1043,1057,1071,1085,1099,1113,1127,1142],{},[765,1006,1007,1012,1014,1016],{},[786,1008,1009],{},[725,1010,1011],{},"userId",[786,1013,793],{},[786,1015,796],{},[786,1017,1018],{},"Must match the authenticated user",[765,1020,1021,1025,1027,1029],{},[786,1022,1023],{},[725,1024,790],{},[786,1026,793],{},[786,1028,796],{},[786,1030,799],{},[765,1032,1033,1037,1039,1041],{},[786,1034,1035],{},[725,1036,806],{},[786,1038,809],{},[786,1040,796],{},[786,1042,814],{},[765,1044,1045,1050,1052,1054],{},[786,1046,1047],{},[725,1048,1049],{},"productSearch",[786,1051,809],{},[786,1053,826],{},[786,1055,1056],{},"Product name search",[765,1058,1059,1064,1066,1068],{},[786,1060,1061],{},[725,1062,1063],{},"itemSkuSearch",[786,1065,809],{},[786,1067,826],{},[786,1069,1070],{},"Item SKU search",[765,1072,1073,1078,1080,1082],{},[786,1074,1075],{},[725,1076,1077],{},"filters",[786,1079,949],{},[786,1081,826],{},[786,1083,1084],{},"Numeric field filters (gt, gte, lt, lte, between…)",[765,1086,1087,1092,1094,1096],{},[786,1088,1089],{},[725,1090,1091],{},"sortBy",[786,1093,809],{},[786,1095,826],{},[786,1097,1098],{},"Sort field (sale, views, likes, rating…)",[765,1100,1101,1106,1108,1110],{},[786,1102,1103],{},[725,1104,1105],{},"sortDirection",[786,1107,809],{},[786,1109,826],{},[786,1111,1112],{},"asc or desc",[765,1114,1115,1120,1122,1124],{},[786,1116,1117],{},[725,1118,1119],{},"cursorRtProductId",[786,1121,793],{},[786,1123,826],{},[786,1125,1126],{},"Pagination cursor",[765,1128,1129,1134,1137,1139],{},[786,1130,1131],{},[725,1132,1133],{},"cursorSortValue",[786,1135,1136],{},"number",[786,1138,826],{},[786,1140,1141],{},"Last-seen sort value",[765,1143,1144,1149,1151,1153],{},[786,1145,1146],{},[725,1147,1148],{},"pageSize",[786,1150,793],{},[786,1152,826],{},[786,1154,1155],{},"Rows per page (default 200)",[696,1157,1158,1160,1161,1164,1165],{},[700,1159,862],{}," — ",[725,1162,1163],{},"CursorPaginatedResult\u003CRtShopeeProductCursor, RtShopeeProductFull>"," — product rows (with nested models) plus the next cursor. ",[869,1166,871],{},[739,1168,1171,1174,1181],{"method":741,"path":1169,"summary":1170},"\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Ffetch-product-dashboard\u002Fpaginated","Shopee product dashboard (cursor)",[696,1172,1173],{},"Cursor-paginated RT product dashboard rows for the products UI, with search, filtering, and sort. Returns margin percentiles and variant counts per product.",[696,1175,1176,1160,1178,1180],{},[700,1177,751],{},[725,1179,988],{}," (same fields as the RT paginated endpoint above).",[696,1182,1183,1160,1185,1188],{},[700,1184,862],{},[725,1186,1187],{},"CursorPaginatedResult\u003CRtShopeeProductCursor, ShopeeProductDashboard>"," — dashboard rows (name, SKU, status, images, margin, sale, 180-day units, COGS, variant count, margin percentiles min\u002FQ1\u002Fmedian\u002FQ3\u002Fmax\u002Fmean).",[739,1190,1193,1196,1204],{"method":741,"path":1191,"summary":1192},"\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Ffetch-product-dashboard\u002Fmargin-stats","Margin stats over product set",[696,1194,1195],{},"Computes aggregated margin statistics (min, max, median, Q1, Q3) over the filtered product-dashboard set. No pagination — a single stats response.",[696,1197,1198,1160,1200,1203],{},[700,1199,751],{},[725,1201,1202],{},"RtShopeeProductPaginatedV2FetchRequest"," (unified column filters; pagination fields ignored).",[696,1205,1206,1160,1208,1211],{},[700,1207,862],{},[725,1209,1210],{},"ProductMarginStats"," — margin percentiles: minimum, Q1, median, Q3, maximum.",[739,1213,1216,1219,1223,1227,1380],{"method":741,"path":1214,"summary":1215},"\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Ffetch-product-dashboard\u002Fpaginated\u002Fv2","Shopee product dashboard v2 (unified filters)",[696,1217,1218],{},"Cursor-paginated dashboard with the unified column-filter syntax (name, SKU, COGS, sale, 180-day units, margin) and custom sort.",[696,1220,1221],{},[700,1222,751],{},[696,1224,1225],{},[725,1226,1202],{},[759,1228,1229,1241],{},[762,1230,1231],{},[765,1232,1233,1235,1237,1239],{},[768,1234,770],{},[768,1236,773],{},[768,1238,776],{},[768,1240,779],{},[781,1242,1243,1256,1268,1280,1292,1304,1317,1330,1342,1354,1367],{},[765,1244,1245,1249,1251,1253],{},[786,1246,1247],{},[725,1248,1011],{},[786,1250,793],{},[786,1252,796],{},[786,1254,1255],{},"Authenticated user id",[765,1257,1258,1262,1264,1266],{},[786,1259,1260],{},[725,1261,790],{},[786,1263,793],{},[786,1265,796],{},[786,1267,799],{},[765,1269,1270,1274,1276,1278],{},[786,1271,1272],{},[725,1273,806],{},[786,1275,809],{},[786,1277,796],{},[786,1279,814],{},[765,1281,1282,1286,1288,1290],{},[786,1283,1284],{},[725,1285,1049],{},[786,1287,809],{},[786,1289,826],{},[786,1291,1056],{},[765,1293,1294,1298,1300,1302],{},[786,1295,1296],{},[725,1297,1063],{},[786,1299,809],{},[786,1301,826],{},[786,1303,1070],{},[765,1305,1306,1310,1312,1314],{},[786,1307,1308],{},[725,1309,1077],{},[786,1311,949],{},[786,1313,826],{},[786,1315,1316],{},"Unified column filters (name\u002Fsku\u002Fnumber\u002Fmargin operators)",[765,1318,1319,1323,1325,1327],{},[786,1320,1321],{},[725,1322,1091],{},[786,1324,809],{},[786,1326,826],{},[786,1328,1329],{},"Sort field",[765,1331,1332,1336,1338,1340],{},[786,1333,1334],{},[725,1335,1105],{},[786,1337,809],{},[786,1339,826],{},[786,1341,1112],{},[765,1343,1344,1348,1350,1352],{},[786,1345,1346],{},[725,1347,1119],{},[786,1349,793],{},[786,1351,826],{},[786,1353,1126],{},[765,1355,1356,1360,1362,1364],{},[786,1357,1358],{},[725,1359,1133],{},[786,1361,1136],{},[786,1363,826],{},[786,1365,1366],{},"Sort value cursor",[765,1368,1369,1373,1375,1377],{},[786,1370,1371],{},[725,1372,1148],{},[786,1374,793],{},[786,1376,826],{},[786,1378,1379],{},"Rows per page",[696,1381,1382,1160,1384,1386],{},[700,1383,862],{},[725,1385,1187],{}," — dashboard rows with margin percentiles.",[739,1388,1391,1394,1398,1403,1519],{"method":741,"path":1389,"summary":1390},"\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Ffetch-product-dashboard\u002Fpaginated\u002Fv3","Shopee product dashboard (offset)",[696,1392,1393],{},"Offset-paginated dashboard (page\u002FpageSize) with unified column filters and custom sort.",[696,1395,1396],{},[700,1397,751],{},[696,1399,1400],{},[725,1401,1402],{},"RtShopeeProductPaginatedV3FetchRequest",[759,1404,1405,1417],{},[762,1406,1407],{},[765,1408,1409,1411,1413,1415],{},[768,1410,770],{},[768,1412,773],{},[768,1414,776],{},[768,1416,779],{},[781,1418,1419,1431,1443,1455,1468,1481,1493,1507],{},[765,1420,1421,1425,1427,1429],{},[786,1422,1423],{},[725,1424,1011],{},[786,1426,793],{},[786,1428,796],{},[786,1430,1255],{},[765,1432,1433,1437,1439,1441],{},[786,1434,1435],{},[725,1436,790],{},[786,1438,793],{},[786,1440,796],{},[786,1442,799],{},[765,1444,1445,1449,1451,1453],{},[786,1446,1447],{},[725,1448,806],{},[786,1450,809],{},[786,1452,796],{},[786,1454,814],{},[765,1456,1457,1461,1463,1465],{},[786,1458,1459],{},[725,1460,1077],{},[786,1462,949],{},[786,1464,826],{},[786,1466,1467],{},"Unified column filters",[765,1469,1470,1474,1476,1478],{},[786,1471,1472],{},[725,1473,1091],{},[786,1475,809],{},[786,1477,826],{},[786,1479,1480],{},"Sort field (sale, margin, cogs, units_sold_180d)",[765,1482,1483,1487,1489,1491],{},[786,1484,1485],{},[725,1486,1105],{},[786,1488,809],{},[786,1490,826],{},[786,1492,1112],{},[765,1494,1495,1500,1502,1504],{},[786,1496,1497],{},[725,1498,1499],{},"page",[786,1501,793],{},[786,1503,826],{},[786,1505,1506],{},"0-based page (default 0)",[765,1508,1509,1513,1515,1517],{},[786,1510,1511],{},[725,1512,1148],{},[786,1514,793],{},[786,1516,826],{},[786,1518,1155],{},[696,1520,1521,1160,1523,1526],{},[700,1522,862],{},[725,1524,1525],{},"OffsetPaginatedResult\u003CShopeeProductDashboard>"," — page metadata (page, pageSize, totalItems, totalPages) plus dashboard rows.",[739,1528,1531,1534,1538,1543,1598],{"method":741,"path":1529,"summary":1530},"\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Fproduct-lifecycle\u002Ffetch","Product lifecycle",[696,1532,1533],{},"Analyzes one item's lifecycle across all its models, aggregated to a time resolution (DAY\u002FWEEK\u002FMONTH) — sales trends, peak periods, and per-model breakdown.",[696,1535,1536],{},[700,1537,751],{},[696,1539,1540],{},[725,1541,1542],{},"ShopeeProductLifecycleRequest",[759,1544,1545,1557],{},[762,1546,1547],{},[765,1548,1549,1551,1553,1555],{},[768,1550,770],{},[768,1552,773],{},[768,1554,776],{},[768,1556,779],{},[781,1558,1559,1571,1584],{},[765,1560,1561,1565,1567,1569],{},[786,1562,1563],{},[725,1564,790],{},[786,1566,793],{},[786,1568,796],{},[786,1570,799],{},[765,1572,1573,1577,1579,1581],{},[786,1574,1575],{},[725,1576,821],{},[786,1578,793],{},[786,1580,796],{},[786,1582,1583],{},"Item ID",[765,1585,1586,1591,1593,1595],{},[786,1587,1588],{},[725,1589,1590],{},"resolution",[786,1592,809],{},[786,1594,796],{},[786,1596,1597],{},"Time resolution: DAY, WEEK, or MONTH",[696,1599,1600,1160,1602,1605],{},[700,1601,862],{},[725,1603,1604],{},"ShopeeProductLifecycleData"," — aggregate lifecycle statistics and per-model trend data at the requested resolution.",[734,1607,1609],{"id":1608},"shopee-orders-raw","Shopee — orders (raw)",[739,1611,1614,1617,1621,1626,1704],{"method":741,"path":1612,"summary":1613},"\u002Fapi\u002Fshopee\u002Forder\u002Finternal\u002Ffact\u002Forder-full\u002Ffetch","Historical Shopee orders",[696,1615,1616],{},"Retrieves historical (Fact) Shopee order snapshots over a date range, searched by shop, region, and optional order SN.",[696,1618,1619],{},[700,1620,751],{},[696,1622,754,1623],{},[725,1624,1625],{},"FactShopeeOrderSearchRequest",[759,1627,1628,1640],{},[762,1629,1630],{},[765,1631,1632,1634,1636,1638],{},[768,1633,770],{},[768,1635,773],{},[768,1637,776],{},[768,1639,779],{},[781,1641,1642,1654,1666,1680,1692],{},[765,1643,1644,1648,1650,1652],{},[786,1645,1646],{},[725,1647,790],{},[786,1649,793],{},[786,1651,796],{},[786,1653,799],{},[765,1655,1656,1660,1662,1664],{},[786,1657,1658],{},[725,1659,806],{},[786,1661,809],{},[786,1663,796],{},[786,1665,814],{},[765,1667,1668,1673,1675,1677],{},[786,1669,1670],{},[725,1671,1672],{},"orderSn",[786,1674,809],{},[786,1676,826],{},[786,1678,1679],{},"Order SN filter",[765,1681,1682,1686,1688,1690],{},[786,1683,1684],{},[725,1685,836],{},[786,1687,793],{},[786,1689,796],{},[786,1691,843],{},[765,1693,1694,1698,1700,1702],{},[786,1695,1696],{},[725,1697,850],{},[786,1699,793],{},[786,1701,796],{},[786,1703,857],{},[696,1705,1706,863,1708,1711,1712],{},[700,1707,862],{},[725,1709,1710],{},"FactShopeeOrderFull"," — order snapshots (order SN, status, currency, buyer, total amount, shipping, fulfillment, payment method, COD flag, timestamps, and shipping\u002Fhandling\u002Ftax details). ",[869,1713,871],{},[739,1715,1718,1721,1738],{"method":741,"path":1716,"summary":1717},"\u002Fapi\u002Fshopee\u002Forder\u002Finternal\u002Frt\u002Forder-full\u002Fcount","Count current Shopee orders",[696,1719,1720],{},"Counts RT orders matching the criteria (shop\u002Fregion\u002Foptional order SN).",[696,1722,1723,863,1725,1728,1729,1731,1732,1734,1735,1737],{},[700,1724,751],{},[725,1726,1727],{},"RtShopeeOrderSearchRequest"," (",[725,1730,790],{},", ",[725,1733,806],{}," required; ",[725,1736,1672],{}," optional).",[696,1739,1740,1160,1742,1744],{},[700,1741,862],{},[725,1743,793],{}," — total count of matching RT orders.",[739,1746,1749,1752,1764],{"method":741,"path":1747,"summary":1748},"\u002Fapi\u002Fshopee\u002Forder\u002Finternal\u002Frt\u002Forder-full\u002Ffetch","Current Shopee orders",[696,1750,1751],{},"Retrieves the latest (RT) Shopee order snapshots for a shop\u002Fregion, with optional order-SN filter.",[696,1753,1754,863,1756,1728,1758,1731,1760,1734,1762,1737],{},[700,1755,751],{},[725,1757,1727],{},[725,1759,790],{},[725,1761,806],{},[725,1763,1672],{},[696,1765,1766,863,1768,1771,1772],{},[700,1767,862],{},[725,1769,1770],{},"RtShopeeOrderFull"," — current order records (order SN, status, buyer, amounts, shipping, payment, timestamps, fee\u002Ftax fields). ",[869,1773,871],{},[739,1775,1778,1781,1785,1790,1846],{"method":741,"path":1776,"summary":1777},"\u002Fapi\u002Fshopee\u002Forder\u002Finternal\u002Frt\u002Forder-full\u002Ffetch-paginated","Current Shopee orders (cursor paginated)",[696,1779,1780],{},"Cursor-paginated RT orders; supports multiple shop\u002Fregion search criteria at once.",[696,1782,1783],{},[700,1784,751],{},[696,1786,1787],{},[725,1788,1789],{},"RtShopeeOrderPaginatedFetchRequest",[759,1791,1792,1804],{},[762,1793,1794],{},[765,1795,1796,1798,1800,1802],{},[768,1797,770],{},[768,1799,773],{},[768,1801,776],{},[768,1803,779],{},[781,1805,1806,1820,1834],{},[765,1807,1808,1813,1815,1817],{},[786,1809,1810],{},[725,1811,1812],{},"searches",[786,1814,949],{},[786,1816,796],{},[786,1818,1819],{},"Array of RtShopeeOrderSearchRequest (shop, region, optional order SN)",[765,1821,1822,1827,1829,1831],{},[786,1823,1824],{},[725,1825,1826],{},"cursor",[786,1828,793],{},[786,1830,826],{},[786,1832,1833],{},"Pagination cursor (rt_order_id)",[765,1835,1836,1840,1842,1844],{},[786,1837,1838],{},[725,1839,1148],{},[786,1841,793],{},[786,1843,826],{},[786,1845,1155],{},[696,1847,1848,1160,1850,1853],{},[700,1849,862],{},[725,1851,1852],{},"CursorPaginatedResult\u003CLong, RtShopeeOrderFull>"," — current order rows plus the next cursor.",[734,1855,1857],{"id":1856},"shopee-ads-raw","Shopee — ads (raw)",[739,1859,1862,1865,1869,1874,1954],{"method":741,"path":1860,"summary":1861},"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-campaign-full\u002Ffetch","Historical Shopee ad campaigns",[696,1863,1864],{},"Retrieves historical (Fact) Shopee ad-campaign snapshots over a date range, with optional campaign id \u002F shop \u002F region filters.",[696,1866,1867],{},[700,1868,751],{},[696,1870,754,1871],{},[725,1872,1873],{},"FactShopeeAdCampaignSearchRequest",[759,1875,1876,1888],{},[762,1877,1878],{},[765,1879,1880,1882,1884,1886],{},[768,1881,770],{},[768,1883,773],{},[768,1885,776],{},[768,1887,779],{},[781,1889,1890,1904,1917,1930,1942],{},[765,1891,1892,1897,1899,1901],{},[786,1893,1894],{},[725,1895,1896],{},"campaignId",[786,1898,793],{},[786,1900,826],{},[786,1902,1903],{},"Campaign ID filter",[765,1905,1906,1910,1912,1914],{},[786,1907,1908],{},[725,1909,790],{},[786,1911,793],{},[786,1913,826],{},[786,1915,1916],{},"Shop ID filter",[765,1918,1919,1923,1925,1927],{},[786,1920,1921],{},[725,1922,806],{},[786,1924,809],{},[786,1926,826],{},[786,1928,1929],{},"Region code filter",[765,1931,1932,1936,1938,1940],{},[786,1933,1934],{},[725,1935,836],{},[786,1937,793],{},[786,1939,796],{},[786,1941,843],{},[765,1943,1944,1948,1950,1952],{},[786,1945,1946],{},[725,1947,850],{},[786,1949,793],{},[786,1951,796],{},[786,1953,857],{},[696,1955,1956,863,1958,1961,1962],{},[700,1957,862],{},[725,1959,1960],{},"FactShopeeAdCampaignFull"," — campaign records (id, name, ad type, placement, active flag, datadate\u002Fdatahour, metrics: spend\u002Fimpressions\u002Fclicks\u002FGMV\u002Forders\u002FROAS, plus settings). ",[869,1963,871],{},[739,1965,1968,1971,1975,1980,2063],{"method":741,"path":1966,"summary":1967},"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-campaign-full\u002Ffetch-paginated","Historical ad campaigns (cursor paginated)",[696,1969,1970],{},"Cursor-paginated Fact ad campaigns; supports multiple search criteria.",[696,1972,1973],{},[700,1974,751],{},[696,1976,1977],{},[725,1978,1979],{},"FactShopeeAdCampaignPaginatedFetchRequest",[759,1981,1982,1994],{},[762,1983,1984],{},[765,1985,1986,1988,1990,1992],{},[768,1987,770],{},[768,1989,773],{},[768,1991,776],{},[768,1993,779],{},[781,1995,1996,2009,2023,2037,2051],{},[765,1997,1998,2002,2004,2006],{},[786,1999,2000],{},[725,2001,1812],{},[786,2003,949],{},[786,2005,796],{},[786,2007,2008],{},"Array of FactShopeeAdCampaignSearchRequest",[765,2010,2011,2016,2018,2020],{},[786,2012,2013],{},[725,2014,2015],{},"cursorDatadate",[786,2017,793],{},[786,2019,826],{},[786,2021,2022],{},"Cursor datadate (YYYYMMDD)",[765,2024,2025,2030,2032,2034],{},[786,2026,2027],{},[725,2028,2029],{},"cursorDatahour",[786,2031,793],{},[786,2033,826],{},[786,2035,2036],{},"Cursor datahour (0–23)",[765,2038,2039,2044,2046,2048],{},[786,2040,2041],{},[725,2042,2043],{},"cursorCampaignId",[786,2045,793],{},[786,2047,826],{},[786,2049,2050],{},"Cursor campaign id",[765,2052,2053,2057,2059,2061],{},[786,2054,2055],{},[725,2056,1148],{},[786,2058,793],{},[786,2060,826],{},[786,2062,1155],{},[696,2064,2065,1160,2067,2070,2071],{},[700,2066,862],{},[725,2068,2069],{},"CursorPaginatedResult\u003CFactShopeeAdCampaignCursor, FactShopeeAdCampaignFull>"," — campaign records plus the next cursor. ",[869,2072,871],{},[739,2074,2077,2080,2085,2126,2130,2136,2202],{"method":741,"path":2075,"summary":2076},"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-campaign-full\u002F{shopId}\u002F{region}\u002Ffetch-daily-grouped","Ad campaigns grouped by day",[696,2078,2079],{},"Fact ad campaigns grouped by campaign per date, with hourly sub-rows. Cursor-paginated.",[696,2081,2082],{},[700,2083,2084],{},"Path parameters",[759,2086,2087,2100],{},[762,2088,2089],{},[765,2090,2091,2094,2096,2098],{},[768,2092,2093],{},"Name",[768,2095,773],{},[768,2097,776],{},[768,2099,779],{},[781,2101,2102,2114],{},[765,2103,2104,2108,2110,2112],{},[786,2105,2106],{},[725,2107,790],{},[786,2109,793],{},[786,2111,796],{},[786,2113,799],{},[765,2115,2116,2120,2122,2124],{},[786,2117,2118],{},[725,2119,806],{},[786,2121,809],{},[786,2123,796],{},[786,2125,814],{},[696,2127,2128],{},[700,2129,751],{},[696,2131,2132,2135],{},[725,2133,2134],{},"FactShopeeAdCampaignGroupedFetchRequest"," (optional)",[759,2137,2138,2150],{},[762,2139,2140],{},[765,2141,2142,2144,2146,2148],{},[768,2143,770],{},[768,2145,773],{},[768,2147,776],{},[768,2149,779],{},[781,2151,2152,2165,2177,2189],{},[765,2153,2154,2158,2160,2162],{},[786,2155,2156],{},[725,2157,1812],{},[786,2159,949],{},[786,2161,826],{},[786,2163,2164],{},"Filter by campaign id and\u002For date range",[765,2166,2167,2171,2173,2175],{},[786,2168,2169],{},[725,2170,2015],{},[786,2172,793],{},[786,2174,826],{},[786,2176,2022],{},[765,2178,2179,2183,2185,2187],{},[786,2180,2181],{},[725,2182,2043],{},[786,2184,793],{},[786,2186,826],{},[786,2188,2050],{},[765,2190,2191,2195,2197,2199],{},[786,2192,2193],{},[725,2194,1148],{},[786,2196,793],{},[786,2198,826],{},[786,2200,2201],{},"Max grouped rows (default 50)",[696,2203,2204,1160,2206,2209],{},[700,2205,862],{},[725,2207,2208],{},"CursorPaginatedResult\u003CFactShopeeAdCampaignDailyCursor, FactShopeeAdCampaignDailyGrouped>"," — grouped campaign-per-date records with hourly sub-rows.",[739,2211,2214,2217,2221,2261,2265,2270,2445],{"method":741,"path":2212,"summary":2213},"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-campaign-full\u002F{shopId}\u002F{region}\u002Ffetch-active-campaigns-dashboard","Active campaigns (summary rows)",[696,2215,2216],{},"Active (ongoing) campaigns with the latest day's aggregated metrics, with optional name\u002Fid\u002Fad-type filters and custom sort. Cursor-paginated.",[696,2218,2219],{},[700,2220,2084],{},[759,2222,2223,2235],{},[762,2224,2225],{},[765,2226,2227,2229,2231,2233],{},[768,2228,2093],{},[768,2230,773],{},[768,2232,776],{},[768,2234,779],{},[781,2236,2237,2249],{},[765,2238,2239,2243,2245,2247],{},[786,2240,2241],{},[725,2242,790],{},[786,2244,793],{},[786,2246,796],{},[786,2248,799],{},[765,2250,2251,2255,2257,2259],{},[786,2252,2253],{},[725,2254,806],{},[786,2256,809],{},[786,2258,796],{},[786,2260,814],{},[696,2262,2263],{},[700,2264,751],{},[696,2266,2267,2135],{},[725,2268,2269],{},"FactShopeeAdCampaignActiveSummaryFetchRequest",[759,2271,2272,2284],{},[762,2273,2274],{},[765,2275,2276,2278,2280,2282],{},[768,2277,770],{},[768,2279,773],{},[768,2281,776],{},[768,2283,779],{},[781,2285,2286,2299,2314,2328,2342,2355,2369,2382,2394,2407,2419,2432],{},[765,2287,2288,2292,2294,2296],{},[786,2289,2290],{},[725,2291,727],{},[786,2293,793],{},[786,2295,826],{},[786,2297,2298],{},"Filter to an exact datadate (YYYYMMDD)",[765,2300,2301,2306,2309,2311],{},[786,2302,2303],{},[725,2304,2305],{},"activeOnly",[786,2307,2308],{},"boolean",[786,2310,826],{},[786,2312,2313],{},"Only active campaigns (null = all)",[765,2315,2316,2321,2323,2325],{},[786,2317,2318],{},[725,2319,2320],{},"searchCampaign",[786,2322,809],{},[786,2324,826],{},[786,2326,2327],{},"Fuzzy search by campaign\u002Fad name",[765,2329,2330,2335,2337,2339],{},[786,2331,2332],{},[725,2333,2334],{},"searchCampaignId",[786,2336,793],{},[786,2338,826],{},[786,2340,2341],{},"Search by campaign id",[765,2343,2344,2348,2350,2352],{},[786,2345,2346],{},[725,2347,1077],{},[786,2349,949],{},[786,2351,826],{},[786,2353,2354],{},"Numeric filters on campaign metrics",[765,2356,2357,2362,2364,2366],{},[786,2358,2359],{},[725,2360,2361],{},"adTypeFilter",[786,2363,949],{},[786,2365,826],{},[786,2367,2368],{},"Filter by ad type (auto, manual)",[765,2370,2371,2375,2377,2379],{},[786,2372,2373],{},[725,2374,1091],{},[786,2376,809],{},[786,2378,826],{},[786,2380,2381],{},"Sort field (expense, broadRoi, datadate…)",[765,2383,2384,2388,2390,2392],{},[786,2385,2386],{},[725,2387,1105],{},[786,2389,809],{},[786,2391,826],{},[786,2393,1112],{},[765,2395,2396,2400,2402,2404],{},[786,2397,2398],{},[725,2399,2015],{},[786,2401,793],{},[786,2403,826],{},[786,2405,2406],{},"Cursor datadate",[765,2408,2409,2413,2415,2417],{},[786,2410,2411],{},[725,2412,2043],{},[786,2414,793],{},[786,2416,826],{},[786,2418,2050],{},[765,2420,2421,2425,2427,2429],{},[786,2422,2423],{},[725,2424,1133],{},[786,2426,1136],{},[786,2428,826],{},[786,2430,2431],{},"Cursor sort value",[765,2433,2434,2438,2440,2442],{},[786,2435,2436],{},[725,2437,1148],{},[786,2439,793],{},[786,2441,826],{},[786,2443,2444],{},"Max campaigns (default 50)",[696,2446,2447,1160,2449,2452,2453],{},[700,2448,862],{},[725,2450,2451],{},"CursorPaginatedResult\u003CFactShopeeAdCampaignDailyCursor, FactShopeeAdCampaignSummary>"," — active campaigns with latest-day metrics. ",[869,2454,871],{},[739,2456,2459,2462,2466,2506,2513],{"method":741,"path":2457,"summary":2458},"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-campaign-full\u002F{shopId}\u002F{region}\u002Ffetch-active-campaigns","Active campaigns (grouped rows)",[696,2460,2461],{},"Same active-campaign selection as the dashboard variant, but returned as grouped campaign-per-date rows with hourly sub-rows.",[696,2463,2464],{},[700,2465,2084],{},[759,2467,2468,2480],{},[762,2469,2470],{},[765,2471,2472,2474,2476,2478],{},[768,2473,2093],{},[768,2475,773],{},[768,2477,776],{},[768,2479,779],{},[781,2481,2482,2494],{},[765,2483,2484,2488,2490,2492],{},[786,2485,2486],{},[725,2487,790],{},[786,2489,793],{},[786,2491,796],{},[786,2493,799],{},[765,2495,2496,2500,2502,2504],{},[786,2497,2498],{},[725,2499,806],{},[786,2501,809],{},[786,2503,796],{},[786,2505,814],{},[696,2507,2508,1160,2510,2512],{},[700,2509,751],{},[725,2511,2269],{}," (optional; same fields as above).",[696,2514,2515,1160,2517,2519],{},[700,2516,862],{},[725,2518,2208],{}," — grouped daily campaign records with hourly sub-rows.",[739,2521,2524,2527,2531,2584,2588,2593,2646],{"method":741,"path":2522,"summary":2523},"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-campaign-full\u002F{shopId}\u002F{region}\u002Fcampaigns\u002F{campaignId}\u002Ffetch-daily-summary","Daily summary for one campaign",[696,2525,2526],{},"Daily summary rows for a single campaign. Cursor-paginated.",[696,2528,2529],{},[700,2530,2084],{},[759,2532,2533,2545],{},[762,2534,2535],{},[765,2536,2537,2539,2541,2543],{},[768,2538,2093],{},[768,2540,773],{},[768,2542,776],{},[768,2544,779],{},[781,2546,2547,2559,2571],{},[765,2548,2549,2553,2555,2557],{},[786,2550,2551],{},[725,2552,790],{},[786,2554,793],{},[786,2556,796],{},[786,2558,799],{},[765,2560,2561,2565,2567,2569],{},[786,2562,2563],{},[725,2564,806],{},[786,2566,809],{},[786,2568,796],{},[786,2570,814],{},[765,2572,2573,2577,2579,2581],{},[786,2574,2575],{},[725,2576,1896],{},[786,2578,793],{},[786,2580,796],{},[786,2582,2583],{},"Campaign ID",[696,2585,2586],{},[700,2587,751],{},[696,2589,2590,2135],{},[725,2591,2592],{},"FactShopeeAdCampaignDailySummaryFetchRequest",[759,2594,2595,2607],{},[762,2596,2597],{},[765,2598,2599,2601,2603,2605],{},[768,2600,770],{},[768,2602,773],{},[768,2604,776],{},[768,2606,779],{},[781,2608,2609,2621,2633],{},[765,2610,2611,2615,2617,2619],{},[786,2612,2613],{},[725,2614,2015],{},[786,2616,793],{},[786,2618,826],{},[786,2620,2022],{},[765,2622,2623,2627,2629,2631],{},[786,2624,2625],{},[725,2626,2043],{},[786,2628,793],{},[786,2630,826],{},[786,2632,2050],{},[765,2634,2635,2639,2641,2643],{},[786,2636,2637],{},[725,2638,1148],{},[786,2640,793],{},[786,2642,826],{},[786,2644,2645],{},"Max daily rows (default 50)",[696,2647,2648,1160,2650,2652],{},[700,2649,862],{},[725,2651,2208],{}," — daily records with hourly sub-rows and metrics.",[739,2654,2658,2661,2665,2730],{"method":2655,"path":2656,"summary":2657},"GET","\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-campaign-full\u002F{shopId}\u002F{region}\u002Fcampaigns\u002F{campaignId}\u002Fdates\u002F{datadate}\u002Ffetch-hourly-detail","Hourly detail for a campaign\u002Fdate",[696,2659,2660],{},"Hourly performance data for a single campaign on a specific date.",[696,2662,2663],{},[700,2664,2084],{},[759,2666,2667,2679],{},[762,2668,2669],{},[765,2670,2671,2673,2675,2677],{},[768,2672,2093],{},[768,2674,773],{},[768,2676,776],{},[768,2678,779],{},[781,2680,2681,2693,2705,2717],{},[765,2682,2683,2687,2689,2691],{},[786,2684,2685],{},[725,2686,790],{},[786,2688,793],{},[786,2690,796],{},[786,2692,799],{},[765,2694,2695,2699,2701,2703],{},[786,2696,2697],{},[725,2698,806],{},[786,2700,809],{},[786,2702,796],{},[786,2704,814],{},[765,2706,2707,2711,2713,2715],{},[786,2708,2709],{},[725,2710,1896],{},[786,2712,793],{},[786,2714,796],{},[786,2716,2583],{},[765,2718,2719,2723,2725,2727],{},[786,2720,2721],{},[725,2722,727],{},[786,2724,793],{},[786,2726,796],{},[786,2728,2729],{},"Date (YYYYMMDD)",[696,2731,2732,863,2734,2737],{},[700,2733,862],{},[725,2735,2736],{},"FactShopeeAdCampaignHourlyEntry"," — hourly snapshots (datahour 0–23, spend, impressions, clicks, GMV, orders, ROAS).",[739,2739,2742,2745,2749,2801,2813],{"method":741,"path":2740,"summary":2741},"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-cancellation-dedup\u002F{shopId}\u002F{datadateStart}\u002F{datadateEnd}","Ad-cancellation dedup amounts",[696,2743,2744],{},"Dedup amounts for cancelled ads within a date range, optionally filtered to specific campaigns.",[696,2746,2747],{},[700,2748,2084],{},[759,2750,2751,2763],{},[762,2752,2753],{},[765,2754,2755,2757,2759,2761],{},[768,2756,2093],{},[768,2758,773],{},[768,2760,776],{},[768,2762,779],{},[781,2764,2765,2777,2789],{},[765,2766,2767,2771,2773,2775],{},[786,2768,2769],{},[725,2770,790],{},[786,2772,793],{},[786,2774,796],{},[786,2776,799],{},[765,2778,2779,2783,2785,2787],{},[786,2780,2781],{},[725,2782,836],{},[786,2784,793],{},[786,2786,796],{},[786,2788,843],{},[765,2790,2791,2795,2797,2799],{},[786,2792,2793],{},[725,2794,850],{},[786,2796,793],{},[786,2798,796],{},[786,2800,857],{},[696,2802,2803,1160,2805,2808,2809,2812],{},[700,2804,751],{},[725,2806,2807],{},"ShopeeAdCancellationDedupFetchRequest"," (optional) — ",[725,2810,2811],{},"campaignIds"," (null = all campaigns).",[696,2814,2815,1160,2817,2820],{},[700,2816,862],{},[725,2818,2819],{},"ShopeeAdCancellationDedupResponse"," — dedup amounts by campaign plus totals.",[739,2822,2825,2828,2832,2884,2893],{"method":741,"path":2823,"summary":2824},"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-total-cancel-dedup\u002F{shopId}\u002F{datadateStart}\u002F{datadateEnd}","Total cancel dedup (all cancels)",[696,2826,2827],{},"Total dedup amounts for all cancelled ads (no rebuy check) within a date range, optionally filtered to specific campaigns.",[696,2829,2830],{},[700,2831,2084],{},[759,2833,2834,2846],{},[762,2835,2836],{},[765,2837,2838,2840,2842,2844],{},[768,2839,2093],{},[768,2841,773],{},[768,2843,776],{},[768,2845,779],{},[781,2847,2848,2860,2872],{},[765,2849,2850,2854,2856,2858],{},[786,2851,2852],{},[725,2853,790],{},[786,2855,793],{},[786,2857,796],{},[786,2859,799],{},[765,2861,2862,2866,2868,2870],{},[786,2863,2864],{},[725,2865,836],{},[786,2867,793],{},[786,2869,796],{},[786,2871,843],{},[765,2873,2874,2878,2880,2882],{},[786,2875,2876],{},[725,2877,850],{},[786,2879,793],{},[786,2881,796],{},[786,2883,857],{},[696,2885,2886,1160,2888,2808,2890,2892],{},[700,2887,751],{},[725,2889,2807],{},[725,2891,2811],{},".",[696,2894,2895,1160,2897,2900],{},[700,2896,862],{},[725,2898,2899],{},"ShopeeAdTotalCancelDedupResponse"," — total cancel dedup amounts by campaign and aggregated totals.",[739,2902,2905,2912,2916,2970],{"method":2655,"path":2903,"summary":2904},"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Fanalytics-summary\u002F{shopId}\u002F{datadateFrom}\u002F{datadateTo}","Hourly-computed analytics summary",[696,2906,2907,2908,2911],{},"Precomputed hourly shop-analytics summary across a date range — product, ads, order, return, and engagement stats with a ",[725,2909,2910],{},"computedAt"," timestamp.",[696,2913,2914],{},[700,2915,2084],{},[759,2917,2918,2930],{},[762,2919,2920],{},[765,2921,2922,2924,2926,2928],{},[768,2923,2093],{},[768,2925,773],{},[768,2927,776],{},[768,2929,779],{},[781,2931,2932,2944,2957],{},[765,2933,2934,2938,2940,2942],{},[786,2935,2936],{},[725,2937,790],{},[786,2939,793],{},[786,2941,796],{},[786,2943,799],{},[765,2945,2946,2951,2953,2955],{},[786,2947,2948],{},[725,2949,2950],{},"datadateFrom",[786,2952,793],{},[786,2954,796],{},[786,2956,843],{},[765,2958,2959,2964,2966,2968],{},[786,2960,2961],{},[725,2962,2963],{},"datadateTo",[786,2965,793],{},[786,2967,796],{},[786,2969,857],{},[696,2971,2972,863,2974,2977,2978,2892],{},[700,2973,862],{},[725,2975,2976],{},"ShopeeShopAnalyticsSummary"," — per-date rows: product counts, avg price, total stock, ad metrics (impressions\u002Fclicks\u002Fspend\u002FGMV\u002Forders\u002FROAS\u002FCTR), order stats (count\u002Funits\u002Frevenue\u002FAOV), return stats, and engagement (views\u002Flikes\u002Frating\u002Fsales), with ",[725,2979,2910],{},[734,2981,2983],{"id":2982},"lazada-products-raw","Lazada — products (raw)",[739,2985,2988,2991,2995,3000,3066],{"method":741,"path":2986,"summary":2987},"\u002Fapi\u002Flazada\u002Fproduct\u002Finternal\u002Ffact\u002Ffetch-full-product","Historical Lazada products",[696,2989,2990],{},"Retrieves historical (Fact) Lazada product snapshots on a specific date, searched by seller, region, and optional item id.",[696,2992,2993],{},[700,2994,751],{},[696,2996,754,2997],{},[725,2998,2999],{},"FactLazadaProductSearchRequest",[759,3001,3002,3014],{},[762,3003,3004],{},[765,3005,3006,3008,3010,3012],{},[768,3007,770],{},[768,3009,773],{},[768,3011,776],{},[768,3013,779],{},[781,3015,3016,3030,3042,3054],{},[765,3017,3018,3023,3025,3027],{},[786,3019,3020],{},[725,3021,3022],{},"sellerId",[786,3024,793],{},[786,3026,796],{},[786,3028,3029],{},"Seller (shop) ID",[765,3031,3032,3036,3038,3040],{},[786,3033,3034],{},[725,3035,806],{},[786,3037,809],{},[786,3039,796],{},[786,3041,814],{},[765,3043,3044,3048,3050,3052],{},[786,3045,3046],{},[725,3047,821],{},[786,3049,793],{},[786,3051,826],{},[786,3053,829],{},[765,3055,3056,3060,3062,3064],{},[786,3057,3058],{},[725,3059,727],{},[786,3061,793],{},[786,3063,796],{},[786,3065,2729],{},[696,3067,3068,863,3070,3073,3074],{},[700,3069,862],{},[725,3071,3072],{},"FactLazadaProduct"," — historical snapshots (item id, name, SKU, category, brand, images, status, stock, pricing, rating). ",[869,3075,871],{},[739,3077,3080,3083,3087,3092,3159],{"method":741,"path":3078,"summary":3079},"\u002Fapi\u002Flazada\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-full-product","Current Lazada products",[696,3081,3082],{},"Retrieves the latest (RT) Lazada product snapshots for a seller\u002Fregion, with optional item-id and updated-after filters.",[696,3084,3085],{},[700,3086,751],{},[696,3088,754,3089],{},[725,3090,3091],{},"RtLazadaProductSearchRequest",[759,3093,3094,3106],{},[762,3095,3096],{},[765,3097,3098,3100,3102,3104],{},[768,3099,770],{},[768,3101,773],{},[768,3103,776],{},[768,3105,779],{},[781,3107,3108,3120,3132,3144],{},[765,3109,3110,3114,3116,3118],{},[786,3111,3112],{},[725,3113,3022],{},[786,3115,793],{},[786,3117,796],{},[786,3119,3029],{},[765,3121,3122,3126,3128,3130],{},[786,3123,3124],{},[725,3125,806],{},[786,3127,809],{},[786,3129,796],{},[786,3131,814],{},[765,3133,3134,3138,3140,3142],{},[786,3135,3136],{},[725,3137,821],{},[786,3139,793],{},[786,3141,826],{},[786,3143,829],{},[765,3145,3146,3151,3154,3156],{},[786,3147,3148],{},[725,3149,3150],{},"updatedTimeAfter",[786,3152,3153],{},"string (date)",[786,3155,826],{},[786,3157,3158],{},"Only rows updated at\u002Fafter this instant",[696,3160,3161,863,3163,3166,3167],{},[700,3162,862],{},[725,3164,3165],{},"RtLazadaProduct"," — current product records (item id, name, SKU, category, brand, images, status, stock, pricing, rating). ",[869,3168,871],{},[739,3170,3173,3176,3180,3185,3323],{"method":741,"path":3171,"summary":3172},"\u002Fapi\u002Flazada\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-full-product\u002Fpaginated","Current Lazada products (cursor paginated)",[696,3174,3175],{},"Cursor-paginated RT products with product\u002FSKU search, numeric filters, and custom sort.",[696,3177,3178],{},[700,3179,751],{},[696,3181,3182],{},[725,3183,3184],{},"RtLazadaProductPaginatedFetchRequest",[759,3186,3187,3199],{},[762,3188,3189],{},[765,3190,3191,3193,3195,3197],{},[768,3192,770],{},[768,3194,773],{},[768,3196,776],{},[768,3198,779],{},[781,3200,3201,3213,3225,3237,3249,3262,3275,3287,3299,3311],{},[765,3202,3203,3207,3209,3211],{},[786,3204,3205],{},[725,3206,3022],{},[786,3208,793],{},[786,3210,796],{},[786,3212,3029],{},[765,3214,3215,3219,3221,3223],{},[786,3216,3217],{},[725,3218,806],{},[786,3220,809],{},[786,3222,796],{},[786,3224,814],{},[765,3226,3227,3231,3233,3235],{},[786,3228,3229],{},[725,3230,1049],{},[786,3232,809],{},[786,3234,826],{},[786,3236,1056],{},[765,3238,3239,3243,3245,3247],{},[786,3240,3241],{},[725,3242,1063],{},[786,3244,809],{},[786,3246,826],{},[786,3248,1070],{},[765,3250,3251,3255,3257,3259],{},[786,3252,3253],{},[725,3254,1077],{},[786,3256,949],{},[786,3258,826],{},[786,3260,3261],{},"Numeric field filters",[765,3263,3264,3268,3270,3272],{},[786,3265,3266],{},[725,3267,1091],{},[786,3269,809],{},[786,3271,826],{},[786,3273,3274],{},"Sort field (sale, margin, cogs)",[765,3276,3277,3281,3283,3285],{},[786,3278,3279],{},[725,3280,1105],{},[786,3282,809],{},[786,3284,826],{},[786,3286,1112],{},[765,3288,3289,3293,3295,3297],{},[786,3290,3291],{},[725,3292,1119],{},[786,3294,793],{},[786,3296,826],{},[786,3298,1126],{},[765,3300,3301,3305,3307,3309],{},[786,3302,3303],{},[725,3304,1133],{},[786,3306,1136],{},[786,3308,826],{},[786,3310,1141],{},[765,3312,3313,3317,3319,3321],{},[786,3314,3315],{},[725,3316,1148],{},[786,3318,793],{},[786,3320,826],{},[786,3322,1155],{},[696,3324,3325,1160,3327,3330,3331],{},[700,3326,862],{},[725,3328,3329],{},"CursorPaginatedResult\u003CRtLazadaProductCursor, RtLazadaProduct>"," — product rows plus the next cursor. ",[869,3332,871],{},[739,3334,3337,3340,3346],{"method":741,"path":3335,"summary":3336},"\u002Fapi\u002Flazada\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-product-dashboard\u002Fpaginated","Lazada product dashboard (cursor)",[696,3338,3339],{},"Cursor-paginated RT product dashboard rows with search, filters, sort, margin percentiles, and variant counts.",[696,3341,3342,1160,3344,1180],{},[700,3343,751],{},[725,3345,3184],{},[696,3347,3348,1160,3350,3353],{},[700,3349,862],{},[725,3351,3352],{},"CursorPaginatedResult\u003CRtLazadaProductCursor, LazadaProductDashboard>"," — dashboard rows (id, name, SKU, status, images, margin, sale, 180-day units, COGS, variant count, margin percentiles).",[739,3355,3357,3360,3367],{"method":741,"path":3356,"summary":1192},"\u002Fapi\u002Flazada\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-product-dashboard\u002Fmargin-stats",[696,3358,3359],{},"Aggregated margin statistics (min, max, median, Q1, Q3) over the filtered Lazada dashboard set.",[696,3361,3362,1160,3364,1203],{},[700,3363,751],{},[725,3365,3366],{},"RtLazadaProductPaginatedV2FetchRequest",[696,3368,3369,1160,3371,1211],{},[700,3370,862],{},[725,3372,1210],{},[739,3374,3377,3380,3384,3388,3524],{"method":741,"path":3375,"summary":3376},"\u002Fapi\u002Flazada\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-product-dashboard\u002Fpaginated\u002Fv2","Lazada product dashboard v2 (unified filters)",[696,3378,3379],{},"Cursor-paginated dashboard with the unified column-filter syntax (name, SKU, COGS, sale, margin) and custom sort.",[696,3381,3382],{},[700,3383,751],{},[696,3385,3386],{},[725,3387,3366],{},[759,3389,3390,3402],{},[762,3391,3392],{},[765,3393,3394,3396,3398,3400],{},[768,3395,770],{},[768,3397,773],{},[768,3399,776],{},[768,3401,779],{},[781,3403,3404,3416,3428,3440,3452,3464,3476,3488,3500,3512],{},[765,3405,3406,3410,3412,3414],{},[786,3407,3408],{},[725,3409,3022],{},[786,3411,793],{},[786,3413,796],{},[786,3415,3029],{},[765,3417,3418,3422,3424,3426],{},[786,3419,3420],{},[725,3421,806],{},[786,3423,809],{},[786,3425,796],{},[786,3427,814],{},[765,3429,3430,3434,3436,3438],{},[786,3431,3432],{},[725,3433,1049],{},[786,3435,809],{},[786,3437,826],{},[786,3439,1056],{},[765,3441,3442,3446,3448,3450],{},[786,3443,3444],{},[725,3445,1063],{},[786,3447,809],{},[786,3449,826],{},[786,3451,1070],{},[765,3453,3454,3458,3460,3462],{},[786,3455,3456],{},[725,3457,1077],{},[786,3459,949],{},[786,3461,826],{},[786,3463,1316],{},[765,3465,3466,3470,3472,3474],{},[786,3467,3468],{},[725,3469,1091],{},[786,3471,809],{},[786,3473,826],{},[786,3475,1329],{},[765,3477,3478,3482,3484,3486],{},[786,3479,3480],{},[725,3481,1105],{},[786,3483,809],{},[786,3485,826],{},[786,3487,1112],{},[765,3489,3490,3494,3496,3498],{},[786,3491,3492],{},[725,3493,1119],{},[786,3495,793],{},[786,3497,826],{},[786,3499,1126],{},[765,3501,3502,3506,3508,3510],{},[786,3503,3504],{},[725,3505,1133],{},[786,3507,1136],{},[786,3509,826],{},[786,3511,1366],{},[765,3513,3514,3518,3520,3522],{},[786,3515,3516],{},[725,3517,1148],{},[786,3519,793],{},[786,3521,826],{},[786,3523,1379],{},[696,3525,3526,1160,3528,1386],{},[700,3527,862],{},[725,3529,3352],{},[739,3531,3534,3536,3540,3545,3645],{"method":741,"path":3532,"summary":3533},"\u002Fapi\u002Flazada\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-product-dashboard\u002Fpaginated\u002Fv3","Lazada product dashboard (offset)",[696,3535,1393],{},[696,3537,3538],{},[700,3539,751],{},[696,3541,3542],{},[725,3543,3544],{},"RtLazadaProductPaginatedV3FetchRequest",[759,3546,3547,3559],{},[762,3548,3549],{},[765,3550,3551,3553,3555,3557],{},[768,3552,770],{},[768,3554,773],{},[768,3556,776],{},[768,3558,779],{},[781,3560,3561,3573,3585,3597,3609,3621,3633],{},[765,3562,3563,3567,3569,3571],{},[786,3564,3565],{},[725,3566,3022],{},[786,3568,793],{},[786,3570,796],{},[786,3572,3029],{},[765,3574,3575,3579,3581,3583],{},[786,3576,3577],{},[725,3578,806],{},[786,3580,809],{},[786,3582,796],{},[786,3584,814],{},[765,3586,3587,3591,3593,3595],{},[786,3588,3589],{},[725,3590,1077],{},[786,3592,949],{},[786,3594,826],{},[786,3596,1467],{},[765,3598,3599,3603,3605,3607],{},[786,3600,3601],{},[725,3602,1091],{},[786,3604,809],{},[786,3606,826],{},[786,3608,3274],{},[765,3610,3611,3615,3617,3619],{},[786,3612,3613],{},[725,3614,1105],{},[786,3616,809],{},[786,3618,826],{},[786,3620,1112],{},[765,3622,3623,3627,3629,3631],{},[786,3624,3625],{},[725,3626,1499],{},[786,3628,793],{},[786,3630,826],{},[786,3632,1506],{},[765,3634,3635,3639,3641,3643],{},[786,3636,3637],{},[725,3638,1148],{},[786,3640,793],{},[786,3642,826],{},[786,3644,1155],{},[696,3646,3647,1160,3649,3652],{},[700,3648,862],{},[725,3650,3651],{},"OffsetPaginatedResult\u003CLazadaProductDashboard>"," — page metadata plus dashboard rows.",[734,3654,3656],{"id":3655},"tiktok-orders-raw","TikTok — orders (raw)",[739,3658,3661,3664,3676],{"method":741,"path":3659,"summary":3660},"\u002Fapi\u002Ftiktok\u002Forder\u002Finternal\u002Frt\u002Forder-full\u002Fcount","Count current TikTok orders",[696,3662,3663],{},"Counts RT TikTok orders matching the criteria (shop and optional order id).",[696,3665,3666,863,3668,1728,3671,1734,3673,1737],{},[700,3667,751],{},[725,3669,3670],{},"RtTikTokOrderSearchRequest",[725,3672,790],{},[725,3674,3675],{},"orderId",[696,3677,3678,1160,3680,1744],{},[700,3679,862],{},[725,3681,793],{},[739,3683,3686,3689,3699],{"method":741,"path":3684,"summary":3685},"\u002Fapi\u002Ftiktok\u002Forder\u002Finternal\u002Frt\u002Forder-full\u002Ffetch","Current TikTok orders",[696,3687,3688],{},"Retrieves the latest (RT) TikTok order snapshots for a shop, with optional order-id filter.",[696,3690,3691,863,3693,1728,3695,1734,3697,1737],{},[700,3692,751],{},[725,3694,3670],{},[725,3696,790],{},[725,3698,3675],{},[696,3700,3701,863,3703,3706,3707,1731,3710,1731,3713,3716,3717],{},[700,3702,862],{},[725,3704,3705],{},"RtTikTokOrder"," — current order records (order id, status, currency, buyer, total amount, shipping, COD, payment method, recipient address, timestamps, fee\u002Ftax fields) with nested ",[725,3708,3709],{},"itemList",[725,3711,3712],{},"itemTaxList",[725,3714,3715],{},"packageList",". ",[869,3718,871],{},[739,3720,3723,3726,3730,3735,3788],{"method":741,"path":3721,"summary":3722},"\u002Fapi\u002Ftiktok\u002Forder\u002Finternal\u002Frt\u002Forder-full\u002Ffetch-paginated","Current TikTok orders (cursor paginated)",[696,3724,3725],{},"Cursor-paginated RT orders; supports multiple shop\u002Forder-id search criteria.",[696,3727,3728],{},[700,3729,751],{},[696,3731,3732],{},[725,3733,3734],{},"RtTikTokOrderPaginatedFetchRequest",[759,3736,3737,3749],{},[762,3738,3739],{},[765,3740,3741,3743,3745,3747],{},[768,3742,770],{},[768,3744,773],{},[768,3746,776],{},[768,3748,779],{},[781,3750,3751,3764,3776],{},[765,3752,3753,3757,3759,3761],{},[786,3754,3755],{},[725,3756,1812],{},[786,3758,949],{},[786,3760,796],{},[786,3762,3763],{},"Array of RtTikTokOrderSearchRequest (shop id, optional order id)",[765,3765,3766,3770,3772,3774],{},[786,3767,3768],{},[725,3769,1826],{},[786,3771,793],{},[786,3773,826],{},[786,3775,1833],{},[765,3777,3778,3782,3784,3786],{},[786,3779,3780],{},[725,3781,1148],{},[786,3783,793],{},[786,3785,826],{},[786,3787,1155],{},[696,3789,3790,1160,3792,1853],{},[700,3791,862],{},[725,3793,3794],{},"CursorPaginatedResult\u003CLong, RtTikTokOrder>",[739,3796,3799,3802,3806,3811,3875],{"method":741,"path":3797,"summary":3798},"\u002Fapi\u002Ftiktok\u002Forder\u002Finternal\u002Ffact\u002Forder-full\u002Ffetch","Historical TikTok orders",[696,3800,3801],{},"Retrieves historical (Fact) TikTok order snapshots over a date range, searched by shop and region.",[696,3803,3804],{},[700,3805,751],{},[696,3807,754,3808],{},[725,3809,3810],{},"FactTikTokOrderSearchRequest",[759,3812,3813,3825],{},[762,3814,3815],{},[765,3816,3817,3819,3821,3823],{},[768,3818,770],{},[768,3820,773],{},[768,3822,776],{},[768,3824,779],{},[781,3826,3827,3839,3851,3863],{},[765,3828,3829,3833,3835,3837],{},[786,3830,3831],{},[725,3832,790],{},[786,3834,793],{},[786,3836,796],{},[786,3838,799],{},[765,3840,3841,3845,3847,3849],{},[786,3842,3843],{},[725,3844,806],{},[786,3846,809],{},[786,3848,796],{},[786,3850,814],{},[765,3852,3853,3857,3859,3861],{},[786,3854,3855],{},[725,3856,836],{},[786,3858,793],{},[786,3860,796],{},[786,3862,843],{},[765,3864,3865,3869,3871,3873],{},[786,3866,3867],{},[725,3868,850],{},[786,3870,793],{},[786,3872,796],{},[786,3874,857],{},[696,3876,3877,863,3879,3882,3883],{},[700,3878,862],{},[725,3880,3881],{},"FactTikTokOrder"," — historical order snapshots (order id, status, buyer, amounts, shipping, fees, payment, recipient address, timestamps incl. datadate\u002Fdatahour\u002Fdatamonth) with nested item\u002Ftax\u002Fpackage arrays. ",[869,3884,871],{},[739,3886,3889,3892,3896,3901,3955],{"method":741,"path":3887,"summary":3888},"\u002Fapi\u002Ftiktok\u002Forder\u002Finternal\u002Ffact\u002Forder-full\u002Ffetch-paginated","Historical TikTok orders (cursor paginated)",[696,3890,3891],{},"Cursor-paginated Fact orders; supports multiple shop\u002Fregion\u002Fdate-range search criteria.",[696,3893,3894],{},[700,3895,751],{},[696,3897,3898],{},[725,3899,3900],{},"FactTikTokOrderPaginatedFetchRequest",[759,3902,3903,3915],{},[762,3904,3905],{},[765,3906,3907,3909,3911,3913],{},[768,3908,770],{},[768,3910,773],{},[768,3912,776],{},[768,3914,779],{},[781,3916,3917,3930,3943],{},[765,3918,3919,3923,3925,3927],{},[786,3920,3921],{},[725,3922,1812],{},[786,3924,949],{},[786,3926,796],{},[786,3928,3929],{},"Array of FactTikTokOrderSearchRequest (shop id, region, date range)",[765,3931,3932,3936,3938,3940],{},[786,3933,3934],{},[725,3935,1826],{},[786,3937,793],{},[786,3939,826],{},[786,3941,3942],{},"Pagination cursor (fact_order_id)",[765,3944,3945,3949,3951,3953],{},[786,3946,3947],{},[725,3948,1148],{},[786,3950,793],{},[786,3952,826],{},[786,3954,1155],{},[696,3956,3957,1160,3959,3962,3963],{},[700,3958,862],{},[725,3960,3961],{},"CursorPaginatedResult\u003CLong, FactTikTokOrder>"," — historical order rows (with nested item\u002Ftax\u002Fpackage arrays) plus the next cursor. ",[869,3964,871],{},{"title":3966,"searchDepth":3967,"depth":3967,"links":3968},"",3,[3969,3971,3972,3973,3974],{"id":736,"depth":3970,"text":737},2,{"id":1608,"depth":3970,"text":1609},{"id":1856,"depth":3970,"text":1857},{"id":2982,"depth":3970,"text":2983},{"id":3655,"depth":3970,"text":3656},"Direct access to DataGlass's normalized per-platform product, order, and ad-campaign records.",null,"md",{},{"icon":547},"---\ntitle: \"Endpoints: raw platform data\"\ndescription: Direct access to DataGlass's normalized per-platform product, order, and ad-campaign records.\nnavigation:\n  icon: i-material-symbols-database-rounded\n---\n\nThese 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](\u002Fdocs\u002Fai-and-api\u002Fapi\u002Fgetting-started) for auth and [Conventions](\u002Fdocs\u002Fai-and-api\u002Fapi\u002Fgetting-started#conventions) for pagination. All read-only.\n\n::callout{icon=\"i-lucide-mouse-pointer-click\"}\nClick any endpoint to expand its parameters, request body, and response. `datadate` parameters are integers in `YYYYMMDD` form.\n::\n\n## Shopee — products (raw)\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Ffact\u002Ffetch-full-product\" summary=\"Historical Shopee products\"}\nRetrieves 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.\n\n**Request body**\n\nArray of `FactShopeeProductSearchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `shopId` | integer | yes | Shop ID |\n| `region` | string | yes | Region code |\n| `itemId` | integer | no | Item ID filter |\n| `datadateStart` | integer | yes | Start date (YYYYMMDD) |\n| `datadateEnd` | integer | yes | End date (YYYYMMDD) |\n\n**Response** — Array of `FactShopeeProductFull` — historical product snapshots: name, SKU, category, brand, images, engagement (views\u002Flikes\u002Frating\u002Fsales), stock (in-transit, sellable, reserved, available), pricing, and tax fields. *…and more — see the full schema in the OpenAPI spec.*\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-full-product\" summary=\"Current Shopee products\"}\nRetrieves the latest (RT) snapshot of Shopee products for a shop\u002Fregion, with optional item-id and status filters.\n\n**Request body**\n\nArray of `RtShopeeProductSearchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `shopId` | integer | yes | Shop ID |\n| `region` | string | yes | Region code |\n| `itemId` | integer | no | Item ID filter |\n| `itemStatuses` | array | no | Status filter (e.g. `[\"NORMAL\",\"UNLIST\"]`) |\n\n**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.*\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-full-product\u002Fpaginated\" summary=\"Current Shopee products (cursor paginated)\"}\nCursor-paginated RT products with advanced filtering (product\u002FSKU search, numeric filters on sale\u002Fmargin\u002FCOGS\u002Funits) and custom sort.\n\n**Request body**\n\n`RtShopeeProductPaginatedFetchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `userId` | integer | yes | Must match the authenticated user |\n| `shopId` | integer | yes | Shop ID |\n| `region` | string | yes | Region code |\n| `productSearch` | string | no | Product name search |\n| `itemSkuSearch` | string | no | Item SKU search |\n| `filters` | array | no | Numeric field filters (gt, gte, lt, lte, between…) |\n| `sortBy` | string | no | Sort field (sale, views, likes, rating…) |\n| `sortDirection` | string | no | asc or desc |\n| `cursorRtProductId` | integer | no | Pagination cursor |\n| `cursorSortValue` | number | no | Last-seen sort value |\n| `pageSize` | integer | no | Rows per page (default 200) |\n\n**Response** — `CursorPaginatedResult\u003CRtShopeeProductCursor, RtShopeeProductFull>` — product rows (with nested models) plus the next cursor. *…and more — see the full schema in the OpenAPI spec.*\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Ffetch-product-dashboard\u002Fpaginated\" summary=\"Shopee product dashboard (cursor)\"}\nCursor-paginated RT product dashboard rows for the products UI, with search, filtering, and sort. Returns margin percentiles and variant counts per product.\n\n**Request body** — `RtShopeeProductPaginatedFetchRequest` (same fields as the RT paginated endpoint above).\n\n**Response** — `CursorPaginatedResult\u003CRtShopeeProductCursor, ShopeeProductDashboard>` — dashboard rows (name, SKU, status, images, margin, sale, 180-day units, COGS, variant count, margin percentiles min\u002FQ1\u002Fmedian\u002FQ3\u002Fmax\u002Fmean).\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Ffetch-product-dashboard\u002Fmargin-stats\" summary=\"Margin stats over product set\"}\nComputes aggregated margin statistics (min, max, median, Q1, Q3) over the filtered product-dashboard set. No pagination — a single stats response.\n\n**Request body** — `RtShopeeProductPaginatedV2FetchRequest` (unified column filters; pagination fields ignored).\n\n**Response** — `ProductMarginStats` — margin percentiles: minimum, Q1, median, Q3, maximum.\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Ffetch-product-dashboard\u002Fpaginated\u002Fv2\" summary=\"Shopee product dashboard v2 (unified filters)\"}\nCursor-paginated dashboard with the unified column-filter syntax (name, SKU, COGS, sale, 180-day units, margin) and custom sort.\n\n**Request body**\n\n`RtShopeeProductPaginatedV2FetchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `userId` | integer | yes | Authenticated user id |\n| `shopId` | integer | yes | Shop ID |\n| `region` | string | yes | Region code |\n| `productSearch` | string | no | Product name search |\n| `itemSkuSearch` | string | no | Item SKU search |\n| `filters` | array | no | Unified column filters (name\u002Fsku\u002Fnumber\u002Fmargin operators) |\n| `sortBy` | string | no | Sort field |\n| `sortDirection` | string | no | asc or desc |\n| `cursorRtProductId` | integer | no | Pagination cursor |\n| `cursorSortValue` | number | no | Sort value cursor |\n| `pageSize` | integer | no | Rows per page |\n\n**Response** — `CursorPaginatedResult\u003CRtShopeeProductCursor, ShopeeProductDashboard>` — dashboard rows with margin percentiles.\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Ffetch-product-dashboard\u002Fpaginated\u002Fv3\" summary=\"Shopee product dashboard (offset)\"}\nOffset-paginated dashboard (page\u002FpageSize) with unified column filters and custom sort.\n\n**Request body**\n\n`RtShopeeProductPaginatedV3FetchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `userId` | integer | yes | Authenticated user id |\n| `shopId` | integer | yes | Shop ID |\n| `region` | string | yes | Region code |\n| `filters` | array | no | Unified column filters |\n| `sortBy` | string | no | Sort field (sale, margin, cogs, units_sold_180d) |\n| `sortDirection` | string | no | asc or desc |\n| `page` | integer | no | 0-based page (default 0) |\n| `pageSize` | integer | no | Rows per page (default 200) |\n\n**Response** — `OffsetPaginatedResult\u003CShopeeProductDashboard>` — page metadata (page, pageSize, totalItems, totalPages) plus dashboard rows.\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fproduct\u002Finternal\u002Fproduct-lifecycle\u002Ffetch\" summary=\"Product lifecycle\"}\nAnalyzes one item's lifecycle across all its models, aggregated to a time resolution (DAY\u002FWEEK\u002FMONTH) — sales trends, peak periods, and per-model breakdown.\n\n**Request body**\n\n`ShopeeProductLifecycleRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `shopId` | integer | yes | Shop ID |\n| `itemId` | integer | yes | Item ID |\n| `resolution` | string | yes | Time resolution: DAY, WEEK, or MONTH |\n\n**Response** — `ShopeeProductLifecycleData` — aggregate lifecycle statistics and per-model trend data at the requested resolution.\n::\n\n## Shopee — orders (raw)\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Forder\u002Finternal\u002Ffact\u002Forder-full\u002Ffetch\" summary=\"Historical Shopee orders\"}\nRetrieves historical (Fact) Shopee order snapshots over a date range, searched by shop, region, and optional order SN.\n\n**Request body**\n\nArray of `FactShopeeOrderSearchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `shopId` | integer | yes | Shop ID |\n| `region` | string | yes | Region code |\n| `orderSn` | string | no | Order SN filter |\n| `datadateStart` | integer | yes | Start date (YYYYMMDD) |\n| `datadateEnd` | integer | yes | End date (YYYYMMDD) |\n\n**Response** — Array of `FactShopeeOrderFull` — order snapshots (order SN, status, currency, buyer, total amount, shipping, fulfillment, payment method, COD flag, timestamps, and shipping\u002Fhandling\u002Ftax details). *…and more — see the full schema in the OpenAPI spec.*\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Forder\u002Finternal\u002Frt\u002Forder-full\u002Fcount\" summary=\"Count current Shopee orders\"}\nCounts RT orders matching the criteria (shop\u002Fregion\u002Foptional order SN).\n\n**Request body** — Array of `RtShopeeOrderSearchRequest` (`shopId`, `region` required; `orderSn` optional).\n\n**Response** — `integer` — total count of matching RT orders.\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Forder\u002Finternal\u002Frt\u002Forder-full\u002Ffetch\" summary=\"Current Shopee orders\"}\nRetrieves the latest (RT) Shopee order snapshots for a shop\u002Fregion, with optional order-SN filter.\n\n**Request body** — Array of `RtShopeeOrderSearchRequest` (`shopId`, `region` required; `orderSn` optional).\n\n**Response** — Array of `RtShopeeOrderFull` — current order records (order SN, status, buyer, amounts, shipping, payment, timestamps, fee\u002Ftax fields). *…and more — see the full schema in the OpenAPI spec.*\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Forder\u002Finternal\u002Frt\u002Forder-full\u002Ffetch-paginated\" summary=\"Current Shopee orders (cursor paginated)\"}\nCursor-paginated RT orders; supports multiple shop\u002Fregion search criteria at once.\n\n**Request body**\n\n`RtShopeeOrderPaginatedFetchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `searches` | array | yes | Array of RtShopeeOrderSearchRequest (shop, region, optional order SN) |\n| `cursor` | integer | no | Pagination cursor (rt_order_id) |\n| `pageSize` | integer | no | Rows per page (default 200) |\n\n**Response** — `CursorPaginatedResult\u003CLong, RtShopeeOrderFull>` — current order rows plus the next cursor.\n::\n\n## Shopee — ads (raw)\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-campaign-full\u002Ffetch\" summary=\"Historical Shopee ad campaigns\"}\nRetrieves historical (Fact) Shopee ad-campaign snapshots over a date range, with optional campaign id \u002F shop \u002F region filters.\n\n**Request body**\n\nArray of `FactShopeeAdCampaignSearchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `campaignId` | integer | no | Campaign ID filter |\n| `shopId` | integer | no | Shop ID filter |\n| `region` | string | no | Region code filter |\n| `datadateStart` | integer | yes | Start date (YYYYMMDD) |\n| `datadateEnd` | integer | yes | End date (YYYYMMDD) |\n\n**Response** — Array of `FactShopeeAdCampaignFull` — campaign records (id, name, ad type, placement, active flag, datadate\u002Fdatahour, metrics: spend\u002Fimpressions\u002Fclicks\u002FGMV\u002Forders\u002FROAS, plus settings). *…and more — see the full schema in the OpenAPI spec.*\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-campaign-full\u002Ffetch-paginated\" summary=\"Historical ad campaigns (cursor paginated)\"}\nCursor-paginated Fact ad campaigns; supports multiple search criteria.\n\n**Request body**\n\n`FactShopeeAdCampaignPaginatedFetchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `searches` | array | yes | Array of FactShopeeAdCampaignSearchRequest |\n| `cursorDatadate` | integer | no | Cursor datadate (YYYYMMDD) |\n| `cursorDatahour` | integer | no | Cursor datahour (0–23) |\n| `cursorCampaignId` | integer | no | Cursor campaign id |\n| `pageSize` | integer | no | Rows per page (default 200) |\n\n**Response** — `CursorPaginatedResult\u003CFactShopeeAdCampaignCursor, FactShopeeAdCampaignFull>` — campaign records plus the next cursor. *…and more — see the full schema in the OpenAPI spec.*\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-campaign-full\u002F{shopId}\u002F{region}\u002Ffetch-daily-grouped\" summary=\"Ad campaigns grouped by day\"}\nFact ad campaigns grouped by campaign per date, with hourly sub-rows. Cursor-paginated.\n\n**Path parameters**\n\n| Name | Type | Required | Description |\n|---|---|---|---|\n| `shopId` | integer | yes | Shop ID |\n| `region` | string | yes | Region code |\n\n**Request body**\n\n`FactShopeeAdCampaignGroupedFetchRequest` (optional)\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `searches` | array | no | Filter by campaign id and\u002For date range |\n| `cursorDatadate` | integer | no | Cursor datadate (YYYYMMDD) |\n| `cursorCampaignId` | integer | no | Cursor campaign id |\n| `pageSize` | integer | no | Max grouped rows (default 50) |\n\n**Response** — `CursorPaginatedResult\u003CFactShopeeAdCampaignDailyCursor, FactShopeeAdCampaignDailyGrouped>` — grouped campaign-per-date records with hourly sub-rows.\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-campaign-full\u002F{shopId}\u002F{region}\u002Ffetch-active-campaigns-dashboard\" summary=\"Active campaigns (summary rows)\"}\nActive (ongoing) campaigns with the latest day's aggregated metrics, with optional name\u002Fid\u002Fad-type filters and custom sort. Cursor-paginated.\n\n**Path parameters**\n\n| Name | Type | Required | Description |\n|---|---|---|---|\n| `shopId` | integer | yes | Shop ID |\n| `region` | string | yes | Region code |\n\n**Request body**\n\n`FactShopeeAdCampaignActiveSummaryFetchRequest` (optional)\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `datadate` | integer | no | Filter to an exact datadate (YYYYMMDD) |\n| `activeOnly` | boolean | no | Only active campaigns (null = all) |\n| `searchCampaign` | string | no | Fuzzy search by campaign\u002Fad name |\n| `searchCampaignId` | integer | no | Search by campaign id |\n| `filters` | array | no | Numeric filters on campaign metrics |\n| `adTypeFilter` | array | no | Filter by ad type (auto, manual) |\n| `sortBy` | string | no | Sort field (expense, broadRoi, datadate…) |\n| `sortDirection` | string | no | asc or desc |\n| `cursorDatadate` | integer | no | Cursor datadate |\n| `cursorCampaignId` | integer | no | Cursor campaign id |\n| `cursorSortValue` | number | no | Cursor sort value |\n| `pageSize` | integer | no | Max campaigns (default 50) |\n\n**Response** — `CursorPaginatedResult\u003CFactShopeeAdCampaignDailyCursor, FactShopeeAdCampaignSummary>` — active campaigns with latest-day metrics. *…and more — see the full schema in the OpenAPI spec.*\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-campaign-full\u002F{shopId}\u002F{region}\u002Ffetch-active-campaigns\" summary=\"Active campaigns (grouped rows)\"}\nSame active-campaign selection as the dashboard variant, but returned as grouped campaign-per-date rows with hourly sub-rows.\n\n**Path parameters**\n\n| Name | Type | Required | Description |\n|---|---|---|---|\n| `shopId` | integer | yes | Shop ID |\n| `region` | string | yes | Region code |\n\n**Request body** — `FactShopeeAdCampaignActiveSummaryFetchRequest` (optional; same fields as above).\n\n**Response** — `CursorPaginatedResult\u003CFactShopeeAdCampaignDailyCursor, FactShopeeAdCampaignDailyGrouped>` — grouped daily campaign records with hourly sub-rows.\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-campaign-full\u002F{shopId}\u002F{region}\u002Fcampaigns\u002F{campaignId}\u002Ffetch-daily-summary\" summary=\"Daily summary for one campaign\"}\nDaily summary rows for a single campaign. Cursor-paginated.\n\n**Path parameters**\n\n| Name | Type | Required | Description |\n|---|---|---|---|\n| `shopId` | integer | yes | Shop ID |\n| `region` | string | yes | Region code |\n| `campaignId` | integer | yes | Campaign ID |\n\n**Request body**\n\n`FactShopeeAdCampaignDailySummaryFetchRequest` (optional)\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `cursorDatadate` | integer | no | Cursor datadate (YYYYMMDD) |\n| `cursorCampaignId` | integer | no | Cursor campaign id |\n| `pageSize` | integer | no | Max daily rows (default 50) |\n\n**Response** — `CursorPaginatedResult\u003CFactShopeeAdCampaignDailyCursor, FactShopeeAdCampaignDailyGrouped>` — daily records with hourly sub-rows and metrics.\n::\n\n::api-endpoint{method=\"GET\" path=\"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-campaign-full\u002F{shopId}\u002F{region}\u002Fcampaigns\u002F{campaignId}\u002Fdates\u002F{datadate}\u002Ffetch-hourly-detail\" summary=\"Hourly detail for a campaign\u002Fdate\"}\nHourly performance data for a single campaign on a specific date.\n\n**Path parameters**\n\n| Name | Type | Required | Description |\n|---|---|---|---|\n| `shopId` | integer | yes | Shop ID |\n| `region` | string | yes | Region code |\n| `campaignId` | integer | yes | Campaign ID |\n| `datadate` | integer | yes | Date (YYYYMMDD) |\n\n**Response** — Array of `FactShopeeAdCampaignHourlyEntry` — hourly snapshots (datahour 0–23, spend, impressions, clicks, GMV, orders, ROAS).\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-cancellation-dedup\u002F{shopId}\u002F{datadateStart}\u002F{datadateEnd}\" summary=\"Ad-cancellation dedup amounts\"}\nDedup amounts for cancelled ads within a date range, optionally filtered to specific campaigns.\n\n**Path parameters**\n\n| Name | Type | Required | Description |\n|---|---|---|---|\n| `shopId` | integer | yes | Shop ID |\n| `datadateStart` | integer | yes | Start date (YYYYMMDD) |\n| `datadateEnd` | integer | yes | End date (YYYYMMDD) |\n\n**Request body** — `ShopeeAdCancellationDedupFetchRequest` (optional) — `campaignIds` (null = all campaigns).\n\n**Response** — `ShopeeAdCancellationDedupResponse` — dedup amounts by campaign plus totals.\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Ffact\u002Fad-total-cancel-dedup\u002F{shopId}\u002F{datadateStart}\u002F{datadateEnd}\" summary=\"Total cancel dedup (all cancels)\"}\nTotal dedup amounts for all cancelled ads (no rebuy check) within a date range, optionally filtered to specific campaigns.\n\n**Path parameters**\n\n| Name | Type | Required | Description |\n|---|---|---|---|\n| `shopId` | integer | yes | Shop ID |\n| `datadateStart` | integer | yes | Start date (YYYYMMDD) |\n| `datadateEnd` | integer | yes | End date (YYYYMMDD) |\n\n**Request body** — `ShopeeAdCancellationDedupFetchRequest` (optional) — `campaignIds`.\n\n**Response** — `ShopeeAdTotalCancelDedupResponse` — total cancel dedup amounts by campaign and aggregated totals.\n::\n\n::api-endpoint{method=\"GET\" path=\"\u002Fapi\u002Fshopee\u002Fads\u002Finternal\u002Fanalytics-summary\u002F{shopId}\u002F{datadateFrom}\u002F{datadateTo}\" summary=\"Hourly-computed analytics summary\"}\nPrecomputed hourly shop-analytics summary across a date range — product, ads, order, return, and engagement stats with a `computedAt` timestamp.\n\n**Path parameters**\n\n| Name | Type | Required | Description |\n|---|---|---|---|\n| `shopId` | integer | yes | Shop ID |\n| `datadateFrom` | integer | yes | Start date (YYYYMMDD) |\n| `datadateTo` | integer | yes | End date (YYYYMMDD) |\n\n**Response** — Array of `ShopeeShopAnalyticsSummary` — per-date rows: product counts, avg price, total stock, ad metrics (impressions\u002Fclicks\u002Fspend\u002FGMV\u002Forders\u002FROAS\u002FCTR), order stats (count\u002Funits\u002Frevenue\u002FAOV), return stats, and engagement (views\u002Flikes\u002Frating\u002Fsales), with `computedAt`.\n::\n\n## Lazada — products (raw)\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Flazada\u002Fproduct\u002Finternal\u002Ffact\u002Ffetch-full-product\" summary=\"Historical Lazada products\"}\nRetrieves historical (Fact) Lazada product snapshots on a specific date, searched by seller, region, and optional item id.\n\n**Request body**\n\nArray of `FactLazadaProductSearchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `sellerId` | integer | yes | Seller (shop) ID |\n| `region` | string | yes | Region code |\n| `itemId` | integer | no | Item ID filter |\n| `datadate` | integer | yes | Date (YYYYMMDD) |\n\n**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.*\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Flazada\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-full-product\" summary=\"Current Lazada products\"}\nRetrieves the latest (RT) Lazada product snapshots for a seller\u002Fregion, with optional item-id and updated-after filters.\n\n**Request body**\n\nArray of `RtLazadaProductSearchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `sellerId` | integer | yes | Seller (shop) ID |\n| `region` | string | yes | Region code |\n| `itemId` | integer | no | Item ID filter |\n| `updatedTimeAfter` | string (date) | no | Only rows updated at\u002Fafter this instant |\n\n**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.*\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Flazada\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-full-product\u002Fpaginated\" summary=\"Current Lazada products (cursor paginated)\"}\nCursor-paginated RT products with product\u002FSKU search, numeric filters, and custom sort.\n\n**Request body**\n\n`RtLazadaProductPaginatedFetchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `sellerId` | integer | yes | Seller (shop) ID |\n| `region` | string | yes | Region code |\n| `productSearch` | string | no | Product name search |\n| `itemSkuSearch` | string | no | Item SKU search |\n| `filters` | array | no | Numeric field filters |\n| `sortBy` | string | no | Sort field (sale, margin, cogs) |\n| `sortDirection` | string | no | asc or desc |\n| `cursorRtProductId` | integer | no | Pagination cursor |\n| `cursorSortValue` | number | no | Last-seen sort value |\n| `pageSize` | integer | no | Rows per page (default 200) |\n\n**Response** — `CursorPaginatedResult\u003CRtLazadaProductCursor, RtLazadaProduct>` — product rows plus the next cursor. *…and more — see the full schema in the OpenAPI spec.*\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Flazada\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-product-dashboard\u002Fpaginated\" summary=\"Lazada product dashboard (cursor)\"}\nCursor-paginated RT product dashboard rows with search, filters, sort, margin percentiles, and variant counts.\n\n**Request body** — `RtLazadaProductPaginatedFetchRequest` (same fields as the RT paginated endpoint above).\n\n**Response** — `CursorPaginatedResult\u003CRtLazadaProductCursor, LazadaProductDashboard>` — dashboard rows (id, name, SKU, status, images, margin, sale, 180-day units, COGS, variant count, margin percentiles).\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Flazada\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-product-dashboard\u002Fmargin-stats\" summary=\"Margin stats over product set\"}\nAggregated margin statistics (min, max, median, Q1, Q3) over the filtered Lazada dashboard set.\n\n**Request body** — `RtLazadaProductPaginatedV2FetchRequest` (unified column filters; pagination fields ignored).\n\n**Response** — `ProductMarginStats` — margin percentiles: minimum, Q1, median, Q3, maximum.\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Flazada\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-product-dashboard\u002Fpaginated\u002Fv2\" summary=\"Lazada product dashboard v2 (unified filters)\"}\nCursor-paginated dashboard with the unified column-filter syntax (name, SKU, COGS, sale, margin) and custom sort.\n\n**Request body**\n\n`RtLazadaProductPaginatedV2FetchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `sellerId` | integer | yes | Seller (shop) ID |\n| `region` | string | yes | Region code |\n| `productSearch` | string | no | Product name search |\n| `itemSkuSearch` | string | no | Item SKU search |\n| `filters` | array | no | Unified column filters (name\u002Fsku\u002Fnumber\u002Fmargin operators) |\n| `sortBy` | string | no | Sort field |\n| `sortDirection` | string | no | asc or desc |\n| `cursorRtProductId` | integer | no | Pagination cursor |\n| `cursorSortValue` | number | no | Sort value cursor |\n| `pageSize` | integer | no | Rows per page |\n\n**Response** — `CursorPaginatedResult\u003CRtLazadaProductCursor, LazadaProductDashboard>` — dashboard rows with margin percentiles.\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Flazada\u002Fproduct\u002Finternal\u002Frt\u002Ffetch-product-dashboard\u002Fpaginated\u002Fv3\" summary=\"Lazada product dashboard (offset)\"}\nOffset-paginated dashboard (page\u002FpageSize) with unified column filters and custom sort.\n\n**Request body**\n\n`RtLazadaProductPaginatedV3FetchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `sellerId` | integer | yes | Seller (shop) ID |\n| `region` | string | yes | Region code |\n| `filters` | array | no | Unified column filters |\n| `sortBy` | string | no | Sort field (sale, margin, cogs) |\n| `sortDirection` | string | no | asc or desc |\n| `page` | integer | no | 0-based page (default 0) |\n| `pageSize` | integer | no | Rows per page (default 200) |\n\n**Response** — `OffsetPaginatedResult\u003CLazadaProductDashboard>` — page metadata plus dashboard rows.\n::\n\n## TikTok — orders (raw)\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Ftiktok\u002Forder\u002Finternal\u002Frt\u002Forder-full\u002Fcount\" summary=\"Count current TikTok orders\"}\nCounts RT TikTok orders matching the criteria (shop and optional order id).\n\n**Request body** — Array of `RtTikTokOrderSearchRequest` (`shopId` required; `orderId` optional).\n\n**Response** — `integer` — total count of matching RT orders.\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Ftiktok\u002Forder\u002Finternal\u002Frt\u002Forder-full\u002Ffetch\" summary=\"Current TikTok orders\"}\nRetrieves the latest (RT) TikTok order snapshots for a shop, with optional order-id filter.\n\n**Request body** — Array of `RtTikTokOrderSearchRequest` (`shopId` required; `orderId` optional).\n\n**Response** — Array of `RtTikTokOrder` — current order records (order id, status, currency, buyer, total amount, shipping, COD, payment method, recipient address, timestamps, fee\u002Ftax fields) with nested `itemList`, `itemTaxList`, `packageList`. *…and more — see the full schema in the OpenAPI spec.*\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Ftiktok\u002Forder\u002Finternal\u002Frt\u002Forder-full\u002Ffetch-paginated\" summary=\"Current TikTok orders (cursor paginated)\"}\nCursor-paginated RT orders; supports multiple shop\u002Forder-id search criteria.\n\n**Request body**\n\n`RtTikTokOrderPaginatedFetchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `searches` | array | yes | Array of RtTikTokOrderSearchRequest (shop id, optional order id) |\n| `cursor` | integer | no | Pagination cursor (rt_order_id) |\n| `pageSize` | integer | no | Rows per page (default 200) |\n\n**Response** — `CursorPaginatedResult\u003CLong, RtTikTokOrder>` — current order rows plus the next cursor.\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Ftiktok\u002Forder\u002Finternal\u002Ffact\u002Forder-full\u002Ffetch\" summary=\"Historical TikTok orders\"}\nRetrieves historical (Fact) TikTok order snapshots over a date range, searched by shop and region.\n\n**Request body**\n\nArray of `FactTikTokOrderSearchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `shopId` | integer | yes | Shop ID |\n| `region` | string | yes | Region code |\n| `datadateStart` | integer | yes | Start date (YYYYMMDD) |\n| `datadateEnd` | integer | yes | End date (YYYYMMDD) |\n\n**Response** — Array of `FactTikTokOrder` — historical order snapshots (order id, status, buyer, amounts, shipping, fees, payment, recipient address, timestamps incl. datadate\u002Fdatahour\u002Fdatamonth) with nested item\u002Ftax\u002Fpackage arrays. *…and more — see the full schema in the OpenAPI spec.*\n::\n\n::api-endpoint{method=\"POST\" path=\"\u002Fapi\u002Ftiktok\u002Forder\u002Finternal\u002Ffact\u002Forder-full\u002Ffetch-paginated\" summary=\"Historical TikTok orders (cursor paginated)\"}\nCursor-paginated Fact orders; supports multiple shop\u002Fregion\u002Fdate-range search criteria.\n\n**Request body**\n\n`FactTikTokOrderPaginatedFetchRequest`\n\n| Field | Type | Required | Description |\n|---|---|---|---|\n| `searches` | array | yes | Array of FactTikTokOrderSearchRequest (shop id, region, date range) |\n| `cursor` | integer | no | Pagination cursor (fact_order_id) |\n| `pageSize` | integer | no | Rows per page (default 200) |\n\n**Response** — `CursorPaginatedResult\u003CLong, FactTikTokOrder>` — historical order rows (with nested item\u002Ftax\u002Fpackage arrays) plus the next cursor. *…and more — see the full schema in the OpenAPI spec.*\n::\n",{"title":544,"description":3975},"xUS0lalJRMc1P4SCBcHS-mH6xxVBm2EU_v7vx2Bp8II",{"data":3984,"body":3985},{},{"type":3986,"children":3987},"root",[3988],{"type":3989,"tag":696,"props":3990,"children":3991},"element",{},[3992],{"type":3993,"value":3975},"text",1792785102281]