[{"data":1,"prerenderedAt":646},["ShallowReactive",2],{"navigation_docs_en":3,"-en-getting-started-quick-start":230,"-en-getting-started-quick-start-surround":643},[4,23,41,51,65,83,202,216],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":22},"Getting started","i-lucide-rocket","\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10,14,18],{"title":11,"path":12,"stem":13},"Quick start","\u002Fen\u002Fgetting-started\u002Fquick-start","en\u002F1.getting-started\u002F1.quick-start",{"title":15,"path":16,"stem":17},"Trust model","\u002Fen\u002Fgetting-started\u002Ftrust-model","en\u002F1.getting-started\u002F2.trust-model",{"title":19,"path":20,"stem":21},"Enterprise integration journey","\u002Fen\u002Fgetting-started\u002Fenterprise-integration","en\u002F1.getting-started\u002F3.enterprise-integration",false,{"title":24,"icon":25,"path":26,"stem":27,"children":28,"page":22},"Storefront","i-lucide-store","\u002Fen\u002Fstorefront","en\u002F2.storefront",[29,33,37],{"title":30,"path":31,"stem":32},"Third-party Storefront","\u002Fen\u002Fstorefront\u002Fthird-party-storefront","en\u002F2.storefront\u002F1.third-party-storefront",{"title":34,"path":35,"stem":36},"Turnstile trust boundary","\u002Fen\u002Fstorefront\u002Fchallenge-and-turnstile","en\u002F2.storefront\u002F2.challenge-and-turnstile",{"title":38,"path":39,"stem":40},"Third-party Storefront public API","\u002Fen\u002Fstorefront\u002Fpublic-api","en\u002F2.storefront\u002F3.public-api",{"title":42,"icon":43,"path":44,"stem":45,"children":46,"page":22},"OAuth and identity","i-lucide-key-round","\u002Fen\u002Foauth","en\u002F3.oauth",[47],{"title":48,"path":49,"stem":50},"Third-party account authorization boundary","\u002Fen\u002Foauth\u002Fauthorization-code-pkce","en\u002F3.oauth\u002F1.authorization-code-pkce",{"title":52,"icon":53,"path":54,"stem":55,"children":56,"page":22},"Developer platform","i-lucide-blocks","\u002Fen\u002Fplatform","en\u002F4.platform",[57,61],{"title":58,"path":59,"stem":60},"Apps, versions, installations, and scopes","\u002Fen\u002Fplatform\u002Fapps-installations-scopes","en\u002F4.platform\u002F1.apps-installations-scopes",{"title":62,"path":63,"stem":64},"Origins, redirects, proxies, and environments","\u002Fen\u002Fplatform\u002Fsecurity-and-environments","en\u002F4.platform\u002F2.security-and-environments",{"title":66,"icon":67,"path":68,"stem":69,"children":70,"page":22},"Runtime extensions","i-lucide-workflow","\u002Fen\u002Fruntime","en\u002F5.runtime",[71,75,79],{"title":72,"path":73,"stem":74},"Installation Webhooks","\u002Fen\u002Fruntime\u002Fwebhooks","en\u002F5.runtime\u002F1.webhooks",{"title":76,"path":77,"stem":78},"Inventory synchronization","\u002Fen\u002Fruntime\u002Finventory-sync","en\u002F5.runtime\u002F2.inventory-sync",{"title":80,"path":81,"stem":82},"Automatic fulfillment providers","\u002Fen\u002Fruntime\u002Fauto-fulfillment","en\u002F5.runtime\u002F3.auto-fulfillment",{"title":84,"icon":85,"path":86,"stem":87,"children":88,"page":22},"API reference","i-lucide-braces","\u002Fen\u002Freference","en\u002F6.reference",[89,93,97],{"title":90,"path":91,"stem":92},"API Reference","\u002Fen\u002Freference\u002Fapi","en\u002F6.reference\u002F1.api",{"title":94,"path":95,"stem":96},"Errors, idempotency, and rate limits","\u002Fen\u002Freference\u002Ferrors-and-limits","en\u002F6.reference\u002F2.errors-and-limits",{"title":98,"path":99,"stem":100,"children":101,"page":22},"Endpoint catalog","\u002Fen\u002Freference\u002Foperations","en\u002F6.reference\u002F3.operations",[102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198],{"title":103,"path":104,"stem":105},"Get the public runtime configuration","\u002Fen\u002Freference\u002Foperations\u002Fget-public-runtime-config","en\u002F6.reference\u002F3.operations\u002F01.get-public-runtime-config",{"title":107,"path":108,"stem":109},"Get the public site bootstrap configuration","\u002Fen\u002Freference\u002Foperations\u002Fget-public-bootstrap","en\u002F6.reference\u002F3.operations\u002F02.get-public-bootstrap",{"title":111,"path":112,"stem":113},"Get public contact channels","\u002Fen\u002Freference\u002Foperations\u002Fget-public-contact","en\u002F6.reference\u002F3.operations\u002F03.get-public-contact",{"title":115,"path":116,"stem":117},"List current published legal documents by locale","\u002Fen\u002Freference\u002Foperations\u002Flist-public-legal-documents","en\u002F6.reference\u002F3.operations\u002F04.list-public-legal-documents",{"title":119,"path":120,"stem":121},"Get the published Storefront decoration","\u002Fen\u002Freference\u002Foperations\u002Fget-public-storefront-decoration","en\u002F6.reference\u002F3.operations\u002F05.get-public-storefront-decoration",{"title":123,"path":124,"stem":125},"Get the public store security configuration","\u002Fen\u002Freference\u002Foperations\u002Fget-public-store-security-config","en\u002F6.reference\u002F3.operations\u002F06.get-public-store-security-config",{"title":127,"path":128,"stem":129},"Search public products","\u002Fen\u002Freference\u002Foperations\u002Fsearch-public-products","en\u002F6.reference\u002F3.operations\u002F07.search-public-products",{"title":131,"path":132,"stem":133},"List public categories","\u002Fen\u002Freference\u002Foperations\u002Flist-public-categories","en\u002F6.reference\u002F3.operations\u002F08.list-public-categories",{"title":135,"path":136,"stem":137},"Get the installation credential identity","\u002Fen\u002Freference\u002Foperations\u002Fget-installation-credential-identity","en\u002F6.reference\u002F3.operations\u002F09.get-installation-credential-identity",{"title":139,"path":140,"stem":141},"Get the installation credential readiness","\u002Fen\u002Freference\u002Foperations\u002Fget-installation-credential-readiness","en\u002F6.reference\u002F3.operations\u002F10.get-installation-credential-readiness",{"title":143,"path":144,"stem":145},"Initiate a hosted login session","\u002Fen\u002Freference\u002Foperations\u002Finitiate-hosted-login","en\u002F6.reference\u002F3.operations\u002F11.initiate-hosted-login",{"title":147,"path":148,"stem":149},"Consume a hosted login return","\u002Fen\u002Freference\u002Foperations\u002Fconsume-hosted-login-return","en\u002F6.reference\u002F3.operations\u002F12.consume-hosted-login-return",{"title":151,"path":152,"stem":153},"Create a hosted checkout session","\u002Fen\u002Freference\u002Foperations\u002Fcreate-hosted-checkout-session","en\u002F6.reference\u002F3.operations\u002F13.create-hosted-checkout-session",{"title":155,"path":156,"stem":157},"Get a hosted checkout session","\u002Fen\u002Freference\u002Foperations\u002Fget-hosted-checkout-session","en\u002F6.reference\u002F3.operations\u002F14.get-hosted-checkout-session",{"title":159,"path":160,"stem":161},"Cancel a hosted checkout session","\u002Fen\u002Freference\u002Foperations\u002Fcancel-hosted-checkout-session","en\u002F6.reference\u002F3.operations\u002F15.cancel-hosted-checkout-session",{"title":163,"path":164,"stem":165},"List the public product catalog","\u002Fen\u002Freference\u002Foperations\u002Flist-public-products","en\u002F6.reference\u002F3.operations\u002F16.list-public-products",{"title":167,"path":168,"stem":169},"Get a public product by slug","\u002Fen\u002Freference\u002Foperations\u002Fget-public-product","en\u002F6.reference\u002F3.operations\u002F17.get-public-product",{"title":171,"path":172,"stem":173},"Get a public store profile","\u002Fen\u002Freference\u002Foperations\u002Fget-public-merchant","en\u002F6.reference\u002F3.operations\u002F18.get-public-merchant",{"title":175,"path":176,"stem":177},"List public products for a store","\u002Fen\u002Freference\u002Foperations\u002Flist-public-merchant-products","en\u002F6.reference\u002F3.operations\u002F19.list-public-merchant-products",{"title":179,"path":180,"stem":181},"List public categories for a store","\u002Fen\u002Freference\u002Foperations\u002Flist-public-merchant-categories","en\u002F6.reference\u002F3.operations\u002F20.list-public-merchant-categories",{"title":183,"path":184,"stem":185},"Get a public product for a store","\u002Fen\u002Freference\u002Foperations\u002Fget-public-merchant-product","en\u002F6.reference\u002F3.operations\u002F21.get-public-merchant-product",{"title":187,"path":188,"stem":189},"Get the current API Key identity and scopes","\u002Fen\u002Freference\u002Foperations\u002Fget-api-key-identity","en\u002F6.reference\u002F3.operations\u002F22.get-api-key-identity",{"title":191,"path":192,"stem":193},"List public categories with an API Key","\u002Fen\u002Freference\u002Foperations\u002Flist-api-key-catalog-categories","en\u002F6.reference\u002F3.operations\u002F23.list-api-key-catalog-categories",{"title":195,"path":196,"stem":197},"List public products with an API Key","\u002Fen\u002Freference\u002Foperations\u002Flist-api-key-catalog-products","en\u002F6.reference\u002F3.operations\u002F24.list-api-key-catalog-products",{"title":199,"path":200,"stem":201},"Get a public product with an API Key","\u002Fen\u002Freference\u002Foperations\u002Fget-api-key-catalog-product","en\u002F6.reference\u002F3.operations\u002F25.get-api-key-catalog-product",{"title":203,"icon":204,"path":205,"stem":206,"children":207,"page":22},"Examples","i-lucide-code-xml","\u002Fen\u002Fexamples","en\u002F7.examples",[208,212],{"title":209,"path":210,"stem":211},"Minimal Nuxt Storefront","\u002Fen\u002Fexamples\u002Fnuxt-storefront","en\u002F7.examples\u002F1.nuxt-storefront",{"title":213,"path":214,"stem":215},"Webhook verification","\u002Fen\u002Fexamples\u002Fwebhook-verification","en\u002F7.examples\u002F2.webhook-verification",{"title":217,"icon":218,"path":219,"stem":220,"children":221,"page":22},"Versions and support","i-lucide-life-buoy","\u002Fen\u002Foperations","en\u002F8.operations",[222,226],{"title":223,"path":224,"stem":225},"Versions, migrations, and changelog","\u002Fen\u002Foperations\u002Fversions-and-migrations","en\u002F8.operations\u002F1.versions-and-migrations",{"title":227,"path":228,"stem":229},"Support and security disclosure","\u002Fen\u002Foperations\u002Fsupport-and-security","en\u002F8.operations\u002F2.support-and-security",{"id":231,"title":11,"body":232,"description":637,"extension":638,"links":639,"meta":640,"navigation":525,"path":12,"seo":641,"stem":13,"__hash__":642},"docs_en\u002Fen\u002F1.getting-started\u002F1.quick-start.md",{"type":233,"value":234,"toc":632},"minimark",[235,239,248,253,320,323,327,334,370,377,381,601,628],[236,237,11],"h1",{"id":238},"quick-start",[240,241,242,243,247],"p",{},"For an enterprise production integration, complete every gate in the ",[244,245,246],"a",{"href":20},"enterprise integration journey",", from readiness through production and incident response. This page covers only the first public read.",[249,250,252],"h2",{"id":251},"choose-the-integration-boundary","Choose the integration boundary",[254,255,256,272],"table",{},[257,258,259],"thead",{},[260,261,262,266,269],"tr",{},[263,264,265],"th",{},"Goal",[263,267,268],{},"Use",[263,270,271],{},"Never use",[273,274,275,287,298,309],"tbody",{},[260,276,277,281,284],{},[278,279,280],"td",{},"Read public catalog",[278,282,283],{},"Public Storefront API",[278,285,286],{},"Merchant session cookie",[260,288,289,292,295],{},[278,290,291],{},"Access a user's account (after review\u002Fopening)",[278,293,294],{},"Authorization Code with PKCE S256 on the official authorization domain",[278,296,297],{},"Password grant, imitated sign-in, or shared Ayalink Cookie",[260,299,300,303,306],{},[278,301,302],{},"Server-to-server app",[278,304,305],{},"Installation token with minimum scopes",[278,307,308],{},"Browser-held client secret",[260,310,311,314,317],{},[278,312,313],{},"Receive business events",[278,315,316],{},"Installation-scoped signed Webhook",[278,318,319],{},"Unsigned callback or query token",[240,321,322],{},"Create the developer organization, app version, and store installation in the Ayalink Merchant developer workspace. Production access is not implied by the documentation: the app version, requested scopes, legal consent, store capability, market, and installation must all be active.",[249,324,326],{"id":325},"configure-the-public-base-url","Configure the public base URL",[240,328,329,330,333],{},"The ",[244,331,332],{"href":210},"Nuxt example"," requires only public configuration:",[335,336,341],"pre",{"className":337,"code":338,"language":339,"meta":340,"style":340},"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","",[342,343,344,352,358,364],"code",{"__ignoreMap":340},[345,346,349],"span",{"class":347,"line":348},"line",1,[345,350,351],{},"NUXT_PUBLIC_AYALINK_API_BASE=https:\u002F\u002Fapi.example.invalid\u002Fapi\u002Fv1\n",[345,353,355],{"class":347,"line":354},2,[345,356,357],{},"NUXT_PUBLIC_AYALINK_AUTH_BASE=https:\u002F\u002Fstorefront.example.invalid\n",[345,359,361],{"class":347,"line":360},3,[345,362,363],{},"NUXT_PUBLIC_AYALINK_CLIENT_ID=replace-with-public-client-id\n",[345,365,367],{"class":347,"line":366},4,[345,368,369],{},"NUXT_PUBLIC_AYALINK_REDIRECT_URI=https:\u002F\u002Fshop.example.invalid\u002Foauth\u002Fcallback\n",[240,371,372,373,376],{},"The values above are inert placeholders, not production endpoints. Never prefix a secret with ",[342,374,375],{},"NUXT_PUBLIC_",".",[249,378,380],{"id":379},"request-public-data","Request public data",[335,382,386],{"className":383,"code":384,"language":385,"meta":340,"style":340},"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': 'en',\n    'x-ayalink-market': 'US'\n  }\n})\n\nif (!response.ok) throw new Error(`AYALINK_HTTP_${response.status}`)\nconst envelope = await response.json()\n","ts",[342,387,388,435,446,465,486,506,512,520,527,578],{"__ignoreMap":340},[345,389,390,394,398,402,406,410,413,416,419,422,426,429,432],{"class":347,"line":348},[345,391,393],{"class":392},"spNyl","const",[345,395,397],{"class":396},"sTEyZ"," response ",[345,399,401],{"class":400},"sMK4o","=",[345,403,405],{"class":404},"s7zQu"," await",[345,407,409],{"class":408},"s2Zo4"," fetch",[345,411,412],{"class":396},"(",[345,414,415],{"class":400},"`${",[345,417,418],{"class":396},"apiBase",[345,420,421],{"class":400},"}",[345,423,425],{"class":424},"sfazB","\u002Fcatalog\u002Fproducts",[345,427,428],{"class":400},"`",[345,430,431],{"class":400},",",[345,433,434],{"class":400}," {\n",[345,436,437,441,444],{"class":347,"line":354},[345,438,440],{"class":439},"swJcz","  headers",[345,442,443],{"class":400},":",[345,445,434],{"class":400},[345,447,448,451,453,456,459,462],{"class":347,"line":360},[345,449,450],{"class":439},"    accept",[345,452,443],{"class":400},[345,454,455],{"class":400}," '",[345,457,458],{"class":424},"application\u002Fjson",[345,460,461],{"class":400},"'",[345,463,464],{"class":400},",\n",[345,466,467,470,473,475,477,479,482,484],{"class":347,"line":366},[345,468,469],{"class":400},"    '",[345,471,472],{"class":439},"accept-language",[345,474,461],{"class":400},[345,476,443],{"class":400},[345,478,455],{"class":400},[345,480,481],{"class":424},"en",[345,483,461],{"class":400},[345,485,464],{"class":400},[345,487,489,491,494,496,498,500,503],{"class":347,"line":488},5,[345,490,469],{"class":400},[345,492,493],{"class":439},"x-ayalink-market",[345,495,461],{"class":400},[345,497,443],{"class":400},[345,499,455],{"class":400},[345,501,502],{"class":424},"US",[345,504,505],{"class":400},"'\n",[345,507,509],{"class":347,"line":508},6,[345,510,511],{"class":400},"  }\n",[345,513,515,517],{"class":347,"line":514},7,[345,516,421],{"class":400},[345,518,519],{"class":396},")\n",[345,521,523],{"class":347,"line":522},8,[345,524,526],{"emptyLinePlaceholder":525},true,"\n",[345,528,530,533,536,539,542,544,547,550,553,556,558,560,563,566,568,570,573,576],{"class":347,"line":529},9,[345,531,532],{"class":404},"if",[345,534,535],{"class":396}," (",[345,537,538],{"class":400},"!",[345,540,541],{"class":396},"response",[345,543,376],{"class":400},[345,545,546],{"class":396},"ok) ",[345,548,549],{"class":404},"throw",[345,551,552],{"class":400}," new",[345,554,555],{"class":408}," Error",[345,557,412],{"class":396},[345,559,428],{"class":400},[345,561,562],{"class":424},"AYALINK_HTTP_",[345,564,565],{"class":400},"${",[345,567,541],{"class":396},[345,569,376],{"class":400},[345,571,572],{"class":396},"status",[345,574,575],{"class":400},"}`",[345,577,519],{"class":396},[345,579,581,583,586,588,590,593,595,598],{"class":347,"line":580},10,[345,582,393],{"class":392},[345,584,585],{"class":396}," envelope ",[345,587,401],{"class":400},[345,589,405],{"class":404},[345,591,592],{"class":396}," response",[345,594,376],{"class":400},[345,596,597],{"class":408},"json",[345,599,600],{"class":396},"()\n",[240,602,603,604,607,608,607,611,607,614,607,617,620,621,624,625,376],{},"Do not invent products when the API is unavailable. Treat ",[342,605,606],{},"401",", ",[342,609,610],{},"403",[342,612,613],{},"404",[342,615,616],{},"409",[342,618,619],{},"422",", and ",[342,622,623],{},"429"," as distinct states described in ",[244,626,627],{"href":95},"errors and rate limits",[629,630,631],"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":340,"searchDepth":354,"depth":354,"links":633},[634,635,636],{"id":251,"depth":354,"text":252},{"id":325,"depth":354,"text":326},{"id":379,"depth":354,"text":380},"Choose an integration environment and make the first public API request without storing secrets in a browser.","md",null,{},{"title":11,"description":637},"jbJUY8k5bNoMoEgjrBVRq4QmlsH7_rvYvOFGZZN0Wr4",[639,644],{"title":15,"path":16,"stem":17,"description":645,"children":-1},"Understand the public documentation, platform, store, installation, user, and provider trust boundaries.",1785961911126]