Admin APIobject
Contains objects used to interact with the Admin API.
This object is returned as part of different contexts, such as admin
, unauthenticated.admin
, and webhook
.
Anchor to adminadmin
Provides utilities that apps can use to make requests to the Admin API.
- Anchor to restrestRestClientWithResources<Resources>required
Methods for interacting with the Shopify Admin REST API
There are methods for interacting with individual REST resources. You can also make
,
,
and
requests should the REST resources not meet your needs.
- Anchor to graphqlgraphqlGraphQLClientrequired
Methods for interacting with the Shopify Admin GraphQL API
RestClientWithResources
RemixRestClient & {resources: Resources}
Anchor to examplesExamples
Anchor to example-using-rest-resourcesUsing REST resources
Getting the number of orders in a store using REST resources.
Anchor to example-performing-a-get-request-to-the-rest-apiPerforming a GET request to the REST API
Use admin.rest.<method>
to make custom requests to the API.
Using REST resources
Examples
Using REST resources
Description
Getting the number of orders in a store using REST resources.
/app/shopify.server.ts
import { shopifyApp } from "@shopify/shopify-app-remix/server"; import { restResources } from "@shopify/shopify-api/rest/admin/2023-07"; const shopify = shopifyApp({ restResources, // ...etc }); export default shopify; export const authenticate = shopify.authenticate;
/app/routes/**\/*.ts
import { LoaderArgs, json } from "@remix-run/node"; import { authenticate } from "../shopify.server"; export const loader = async ({ request }: LoaderArgs) => { const { admin, session } = await authenticate.admin(request); return json(admin.rest.resources.Order.count({ session })); };
Performing a GET request to the REST API
Description
Use `admin.rest.<method>` to make custom requests to the API.
/app/shopify.server.ts
import { shopifyApp } from "@shopify/shopify-app-remix/server"; import { restResources } from "@shopify/shopify-api/rest/admin/2023-04"; const shopify = shopifyApp({ restResources, // ...etc }); export default shopify; export const authenticate = shopify.authenticate;
/app/routes/**\/*.ts
import { LoaderArgs, json } from "@remix-run/node"; import { authenticate } from "../shopify.server"; export const loader = async ({ request }: LoaderArgs) => { const { admin, session } = await authenticate.admin(request); const response = await admin.rest.get({ path: "/customers/count.json" }); const customers = await response.json(); return json({ customers }); };
Anchor to example-graphqlgraphql
Anchor to example-querying-the-graphql-apiQuerying the GraphQL API
Use admin.graphql
to make query / mutation requests.
Querying the GraphQL API
Example
Examples
Querying the GraphQL API
Description
Use `admin.graphql` to make query / mutation requests.
Example
import { ActionArgs } from "@remix-run/node"; import { authenticate } from "../shopify.server"; export async function action({ request }: ActionArgs) { const { admin } = await authenticate.admin(request); const response = await admin.graphql( `#graphql mutation populateProduct($input: ProductInput!) { productCreate(input: $input) { product { id } } }`, { variables: { input: { title: "Product Name" } } } ); const productData = await response.json(); return json({ data: productData.data }); }