shopify_api 14.5.0 → 14.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -1
  3. data/Gemfile.lock +20 -11
  4. data/docs/usage/oauth.md +14 -0
  5. data/docs/usage/webhooks.md +11 -0
  6. data/lib/shopify_api/admin_versions.rb +2 -1
  7. data/lib/shopify_api/context.rb +2 -2
  8. data/lib/shopify_api/rest/resources/2022_04/shop.rb +2 -2
  9. data/lib/shopify_api/rest/resources/2022_07/shop.rb +2 -2
  10. data/lib/shopify_api/rest/resources/2022_10/shop.rb +2 -2
  11. data/lib/shopify_api/rest/resources/2023_01/shop.rb +2 -2
  12. data/lib/shopify_api/rest/resources/2023_04/shop.rb +2 -2
  13. data/lib/shopify_api/rest/resources/2023_07/shop.rb +2 -2
  14. data/lib/shopify_api/rest/resources/2023_10/shop.rb +2 -2
  15. data/lib/shopify_api/rest/resources/2024_01/shop.rb +2 -2
  16. data/lib/shopify_api/rest/resources/2024_04/shop.rb +2 -2
  17. data/lib/shopify_api/rest/resources/2024_07/shop.rb +2 -2
  18. data/lib/shopify_api/rest/resources/2024_07/webhook.rb +1 -0
  19. data/lib/shopify_api/rest/resources/2024_10/abandoned_checkout.rb +194 -0
  20. data/lib/shopify_api/rest/resources/2024_10/access_scope.rb +62 -0
  21. data/lib/shopify_api/rest/resources/2024_10/apple_pay_certificate.rb +109 -0
  22. data/lib/shopify_api/rest/resources/2024_10/application_charge.rb +113 -0
  23. data/lib/shopify_api/rest/resources/2024_10/application_credit.rb +95 -0
  24. data/lib/shopify_api/rest/resources/2024_10/article.rb +269 -0
  25. data/lib/shopify_api/rest/resources/2024_10/asset.rb +122 -0
  26. data/lib/shopify_api/rest/resources/2024_10/assigned_fulfillment_order.rb +92 -0
  27. data/lib/shopify_api/rest/resources/2024_10/balance.rb +58 -0
  28. data/lib/shopify_api/rest/resources/2024_10/blog.rb +166 -0
  29. data/lib/shopify_api/rest/resources/2024_10/cancellation_request.rb +87 -0
  30. data/lib/shopify_api/rest/resources/2024_10/carrier_service.rb +120 -0
  31. data/lib/shopify_api/rest/resources/2024_10/checkout.rb +213 -0
  32. data/lib/shopify_api/rest/resources/2024_10/collect.rb +146 -0
  33. data/lib/shopify_api/rest/resources/2024_10/collection.rb +114 -0
  34. data/lib/shopify_api/rest/resources/2024_10/collection_listing.rb +159 -0
  35. data/lib/shopify_api/rest/resources/2024_10/comment.rb +287 -0
  36. data/lib/shopify_api/rest/resources/2024_10/country.rb +141 -0
  37. data/lib/shopify_api/rest/resources/2024_10/currency.rb +61 -0
  38. data/lib/shopify_api/rest/resources/2024_10/custom_collection.rb +191 -0
  39. data/lib/shopify_api/rest/resources/2024_10/customer.rb +335 -0
  40. data/lib/shopify_api/rest/resources/2024_10/customer_address.rb +215 -0
  41. data/lib/shopify_api/rest/resources/2024_10/deprecated_api_call.rb +61 -0
  42. data/lib/shopify_api/rest/resources/2024_10/discount_code.rb +226 -0
  43. data/lib/shopify_api/rest/resources/2024_10/dispute.rb +115 -0
  44. data/lib/shopify_api/rest/resources/2024_10/dispute_evidence.rb +121 -0
  45. data/lib/shopify_api/rest/resources/2024_10/dispute_file_upload.rb +85 -0
  46. data/lib/shopify_api/rest/resources/2024_10/draft_order.rb +279 -0
  47. data/lib/shopify_api/rest/resources/2024_10/event.rb +152 -0
  48. data/lib/shopify_api/rest/resources/2024_10/fulfillment.rb +235 -0
  49. data/lib/shopify_api/rest/resources/2024_10/fulfillment_event.rb +167 -0
  50. data/lib/shopify_api/rest/resources/2024_10/fulfillment_order.rb +326 -0
  51. data/lib/shopify_api/rest/resources/2024_10/fulfillment_request.rb +101 -0
  52. data/lib/shopify_api/rest/resources/2024_10/fulfillment_service.rb +134 -0
  53. data/lib/shopify_api/rest/resources/2024_10/gift_card.rb +222 -0
  54. data/lib/shopify_api/rest/resources/2024_10/gift_card_adjustment.rb +122 -0
  55. data/lib/shopify_api/rest/resources/2024_10/image.rb +161 -0
  56. data/lib/shopify_api/rest/resources/2024_10/inventory_item.rb +112 -0
  57. data/lib/shopify_api/rest/resources/2024_10/inventory_level.rb +183 -0
  58. data/lib/shopify_api/rest/resources/2024_10/location.rb +171 -0
  59. data/lib/shopify_api/rest/resources/2024_10/locations_for_move.rb +60 -0
  60. data/lib/shopify_api/rest/resources/2024_10/marketing_event.rb +213 -0
  61. data/lib/shopify_api/rest/resources/2024_10/metafield.rb +348 -0
  62. data/lib/shopify_api/rest/resources/2024_10/mobile_platform_application.rb +114 -0
  63. data/lib/shopify_api/rest/resources/2024_10/order.rb +490 -0
  64. data/lib/shopify_api/rest/resources/2024_10/order_risk.rb +148 -0
  65. data/lib/shopify_api/rest/resources/2024_10/page.rb +198 -0
  66. data/lib/shopify_api/rest/resources/2024_10/payment.rb +144 -0
  67. data/lib/shopify_api/rest/resources/2024_10/payment_gateway.rb +147 -0
  68. data/lib/shopify_api/rest/resources/2024_10/payment_transaction.rb +114 -0
  69. data/lib/shopify_api/rest/resources/2024_10/payout.rb +101 -0
  70. data/lib/shopify_api/rest/resources/2024_10/policy.rb +73 -0
  71. data/lib/shopify_api/rest/resources/2024_10/price_rule.rb +227 -0
  72. data/lib/shopify_api/rest/resources/2024_10/product.rb +227 -0
  73. data/lib/shopify_api/rest/resources/2024_10/product_listing.rb +200 -0
  74. data/lib/shopify_api/rest/resources/2024_10/product_resource_feedback.rb +92 -0
  75. data/lib/shopify_api/rest/resources/2024_10/province.rb +136 -0
  76. data/lib/shopify_api/rest/resources/2024_10/recurring_application_charge.rb +184 -0
  77. data/lib/shopify_api/rest/resources/2024_10/redirect.rb +143 -0
  78. data/lib/shopify_api/rest/resources/2024_10/refund.rb +155 -0
  79. data/lib/shopify_api/rest/resources/2024_10/resource_feedback.rb +77 -0
  80. data/lib/shopify_api/rest/resources/2024_10/script_tag.rb +159 -0
  81. data/lib/shopify_api/rest/resources/2024_10/shipping_zone.rb +87 -0
  82. data/lib/shopify_api/rest/resources/2024_10/shop.rb +232 -0
  83. data/lib/shopify_api/rest/resources/2024_10/smart_collection.rb +220 -0
  84. data/lib/shopify_api/rest/resources/2024_10/storefront_access_token.rb +91 -0
  85. data/lib/shopify_api/rest/resources/2024_10/tender_transaction.rb +97 -0
  86. data/lib/shopify_api/rest/resources/2024_10/theme.rb +127 -0
  87. data/lib/shopify_api/rest/resources/2024_10/transaction.rb +189 -0
  88. data/lib/shopify_api/rest/resources/2024_10/usage_charge.rb +106 -0
  89. data/lib/shopify_api/rest/resources/2024_10/user.rb +142 -0
  90. data/lib/shopify_api/rest/resources/2024_10/variant.rb +212 -0
  91. data/lib/shopify_api/rest/resources/2024_10/webhook.rb +173 -0
  92. data/lib/shopify_api/version.rb +1 -1
  93. data/lib/shopify_api/webhooks/registration.rb +17 -3
  94. data/lib/shopify_api/webhooks/registrations/event_bridge.rb +22 -3
  95. data/lib/shopify_api/webhooks/registrations/http.rb +22 -3
  96. data/lib/shopify_api/webhooks/registrations/pub_sub.rb +23 -4
  97. data/lib/shopify_api/webhooks/registry.rb +15 -5
  98. metadata +76 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b9b61bc6316148fcd2d905384def067e31b4fca5265bb1327a7502020ee6104
4
- data.tar.gz: b3971fadf5e0159a68953fee0883be0a6fb5f366d0a25f39201cc6c134caa0bb
3
+ metadata.gz: 2594b938c059a24c4f17f5a435612a01fe880eb4ab5096f25ac0d0513129c71c
4
+ data.tar.gz: 3b584fffb9213fefaf5f1a603c76de8292ecb30e7434ccc63af7265ab3377987
5
5
  SHA512:
6
- metadata.gz: 845bcdfac189ab0b17a07540c7cad3ba3621bbc83622d16b32a143f37eaaf9909499beb8791a2f0a0b6726e8283f833c5f1702ae804bbe38393ee5d6fa0fef67
7
- data.tar.gz: f0216976a29a1b59ab8bf89316d3ccc9b3cbda4a42b81490cb5e25af19d9cf2b2b196484397816decdde75065f387e1f9bfddd5d82a42c110be8f13654c6f8d9
6
+ metadata.gz: 5e565a15428752c7838332f42d02c6aad73fe837dcc1c91774ed2cd523c81b6cd440e82dc0f2d8d65494a0d7715bb75f8533a3105304d2a510b1cd104690b1f2
7
+ data.tar.gz: e3625bc9e1e17ef36162fcc8c416478dbdf9f8b7bc868fb228d07ba4c2878bedb72738765e82737da9cd59b4c5d7197ba81c15d9013a38f13987e5ba3fbdf93d
data/CHANGELOG.md CHANGED
@@ -1,9 +1,19 @@
1
1
  # Changelog
2
2
 
3
3
  Note: For changes to the API, see https://shopify.dev/changelog?filter=api
4
-
5
4
  ## Unreleased
6
5
 
6
+ ## 14.7.0
7
+
8
+ - [#1347](https://github.com/Shopify/shopify-api-ruby/pull/1347) Extend webhook registration to support filters
9
+ - [#1344](https://github.com/Shopify/shopify-api-ruby/pull/1344) Allow ShopifyAPI::Webhooks::Registry to update a webhook when fields or metafield_namespaces are changed.
10
+ - [#1343](https://github.com/Shopify/shopify-api-ruby/pull/1343) Make ShopifyAPI::Context::scope parameter optional. `scope` defaults to empty list `[]`.
11
+
12
+ ## 14.6.0
13
+
14
+ - [#1337](https://github.com/Shopify/shopify-api-ruby/pull/1337) Fix type for Shop#google_apps_login_enabled
15
+ - [#1340](https://github.com/Shopify/shopify-api-ruby/pull/1340) Add support for 2024-10 API version
16
+
7
17
  ## 14.5.0
8
18
 
9
19
  - [#1327](https://github.com/Shopify/shopify-api-ruby/pull/1327) Support `?debug=true` parameter in GraphQL client requests
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- shopify_api (14.5.0)
4
+ shopify_api (14.7.0)
5
5
  activesupport
6
6
  concurrent-ruby
7
7
  hash_diff
@@ -16,51 +16,60 @@ PATH
16
16
  GEM
17
17
  remote: https://rubygems.org/
18
18
  specs:
19
- activesupport (7.1.3.2)
19
+ activesupport (7.1.5)
20
20
  base64
21
+ benchmark (>= 0.3)
21
22
  bigdecimal
22
23
  concurrent-ruby (~> 1.0, >= 1.0.2)
23
24
  connection_pool (>= 2.2.5)
24
25
  drb
25
26
  i18n (>= 1.6, < 2)
27
+ logger (>= 1.4.2)
26
28
  minitest (>= 5.1)
27
29
  mutex_m
30
+ securerandom (>= 0.3)
28
31
  tzinfo (~> 2.0)
29
32
  addressable (2.8.0)
30
33
  public_suffix (>= 2.0.2, < 5.0)
31
34
  ast (2.4.2)
32
35
  base64 (0.2.0)
33
- bigdecimal (3.1.7)
36
+ benchmark (0.4.0)
37
+ bigdecimal (3.1.8)
34
38
  byebug (11.1.3)
35
39
  coderay (1.1.3)
36
- concurrent-ruby (1.2.3)
40
+ concurrent-ruby (1.3.4)
37
41
  connection_pool (2.4.1)
38
42
  crack (0.4.5)
39
43
  rexml
44
+ csv (3.3.0)
40
45
  drb (2.2.1)
41
46
  erubi (1.12.0)
42
47
  fakefs (1.4.1)
43
48
  hash_diff (1.1.1)
44
49
  hashdiff (1.0.1)
45
- httparty (0.21.0)
50
+ httparty (0.22.0)
51
+ csv
46
52
  mini_mime (>= 1.0.0)
47
53
  multi_xml (>= 0.5.2)
48
- i18n (1.14.4)
54
+ i18n (1.14.6)
49
55
  concurrent-ruby (~> 1.0)
50
56
  json (2.7.1)
51
- jwt (2.8.1)
57
+ jwt (2.9.3)
52
58
  base64
53
59
  language_server-protocol (3.17.0.3)
60
+ logger (1.6.1)
54
61
  method_source (1.0.0)
55
62
  mini_mime (1.1.5)
56
63
  minitest (5.15.0)
57
64
  mocha (1.13.0)
58
65
  multi_xml (0.6.0)
59
- mutex_m (0.2.0)
66
+ mutex_m (0.3.0)
60
67
  netrc (0.11.0)
61
- oj (3.16.3)
68
+ oj (3.16.7)
62
69
  bigdecimal (>= 3.0)
70
+ ostruct (>= 0.2)
63
71
  openssl (3.2.0)
72
+ ostruct (0.6.1)
64
73
  parallel (1.24.0)
65
74
  parser (3.3.0.5)
66
75
  ast (~> 2.4.1)
@@ -100,7 +109,7 @@ GEM
100
109
  rubocop-sorbet (0.6.11)
101
110
  rubocop (>= 0.90.0)
102
111
  ruby-progressbar (1.13.0)
103
- securerandom (0.3.1)
112
+ securerandom (0.3.2)
104
113
  sorbet (0.5.11230)
105
114
  sorbet-static (= 0.5.11230)
106
115
  sorbet-runtime (0.5.11230)
@@ -137,7 +146,7 @@ GEM
137
146
  yard-sorbet (0.8.1)
138
147
  sorbet-runtime (>= 0.5)
139
148
  yard (>= 0.9)
140
- zeitwerk (2.6.13)
149
+ zeitwerk (2.6.18)
141
150
 
142
151
  PLATFORMS
143
152
  arm64-darwin-21
data/docs/usage/oauth.md CHANGED
@@ -123,6 +123,19 @@ class ShopifyCallbackController < ApplicationController
123
123
  ```
124
124
 
125
125
  #### 3. Begin OAuth
126
+ To request access scopes from the shop during authorization code grant OAuth flow,
127
+ configure access scopes needed by adding the `scope` parameter to the `ShopifyAPI::Context.setup` method in your configuration.
128
+
129
+ ```ruby
130
+ ShopifyAPI::Context.setup(
131
+ api_key: <SHOPIFY_API_KEY>,
132
+ api_secret_key: <SHOPIFY_API_SECRET>,
133
+ api_version: <SHOPIFY_API_VERSION>,
134
+ scope: <SHOPIFY_API_SCOPES>, # Accepts array or string: "read_orders, write_products" or ["read_orders", "write_products"]
135
+ ...
136
+ )
137
+ ```
138
+
126
139
  Use [`ShopifyAPI::Auth::Oauth.begin_auth`](https://github.com/Shopify/shopify-api-ruby/blob/main/lib/shopify_api/auth/oauth.rb#L22) method to start OAuth process for your app.
127
140
 
128
141
  #### Input
@@ -131,6 +144,7 @@ Use [`ShopifyAPI::Auth::Oauth.begin_auth`](https://github.com/Shopify/shopify-ap
131
144
  | `shop` | `String` | Yes | - | A Shopify domain name in the form `{exampleshop}.myshopify.com`. |
132
145
  | `redirect_path` | `String` | Yes | - | The redirect path used for callback with a leading `/`. The route should be allowed under the app settings. |
133
146
  | `is_online` | `Boolean` | No | `true` | `true` if the session is online and `false` otherwise. |
147
+ | `scope_override`| `String` or `[String]` | No | `nil` | `nil` will request access scopes configured in `ShopifyAPI::Context.setup` during OAuth flow. Modify this to override the access scopes being requested. Accepts array or string: "read_orders, write_products" or ["read_orders", "write_products"]. |
134
148
 
135
149
  #### Output
136
150
  `begin_auth` method will return a hash result in the form of:
@@ -82,6 +82,17 @@ registration = ShopifyAPI::Webhooks::Registry.add_registration(
82
82
  )
83
83
  ```
84
84
 
85
+ If you need to filter the webhooks you want to receive, you can use a [webhooks filter](https://shopify.dev/docs/apps/build/webhooks/customize/filters), which can be specified on registration through the `filter` parameter.
86
+
87
+ ```ruby
88
+ registration = ShopifyAPI::Webhooks::Registry.add_registration(
89
+ topic: "products/update",
90
+ delivery_method: :http,
91
+ handler: WebhookHandler,
92
+ filter: "variants.price:>=10.00"
93
+ )
94
+ ```
95
+
85
96
  **Note**: The webhooks you register with Shopify are saved in the Shopify platform, but the local `ShopifyAPI::Webhooks::Registry` needs to be reloaded whenever your server restarts.
86
97
 
87
98
  ### EventBridge and PubSub Webhooks
@@ -5,6 +5,7 @@ module ShopifyAPI
5
5
  module AdminVersions
6
6
  SUPPORTED_ADMIN_VERSIONS = T.let([
7
7
  "unstable",
8
+ "2024-10",
8
9
  "2024-07",
9
10
  "2024-04",
10
11
  "2024-01",
@@ -18,7 +19,7 @@ module ShopifyAPI
18
19
  "2022-01",
19
20
  ], T::Array[String])
20
21
 
21
- LATEST_SUPPORTED_ADMIN_VERSION = T.let("2024-07", String)
22
+ LATEST_SUPPORTED_ADMIN_VERSION = T.let("2024-10", String)
22
23
  end
23
24
 
24
25
  SUPPORTED_ADMIN_VERSIONS = ShopifyAPI::AdminVersions::SUPPORTED_ADMIN_VERSIONS
@@ -33,9 +33,9 @@ module ShopifyAPI
33
33
  api_key: String,
34
34
  api_secret_key: String,
35
35
  api_version: String,
36
- scope: T.any(T::Array[String], String),
37
36
  is_private: T::Boolean,
38
37
  is_embedded: T::Boolean,
38
+ scope: T.any(T::Array[String], String),
39
39
  log_level: T.any(String, Symbol),
40
40
  logger: T.untyped,
41
41
  host_name: T.nilable(String),
@@ -51,9 +51,9 @@ module ShopifyAPI
51
51
  api_key:,
52
52
  api_secret_key:,
53
53
  api_version:,
54
- scope:,
55
54
  is_private:,
56
55
  is_embedded:,
56
+ scope: [],
57
57
  log_level: :info,
58
58
  logger: ::Logger.new($stdout),
59
59
  host_name: nil,
@@ -38,7 +38,7 @@ module ShopifyAPI
38
38
  @finances = T.let(nil, T.nilable(T::Boolean))
39
39
  @force_ssl = T.let(nil, T.nilable(T::Boolean))
40
40
  @google_apps_domain = T.let(nil, T.nilable(String))
41
- @google_apps_login_enabled = T.let(nil, T.nilable(String))
41
+ @google_apps_login_enabled = T.let(nil, T.nilable(T::Boolean))
42
42
  @has_discounts = T.let(nil, T.nilable(T::Boolean))
43
43
  @has_gift_cards = T.let(nil, T.nilable(T::Boolean))
44
44
  @has_storefront = T.let(nil, T.nilable(T::Boolean))
@@ -123,7 +123,7 @@ module ShopifyAPI
123
123
  attr_reader :force_ssl
124
124
  sig { returns(T.nilable(String)) }
125
125
  attr_reader :google_apps_domain
126
- sig { returns(T.nilable(String)) }
126
+ sig { returns(T.nilable(T::Boolean)) }
127
127
  attr_reader :google_apps_login_enabled
128
128
  sig { returns(T.nilable(T::Boolean)) }
129
129
  attr_reader :has_discounts
@@ -38,7 +38,7 @@ module ShopifyAPI
38
38
  @finances = T.let(nil, T.nilable(T::Boolean))
39
39
  @force_ssl = T.let(nil, T.nilable(T::Boolean))
40
40
  @google_apps_domain = T.let(nil, T.nilable(String))
41
- @google_apps_login_enabled = T.let(nil, T.nilable(String))
41
+ @google_apps_login_enabled = T.let(nil, T.nilable(T::Boolean))
42
42
  @has_discounts = T.let(nil, T.nilable(T::Boolean))
43
43
  @has_gift_cards = T.let(nil, T.nilable(T::Boolean))
44
44
  @has_storefront = T.let(nil, T.nilable(T::Boolean))
@@ -123,7 +123,7 @@ module ShopifyAPI
123
123
  attr_reader :force_ssl
124
124
  sig { returns(T.nilable(String)) }
125
125
  attr_reader :google_apps_domain
126
- sig { returns(T.nilable(String)) }
126
+ sig { returns(T.nilable(T::Boolean)) }
127
127
  attr_reader :google_apps_login_enabled
128
128
  sig { returns(T.nilable(T::Boolean)) }
129
129
  attr_reader :has_discounts
@@ -37,7 +37,7 @@ module ShopifyAPI
37
37
  @finances = T.let(nil, T.nilable(T::Boolean))
38
38
  @force_ssl = T.let(nil, T.nilable(T::Boolean))
39
39
  @google_apps_domain = T.let(nil, T.nilable(String))
40
- @google_apps_login_enabled = T.let(nil, T.nilable(String))
40
+ @google_apps_login_enabled = T.let(nil, T.nilable(T::Boolean))
41
41
  @has_discounts = T.let(nil, T.nilable(T::Boolean))
42
42
  @has_gift_cards = T.let(nil, T.nilable(T::Boolean))
43
43
  @has_storefront = T.let(nil, T.nilable(T::Boolean))
@@ -121,7 +121,7 @@ module ShopifyAPI
121
121
  attr_reader :force_ssl
122
122
  sig { returns(T.nilable(String)) }
123
123
  attr_reader :google_apps_domain
124
- sig { returns(T.nilable(String)) }
124
+ sig { returns(T.nilable(T::Boolean)) }
125
125
  attr_reader :google_apps_login_enabled
126
126
  sig { returns(T.nilable(T::Boolean)) }
127
127
  attr_reader :has_discounts
@@ -37,7 +37,7 @@ module ShopifyAPI
37
37
  @finances = T.let(nil, T.nilable(T::Boolean))
38
38
  @force_ssl = T.let(nil, T.nilable(T::Boolean))
39
39
  @google_apps_domain = T.let(nil, T.nilable(String))
40
- @google_apps_login_enabled = T.let(nil, T.nilable(String))
40
+ @google_apps_login_enabled = T.let(nil, T.nilable(T::Boolean))
41
41
  @has_discounts = T.let(nil, T.nilable(T::Boolean))
42
42
  @has_gift_cards = T.let(nil, T.nilable(T::Boolean))
43
43
  @has_storefront = T.let(nil, T.nilable(T::Boolean))
@@ -121,7 +121,7 @@ module ShopifyAPI
121
121
  attr_reader :force_ssl
122
122
  sig { returns(T.nilable(String)) }
123
123
  attr_reader :google_apps_domain
124
- sig { returns(T.nilable(String)) }
124
+ sig { returns(T.nilable(T::Boolean)) }
125
125
  attr_reader :google_apps_login_enabled
126
126
  sig { returns(T.nilable(T::Boolean)) }
127
127
  attr_reader :has_discounts
@@ -37,7 +37,7 @@ module ShopifyAPI
37
37
  @finances = T.let(nil, T.nilable(T::Boolean))
38
38
  @force_ssl = T.let(nil, T.nilable(T::Boolean))
39
39
  @google_apps_domain = T.let(nil, T.nilable(String))
40
- @google_apps_login_enabled = T.let(nil, T.nilable(String))
40
+ @google_apps_login_enabled = T.let(nil, T.nilable(T::Boolean))
41
41
  @has_discounts = T.let(nil, T.nilable(T::Boolean))
42
42
  @has_gift_cards = T.let(nil, T.nilable(T::Boolean))
43
43
  @has_storefront = T.let(nil, T.nilable(T::Boolean))
@@ -121,7 +121,7 @@ module ShopifyAPI
121
121
  attr_reader :force_ssl
122
122
  sig { returns(T.nilable(String)) }
123
123
  attr_reader :google_apps_domain
124
- sig { returns(T.nilable(String)) }
124
+ sig { returns(T.nilable(T::Boolean)) }
125
125
  attr_reader :google_apps_login_enabled
126
126
  sig { returns(T.nilable(T::Boolean)) }
127
127
  attr_reader :has_discounts
@@ -37,7 +37,7 @@ module ShopifyAPI
37
37
  @finances = T.let(nil, T.nilable(T::Boolean))
38
38
  @force_ssl = T.let(nil, T.nilable(T::Boolean))
39
39
  @google_apps_domain = T.let(nil, T.nilable(String))
40
- @google_apps_login_enabled = T.let(nil, T.nilable(String))
40
+ @google_apps_login_enabled = T.let(nil, T.nilable(T::Boolean))
41
41
  @has_discounts = T.let(nil, T.nilable(T::Boolean))
42
42
  @has_gift_cards = T.let(nil, T.nilable(T::Boolean))
43
43
  @has_storefront = T.let(nil, T.nilable(T::Boolean))
@@ -121,7 +121,7 @@ module ShopifyAPI
121
121
  attr_reader :force_ssl
122
122
  sig { returns(T.nilable(String)) }
123
123
  attr_reader :google_apps_domain
124
- sig { returns(T.nilable(String)) }
124
+ sig { returns(T.nilable(T::Boolean)) }
125
125
  attr_reader :google_apps_login_enabled
126
126
  sig { returns(T.nilable(T::Boolean)) }
127
127
  attr_reader :has_discounts
@@ -37,7 +37,7 @@ module ShopifyAPI
37
37
  @finances = T.let(nil, T.nilable(T::Boolean))
38
38
  @force_ssl = T.let(nil, T.nilable(T::Boolean))
39
39
  @google_apps_domain = T.let(nil, T.nilable(String))
40
- @google_apps_login_enabled = T.let(nil, T.nilable(String))
40
+ @google_apps_login_enabled = T.let(nil, T.nilable(T::Boolean))
41
41
  @has_discounts = T.let(nil, T.nilable(T::Boolean))
42
42
  @has_gift_cards = T.let(nil, T.nilable(T::Boolean))
43
43
  @has_storefront = T.let(nil, T.nilable(T::Boolean))
@@ -121,7 +121,7 @@ module ShopifyAPI
121
121
  attr_reader :force_ssl
122
122
  sig { returns(T.nilable(String)) }
123
123
  attr_reader :google_apps_domain
124
- sig { returns(T.nilable(String)) }
124
+ sig { returns(T.nilable(T::Boolean)) }
125
125
  attr_reader :google_apps_login_enabled
126
126
  sig { returns(T.nilable(T::Boolean)) }
127
127
  attr_reader :has_discounts
@@ -37,7 +37,7 @@ module ShopifyAPI
37
37
  @finances = T.let(nil, T.nilable(T::Boolean))
38
38
  @force_ssl = T.let(nil, T.nilable(T::Boolean))
39
39
  @google_apps_domain = T.let(nil, T.nilable(String))
40
- @google_apps_login_enabled = T.let(nil, T.nilable(String))
40
+ @google_apps_login_enabled = T.let(nil, T.nilable(T::Boolean))
41
41
  @has_discounts = T.let(nil, T.nilable(T::Boolean))
42
42
  @has_gift_cards = T.let(nil, T.nilable(T::Boolean))
43
43
  @has_storefront = T.let(nil, T.nilable(T::Boolean))
@@ -121,7 +121,7 @@ module ShopifyAPI
121
121
  attr_reader :force_ssl
122
122
  sig { returns(T.nilable(String)) }
123
123
  attr_reader :google_apps_domain
124
- sig { returns(T.nilable(String)) }
124
+ sig { returns(T.nilable(T::Boolean)) }
125
125
  attr_reader :google_apps_login_enabled
126
126
  sig { returns(T.nilable(T::Boolean)) }
127
127
  attr_reader :has_discounts
@@ -37,7 +37,7 @@ module ShopifyAPI
37
37
  @finances = T.let(nil, T.nilable(T::Boolean))
38
38
  @force_ssl = T.let(nil, T.nilable(T::Boolean))
39
39
  @google_apps_domain = T.let(nil, T.nilable(String))
40
- @google_apps_login_enabled = T.let(nil, T.nilable(String))
40
+ @google_apps_login_enabled = T.let(nil, T.nilable(T::Boolean))
41
41
  @has_discounts = T.let(nil, T.nilable(T::Boolean))
42
42
  @has_gift_cards = T.let(nil, T.nilable(T::Boolean))
43
43
  @has_storefront = T.let(nil, T.nilable(T::Boolean))
@@ -121,7 +121,7 @@ module ShopifyAPI
121
121
  attr_reader :force_ssl
122
122
  sig { returns(T.nilable(String)) }
123
123
  attr_reader :google_apps_domain
124
- sig { returns(T.nilable(String)) }
124
+ sig { returns(T.nilable(T::Boolean)) }
125
125
  attr_reader :google_apps_login_enabled
126
126
  sig { returns(T.nilable(T::Boolean)) }
127
127
  attr_reader :has_discounts
@@ -37,7 +37,7 @@ module ShopifyAPI
37
37
  @finances = T.let(nil, T.nilable(T::Boolean))
38
38
  @force_ssl = T.let(nil, T.nilable(T::Boolean))
39
39
  @google_apps_domain = T.let(nil, T.nilable(String))
40
- @google_apps_login_enabled = T.let(nil, T.nilable(String))
40
+ @google_apps_login_enabled = T.let(nil, T.nilable(T::Boolean))
41
41
  @has_discounts = T.let(nil, T.nilable(T::Boolean))
42
42
  @has_gift_cards = T.let(nil, T.nilable(T::Boolean))
43
43
  @has_storefront = T.let(nil, T.nilable(T::Boolean))
@@ -121,7 +121,7 @@ module ShopifyAPI
121
121
  attr_reader :force_ssl
122
122
  sig { returns(T.nilable(String)) }
123
123
  attr_reader :google_apps_domain
124
- sig { returns(T.nilable(String)) }
124
+ sig { returns(T.nilable(T::Boolean)) }
125
125
  attr_reader :google_apps_login_enabled
126
126
  sig { returns(T.nilable(T::Boolean)) }
127
127
  attr_reader :has_discounts
@@ -23,6 +23,7 @@ module ShopifyAPI
23
23
  @api_version = T.let(nil, T.nilable(String))
24
24
  @created_at = T.let(nil, T.nilable(String))
25
25
  @fields = T.let(nil, T.nilable(T::Array[T.untyped]))
26
+ @filter = T.let(nil, T.nilable(String))
26
27
  @format = T.let(nil, T.nilable(String))
27
28
  @id = T.let(nil, T.nilable(Integer))
28
29
  @metafield_namespaces = T.let(nil, T.nilable(T::Array[T.untyped]))
@@ -0,0 +1,194 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+ ########################################################################################################################
5
+ # This file is auto-generated. If you have an issue, please create a GitHub issue. #
6
+ ########################################################################################################################
7
+
8
+ module ShopifyAPI
9
+ class AbandonedCheckout < ShopifyAPI::Rest::Base
10
+ extend T::Sig
11
+
12
+ @prev_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
13
+ @next_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
14
+
15
+ @api_call_limit = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
16
+ @retry_request_after = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
17
+
18
+ sig { params(session: T.nilable(ShopifyAPI::Auth::Session), from_hash: T.nilable(T::Hash[T.untyped, T.untyped])).void }
19
+ def initialize(session: ShopifyAPI::Context.active_session, from_hash: nil)
20
+
21
+ @abandoned_checkout_url = T.let(nil, T.nilable(String))
22
+ @billing_address = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
23
+ @buyer_accepts_marketing = T.let(nil, T.nilable(T::Boolean))
24
+ @buyer_accepts_sms_marketing = T.let(nil, T.nilable(T::Boolean))
25
+ @cart_token = T.let(nil, T.nilable(String))
26
+ @closed_at = T.let(nil, T.nilable(String))
27
+ @completed_at = T.let(nil, T.nilable(String))
28
+ @created_at = T.let(nil, T.nilable(String))
29
+ @currency = T.let(nil, T.nilable(Currency))
30
+ @customer = T.let(nil, T.nilable(Customer))
31
+ @customer_locale = T.let(nil, T.nilable(String))
32
+ @device_id = T.let(nil, T.nilable(Integer))
33
+ @discount_codes = T.let(nil, T.nilable(T::Array[T.untyped]))
34
+ @email = T.let(nil, T.nilable(String))
35
+ @gateway = T.let(nil, T.nilable(String))
36
+ @id = T.let(nil, T.nilable(Integer))
37
+ @landing_site = T.let(nil, T.nilable(String))
38
+ @line_items = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
39
+ @location_id = T.let(nil, T.nilable(Integer))
40
+ @note = T.let(nil, T.nilable(String))
41
+ @phone = T.let(nil, T.nilable(String))
42
+ @presentment_currency = T.let(nil, T.nilable(String))
43
+ @referring_site = T.let(nil, T.nilable(String))
44
+ @shipping_address = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
45
+ @shipping_lines = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
46
+ @sms_marketing_phone = T.let(nil, T.nilable(String))
47
+ @source_name = T.let(nil, T.nilable(String))
48
+ @subtotal_price = T.let(nil, T.nilable(String))
49
+ @tax_lines = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
50
+ @taxes_included = T.let(nil, T.nilable(T::Boolean))
51
+ @token = T.let(nil, T.nilable(String))
52
+ @total_discounts = T.let(nil, T.nilable(String))
53
+ @total_duties = T.let(nil, T.nilable(String))
54
+ @total_line_items_price = T.let(nil, T.nilable(String))
55
+ @total_price = T.let(nil, T.nilable(String))
56
+ @total_tax = T.let(nil, T.nilable(String))
57
+ @total_weight = T.let(nil, T.nilable(Integer))
58
+ @updated_at = T.let(nil, T.nilable(String))
59
+ @user_id = T.let(nil, T.nilable(Integer))
60
+
61
+ super(session: session, from_hash: from_hash)
62
+ end
63
+
64
+ @has_one = T.let({
65
+ currency: Currency,
66
+ customer: Customer
67
+ }, T::Hash[Symbol, Class])
68
+ @has_many = T.let({
69
+ discount_codes: DiscountCode
70
+ }, T::Hash[Symbol, Class])
71
+ @paths = T.let([
72
+ {http_method: :get, operation: :checkouts, ids: [], path: "checkouts.json"},
73
+ {http_method: :get, operation: :checkouts, ids: [], path: "checkouts.json"}
74
+ ], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
75
+
76
+ sig { returns(T.nilable(String)) }
77
+ attr_reader :abandoned_checkout_url
78
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
79
+ attr_reader :billing_address
80
+ sig { returns(T.nilable(T::Boolean)) }
81
+ attr_reader :buyer_accepts_marketing
82
+ sig { returns(T.nilable(T::Boolean)) }
83
+ attr_reader :buyer_accepts_sms_marketing
84
+ sig { returns(T.nilable(String)) }
85
+ attr_reader :cart_token
86
+ sig { returns(T.nilable(String)) }
87
+ attr_reader :closed_at
88
+ sig { returns(T.nilable(String)) }
89
+ attr_reader :completed_at
90
+ sig { returns(T.nilable(String)) }
91
+ attr_reader :created_at
92
+ sig { returns(T.nilable(Currency)) }
93
+ attr_reader :currency
94
+ sig { returns(T.nilable(Customer)) }
95
+ attr_reader :customer
96
+ sig { returns(T.nilable(String)) }
97
+ attr_reader :customer_locale
98
+ sig { returns(T.nilable(Integer)) }
99
+ attr_reader :device_id
100
+ sig { returns(T.nilable(T::Array[DiscountCode])) }
101
+ attr_reader :discount_codes
102
+ sig { returns(T.nilable(String)) }
103
+ attr_reader :email
104
+ sig { returns(T.nilable(String)) }
105
+ attr_reader :gateway
106
+ sig { returns(T.nilable(Integer)) }
107
+ attr_reader :id
108
+ sig { returns(T.nilable(String)) }
109
+ attr_reader :landing_site
110
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
111
+ attr_reader :line_items
112
+ sig { returns(T.nilable(Integer)) }
113
+ attr_reader :location_id
114
+ sig { returns(T.nilable(String)) }
115
+ attr_reader :note
116
+ sig { returns(T.nilable(String)) }
117
+ attr_reader :phone
118
+ sig { returns(T.nilable(String)) }
119
+ attr_reader :presentment_currency
120
+ sig { returns(T.nilable(String)) }
121
+ attr_reader :referring_site
122
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
123
+ attr_reader :shipping_address
124
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
125
+ attr_reader :shipping_lines
126
+ sig { returns(T.nilable(String)) }
127
+ attr_reader :sms_marketing_phone
128
+ sig { returns(T.nilable(String)) }
129
+ attr_reader :source_name
130
+ sig { returns(T.nilable(String)) }
131
+ attr_reader :subtotal_price
132
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
133
+ attr_reader :tax_lines
134
+ sig { returns(T.nilable(T::Boolean)) }
135
+ attr_reader :taxes_included
136
+ sig { returns(T.nilable(String)) }
137
+ attr_reader :token
138
+ sig { returns(T.nilable(String)) }
139
+ attr_reader :total_discounts
140
+ sig { returns(T.nilable(String)) }
141
+ attr_reader :total_duties
142
+ sig { returns(T.nilable(String)) }
143
+ attr_reader :total_line_items_price
144
+ sig { returns(T.nilable(String)) }
145
+ attr_reader :total_price
146
+ sig { returns(T.nilable(String)) }
147
+ attr_reader :total_tax
148
+ sig { returns(T.nilable(Integer)) }
149
+ attr_reader :total_weight
150
+ sig { returns(T.nilable(String)) }
151
+ attr_reader :updated_at
152
+ sig { returns(T.nilable(Integer)) }
153
+ attr_reader :user_id
154
+
155
+ class << self
156
+ sig do
157
+ params(
158
+ since_id: T.untyped,
159
+ created_at_min: T.untyped,
160
+ created_at_max: T.untyped,
161
+ updated_at_min: T.untyped,
162
+ updated_at_max: T.untyped,
163
+ status: T.untyped,
164
+ limit: T.untyped,
165
+ session: Auth::Session,
166
+ kwargs: T.untyped
167
+ ).returns(T.untyped)
168
+ end
169
+ def checkouts(
170
+ since_id: nil,
171
+ created_at_min: nil,
172
+ created_at_max: nil,
173
+ updated_at_min: nil,
174
+ updated_at_max: nil,
175
+ status: nil,
176
+ limit: nil,
177
+ session: ShopifyAPI::Context.active_session,
178
+ **kwargs
179
+ )
180
+ request(
181
+ http_method: :get,
182
+ operation: :checkouts,
183
+ session: session,
184
+ ids: {},
185
+ params: {since_id: since_id, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max, status: status, limit: limit}.merge(kwargs).compact,
186
+ body: {},
187
+ entity: nil,
188
+ )
189
+ end
190
+
191
+ end
192
+
193
+ end
194
+ end
@@ -0,0 +1,62 @@
1
+ # typed: false
2
+ # frozen_string_literal: true
3
+
4
+ ########################################################################################################################
5
+ # This file is auto-generated. If you have an issue, please create a GitHub issue. #
6
+ ########################################################################################################################
7
+
8
+ module ShopifyAPI
9
+ class AccessScope < ShopifyAPI::Rest::Base
10
+ extend T::Sig
11
+
12
+ @prev_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
13
+ @next_page_info = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
14
+
15
+ @api_call_limit = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
16
+ @retry_request_after = T.let(Concurrent::ThreadLocalVar.new { nil }, Concurrent::ThreadLocalVar)
17
+
18
+ sig { params(session: T.nilable(ShopifyAPI::Auth::Session), from_hash: T.nilable(T::Hash[T.untyped, T.untyped])).void }
19
+ def initialize(session: ShopifyAPI::Context.active_session, from_hash: nil)
20
+
21
+ @handle = T.let(nil, T.nilable(String))
22
+ @access_scopes = T.let(nil, T.nilable(T::Array[T.untyped]))
23
+
24
+ super(session: session, from_hash: from_hash)
25
+ end
26
+
27
+ @has_one = T.let({}, T::Hash[Symbol, Class])
28
+ @has_many = T.let({}, T::Hash[Symbol, Class])
29
+ @custom_prefix = T.let("/admin/oauth", T.nilable(String))
30
+ @paths = T.let([
31
+ {http_method: :get, operation: :get, ids: [], path: "access_scopes.json"}
32
+ ], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
33
+
34
+ sig { returns(T.nilable(String)) }
35
+ attr_reader :handle
36
+ sig { returns(T.nilable(T::Array[T::Hash[T.untyped, T.untyped]])) }
37
+ attr_reader :access_scopes
38
+
39
+ class << self
40
+ sig do
41
+ params(
42
+ session: Auth::Session,
43
+ kwargs: T.untyped
44
+ ).returns(T::Array[AccessScope])
45
+ end
46
+ def all(
47
+ session: ShopifyAPI::Context.active_session,
48
+ **kwargs
49
+ )
50
+ response = base_find(
51
+ session: session,
52
+ ids: {},
53
+ params: {}.merge(kwargs).compact,
54
+ )
55
+
56
+ T.cast(response, T::Array[AccessScope])
57
+ end
58
+
59
+ end
60
+
61
+ end
62
+ end