shop.graphql 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502
  1. # Represents a collection of the general settings and information about the shop.
  2. type Shop implements HasMetafields&HasPublishedTranslations&Node{
  3. # A list of the shop's active alert messages that appear in the Shopify admin.
  4. alerts: [ShopAlert!]!
  5. # A list of the shop's product categories. Limit: 1000 product categories.
  6. allProductCategories: [ProductCategory!]!
  7. # The paginated list of fulfillment orders assigned to fulfillment services.
  8. assignedFulfillmentOrders(
  9. after: String
  10. assignmentStatus: FulfillmentOrderAssignmentStatus
  11. before: String
  12. first: Int
  13. last: Int
  14. locationIds: [ID!]
  15. reverse: Boolean = false
  16. sortKey: FulfillmentOrderSortKeys = ID
  17. ): FulfillmentOrderConnection!
  18. # The list of sales channels not currently installed on the shop.
  19. availableChannelApps(
  20. after: String
  21. before: String
  22. first: Int
  23. last: Int
  24. reverse: Boolean = false
  25. ): AppConnection!
  26. # The shop's billing address information.
  27. billingAddress: MailingAddress!
  28. # List of all channel definitions associated with a shop.
  29. channelDefinitionsForInstalledChannels: [AvailableChannelDefinitionsByChannel!]!
  30. # Specifies whether the shop supports checkouts via Checkout API.
  31. checkoutApiSupported: Boolean!
  32. # The public-facing contact email address for the shop.
  33. # Customers will use this email to communicate with the shop owner.
  34. contactEmail: String!
  35. # Countries that have been defined in shipping zones for the shop.
  36. countriesInShippingZones: CountriesInShippingZones!
  37. # The three letter code for the currency that the shop sells in.
  38. currencyCode: CurrencyCode!
  39. # How currencies are displayed on your store.
  40. currencyFormats: CurrencyFormats!
  41. # The presentment currency settings for the shop excluding the shop's own currency.
  42. currencySettings(
  43. after: String
  44. before: String
  45. first: Int
  46. last: Int
  47. reverse: Boolean = false
  48. ): CurrencySettingConnection!
  49. # Whether customer accounts are required, optional, or disabled for the shop.
  50. customerAccounts: ShopCustomerAccountsSetting!
  51. # A list of tags that have been added to customer accounts.
  52. customerTags(first: Int!): StringConnection!
  53. # The shop's meta description used in search engine results.
  54. description: String
  55. # A list of tags that have been added to draft orders.
  56. draftOrderTags(first: Int!): StringConnection!
  57. # The shop owner's email address.
  58. # Shopify will use this email address to communicate with the shop owner.
  59. email: String!
  60. # The presentment currencies enabled for the shop.
  61. enabledPresentmentCurrencies: [CurrencyCode!]!
  62. # The set of features enabled for the shop.
  63. features: ShopFeatures!
  64. # List of the shop's installed fulfillment services.
  65. fulfillmentServices: [FulfillmentService!]!
  66. # The shop's time zone as defined by the IANA.
  67. ianaTimezone: String!
  68. # A globally-unique identifier.
  69. id: ID!
  70. # The number of pendings orders on the shop.
  71. # Limited to a maximum of 10000.
  72. limitedPendingOrderCount: LimitedPendingOrderCount!
  73. # The approval signals for a shop to support onboarding to channel apps.
  74. merchantApprovalSignals: MerchantApprovalSignals
  75. # Returns a metafield by namespace and key that belongs to the resource.
  76. metafield(key: String!namespace: String!): Metafield
  77. # List of metafields that belong to the resource.
  78. metafields(
  79. after: String
  80. before: String
  81. first: Int
  82. last: Int
  83. namespace: String
  84. reverse: Boolean = false
  85. ): MetafieldConnection!
  86. # The shop's .myshopify.com domain name.
  87. myshopifyDomain: String!
  88. # The shop's name.
  89. name: String!
  90. # The shop's settings related to navigation.
  91. navigationSettings: [NavigationItem!]!
  92. # The prefix that appears before order numbers.
  93. orderNumberFormatPrefix: String!
  94. # The suffix that appears after order numbers.
  95. orderNumberFormatSuffix: String!
  96. # A list of tags that have been added to orders.
  97. orderTags(first: Int!sort: ShopTagSort = ALPHABETICAL): StringConnection!
  98. # The shop's settings related to payments.
  99. paymentSettings: PaymentSettings!
  100. # The shop's billing plan.
  101. plan: ShopPlan!
  102. # The primary domain of the shop's online store.
  103. primaryDomain: Domain!
  104. # Returns a private metafield by namespace and key that belongs to the resource.
  105. privateMetafield(key: String!namespace: String!): PrivateMetafield
  106. # List of private metafields that belong to the resource.
  107. privateMetafields(
  108. after: String
  109. before: String
  110. first: Int
  111. last: Int
  112. namespace: String
  113. reverse: Boolean = false
  114. ): PrivateMetafieldConnection!
  115. # The list of all images of all products for the shop.
  116. productImages(
  117. after: String
  118. before: String
  119. first: Int
  120. last: Int
  121. reverse: Boolean = false
  122. sortKey: ProductImageSortKeys = CREATED_AT
  123. ): ImageConnection!
  124. # A list of tags that have been added to products.
  125. productTags(first: Int!): StringConnection!
  126. # The list of types added to products.
  127. productTypes(first: Int!): StringConnection!
  128. # The list of vendors added to products.
  129. productVendors(first: Int!): StringConnection!
  130. # The number of publications for the shop.
  131. publicationCount: Int!
  132. # The shop's limits for specific resources. For example, the maximum number ofvariants allowed per product, or the maximum number of locations allowed.
  133. resourceLimits: ShopResourceLimits!
  134. # The URL of the rich text editor that can be used for mobile devices.
  135. richTextEditorUrl: URL!
  136. # Fetches a list of admin search results by a specified query.
  137. search(
  138. after: String
  139. first: Int!
  140. query: String!
  141. types: [SearchResultType!]
  142. ): SearchResultConnection!
  143. # The list of search filter options for the shop. These can be used to filter productvisibility for the shop.
  144. searchFilters: SearchFilterOptions!
  145. # Whether the shop has outstanding setup steps.
  146. setupRequired: Boolean!
  147. # The list of countries that the shop ships to.
  148. shipsToCountries: [CountryCode!]!
  149. # The list of all legal policies associated with a shop.
  150. shopPolicies: [ShopPolicy!]!
  151. # The paginated list of the shop's staff members.
  152. staffMembers(
  153. after: String
  154. before: String
  155. first: Int
  156. last: Int
  157. reverse: Boolean = false
  158. ): StaffMemberConnection!
  159. # The storefront access token of a private application. These are scoped per-application.
  160. storefrontAccessTokens(
  161. after: String
  162. before: String
  163. first: Int
  164. last: Int
  165. reverse: Boolean = false
  166. ): StorefrontAccessTokenConnection!
  167. # Whether the shop charges taxes for shipping.
  168. taxShipping: Boolean!
  169. # Whether applicable taxes are included in the shop's product prices.
  170. taxesIncluded: Boolean!
  171. # The shop's time zone abbreviation.
  172. timezoneAbbreviation: String!
  173. # The shop's time zone offset.
  174. timezoneOffset: String!
  175. # The shop's time zone offset expressed as a number of minutes.
  176. timezoneOffsetMinutes: Int!
  177. # Whether transactional SMS sent by Shopify have been disabled for a shop.
  178. transactionalSmsDisabled: Boolean!
  179. # The translations associated with the resource.
  180. translations(locale: String!marketId: ID): [PublishedTranslation!]!
  181. # The shop's unit system for weights and measures.
  182. unitSystem: UnitSystem!
  183. # Fetches a list of images uploaded to the shop by their IDs.
  184. uploadedImagesByIds(imageIds: [ID!]!): [Image!]!
  185. # The URL of the shop's online store.
  186. url: URL!
  187. # The shop's primary unit of weight for products and shipping.
  188. weightUnit: WeightUnit!
  189. }
  190. # The list of all the countries from the combined shipping zones for the shop.
  191. type CountriesInShippingZones {
  192. # The list of all the countries from all the combined shipping zones.
  193. countryCodes: [CountryCode!]!
  194. # Whether 'Rest of World' has been defined in any of the shipping zones.
  195. includeRestOfWorld: Boolean!
  196. }
  197. # Currency formats configured for the merchant. These formats are available to use within Liquid.
  198. type CurrencyFormats {
  199. # Money without currency in HTML.
  200. moneyFormat: FormattedString!
  201. # Money without currency in emails.
  202. moneyInEmailsFormat: String!
  203. # Money with currency in HTML.
  204. moneyWithCurrencyFormat: FormattedString!
  205. # Money with currency in emails.
  206. moneyWithCurrencyInEmailsFormat: String!
  207. }
  208. # Represents the feature set available to the shop.
  209. # Most fields specify whether a feature is enabled for a shop, and some fields return information
  210. # related to specific features.
  211. type ShopFeatures {
  212. # Whether a shop has access to Avalara AvaTax.
  213. avalaraAvatax: Boolean!
  214. # The branding of the shop, which influences its look and feel in the Shopify admin.
  215. branding: ShopBranding!
  216. # Whether a shop's online store can have CAPTCHA protection.
  217. captcha: Boolean!
  218. # Whether a shop's online store can have CAPTCHA protection for domains not managed by Shopify.
  219. captchaExternalDomains: Boolean!
  220. # Whether a shop has access to the Google Analytics dynamic remarketing feature.
  221. dynamicRemarketing: Boolean!
  222. # Whether a shop can be migrated to use Shopify subscriptions.
  223. eligibleForSubscriptionMigration: Boolean!
  224. # Whether a shop is configured properly to sell subscriptions.
  225. eligibleForSubscriptions: Boolean!
  226. # Whether a shop can create gift cards.
  227. giftCards: Boolean!
  228. # Whether a shop displays Harmonized System codes on products. This is used for customs when shipping
  229. # internationally.
  230. harmonizedSystemCode: Boolean!
  231. # Whether a shop can enable international domains.
  232. internationalDomains: Boolean!
  233. # Whether a shop can enable international price overrides.
  234. internationalPriceOverrides: Boolean!
  235. # Whether a shop can enable international price rules.
  236. internationalPriceRules: Boolean!
  237. # Whether a shop has enabled a legacy subscription gateway to handle older subscriptions.
  238. legacySubscriptionGatewayEnabled: Boolean!
  239. # Whether to show the Live View metrics in the Shopify admin. Live view is hidden from merchants that are on a trial
  240. # or don't have a storefront.
  241. liveView: Boolean!
  242. # Whether a shop has access to the onboarding visual.
  243. onboardingVisual: Boolean!
  244. # Whether a shop is configured to sell subscriptions with PayPal Express.
  245. paypalExpressSubscriptionGatewayStatus: PaypalExpressSubscriptionsGatewayStatus!
  246. # Whether a shop has access to all reporting features.
  247. reports: Boolean!
  248. # Whether a shop has ever had subscription products.
  249. sellsSubscriptions: Boolean!
  250. # Whether to show metrics in the Shopify admin. Metrics are hidden for new merchants until they become meaningful.
  251. showMetrics: Boolean!
  252. # Whether a shop has an online store.
  253. storefront: Boolean!
  254. # Whether a shop is using Shopify Balance.
  255. usingShopifyBalance: Boolean!
  256. }
  257. # The total number of pending orders on a shop if less then a maximum, or that maximum.
  258. # The atMax field indicates when this maximum has been reached.
  259. type LimitedPendingOrderCount {
  260. # This is set when the number of pending orders has reached the maximum.
  261. atMax: Boolean!
  262. # The number of pendings orders on the shop.
  263. # Limited to a maximum of 10000.
  264. count: Int!
  265. }
  266. # Merchant approval for accelerated onboarding to channel integration apps.
  267. type MerchantApprovalSignals {
  268. # Whether the shop's Shopify Payments account identity is verified.
  269. # Returns false if the identity is unverified or if the shop doesn't have a Shopify Payments account.
  270. identityVerified: Boolean!
  271. # Whether Shopify has pre-verified the merchant's business for onboarding to channel integration apps.
  272. # Returns false if the shop is not marked for verification.
  273. verifiedByShopify: Boolean!
  274. }
  275. # Settings related to payments.
  276. type PaymentSettings {
  277. # List of the digital wallets which the shop supports.
  278. supportedDigitalWallets: [DigitalWallet!]!
  279. }
  280. # The billing plan of the shop.
  281. type ShopPlan {
  282. # The name of the shop's billing plan.
  283. displayName: String!
  284. # Whether the shop is a partner development shop for testing purposes.
  285. partnerDevelopment: Boolean!
  286. # Whether the shop has a Shopify Plus subscription.
  287. shopifyPlus: Boolean!
  288. }
  289. # Policy that a merchant has configured for their store, such as their refund or privacy policy.
  290. type ShopPolicy implements HasPublishedTranslations&Node {
  291. # The text of the policy. The maximum size is 512kb.
  292. body: HTML!
  293. # A globally-unique identifier.
  294. id: ID!
  295. # The translations associated with the resource.
  296. translations(locale: String! marketId: ID): [PublishedTranslation!]!
  297. # The shop policy type.
  298. type: ShopPolicyType!
  299. # The public URL of the policy.
  300. url: URL!
  301. }
  302. # Resource limits of a shop.
  303. type ShopResourceLimits {
  304. # Maximum number of locations allowed.
  305. locationLimit: Int!
  306. # Maximum number of product options allowed.
  307. maxProductOptions: Int!
  308. # The maximum number of variants allowed per product.
  309. maxProductVariants: Int!
  310. # Whether the shop has reached the limit of the number of URL redirects it can make for resources.
  311. redirectLimitReached: Boolean!
  312. # The maximum number of variants allowed per shop.
  313. # If the shop has unlimited SKUs, then the quantity used cannot be retrieved.
  314. skuResourceLimits: ResourceLimit!
  315. }
  316. # A resource limit represents the limits that the resource has.
  317. type ResourceLimit {
  318. # Whether the resource is available.
  319. available: Boolean!
  320. # Quantity available. If null the quantity available is unlimited.
  321. quantityAvailable: Int
  322. # Quantity limit of the resource. If null the quantity is unlimited.
  323. quantityLimit: Int
  324. # Quantity used of the resource. If null the quantity used cannot be retrieved.
  325. quantityUsed: Int
  326. }
  327. # Represents an individual result returned from a search.
  328. type SearchResult {
  329. # Returns the search result description text.
  330. description: String
  331. # Returns the Image resource presented to accompany a search result.
  332. image: Image
  333. # Returns the ID of the resource returned in the search result.
  334. reference: Node!
  335. # Returns the resource title.
  336. title: String!
  337. # Returns the absolute URL to the resource in the search result.
  338. url: URL!
  339. }
  340. # A list of search filters along with their specific options in value and label pair for filtering.
  341. type SearchFilterOptions {
  342. # A list of options that can be use to filter product availability.
  343. productAvailability: [FilterOption!]!
  344. }
  345. # A saved search is a representation of a search query saved in the admin.
  346. type SavedSearch implements LegacyInteroperability&Node {
  347. # The filters of a saved search.
  348. filters: [SearchFilter!]!
  349. # A globally-unique identifier.
  350. id: ID!
  351. # The ID of the corresponding resource in the REST Admin API.
  352. legacyResourceId: UnsignedInt64!
  353. # The name of a saved search.
  354. name: String!
  355. # The query string of a saved search. This includes search terms and filters.
  356. query: String!
  357. # The type of resource this saved search is searching in.
  358. resourceType: SearchResultType!
  359. # The search terms of a saved search.
  360. searchTerms: String!
  361. }
  362. # A filter in a search query represented by a key value pair.
  363. type SearchFilter {
  364. # The key of the search filter.
  365. key: String!
  366. # The value of the search filter.
  367. value: String!
  368. }
  369. # A filter option is one possible value in a search filter.
  370. type FilterOption {
  371. # The filter option's label for display purposes.
  372. label: String!
  373. # The filter option's value.
  374. value: String!
  375. }