[{"data":1,"prerenderedAt":800},["ShallowReactive",2],{"navigation_docs_zh":3,"-zh-getting-started-quick-start":388,"-zh-getting-started-quick-start-surround":797},[4,22,40,50,64,82,360,374],{"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,180,184,188,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,296,300,304,308,312,316,320,324,328,332,336,340,344,348,352,356],{"title":101,"path":102,"stem":103},"在官方认证域执行密码重置","\u002Fzh\u002Freference\u002Foperations\u002Fconfirm-official-password-reset","zh\u002F6.reference\u002F3.operations\u002F01.confirm-official-password-reset",{"title":105,"path":106,"stem":107},"在官方认证域请求密码重置","\u002Fzh\u002Freference\u002Foperations\u002Frequest-official-password-reset","zh\u002F6.reference\u002F3.operations\u002F02.request-official-password-reset",{"title":109,"path":110,"stem":111},"在官方认证域注册客户","\u002Fzh\u002Freference\u002Foperations\u002Fregister-official-storefront-customer","zh\u002F6.reference\u002F3.operations\u002F03.register-official-storefront-customer",{"title":113,"path":114,"stem":115},"读取公开站点启动配置","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-bootstrap","zh\u002F6.reference\u002F3.operations\u002F04.get-public-bootstrap",{"title":117,"path":118,"stem":119},"读取公开分类","\u002Fzh\u002Freference\u002Foperations\u002Flist-public-categories","zh\u002F6.reference\u002F3.operations\u002F05.list-public-categories",{"title":121,"path":122,"stem":123},"读取店铺公开商品详情","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-merchant-product","zh\u002F6.reference\u002F3.operations\u002F06.get-public-merchant-product",{"title":125,"path":126,"stem":127},"读取店铺公开分类","\u002Fzh\u002Freference\u002Foperations\u002Flist-public-merchant-categories","zh\u002F6.reference\u002F3.operations\u002F07.list-public-merchant-categories",{"title":129,"path":130,"stem":131},"读取店铺公开商品","\u002Fzh\u002Freference\u002Foperations\u002Flist-public-merchant-products","zh\u002F6.reference\u002F3.operations\u002F08.list-public-merchant-products",{"title":133,"path":134,"stem":135},"读取公开店铺资料","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-merchant","zh\u002F6.reference\u002F3.operations\u002F09.get-public-merchant",{"title":137,"path":138,"stem":139},"按 slug 读取公开商品","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-product","zh\u002F6.reference\u002F3.operations\u002F10.get-public-product",{"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},"安全取消尚未进入不可逆阶段的官方托管结账","\u002Fzh\u002Freference\u002Foperations\u002Fcancel-hosted-checkout-browser","zh\u002F6.reference\u002F3.operations\u002F12.cancel-hosted-checkout-browser",{"title":149,"path":150,"stem":151},"继续官方托管结账流程","\u002Fzh\u002Freference\u002Foperations\u002Fcontinue-hosted-checkout-browser","zh\u002F6.reference\u002F3.operations\u002F13.continue-hosted-checkout-browser",{"title":153,"path":154,"stem":155},"读取官方托管结账安全摘要","\u002Fzh\u002Freference\u002Foperations\u002Fget-hosted-checkout-browser-projection","zh\u002F6.reference\u002F3.operations\u002F14.get-hosted-checkout-browser-projection",{"title":157,"path":158,"stem":159},"读取已批准的精确回跳地址与原始 state","\u002Fzh\u002Freference\u002Foperations\u002Freturn-hosted-checkout-browser","zh\u002F6.reference\u002F3.operations\u002F15.return-hosted-checkout-browser",{"title":161,"path":162,"stem":163},"单次消费官方托管结账票据并读取安全摘要","\u002Fzh\u002Freference\u002Foperations\u002Fconsume-hosted-checkout-browser-ticket","zh\u002F6.reference\u002F3.operations\u002F16.consume-hosted-checkout-browser-ticket",{"title":165,"path":166,"stem":167},"单次消费官方托管登录票据并读取请求方投影","\u002Fzh\u002Freference\u002Foperations\u002Fconsume-hosted-login-browser-ticket","zh\u002F6.reference\u002F3.operations\u002F17.consume-hosted-login-browser-ticket",{"title":169,"path":170,"stem":171},"按语言读取当前已发布法律正文","\u002Fzh\u002Freference\u002Foperations\u002Flist-public-legal-documents","zh\u002F6.reference\u002F3.operations\u002F18.list-public-legal-documents",{"title":173,"path":174,"stem":175},"读取官方授权确认事实","\u002Fzh\u002Freference\u002Foperations\u002Fdescribe-oauth-authorization","zh\u002F6.reference\u002F3.operations\u002F19.describe-oauth-authorization",{"title":177,"path":178,"stem":179},"撤销当前 DPoP token family","\u002Fzh\u002Freference\u002Foperations\u002Frevoke-oauth-token","zh\u002F6.reference\u002F3.operations\u002F20.revoke-oauth-token",{"title":181,"path":182,"stem":183},"以 PKCE 或轮换 refresh token 交换 DPoP token","\u002Fzh\u002Freference\u002Foperations\u002Fexchange-oauth-token","zh\u002F6.reference\u002F3.operations\u002F21.exchange-oauth-token",{"title":185,"path":186,"stem":187},"通过 API Key 读取公开分类","\u002Fzh\u002Freference\u002Foperations\u002Flist-api-key-catalog-categories","zh\u002F6.reference\u002F3.operations\u002F22.list-api-key-catalog-categories",{"title":189,"path":190,"stem":191},"通过 API Key 读取公开商品","\u002Fzh\u002Freference\u002Foperations\u002Fget-api-key-catalog-product","zh\u002F6.reference\u002F3.operations\u002F23.get-api-key-catalog-product",{"title":193,"path":194,"stem":195},"通过 API Key 读取公开商品目录","\u002Fzh\u002Freference\u002Foperations\u002Flist-api-key-catalog-products","zh\u002F6.reference\u002F3.operations\u002F24.list-api-key-catalog-products",{"title":197,"path":198,"stem":199},"取消尚未进入不可逆支付阶段的托管结账","\u002Fzh\u002Freference\u002Foperations\u002Fcancel-hosted-checkout-session","zh\u002F6.reference\u002F3.operations\u002F25.cancel-hosted-checkout-session",{"title":201,"path":202,"stem":203},"读取绑定安装的托管结账状态","\u002Fzh\u002Freference\u002Foperations\u002Fget-hosted-checkout-session","zh\u002F6.reference\u002F3.operations\u002F26.get-hosted-checkout-session",{"title":205,"path":206,"stem":207},"创建服务端重算的托管结账会话","\u002Fzh\u002Freference\u002Foperations\u002Fcreate-hosted-checkout-session","zh\u002F6.reference\u002F3.operations\u002F27.create-hosted-checkout-session",{"title":209,"path":210,"stem":211},"创建官方托管登录流程","\u002Fzh\u002Freference\u002Foperations\u002Finitiate-hosted-login","zh\u002F6.reference\u002F3.operations\u002F28.initiate-hosted-login",{"title":213,"path":214,"stem":215},"以 PKCE 单次消费托管登录返回码","\u002Fzh\u002Freference\u002Foperations\u002Fconsume-hosted-login-return","zh\u002F6.reference\u002F3.operations\u002F29.consume-hosted-login-return",{"title":217,"path":218,"stem":219},"读取当前 API Key 的标识与 scope","\u002Fzh\u002Freference\u002Foperations\u002Fget-api-key-identity","zh\u002F6.reference\u002F3.operations\u002F30.get-api-key-identity",{"title":221,"path":222,"stem":223},"读取安装级凭据绑定身份","\u002Fzh\u002Freference\u002Foperations\u002Fget-installation-credential-identity","zh\u002F6.reference\u002F3.operations\u002F31.get-installation-credential-identity",{"title":225,"path":226,"stem":227},"读取安装级凭据就绪与阻塞事实","\u002Fzh\u002Freference\u002Foperations\u002Fget-installation-credential-readiness","zh\u002F6.reference\u002F3.operations\u002F32.get-installation-credential-readiness",{"title":229,"path":230,"stem":231},"校验并保存购物车短期地址令牌","\u002Fzh\u002Freference\u002Foperations\u002Fset-public-cart-address","zh\u002F6.reference\u002F3.operations\u002F33.set-public-cart-address",{"title":233,"path":234,"stem":235},"生成配送税费优惠统一结算报价","\u002Fzh\u002Freference\u002Foperations\u002Fquote-public-cart-checkout","zh\u002F6.reference\u002F3.operations\u002F34.quote-public-cart-checkout",{"title":237,"path":238,"stem":239},"由购物车创建官方托管结账会话","\u002Fzh\u002Freference\u002Foperations\u002Fcheckout-public-cart","zh\u002F6.reference\u002F3.operations\u002F35.checkout-public-cart",{"title":241,"path":242,"stem":243},"清空公开购物车","\u002Fzh\u002Freference\u002Foperations\u002Fclear-public-cart","zh\u002F6.reference\u002F3.operations\u002F36.clear-public-cart",{"title":245,"path":246,"stem":247},"移除公开购物车 SKU","\u002Fzh\u002Freference\u002Foperations\u002Fremove-public-cart-item","zh\u002F6.reference\u002F3.operations\u002F37.remove-public-cart-item",{"title":249,"path":250,"stem":251},"更新公开购物车 SKU 数量","\u002Fzh\u002Freference\u002Foperations\u002Fupdate-public-cart-item-quantity","zh\u002F6.reference\u002F3.operations\u002F38.update-public-cart-item-quantity",{"title":253,"path":254,"stem":255},"向公开购物车添加 SKU","\u002Fzh\u002Freference\u002Foperations\u002Fadd-public-cart-item","zh\u002F6.reference\u002F3.operations\u002F39.add-public-cart-item",{"title":257,"path":258,"stem":259},"移除购物车优惠码","\u002Fzh\u002Freference\u002Foperations\u002Fremove-public-cart-promotion","zh\u002F6.reference\u002F3.operations\u002F40.remove-public-cart-promotion",{"title":261,"path":262,"stem":263},"校验并应用购物车优惠码","\u002Fzh\u002Freference\u002Foperations\u002Fapply-public-cart-promotion","zh\u002F6.reference\u002F3.operations\u002F41.apply-public-cart-promotion",{"title":265,"path":266,"stem":267},"按实时价格与库存生成短期报价","\u002Fzh\u002Freference\u002Foperations\u002Fquote-public-cart","zh\u002F6.reference\u002F3.operations\u002F42.quote-public-cart",{"title":269,"path":270,"stem":271},"撤销公开购物车访问票据","\u002Fzh\u002Freference\u002Foperations\u002Frevoke-public-cart","zh\u002F6.reference\u002F3.operations\u002F43.revoke-public-cart",{"title":273,"path":274,"stem":275},"读取安装绑定的公开购物车","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-cart","zh\u002F6.reference\u002F3.operations\u002F44.get-public-cart",{"title":277,"path":278,"stem":279},"创建安装绑定的公开购物车","\u002Fzh\u002Freference\u002Foperations\u002Fcreate-public-cart","zh\u002F6.reference\u002F3.operations\u002F45.create-public-cart",{"title":281,"path":282,"stem":283},"读取退款退货售后资格","\u002Fzh\u002Freference\u002Foperations\u002Fget-storefront-order-after-sales-eligibility","zh\u002F6.reference\u002F3.operations\u002F46.get-storefront-order-after-sales-eligibility",{"title":285,"path":286,"stem":287},"提交退款或进入官方售后流程","\u002Fzh\u002Freference\u002Foperations\u002Frequest-storefront-order-after-sales","zh\u002F6.reference\u002F3.operations\u002F47.request-storefront-order-after-sales",{"title":289,"path":290,"stem":291},"读取订单取消资格","\u002Fzh\u002Freference\u002Foperations\u002Fget-storefront-order-cancellation-eligibility","zh\u002F6.reference\u002F3.operations\u002F48.get-storefront-order-cancellation-eligibility",{"title":293,"path":294,"stem":295},"cancelStorefrontOrder","\u002Fzh\u002Freference\u002Foperations\u002Fcancel-storefront-order","zh\u002F6.reference\u002F3.operations\u002F49.cancel-storefront-order",{"title":297,"path":298,"stem":299},"读取 receipt 绑定的最小订单状态","\u002Fzh\u002Freference\u002Foperations\u002Fget-storefront-order","zh\u002F6.reference\u002F3.operations\u002F50.get-storefront-order",{"title":301,"path":302,"stem":303},"以 customer-bound receipt proof 读取最小订单列表","\u002Fzh\u002Freference\u002Foperations\u002Flist-storefront-orders","zh\u002F6.reference\u002F3.operations\u002F51.list-storefront-orders",{"title":305,"path":306,"stem":307},"幂等重放 dead 或 retrying 投递","\u002Fzh\u002Freference\u002Foperations\u002Freplay-installation-webhook-delivery","zh\u002F6.reference\u002F3.operations\u002F52.replay-installation-webhook-delivery",{"title":309,"path":310,"stem":311},"读取安装绑定的最小投递状态","\u002Fzh\u002Freference\u002Foperations\u002Flist-installation-webhook-deliveries","zh\u002F6.reference\u002F3.operations\u002F53.list-installation-webhook-deliveries",{"title":313,"path":314,"stem":315},"读取无 PII 的签名校验 fixture","\u002Fzh\u002Freference\u002Foperations\u002Fget-installation-webhook-signature-fixture","zh\u002F6.reference\u002F3.operations\u002F54.get-installation-webhook-signature-fixture",{"title":317,"path":318,"stem":319},"更新或停用安装绑定的 Webhook 订阅","\u002Fzh\u002Freference\u002Foperations\u002Fupdate-installation-webhook","zh\u002F6.reference\u002F3.operations\u002F55.update-installation-webhook",{"title":321,"path":322,"stem":323},"读取安装绑定的 Webhook 订阅","\u002Fzh\u002Freference\u002Foperations\u002Flist-installation-webhooks","zh\u002F6.reference\u002F3.operations\u002F56.list-installation-webhooks",{"title":325,"path":326,"stem":327},"创建安装绑定的 Webhook 订阅","\u002Fzh\u002Freference\u002Foperations\u002Fcreate-installation-webhook","zh\u002F6.reference\u002F3.operations\u002F57.create-installation-webhook",{"title":329,"path":330,"stem":331},"读取安装获准的 Webhook 事件类型","\u002Fzh\u002Freference\u002Foperations\u002Flist-installation-webhook-events","zh\u002F6.reference\u002F3.operations\u002F58.list-installation-webhook-events",{"title":333,"path":334,"stem":335},"读取公开联系渠道","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-contact","zh\u002F6.reference\u002F3.operations\u002F59.get-public-contact",{"title":337,"path":338,"stem":339},"由 API 向 Cloudflare 验证并单次消费挑战","\u002Fzh\u002Freference\u002Foperations\u002Fverify-storefront-challenge","zh\u002F6.reference\u002F3.operations\u002F60.verify-storefront-challenge",{"title":341,"path":342,"stem":343},"创建绑定店铺与精确 Origin 的风险挑战","\u002Fzh\u002Freference\u002Foperations\u002Fcreate-storefront-challenge","zh\u002F6.reference\u002F3.operations\u002F61.create-storefront-challenge",{"title":345,"path":346,"stem":347},"读取店铺公开安全配置","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-store-security-config","zh\u002F6.reference\u002F3.operations\u002F62.get-public-store-security-config",{"title":349,"path":350,"stem":351},"读取公开运行配置","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-runtime-config","zh\u002F6.reference\u002F3.operations\u002F63.get-public-runtime-config",{"title":353,"path":354,"stem":355},"搜索可公开销售商品","\u002Fzh\u002Freference\u002Foperations\u002Fsearch-public-products","zh\u002F6.reference\u002F3.operations\u002F64.search-public-products",{"title":357,"path":358,"stem":359},"读取店铺已发布装修","\u002Fzh\u002Freference\u002Foperations\u002Fget-public-storefront-decoration","zh\u002F6.reference\u002F3.operations\u002F65.get-public-storefront-decoration",{"title":361,"icon":362,"path":363,"stem":364,"children":365,"page":21},"示例","i-lucide-code-xml","\u002Fzh\u002Fexamples","zh\u002F7.examples",[366,370],{"title":367,"path":368,"stem":369},"最小 Nuxt Storefront","\u002Fzh\u002Fexamples\u002Fnuxt-storefront","zh\u002F7.examples\u002F1.nuxt-storefront",{"title":371,"path":372,"stem":373},"Webhook 验签","\u002Fzh\u002Fexamples\u002Fwebhook-verification","zh\u002F7.examples\u002F2.webhook-verification",{"title":375,"icon":376,"path":377,"stem":378,"children":379,"page":21},"版本与支持","i-lucide-life-buoy","\u002Fzh\u002Foperations","zh\u002F8.operations",[380,384],{"title":381,"path":382,"stem":383},"版本、迁移与变更记录","\u002Fzh\u002Foperations\u002Fversions-and-migrations","zh\u002F8.operations\u002F1.versions-and-migrations",{"title":385,"path":386,"stem":387},"支持与安全披露","\u002Fzh\u002Foperations\u002Fsupport-and-security","zh\u002F8.operations\u002F2.support-and-security",{"id":389,"title":5,"body":390,"description":791,"extension":792,"links":793,"meta":794,"navigation":677,"path":11,"seo":795,"stem":12,"__hash__":796},"docs_zh\u002Fzh\u002F1.getting-started\u002F1.quick-start.md",{"type":391,"value":392,"toc":786},"minimark",[393,396,404,408,474,477,481,487,523,530,533,754,782],[394,395,5],"h1",{"id":5},[397,398,399,400,403],"p",{},"如果你负责企业级正式接入，请先按",[401,402,18],"a",{"href":19},"完成从前置检查到生产与应急的全部门禁。本页只覆盖首个公开读取请求。",[405,406,407],"h2",{"id":407},"选择接入边界",[409,410,411,427],"table",{},[412,413,414],"thead",{},[415,416,417,421,424],"tr",{},[418,419,420],"th",{},"目标",[418,422,423],{},"使用",[418,425,426],{},"禁止使用",[428,429,430,441,452,463],"tbody",{},[415,431,432,435,438],{},[433,434,141],"td",{},[433,436,437],{},"公开 Storefront API",[433,439,440],{},"Merchant 会话 Cookie",[415,442,443,446,449],{},[433,444,445],{},"访问用户账号（开放后）",[433,447,448],{},"Authorization Code + PKCE S256，经官方授权域",[433,450,451],{},"密码模式、仿冒登录页或共享 Ayalink Cookie",[415,453,454,457,460],{},[433,455,456],{},"服务端应用",[433,458,459],{},"最小 scope 的安装令牌",[433,461,462],{},"浏览器保存 client secret",[415,464,465,468,471],{},[433,466,467],{},"接收业务事件",[433,469,470],{},"安装级签名 Webhook",[433,472,473],{},"无签名回调或 query token",[397,475,476],{},"在 Ayalink Merchant 开发者工作区创建开发者组织、应用版本与店铺安装。文档不代表生产资格：应用版本、scope、法律同意、店铺能力、市场和安装都必须处于有效状态。",[405,478,480],{"id":479},"配置公开-base-url","配置公开 Base URL",[397,482,483,486],{},[401,484,485],{"href":368},"Nuxt 示例","只需要公开配置：",[488,489,494],"pre",{"className":490,"code":491,"language":492,"meta":493,"style":493},"language-env shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","NUXT_PUBLIC_AYALINK_API_BASE=https:\u002F\u002Fapi.example.invalid\u002Fapi\u002Fv1\nNUXT_PUBLIC_AYALINK_AUTH_BASE=https:\u002F\u002Fstorefront.example.invalid\nNUXT_PUBLIC_AYALINK_CLIENT_ID=replace-with-public-client-id\nNUXT_PUBLIC_AYALINK_REDIRECT_URI=https:\u002F\u002Fshop.example.invalid\u002Foauth\u002Fcallback\n","env","",[495,496,497,505,511,517],"code",{"__ignoreMap":493},[498,499,502],"span",{"class":500,"line":501},"line",1,[498,503,504],{},"NUXT_PUBLIC_AYALINK_API_BASE=https:\u002F\u002Fapi.example.invalid\u002Fapi\u002Fv1\n",[498,506,508],{"class":500,"line":507},2,[498,509,510],{},"NUXT_PUBLIC_AYALINK_AUTH_BASE=https:\u002F\u002Fstorefront.example.invalid\n",[498,512,514],{"class":500,"line":513},3,[498,515,516],{},"NUXT_PUBLIC_AYALINK_CLIENT_ID=replace-with-public-client-id\n",[498,518,520],{"class":500,"line":519},4,[498,521,522],{},"NUXT_PUBLIC_AYALINK_REDIRECT_URI=https:\u002F\u002Fshop.example.invalid\u002Foauth\u002Fcallback\n",[397,524,525,526,529],{},"以上均为不可用占位值，不是生产地址。禁止给任何秘密加上 ",[495,527,528],{},"NUXT_PUBLIC_","。",[405,531,532],{"id":532},"请求公开数据",[488,534,538],{"className":535,"code":536,"language":537,"meta":493,"style":493},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const response = await fetch(`${apiBase}\u002Fcatalog\u002Fproducts`, {\n  headers: {\n    accept: 'application\u002Fjson',\n    'accept-language': 'zh-CN',\n    'x-ayalink-market': 'CN'\n  }\n})\n\nif (!response.ok) throw new Error(`AYALINK_HTTP_${response.status}`)\nconst envelope = await response.json()\n","ts",[495,539,540,587,598,617,638,658,664,672,679,731],{"__ignoreMap":493},[498,541,542,546,550,554,558,562,565,568,571,574,578,581,584],{"class":500,"line":501},[498,543,545],{"class":544},"spNyl","const",[498,547,549],{"class":548},"sTEyZ"," response ",[498,551,553],{"class":552},"sMK4o","=",[498,555,557],{"class":556},"s7zQu"," await",[498,559,561],{"class":560},"s2Zo4"," fetch",[498,563,564],{"class":548},"(",[498,566,567],{"class":552},"`${",[498,569,570],{"class":548},"apiBase",[498,572,573],{"class":552},"}",[498,575,577],{"class":576},"sfazB","\u002Fcatalog\u002Fproducts",[498,579,580],{"class":552},"`",[498,582,583],{"class":552},",",[498,585,586],{"class":552}," {\n",[498,588,589,593,596],{"class":500,"line":507},[498,590,592],{"class":591},"swJcz","  headers",[498,594,595],{"class":552},":",[498,597,586],{"class":552},[498,599,600,603,605,608,611,614],{"class":500,"line":513},[498,601,602],{"class":591},"    accept",[498,604,595],{"class":552},[498,606,607],{"class":552}," '",[498,609,610],{"class":576},"application\u002Fjson",[498,612,613],{"class":552},"'",[498,615,616],{"class":552},",\n",[498,618,619,622,625,627,629,631,634,636],{"class":500,"line":519},[498,620,621],{"class":552},"    '",[498,623,624],{"class":591},"accept-language",[498,626,613],{"class":552},[498,628,595],{"class":552},[498,630,607],{"class":552},[498,632,633],{"class":576},"zh-CN",[498,635,613],{"class":552},[498,637,616],{"class":552},[498,639,641,643,646,648,650,652,655],{"class":500,"line":640},5,[498,642,621],{"class":552},[498,644,645],{"class":591},"x-ayalink-market",[498,647,613],{"class":552},[498,649,595],{"class":552},[498,651,607],{"class":552},[498,653,654],{"class":576},"CN",[498,656,657],{"class":552},"'\n",[498,659,661],{"class":500,"line":660},6,[498,662,663],{"class":552},"  }\n",[498,665,667,669],{"class":500,"line":666},7,[498,668,573],{"class":552},[498,670,671],{"class":548},")\n",[498,673,675],{"class":500,"line":674},8,[498,676,678],{"emptyLinePlaceholder":677},true,"\n",[498,680,682,685,688,691,694,697,700,703,706,709,711,713,716,719,721,723,726,729],{"class":500,"line":681},9,[498,683,684],{"class":556},"if",[498,686,687],{"class":548}," (",[498,689,690],{"class":552},"!",[498,692,693],{"class":548},"response",[498,695,696],{"class":552},".",[498,698,699],{"class":548},"ok) ",[498,701,702],{"class":556},"throw",[498,704,705],{"class":552}," new",[498,707,708],{"class":560}," Error",[498,710,564],{"class":548},[498,712,580],{"class":552},[498,714,715],{"class":576},"AYALINK_HTTP_",[498,717,718],{"class":552},"${",[498,720,693],{"class":548},[498,722,696],{"class":552},[498,724,725],{"class":548},"status",[498,727,728],{"class":552},"}`",[498,730,671],{"class":548},[498,732,734,736,739,741,743,746,748,751],{"class":500,"line":733},10,[498,735,545],{"class":544},[498,737,738],{"class":548}," envelope ",[498,740,553],{"class":552},[498,742,557],{"class":556},[498,744,745],{"class":548}," response",[498,747,696],{"class":552},[498,749,750],{"class":560},"json",[498,752,753],{"class":548},"()\n",[397,755,756,757,760,761,760,764,760,767,760,770,773,774,777,778,781],{},"API 不可用时不得生成假商品。",[495,758,759],{},"401","、",[495,762,763],{},"403",[495,765,766],{},"404",[495,768,769],{},"409",[495,771,772],{},"422"," 与 ",[495,775,776],{},"429"," 必须按",[401,779,780],{"href":93},"错误码与限流","分别处理。",[783,784,785],"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);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":493,"searchDepth":507,"depth":507,"links":787},[788,789,790],{"id":407,"depth":507,"text":407},{"id":479,"depth":507,"text":480},{"id":532,"depth":507,"text":532},"选择正确接入环境，并在不把密钥放进浏览器的前提下发起首个公开 API 请求。","md",null,{},{"title":5,"description":791},"DsMBJboZSiiNZNr0x10sqGOPtaGa6WYnLOSm6KbO2Ts",[793,798],{"title":14,"path":15,"stem":16,"description":799,"children":-1},"理解公开文档、平台、店铺、安装、用户与 Provider 的信任边界。",1786284832063]