The types definitions of this package are generated using @quasarwork/shopify-api-types-codegen
.
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 | ❌ |
# You can use your preferred Node package manager
yarn add @quasarwork/shopify-api-types -D
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";
@shopify/shopify-api
utils
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: {
/* ... */
},
},
});