Skip to content

quasarwork/shopify-api-types

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shopify API Types

Informations

The types definitions of this package are generated using @quasarwork/shopify-api-types-codegen.

Supported APIs

Name Supported Import example
Admin API import type { Product } from "@quasarwork/shopify-api-types/api/admin/2023-07";
Partner API
Payments Apps API import type { PaymentSessionResolve } from "@quasarwork/shopify-api-types/api/payment_apps/2023-07";
Storefront API
Marketplaces API

Installation

# You can use your preferred Node package manager
yarn add @quasarwork/shopify-api-types -D

Usage

Basics

You can import whatever Shopify resource (object), query or mutation that is available within their different APIs.

For example if you want the Product object from the Shopify Admin API:

import type { Product } from "@quasarwork/shopify-api-types/api/admin/2023-07";

You can specify any version that is being currently supported by Shopify.

The package also supports aliases for latest, release_candidate and unstable:

import type { Product } from "@quasarwork/shopify-api-types/api/admin/latest";

Some utils types have been manually added to improve DX when using the graphql client from @shopify/shopify-api.

Let's say you want to do a productCreate GraphQL mutation on the Shopify Admin API with the graphql client provided, you could do as below to get a fully typed experience:

// ...

import type {
  Mutation,
  Product,
} from "@quasarwork/shopify-api-types/api/admin/2023-07";
import type { RequestReturn } from "@quasarwork/shopify-api-types/utils/shopify-api";

// ...

const graphqlClient = new shopify.clients.Graphql({
  session,
  apiVersion: ApiVersion.January23,
});

const response: RequestReturn<Pick<Mutation, "productCreate">> =
  await graphqlClient.query({
    data: {
      query: `
        mutation productCreate($input: ProductInput!) {
          productCreate(input: $input) {
            product {
              id
              legacyResourceId
            }
            userErrors {
              field
              message
            }
          }
        }
      `,
      variables: {
        /* ... */
      },
    },
  });

About

Shopify api types definitions generated by @quasarwork/shopify-api-types-codegen.

Resources

License

Stars

Watchers

Forks

Packages

No packages published