Overview Settings Install Customer Profile Editing Backend This app provides the secure backend for a Shopify theme-based customer profile page. Liquid renders the UI, while this app handles installation, app proxy validation, request validation, and customer updates through Shopify GraphQL. The current deployment is configured for Admin GraphQL with per-shop offline tokens stored in MySQL. App Configuration Application URL: https://transfers.grtrading.in/ Scopes: write_customers,write_app_proxy API Version: 2026-07 App Proxy Base Path: /apps/profile-api Redirect URI: https://transfers.grtrading.in/auth/callback Managed Install Persistence No managed-install token found in the initial page request. This embedded app attempts to exchange a Shopify session token for an offline Admin token and then stores that token in MySQL for future profile updates. Exposed Endpoints GET /auth/install Starts the manual OAuth flow for a shop. Useful as a fallback or reauthorization path. https://transfers.grtrading.in/auth/install?shop={shop}.myshopify.com GET /auth/callback Handles the classic OAuth callback. This remains available but managed-install persistence is preferred. https://transfers.grtrading.in/auth/callback POST /apps/profile-api/customer/update Secure storefront-safe endpoint for updating customer first name, last name, email, and phone through the backend.
{
  "first_name": "Ada",
  "last_name": "Lovelace",
  "phone": "+14155550123",
  "email": "ada@example.com"
}
POST /api/auth/managed-install/persist Exchanges a Shopify Admin session token for an offline Admin access token and stores it in MySQL.
Theme Integration The Shopify theme should render the customer profile form in Liquid using the logged-in customer object for initial values. Frontend JavaScript sends profile changes to /apps/profile-api/customer/update, and the backend uses the installed shop token to call Shopify GraphQL securely.