Reference
Storefront requests
Every request the ASC storefront makes from the customer's browser to Shopify's cart API, ASC services, Zapier and third parties.
These requests are made by src/ bundles and theme scripts from the customer's browser.
ASC services
| From | Method and URL | Body | Service |
|---|---|---|---|
src/components/CampBooking.tsx | GET {theme.api.root}v1/customers/{id}/children | None | asc-api-membership-pass |
src/components/CampBooking.tsx | POST {theme.api.root}v1/customers/{id}/children/save | text/plain, participant JSON encoded twice with btoa | asc-api-membership-pass |
src/js/custom.js | POST {theme.api.root}v1/customers/{id}/membership-pass/use | text/plain, { customer_id, customer_email, token, lineItem: { variantId, attributes } } encoded twice with btoa | asc-api-membership-pass |
src/components/ClubsAutocomplete.tsx | GET {ZOHO_INTEGRATION_API_ENDPOINT}/clubs/search?q={text}&limit=10&offset=0 | None. q is not URL-encoded | shopify-zoho-integration |
theme.api.root is window.theme.api.root, from theme setting gcloud_api_root. Responses from asc-api-membership-pass are { status, message, data }. Club search returns { data: [{ id, Name }], count }.
Shopify
| From | Method and URL | Body |
|---|---|---|
src/components/utils.tsx | POST {Shopify.routes.root}cart/add.js | { items: [{ id, quantity: 1, properties }] } |
src/js/custom.js | POST {Shopify.routes.cart_change_url}.js | { id, quantity } |
src/js/custom.js | GET {Shopify.routes.cart_url}.js | None. Reads the cart token |
theme/assets/clarity-tracking.js | POST cart/update.js | attributes: { clarity_uid, clarity_session_id } |
Zapier catch hooks
| From | Setting | Body |
|---|---|---|
theme/assets/brochure-newsletter-subscription.js | download_brochure_webhook | { name, email, referrer: 'PDP', subscribeToNewsletter, cardId } |
src/js/custom.js, on a Hulk Forms brochure_download message | download_brochure_landing_page_webhook | Hulk form data plus cardId |
src/js/custom.js, on a Hulk Forms form_submit message | form_submission_webhook | Hulk form data plus cardId |
The Hulk Forms relay only accepts postMessage events from https://formbuilder.hulkapps.com. The Zapier requests are sent without a Content-Type header.
Third parties
| Request | From | Purpose |
|---|---|---|
maps.googleapis.com/maps/api/js with libraries=places | src/js/camp-booking.js | School search |
tiles.openfreemap.org/styles/bright and its tiles | theme/assets/map-renderer.js | Camp maps |
js.squarecdn.com, static.afterpay.com | theme/assets/shopify-afterpay-javascript.js | Afterpay messaging on product pages |
| Klaviyo, Hotjar, Microsoft Clarity | App embeds and theme snippets | Marketing and analytics. Held by yett until user interaction |
formbuilder.hulkapps.com | Hulk Form Builder app | Forms |
Custom analytics events
| Event | Published by | Data |
|---|---|---|
checkout_clicked | theme/snippets/asc-track-checkout.liquid | currency, value, items |
seo_page_view | theme/snippets/custom-gtm-tracking.liquid, on combo landing pages | city, sport |
Both use Shopify.analytics.publish. They reach analytics only through a Customer Events pixel configured in Shopify Admin.