App proxy
App proxies take requests to Shopify links, and redirect them to external links.
The authenticate.public.appProxy function validates requests made to app proxies, and returns a context to enable querying Shopify APIs.
If the store has not installed the app, store-related properties such as admin or storefront will be undefined
If the store has not installed the app, store-related properties such as admin or storefront will be undefined
Authenticates requests coming to the app from Shopify app proxies.
- Anchor to requestrequestrequestRequestRequestrequiredrequired
AppProxyContext
- admin
No session is available for the shop that made this request. Therefore no methods for interacting with the GraphQL / REST Admin APIs are available.
undefined - liquid
A utility for creating a Liquid Response.
LiquidResponseFunction - session
No session is available for the shop that made this request. This comes from the session storage which `shopifyApp` uses to store sessions in your database of choice.
undefined - storefront
No session is available for the shop that made this request. Therefore no method for interacting with the Storefront API is available.
undefined
LiquidResponseFunction
- body
string - initAndOptions
number | (ResponseInit & Options)
ResponseOptions
- layout
Whether to use the shop's theme layout around the Liquid content.
boolean
AppProxyContextWithSession
- admin
Methods for interacting with the GraphQL / REST Admin APIs for the store that made the request.
AdminApiContext - liquid
A utility for creating a Liquid Response.
LiquidResponseFunction - session
The session for the shop that made the request. This comes from the session storage which `shopifyApp` uses to store sessions in your database of choice. Use this to get shop or user-specific data.
unknown - storefront
Method for interacting with the Shopify Storefront Graphql API for the store that made the request.
StorefrontContext
AdminApiContext
Provides utilities that apps can use to make requests to the Admin API.
- graphql
Methods for interacting with the Shopify Admin GraphQL API
GraphQLClient<AdminOperations>
GraphQLClient
- query
Operation extends keyof Operations - options
GraphQLQueryOptions<Operation, Operations>
interface Promise<T> {
/**
* Attaches callbacks for the resolution and/or rejection of the Promise.
* @param onfulfilled The callback to execute when the Promise is resolved.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of which ever callback is executed.
*/
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
/**
* Attaches a callback for only the rejection of the Promise.
* @param onrejected The callback to execute when the Promise is rejected.
* @returns A Promise for the completion of the callback.
*/
catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): Promise<T | TResult>;
}, interface Promise<T> {}, Promise: PromiseConstructor, interface Promise<T> {
readonly [Symbol.toStringTag]: string;
}, interface Promise<T> {
/**
* Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
* resolved value cannot be modified from the callback.
* @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
* @returns A Promise for the completion of the callback.
*/
finally(onfinally?: (() => void) | undefined | null): Promise<T>;
}GraphQLQueryOptions
- apiVersion
The version of the API to use for the request.
unknown - headers
Additional headers to include in the request.
Record<string, any> - signal
An optional AbortSignal to cancel the request.
AbortSignal - tries
The total number of times to try the request if it fails.
number - variables
The variables to pass to the operation.
ApiClientRequestOptions<Operation, Operations>
StorefrontContext
Provides utilities that apps can use to make requests to the Storefront API.
- graphql
Method for interacting with the Shopify Storefront GraphQL API If you're getting incorrect type hints in the Shopify template, follow [these instructions](https://github.com/Shopify/shopify-app-template-react-router/tree/main#incorrect-graphql-hints).
GraphQLClient<StorefrontOperations>