[{"data":1,"prerenderedAt":396},["ShallowReactive",2],{"navigation_docs_zh":3,"-zh-storefront-third-party-storefront":208,"-zh-storefront-third-party-storefront-surround":391},[4,22,40,50,64,82,180,194],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":21},"快速开始","i-lucide-rocket","\u002Fzh\u002Fgetting-started","zh\u002F1.getting-started",[10,13,17],{"title":5,"path":11,"stem":12},"\u002Fzh\u002Fgetting-started\u002Fquick-start","zh\u002F1.getting-started\u002F1.quick-start",{"title":14,"path":15,"stem":16},"信任模型","\u002Fzh\u002Fgetting-started\u002Ftrust-model","zh\u002F1.getting-started\u002F2.trust-model",{"title":18,"path":19,"stem":20},"大客户端到端接入指南","\u002Fzh\u002Fgetting-started\u002Fenterprise-integration","zh\u002F1.getting-started\u002F3.enterprise-integration",false,{"title":23,"icon":24,"path":25,"stem":26,"children":27,"page":21},"自研 Storefront","i-lucide-store","\u002Fzh\u002Fstorefront","zh\u002F2.storefront",[28,32,36],{"title":29,"path":30,"stem":31},"第三方 Storefront","\u002Fzh\u002Fstorefront\u002Fthird-party-storefront","zh\u002F2.storefront\u002F1.third-party-storefront",{"title":33,"path":34,"stem":35},"Turnstile 的信任边界","\u002Fzh\u002Fstorefront\u002Fchallenge-and-turnstile","zh\u002F2.storefront\u002F2.challenge-and-turnstile",{"title":37,"path":38,"stem":39},"第三方店铺前端公共 API","\u002Fzh\u002Fstorefront\u002Fpublic-api","zh\u002F2.storefront\u002F3.public-api",{"title":41,"icon":42,"path":43,"stem":44,"children":45,"page":21},"OAuth 与身份","i-lucide-key-round","\u002Fzh\u002Foauth","zh\u002F3.oauth",[46],{"title":47,"path":48,"stem":49},"第三方账号授权安全边界","\u002Fzh\u002Foauth\u002Fauthorization-code-pkce","zh\u002F3.oauth\u002F1.authorization-code-pkce",{"title":51,"icon":52,"path":53,"stem":54,"children":55,"page":21},"开发者平台","i-lucide-blocks","\u002Fzh\u002Fplatform","zh\u002F4.platform",[56,60],{"title":57,"path":58,"stem":59},"应用、版本、安装与 Scope","\u002Fzh\u002Fplatform\u002Fapps-installations-scopes","zh\u002F4.platform\u002F1.apps-installations-scopes",{"title":61,"path":62,"stem":63},"Origin、Redirect、反向代理与环境","\u002Fzh\u002Fplatform\u002Fsecurity-and-environments","zh\u002F4.platform\u002F2.security-and-environments",{"title":65,"icon":66,"path":67,"stem":68,"children":69,"page":21},"运行时扩展","i-lucide-workflow","\u002Fzh\u002Fruntime","zh\u002F5.runtime",[70,74,78],{"title":71,"path":72,"stem":73},"安装级 Webhook","\u002Fzh\u002Fruntime\u002Fwebhooks","zh\u002F5.runtime\u002F1.webhooks",{"title":75,"path":76,"stem":77},"库存同步","\u002Fzh\u002Fruntime\u002Finventory-sync","zh\u002F5.runtime\u002F2.inventory-sync",{"title":79,"path":80,"stem":81},"自动发货 Provider","\u002Fzh\u002Fruntime\u002Fauto-fulfillment","zh\u002F5.runtime\u002F3.auto-fulfillment",{"title":83,"icon":84,"path":85,"stem":86,"children":87,"page":21},"API 参考","i-lucide-braces","\u002Fzh\u002Freference","zh\u002F6.reference",[88,91,95],{"title":83,"path":89,"stem":90},"\u002Fzh\u002Freference\u002Fapi","zh\u002F6.reference\u002F1.api",{"title":92,"path":93,"stem":94},"错误、幂等与限流","\u002Fzh\u002Freference\u002Ferrors-and-limits","zh\u002F6.reference\u002F2.errors-and-limits",{"title":96,"path":97,"stem":98,"children":99,"page":21},"Endpoint 目录","\u002Fzh\u002Freference\u002Foperations","zh\u002F6.reference\u002F3.operations",[100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160,164,168,172,176],{"title":101,"path":102,"stem":103},"读取公开运行配置","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-runtime-config","zh\u002F6.reference\u002F3.operations\u002F01.get-public-runtime-config",{"title":105,"path":106,"stem":107},"读取公开站点启动配置","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-bootstrap","zh\u002F6.reference\u002F3.operations\u002F02.get-public-bootstrap",{"title":109,"path":110,"stem":111},"读取公开联系渠道","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-contact","zh\u002F6.reference\u002F3.operations\u002F03.get-public-contact",{"title":113,"path":114,"stem":115},"按语言读取当前已发布法律正文","\u002Fzh\u002Freference\u002Foperations\u002Flist-public-legal-documents","zh\u002F6.reference\u002F3.operations\u002F04.list-public-legal-documents",{"title":117,"path":118,"stem":119},"读取店铺已发布装修","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-storefront-decoration","zh\u002F6.reference\u002F3.operations\u002F05.get-public-storefront-decoration",{"title":121,"path":122,"stem":123},"读取店铺公开安全配置","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-store-security-config","zh\u002F6.reference\u002F3.operations\u002F06.get-public-store-security-config",{"title":125,"path":126,"stem":127},"搜索可公开销售商品","\u002Fzh\u002Freference\u002Foperations\u002Fsearch-public-products","zh\u002F6.reference\u002F3.operations\u002F07.search-public-products",{"title":129,"path":130,"stem":131},"读取公开分类","\u002Fzh\u002Freference\u002Foperations\u002Flist-public-categories","zh\u002F6.reference\u002F3.operations\u002F08.list-public-categories",{"title":133,"path":134,"stem":135},"读取安装级凭据绑定身份","\u002Fzh\u002Freference\u002Foperations\u002Fget-installation-credential-identity","zh\u002F6.reference\u002F3.operations\u002F09.get-installation-credential-identity",{"title":137,"path":138,"stem":139},"读取安装级凭据就绪与阻塞事实","\u002Fzh\u002Freference\u002Foperations\u002Fget-installation-credential-readiness","zh\u002F6.reference\u002F3.operations\u002F10.get-installation-credential-readiness",{"title":141,"path":142,"stem":143},"读取公开商品目录","\u002Fzh\u002Freference\u002Foperations\u002Flist-public-products","zh\u002F6.reference\u002F3.operations\u002F11.list-public-products",{"title":145,"path":146,"stem":147},"按 slug 读取公开商品","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-product","zh\u002F6.reference\u002F3.operations\u002F12.get-public-product",{"title":149,"path":150,"stem":151},"读取公开店铺资料","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-merchant","zh\u002F6.reference\u002F3.operations\u002F13.get-public-merchant",{"title":153,"path":154,"stem":155},"读取店铺公开商品","\u002Fzh\u002Freference\u002Foperations\u002Flist-public-merchant-products","zh\u002F6.reference\u002F3.operations\u002F14.list-public-merchant-products",{"title":157,"path":158,"stem":159},"读取店铺公开分类","\u002Fzh\u002Freference\u002Foperations\u002Flist-public-merchant-categories","zh\u002F6.reference\u002F3.operations\u002F15.list-public-merchant-categories",{"title":161,"path":162,"stem":163},"读取店铺公开商品详情","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-merchant-product","zh\u002F6.reference\u002F3.operations\u002F16.get-public-merchant-product",{"title":165,"path":166,"stem":167},"读取当前 API Key 的标识与 scope","\u002Fzh\u002Freference\u002Foperations\u002Fget-api-key-identity","zh\u002F6.reference\u002F3.operations\u002F17.get-api-key-identity",{"title":169,"path":170,"stem":171},"通过 API Key 读取公开分类","\u002Fzh\u002Freference\u002Foperations\u002Flist-api-key-catalog-categories","zh\u002F6.reference\u002F3.operations\u002F18.list-api-key-catalog-categories",{"title":173,"path":174,"stem":175},"通过 API Key 读取公开商品目录","\u002Fzh\u002Freference\u002Foperations\u002Flist-api-key-catalog-products","zh\u002F6.reference\u002F3.operations\u002F19.list-api-key-catalog-products",{"title":177,"path":178,"stem":179},"通过 API Key 读取公开商品","\u002Fzh\u002Freference\u002Foperations\u002Fget-api-key-catalog-product","zh\u002F6.reference\u002F3.operations\u002F20.get-api-key-catalog-product",{"title":181,"icon":182,"path":183,"stem":184,"children":185,"page":21},"示例","i-lucide-code-xml","\u002Fzh\u002Fexamples","zh\u002F7.examples",[186,190],{"title":187,"path":188,"stem":189},"最小 Nuxt Storefront","\u002Fzh\u002Fexamples\u002Fnuxt-storefront","zh\u002F7.examples\u002F1.nuxt-storefront",{"title":191,"path":192,"stem":193},"Webhook 验签","\u002Fzh\u002Fexamples\u002Fwebhook-verification","zh\u002F7.examples\u002F2.webhook-verification",{"title":195,"icon":196,"path":197,"stem":198,"children":199,"page":21},"版本与支持","i-lucide-life-buoy","\u002Fzh\u002Foperations","zh\u002F8.operations",[200,204],{"title":201,"path":202,"stem":203},"版本、迁移与变更记录","\u002Fzh\u002Foperations\u002Fversions-and-migrations","zh\u002F8.operations\u002F1.versions-and-migrations",{"title":205,"path":206,"stem":207},"支持与安全披露","\u002Fzh\u002Foperations\u002Fsupport-and-security","zh\u002F8.operations\u002F2.support-and-security",{"id":209,"title":29,"body":210,"description":384,"extension":385,"links":386,"meta":387,"navigation":388,"path":30,"seo":389,"stem":31,"__hash__":390},"docs_zh\u002Fzh\u002F2.storefront\u002F1.third-party-storefront.md",{"type":211,"value":212,"toc":381},"minimark",[213,217,221,225,279,312,315,318,348,355,366,377],[214,215,29],"h1",{"id":216},"第三方-storefront",[218,219,220],"p",{},"公开目录读取由 API 决定店铺、市场与发布状态。自定义域不得根据商品 ID、slug、搜索结果、缓存 JSON-LD、sitemap 或 OpenGraph 响应推断准入。",[222,223,224],"h2",{"id":224},"托管跳转模型",[226,227,232],"pre",{"className":228,"code":229,"language":230,"meta":231,"style":231},"language-mermaid shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","flowchart LR\n  A[第三方店铺：读取与展示公开目录] --> B{用户动作}\n  B -->|登录或注册| C[Ayalink 官方授权域：尚未开放]\n  B -->|结账或支付| D[Ayalink 官方托管结账：尚未开放]\n  C --> E[审核通过的精确 return URL]\n  D --> E\n  E --> A\n","mermaid","",[233,234,235,243,249,255,261,267,273],"code",{"__ignoreMap":231},[236,237,240],"span",{"class":238,"line":239},"line",1,[236,241,242],{},"flowchart LR\n",[236,244,246],{"class":238,"line":245},2,[236,247,248],{},"  A[第三方店铺：读取与展示公开目录] --> B{用户动作}\n",[236,250,252],{"class":238,"line":251},3,[236,253,254],{},"  B -->|登录或注册| C[Ayalink 官方授权域：尚未开放]\n",[236,256,258],{"class":238,"line":257},4,[236,259,260],{},"  B -->|结账或支付| D[Ayalink 官方托管结账：尚未开放]\n",[236,262,264],{"class":238,"line":263},5,[236,265,266],{},"  C --> E[审核通过的精确 return URL]\n",[236,268,270],{"class":238,"line":269},6,[236,271,272],{},"  D --> E\n",[236,274,276],{"class":238,"line":275},7,[236,277,278],{},"  E --> A\n",[280,281,282,294,300,306],"ul",{},[283,284,285,289,290,293],"li",{},[286,287,288],"strong",{},"目录读取：已开放。"," 只调用",[291,292,37],"a",{"href":38},"列出的 operation。",[283,295,296,299],{},[286,297,298],{},"托管登录\u002F注册：尚未开放。"," 当前 artifact 没有 authorization endpoint 或官方 URL，不提供可执行跳转示例。",[283,301,302,305],{},[286,303,304],{},"托管结账\u002F支付：尚未开放。"," 当前 artifact 没有 checkout\u002Fpayment endpoint、订单意图或 return 协议，不提供可执行跳转示例。",[283,307,308,311],{},[286,309,310],{},"返回：需要平台开通。"," 未来只能返回平台审核通过的精确 HTTPS return URL；不得接受开放重定向或客户端临时覆盖。",[218,313,314],{},"第三方不得收集 Ayalink 邮箱、密码或 MFA，不得接收或转发 Ayalink 全局 Cookie，不得接触卡号、支付 token 或其他支付凭据，也不得 iframe、反代或仿冒 Ayalink 登录、注册、结账或支付页面。第三方站只展示目录并发起未来经公开契约批准的顶层跳转。",[218,316,317],{},"店铺保护页面或资源时，API 必须把同一策略应用于详情、价格、库存、媒体、结构化数据、SSR、搜索、sitemap 与缓存。客户端分别处理：",[280,319,320,326,332,338],{},[283,321,322,325],{},[233,323,324],{},"401","：通过系统授权域登录，并只返回本应用 allowlist 内的路径；",[283,327,328,331],{},[233,329,330],{},"403","：已登录用户缺少会员、角色、客户组、市场或 scope；",[283,333,334,337],{},[233,335,336],{},"404","：店铺对隐藏资源启用了防枚举语义；",[283,339,340,343,344,347],{},[233,341,342],{},"429"," 或 ",[233,345,346],{},"CHALLENGE_REQUIRED","：渲染有范围的挑战，原请求最多安全重试一次。",[218,349,350,351,354],{},"公开响应只能按服务端声明的完整键缓存，包括店铺、市场、语言、策略版本和认证类别。用户态响应必须 ",[233,352,353],{},"private\u002Fno-store","，禁止进入共享 CDN 缓存。",[218,356,357,358,361,362,365],{},"浏览器永远不接收 client secret，也不得保存 access\u002Frefresh token，或代理、共享 Ayalink 全局 session Cookie。未来登录只能发生在平台开通材料确认的官方 authorization domain，并使用 Authorization Code + PKCE S256、精确 redirect URI、",[233,359,360],{},"state"," 与 ",[233,363,364],{},"nonce","。",[218,367,368,369,372,373,376],{},"需要持久会话时采用同源 BFF。BFF 只保存本 app\u002Finstallation\u002Fstore\u002Fresource\u002Faudience 的最小 OAuth grant，并向自己的前端提供安全应用会话 Cookie；它不能转发 Ayalink Cookie。OAuth API 尚待安全审计，因此",[291,370,371],{"href":48},"账号授权安全边界","与",[291,374,375],{"href":188},"最小 Nuxt 示例","不提供登录 endpoint 或 token exchange 代码。",[378,379,380],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":231,"searchDepth":245,"depth":245,"links":382},[383],{"id":224,"depth":245,"text":224},"在保持 Ayalink 身份、页面准入、缓存和挑战边界的前提下构建独立商城。","md",null,{},true,{"title":29,"description":384},"-Q2_Hh-g3474UXWrtvXmiMgH4KmGxP2yvnMTSvD2oS4",[392,394],{"title":18,"path":19,"stem":20,"description":393,"children":-1},"从接入评估、平台开通和安全授权，到 API、Webhook、测试、生产上线与应急撤销的完整路径。",{"title":33,"path":34,"stem":35,"description":395,"children":-1},"将 Turnstile 限定为官方登录与授权端点的 bot 防护，而不是网站真实性或登录证明。",1785955320533]