shop.tpl 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489
  1. # Represents a collection of the general settings and information about the shop.
  2. type Shop
  3. implements HasMetafields&HasPublishedTranslations&Node
  4. @key(fields: "id") {
  5. # A list of the shop's active alert messages that appear in the Shopify admin.
  6. alerts: [ShopAlert!]!
  7. # A list of the shop's product categories. Limit: 1000 product categories.
  8. allProductCategories: [ProductCategory!]!
  9. # The paginated list of fulfillment orders assigned to fulfillment services.
  10. assignedFulfillmentOrders(
  11. after: String
  12. assignmentStatus: FulfillmentOrderAssignmentStatus
  13. before: String
  14. first: Int
  15. last: Int
  16. locationIds: [ID!]
  17. reverse: Boolean = false
  18. sortKey: FulfillmentOrderSortKeys = ID
  19. ): FulfillmentOrderConnection!
  20. # The list of sales channels not currently installed on the shop.
  21. availableChannelApps(
  22. after: String
  23. before: String
  24. first: Int
  25. last: Int
  26. reverse: Boolean = false
  27. ): AppConnection!
  28. # The shop's billing address information.
  29. billingAddress: MailingAddress!
  30. # List of all channel definitions associated with a shop.
  31. channelDefinitionsForInstalledChannels: [AvailableChannelDefinitionsByChannel!]!
  32. # Specifies whether the shop supports checkouts via Checkout API.
  33. checkoutApiSupported: Boolean!
  34. # The public-facing contact email address for the shop.
  35. # Customers will use this email to communicate with the shop owner.
  36. contactEmail: String!
  37. # Countries that have been defined in shipping zones for the shop.
  38. countriesInShippingZones: CountriesInShippingZones!
  39. # The three letter code for the currency that the shop sells in.
  40. currencyCode: CurrencyCode!
  41. # How currencies are displayed on your store.
  42. currencyFormats: CurrencyFormats!
  43. # The presentment currency settings for the shop excluding the shop's own currency.
  44. currencySettings(
  45. after: String
  46. before: String
  47. first: Int
  48. last: Int
  49. reverse: Boolean = false
  50. ): CurrencySettingConnection!
  51. # Whether customer accounts are required, optional, or disabled for the shop.
  52. customerAccounts: ShopCustomerAccountsSetting!
  53. # A list of tags that have been added to customer accounts.
  54. customerTags(first: Int!): StringConnection!
  55. # The shop's meta description used in search engine results.
  56. description: String
  57. # A list of tags that have been added to draft orders.
  58. draftOrderTags(first: Int!): StringConnection!
  59. # The shop owner's email address.
  60. # Shopify will use this email address to communicate with the shop owner.
  61. email: String!
  62. # The presentment currencies enabled for the shop.
  63. enabledPresentmentCurrencies: [CurrencyCode!]!
  64. # The set of features enabled for the shop.
  65. features: ShopFeatures!
  66. # List of the shop's installed fulfillment services.
  67. fulfillmentServices: [FulfillmentService!]!
  68. # The shop's time zone as defined by the IANA.
  69. ianaTimezone: String!
  70. # A globally-unique identifier.
  71. id: ID!
  72. # The number of pendings orders on the shop.
  73. # Limited to a maximum of 10000.
  74. limitedPendingOrderCount: LimitedPendingOrderCount!
  75. # The approval signals for a shop to support onboarding to channel apps.
  76. merchantApprovalSignals: MerchantApprovalSignals
  77. # Returns a metafield by namespace and key that belongs to the resource.
  78. metafield(key: String!namespace: String!): Metafield
  79. # List of metafields that belong to the resource.
  80. metafields(
  81. after: String
  82. before: String
  83. first: Int
  84. last: Int
  85. namespace: String
  86. reverse: Boolean = false
  87. ): MetafieldConnection!
  88. # The shop's .myshopify.com domain name.
  89. myshopifyDomain: String!
  90. # The shop's name.
  91. name: String!
  92. # The shop's settings related to navigation.
  93. navigationSettings: [NavigationItem!]!
  94. # The prefix that appears before order numbers.
  95. orderNumberFormatPrefix: String!
  96. # The suffix that appears after order numbers.
  97. orderNumberFormatSuffix: String!
  98. # A list of tags that have been added to orders.
  99. orderTags(first: Int!sort: ShopTagSort = ALPHABETICAL): StringConnection!
  100. # The shop's settings related to payments.
  101. paymentSettings: PaymentSettings!
  102. # The shop's billing plan.
  103. plan: ShopPlan!
  104. # The primary domain of the shop's online store.
  105. primaryDomain: Domain!
  106. # Returns a private metafield by namespace and key that belongs to the resource.
  107. privateMetafield(key: String!namespace: String!): PrivateMetafield
  108. # List of private metafields that belong to the resource.
  109. privateMetafields(
  110. after: String
  111. before: String
  112. first: Int
  113. last: Int
  114. namespace: String
  115. reverse: Boolean = false
  116. ): PrivateMetafieldConnection!
  117. # The list of all images of all products for the shop.
  118. productImages(
  119. after: String
  120. before: String
  121. first: Int
  122. last: Int
  123. reverse: Boolean = false
  124. sortKey: ProductImageSortKeys = CREATED_AT
  125. ): ImageConnection!
  126. # A list of tags that have been added to products.
  127. productTags(first: Int!): StringConnection!
  128. # The list of types added to products.
  129. productTypes(first: Int!): StringConnection!
  130. # The list of vendors added to products.
  131. productVendors(first: Int!): StringConnection!
  132. # The number of publications for the shop.
  133. publicationCount: Int!
  134. # The shop's limits for specific resources. For example, the maximum number ofvariants allowed per product, or the maximum number of locations allowed.
  135. resourceLimits: ShopResourceLimits!
  136. # The URL of the rich text editor that can be used for mobile devices.
  137. richTextEditorUrl: URL!
  138. # Fetches a list of admin search results by a specified query.
  139. search(
  140. after: String
  141. first: Int!
  142. query: String!
  143. types: [SearchResultType!]
  144. ): SearchResultConnection!
  145. # The list of search filter options for the shop. These can be used to filter productvisibility for the shop.
  146. searchFilters: SearchFilterOptions!
  147. # Whether the shop has outstanding setup steps.
  148. setupRequired: Boolean!
  149. # The list of countries that the shop ships to.
  150. shipsToCountries: [CountryCode!]!
  151. # The list of all legal policies associated with a shop.
  152. shopPolicies: [ShopPolicy!]!
  153. # The paginated list of the shop's staff members.
  154. staffMembers(
  155. after: String
  156. before: String
  157. first: Int
  158. last: Int
  159. reverse: Boolean = false
  160. ): StaffMemberConnection!
  161. # The storefront access token of a private application. These are scoped per-application.
  162. storefrontAccessTokens(
  163. after: String
  164. before: String
  165. first: Int
  166. last: Int
  167. reverse: Boolean = false
  168. ): StorefrontAccessTokenConnection!
  169. # Whether the shop charges taxes for shipping.
  170. taxShipping: Boolean!
  171. # Whether applicable taxes are included in the shop's product prices.
  172. taxesIncluded: Boolean!
  173. # The shop's time zone abbreviation.
  174. timezoneAbbreviation: String!
  175. # The shop's time zone offset.
  176. timezoneOffset: String!
  177. # The shop's time zone offset expressed as a number of minutes.
  178. timezoneOffsetMinutes: Int!
  179. # Whether transactional SMS sent by Shopify have been disabled for a shop.
  180. transactionalSmsDisabled: Boolean!
  181. # The translations associated with the resource.
  182. translations(locale: String!marketId: ID): [PublishedTranslation!]!
  183. # The shop's unit system for weights and measures.
  184. unitSystem: UnitSystem!
  185. # Fetches a list of images uploaded to the shop by their IDs.
  186. uploadedImagesByIds(imageIds: [ID!]!): [Image!]!
  187. # The URL of the shop's online store.
  188. url: URL!
  189. # The shop's primary unit of weight for products and shipping.
  190. weightUnit: WeightUnit!
  191. }
  192. # A Shopify application.
  193. type App
  194. implements Node
  195. @key(fields: "id") {
  196. # A unique application API identifier.
  197. apiKey: String!
  198. # App store page URL of the app.
  199. appStoreAppUrl: URL
  200. # App store page URL of the developer who created the app.
  201. appStoreDeveloperUrl: URL
  202. # The access scopes available to the app.
  203. availableAccessScopes: [AccessScope!]!
  204. # Banner image for the app.
  205. banner: Image!
  206. # Description of the app.
  207. description: String
  208. # The name of the app developer.
  209. developerName: String
  210. # The type of app developer.
  211. developerType: AppDeveloperType!
  212. # Whether the app uses the Embedded App SDK.
  213. embedded: Boolean!
  214. # Requirements that must be met before the app can be installed.
  215. failedRequirements: [FailedRequirement!]!
  216. # A list of app features that are shown in the Shopify App Store listing.
  217. features: [String!]!
  218. # Feedback from this app about the store.
  219. feedback: AppFeedback
  220. # Handle of the app.
  221. handle: String
  222. # Icon that represents the app.
  223. icon: Image!
  224. # A globally-unique identifier.
  225. id: ID!
  226. # Webpage where you can install the app.
  227. installUrl: URL
  228. # Corresponding AppInstallation for this shop and App.
  229. # Returns null if the App is not installed.
  230. installation: AppInstallation
  231. # Whether the app is the post purchase app in use.
  232. isPostPurchaseAppInUse: Boolean!
  233. # Whether the app was previously installed on the current shop.
  234. previouslyInstalled: Boolean!
  235. # Detailed information about the app pricing.
  236. pricingDetails: String
  237. # Summary of the app pricing details.
  238. pricingDetailsSummary: String!
  239. # Link to app privacy policy.
  240. privacyPolicyUrl: URL
  241. # The public category for the app.
  242. publicCategory: AppPublicCategory!
  243. # Whether the app is published to the Shopify App Store.
  244. published: Boolean!
  245. # The access scopes requested by the app.
  246. requestedAccessScopes: [AccessScope!]!
  247. # Screenshots of the app.
  248. screenshots: [Image!]!
  249. # Whether the app was developed by Shopify.
  250. shopifyDeveloped: Boolean!
  251. # Name of the app.
  252. title: String!
  253. # Message that appears when the app is uninstalled. For example:
  254. # By removing this app, you will no longer be able to publish products to MySocialSite or view this app in your Shopify admin. You can re-enable this channel at any time.
  255. uninstallMessage: String!
  256. # The webhook API version for the app.
  257. webhookApiVersion: String!
  258. }
  259. # The market’s web presence, which defines its SEO strategy. This can be a different domain
  260. # (e.g. example.ca), subdomain (e.g. ca.example.com), or subfolders of the primary
  261. # domain (e.g. example.com/en-ca). Each web presence comprises one or more language
  262. # variants. If a market does not have its own web presence, it is accessible on the shop’s
  263. # primary domain via country
  264. # selectors.
  265. #
  266. # Note: while the domain/subfolders defined by a market’s web presence are not applicable to
  267. # custom storefronts, which must manage their own domains and routing, the languages chosen
  268. # here do govern the languages available on the Storefront
  269. # API for the countries in
  270. # this market.
  271. type MarketWebPresence
  272. implements Node
  273. @key(fields: "id") {
  274. # The ISO codes for the alternate locales. When a domain is used, these locales will be
  275. # available as language-specific subfolders. For example, if English is an
  276. # alternate locale, and example.ca is the market’s domain, then
  277. # example.ca/en will load in English.
  278. alternateLocales: [String!]!
  279. # The ISO code for the default locale. When a domain is used, this is the locale that will
  280. # be used when the domain root is accessed. For example, if French is the default locale,
  281. # and example.ca is the market’s domian, then example.ca will load in French.
  282. defaultLocale: String!
  283. # The web presence’s domain.
  284. # This field will be null if subfolderSuffix isn't null.
  285. domain: Domain
  286. # A globally-unique identifier.
  287. id: ID!
  288. # The associated market.
  289. market: Market!
  290. # The list of root URLs for each of the web presence’s locales.
  291. rootUrls: [MarketWebPresenceRootUrl!]!
  292. # The market-specific suffix of the subfolders defined by the web presence. Example: in /en-us the subfolder suffix is us.
  293. # This field will be null if domain isn't null.
  294. subfolderSuffix: String
  295. }
  296. # A market is a group of one or more regions that you want to target for international sales.
  297. # By creating a market, you can configure a distinct, localized shopping experience for
  298. # customers from a specific area of the world. For example, you can
  299. # change currency,
  300. # configure international pricing,
  301. # or add market-specific domains or subfolders.
  302. type Market
  303. implements Node
  304. @key(fields: "id") {
  305. # The market’s currency settings.
  306. currencySettings: MarketCurrencySettings!
  307. # Whether the market is enabled to receive visitors and sales. Note: Regions in inactive
  308. # markets cannot be selected on the storefront or in checkout.
  309. enabled: Boolean!
  310. # A globally-unique identifier.
  311. id: ID!
  312. # The name of the market. Not shown to customers.
  313. name: String!
  314. # The market’s price list, which specifies a percentage-based price adjustment as well as
  315. # fixed price overrides for specific variants.
  316. priceList: PriceList
  317. # Whether the market is the shop’s primary market.
  318. primary: Boolean!
  319. # The regions that comprise the market.
  320. regions(
  321. first: Int
  322. after: String
  323. last: Int
  324. before: String
  325. reverse: Boolean = false
  326. ): MarketRegionConnection!
  327. # The market’s web presence, which defines its SEO strategy. This can be a different domain,
  328. # subdomain, or subfolders of the primary domain. Each web presence comprises one or more
  329. # language variants. If a market doesn't have its own web presence, then the market is accessible on the
  330. # shop’s primary domain using country
  331. # selectors.
  332. webPresence: MarketWebPresence
  333. }
  334. # A job corresponds to some long running task that the client should poll for status.
  335. type Job
  336. @key(fields: "id") {
  337. # This indicates if the job is still queued or has been run.
  338. done: Boolean!
  339. # A globally-unique identifier that's returned when running an asynchronous mutation.
  340. id: ID!
  341. # This field will only resolve once the job is done. Can be used to ask for object(s) that have been changed by the job.
  342. # query: QueryRoot
  343. }
  344. extend type Customer @key(fields: "id") {
  345. id: ID! @external
  346. }
  347. extend type FulfillmentService @key(fields: "id") {
  348. id: ID! @external
  349. }
  350. extend type DraftOrder @key(fields: "id") {
  351. id: ID! @external
  352. }
  353. extend type Order @key(fields: "id") {
  354. id: ID! @external
  355. }
  356. extend type Product @key(fields: "id") {
  357. id: ID! @external
  358. }
  359. extend type ProductVariant @key(fields: "id") {
  360. id: ID! @external
  361. }
  362. extend type InventoryLevel @key(fields: "id") {
  363. id: ID! @external
  364. }
  365. extend type Collection @key(fields: "id") {
  366. id: ID! @external
  367. }