@quasarwork/shopify-api-types
v0.1.5
Published
Shopify api types definitions generated by @quasarwork/shopify-api-types-codegen.
Downloads
48
Maintainers
Readme
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";
@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: {
/* ... */
},
},
});