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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -1
- data/Gemfile.lock +20 -11
- data/docs/usage/oauth.md +14 -0
- data/docs/usage/webhooks.md +11 -0
- data/lib/shopify_api/admin_versions.rb +2 -1
- data/lib/shopify_api/context.rb +2 -2
- data/lib/shopify_api/rest/resources/2022_04/shop.rb +2 -2
- data/lib/shopify_api/rest/resources/2022_07/shop.rb +2 -2
- data/lib/shopify_api/rest/resources/2022_10/shop.rb +2 -2
- data/lib/shopify_api/rest/resources/2023_01/shop.rb +2 -2
- data/lib/shopify_api/rest/resources/2023_04/shop.rb +2 -2
- data/lib/shopify_api/rest/resources/2023_07/shop.rb +2 -2
- data/lib/shopify_api/rest/resources/2023_10/shop.rb +2 -2
- data/lib/shopify_api/rest/resources/2024_01/shop.rb +2 -2
- data/lib/shopify_api/rest/resources/2024_04/shop.rb +2 -2
- data/lib/shopify_api/rest/resources/2024_07/shop.rb +2 -2
- data/lib/shopify_api/rest/resources/2024_07/webhook.rb +1 -0
- data/lib/shopify_api/rest/resources/2024_10/abandoned_checkout.rb +194 -0
- data/lib/shopify_api/rest/resources/2024_10/access_scope.rb +62 -0
- data/lib/shopify_api/rest/resources/2024_10/apple_pay_certificate.rb +109 -0
- data/lib/shopify_api/rest/resources/2024_10/application_charge.rb +113 -0
- data/lib/shopify_api/rest/resources/2024_10/application_credit.rb +95 -0
- data/lib/shopify_api/rest/resources/2024_10/article.rb +269 -0
- data/lib/shopify_api/rest/resources/2024_10/asset.rb +122 -0
- data/lib/shopify_api/rest/resources/2024_10/assigned_fulfillment_order.rb +92 -0
- data/lib/shopify_api/rest/resources/2024_10/balance.rb +58 -0
- data/lib/shopify_api/rest/resources/2024_10/blog.rb +166 -0
- data/lib/shopify_api/rest/resources/2024_10/cancellation_request.rb +87 -0
- data/lib/shopify_api/rest/resources/2024_10/carrier_service.rb +120 -0
- data/lib/shopify_api/rest/resources/2024_10/checkout.rb +213 -0
- data/lib/shopify_api/rest/resources/2024_10/collect.rb +146 -0
- data/lib/shopify_api/rest/resources/2024_10/collection.rb +114 -0
- data/lib/shopify_api/rest/resources/2024_10/collection_listing.rb +159 -0
- data/lib/shopify_api/rest/resources/2024_10/comment.rb +287 -0
- data/lib/shopify_api/rest/resources/2024_10/country.rb +141 -0
- data/lib/shopify_api/rest/resources/2024_10/currency.rb +61 -0
- data/lib/shopify_api/rest/resources/2024_10/custom_collection.rb +191 -0
- data/lib/shopify_api/rest/resources/2024_10/customer.rb +335 -0
- data/lib/shopify_api/rest/resources/2024_10/customer_address.rb +215 -0
- data/lib/shopify_api/rest/resources/2024_10/deprecated_api_call.rb +61 -0
- data/lib/shopify_api/rest/resources/2024_10/discount_code.rb +226 -0
- data/lib/shopify_api/rest/resources/2024_10/dispute.rb +115 -0
- data/lib/shopify_api/rest/resources/2024_10/dispute_evidence.rb +121 -0
- data/lib/shopify_api/rest/resources/2024_10/dispute_file_upload.rb +85 -0
- data/lib/shopify_api/rest/resources/2024_10/draft_order.rb +279 -0
- data/lib/shopify_api/rest/resources/2024_10/event.rb +152 -0
- data/lib/shopify_api/rest/resources/2024_10/fulfillment.rb +235 -0
- data/lib/shopify_api/rest/resources/2024_10/fulfillment_event.rb +167 -0
- data/lib/shopify_api/rest/resources/2024_10/fulfillment_order.rb +326 -0
- data/lib/shopify_api/rest/resources/2024_10/fulfillment_request.rb +101 -0
- data/lib/shopify_api/rest/resources/2024_10/fulfillment_service.rb +134 -0
- data/lib/shopify_api/rest/resources/2024_10/gift_card.rb +222 -0
- data/lib/shopify_api/rest/resources/2024_10/gift_card_adjustment.rb +122 -0
- data/lib/shopify_api/rest/resources/2024_10/image.rb +161 -0
- data/lib/shopify_api/rest/resources/2024_10/inventory_item.rb +112 -0
- data/lib/shopify_api/rest/resources/2024_10/inventory_level.rb +183 -0
- data/lib/shopify_api/rest/resources/2024_10/location.rb +171 -0
- data/lib/shopify_api/rest/resources/2024_10/locations_for_move.rb +60 -0
- data/lib/shopify_api/rest/resources/2024_10/marketing_event.rb +213 -0
- data/lib/shopify_api/rest/resources/2024_10/metafield.rb +348 -0
- data/lib/shopify_api/rest/resources/2024_10/mobile_platform_application.rb +114 -0
- data/lib/shopify_api/rest/resources/2024_10/order.rb +490 -0
- data/lib/shopify_api/rest/resources/2024_10/order_risk.rb +148 -0
- data/lib/shopify_api/rest/resources/2024_10/page.rb +198 -0
- data/lib/shopify_api/rest/resources/2024_10/payment.rb +144 -0
- data/lib/shopify_api/rest/resources/2024_10/payment_gateway.rb +147 -0
- data/lib/shopify_api/rest/resources/2024_10/payment_transaction.rb +114 -0
- data/lib/shopify_api/rest/resources/2024_10/payout.rb +101 -0
- data/lib/shopify_api/rest/resources/2024_10/policy.rb +73 -0
- data/lib/shopify_api/rest/resources/2024_10/price_rule.rb +227 -0
- data/lib/shopify_api/rest/resources/2024_10/product.rb +227 -0
- data/lib/shopify_api/rest/resources/2024_10/product_listing.rb +200 -0
- data/lib/shopify_api/rest/resources/2024_10/product_resource_feedback.rb +92 -0
- data/lib/shopify_api/rest/resources/2024_10/province.rb +136 -0
- data/lib/shopify_api/rest/resources/2024_10/recurring_application_charge.rb +184 -0
- data/lib/shopify_api/rest/resources/2024_10/redirect.rb +143 -0
- data/lib/shopify_api/rest/resources/2024_10/refund.rb +155 -0
- data/lib/shopify_api/rest/resources/2024_10/resource_feedback.rb +77 -0
- data/lib/shopify_api/rest/resources/2024_10/script_tag.rb +159 -0
- data/lib/shopify_api/rest/resources/2024_10/shipping_zone.rb +87 -0
- data/lib/shopify_api/rest/resources/2024_10/shop.rb +232 -0
- data/lib/shopify_api/rest/resources/2024_10/smart_collection.rb +220 -0
- data/lib/shopify_api/rest/resources/2024_10/storefront_access_token.rb +91 -0
- data/lib/shopify_api/rest/resources/2024_10/tender_transaction.rb +97 -0
- data/lib/shopify_api/rest/resources/2024_10/theme.rb +127 -0
- data/lib/shopify_api/rest/resources/2024_10/transaction.rb +189 -0
- data/lib/shopify_api/rest/resources/2024_10/usage_charge.rb +106 -0
- data/lib/shopify_api/rest/resources/2024_10/user.rb +142 -0
- data/lib/shopify_api/rest/resources/2024_10/variant.rb +212 -0
- data/lib/shopify_api/rest/resources/2024_10/webhook.rb +173 -0
- data/lib/shopify_api/version.rb +1 -1
- data/lib/shopify_api/webhooks/registration.rb +17 -3
- data/lib/shopify_api/webhooks/registrations/event_bridge.rb +22 -3
- data/lib/shopify_api/webhooks/registrations/http.rb +22 -3
- data/lib/shopify_api/webhooks/registrations/pub_sub.rb +23 -4
- data/lib/shopify_api/webhooks/registry.rb +15 -5
- metadata +76 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2594b938c059a24c4f17f5a435612a01fe880eb4ab5096f25ac0d0513129c71c
|
4
|
+
data.tar.gz: 3b584fffb9213fefaf5f1a603c76de8292ecb30e7434ccc63af7265ab3377987
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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.
|
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
|
-
|
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.
|
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.
|
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.
|
54
|
+
i18n (1.14.6)
|
49
55
|
concurrent-ruby (~> 1.0)
|
50
56
|
json (2.7.1)
|
51
|
-
jwt (2.
|
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.
|
66
|
+
mutex_m (0.3.0)
|
60
67
|
netrc (0.11.0)
|
61
|
-
oj (3.16.
|
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.
|
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.
|
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:
|
data/docs/usage/webhooks.md
CHANGED
@@ -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-
|
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
|
data/lib/shopify_api/context.rb
CHANGED
@@ -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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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
|