shopify_api 16.0.0 → 16.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/CODEOWNERS +1 -1
- data/CHANGELOG.md +9 -0
- data/Gemfile.lock +7 -3
- data/REST_RESOURCES.md +9 -12
- data/lib/shopify_api/admin_versions.rb +2 -0
- data/lib/shopify_api/rest/resources/2026_01/abandoned_checkout.rb +194 -0
- data/lib/shopify_api/rest/resources/2026_01/access_scope.rb +62 -0
- data/lib/shopify_api/rest/resources/2026_01/apple_pay_certificate.rb +109 -0
- data/lib/shopify_api/rest/resources/2026_01/application_charge.rb +113 -0
- data/lib/shopify_api/rest/resources/2026_01/application_credit.rb +95 -0
- data/lib/shopify_api/rest/resources/2026_01/article.rb +269 -0
- data/lib/shopify_api/rest/resources/2026_01/asset.rb +122 -0
- data/lib/shopify_api/rest/resources/2026_01/assigned_fulfillment_order.rb +92 -0
- data/lib/shopify_api/rest/resources/2026_01/balance.rb +58 -0
- data/lib/shopify_api/rest/resources/2026_01/blog.rb +166 -0
- data/lib/shopify_api/rest/resources/2026_01/cancellation_request.rb +87 -0
- data/lib/shopify_api/rest/resources/2026_01/carrier_service.rb +120 -0
- data/lib/shopify_api/rest/resources/2026_01/checkout.rb +213 -0
- data/lib/shopify_api/rest/resources/2026_01/collect.rb +146 -0
- data/lib/shopify_api/rest/resources/2026_01/collection.rb +114 -0
- data/lib/shopify_api/rest/resources/2026_01/collection_listing.rb +159 -0
- data/lib/shopify_api/rest/resources/2026_01/comment.rb +287 -0
- data/lib/shopify_api/rest/resources/2026_01/country.rb +141 -0
- data/lib/shopify_api/rest/resources/2026_01/currency.rb +61 -0
- data/lib/shopify_api/rest/resources/2026_01/custom_collection.rb +191 -0
- data/lib/shopify_api/rest/resources/2026_01/customer.rb +328 -0
- data/lib/shopify_api/rest/resources/2026_01/deprecated_api_call.rb +61 -0
- data/lib/shopify_api/rest/resources/2026_01/discount_code.rb +226 -0
- data/lib/shopify_api/rest/resources/2026_01/dispute.rb +115 -0
- data/lib/shopify_api/rest/resources/2026_01/dispute_evidence.rb +121 -0
- data/lib/shopify_api/rest/resources/2026_01/dispute_file_upload.rb +85 -0
- data/lib/shopify_api/rest/resources/2026_01/draft_order.rb +279 -0
- data/lib/shopify_api/rest/resources/2026_01/event.rb +152 -0
- data/lib/shopify_api/rest/resources/2026_01/fulfillment.rb +235 -0
- data/lib/shopify_api/rest/resources/2026_01/fulfillment_event.rb +167 -0
- data/lib/shopify_api/rest/resources/2026_01/fulfillment_order.rb +326 -0
- data/lib/shopify_api/rest/resources/2026_01/fulfillment_request.rb +116 -0
- data/lib/shopify_api/rest/resources/2026_01/fulfillment_service.rb +134 -0
- data/lib/shopify_api/rest/resources/2026_01/gift_card.rb +222 -0
- data/lib/shopify_api/rest/resources/2026_01/gift_card_adjustment.rb +122 -0
- data/lib/shopify_api/rest/resources/2026_01/image.rb +161 -0
- data/lib/shopify_api/rest/resources/2026_01/inventory_item.rb +112 -0
- data/lib/shopify_api/rest/resources/2026_01/inventory_level.rb +183 -0
- data/lib/shopify_api/rest/resources/2026_01/location.rb +171 -0
- data/lib/shopify_api/rest/resources/2026_01/locations_for_move.rb +60 -0
- data/lib/shopify_api/rest/resources/2026_01/marketing_event.rb +213 -0
- data/lib/shopify_api/rest/resources/2026_01/metafield.rb +348 -0
- data/lib/shopify_api/rest/resources/2026_01/mobile_platform_application.rb +120 -0
- data/lib/shopify_api/rest/resources/2026_01/order.rb +503 -0
- data/lib/shopify_api/rest/resources/2026_01/order_risk.rb +148 -0
- data/lib/shopify_api/rest/resources/2026_01/page.rb +198 -0
- data/lib/shopify_api/rest/resources/2026_01/payment.rb +98 -0
- data/lib/shopify_api/rest/resources/2026_01/payment_gateway.rb +147 -0
- data/lib/shopify_api/rest/resources/2026_01/payment_transaction.rb +117 -0
- data/lib/shopify_api/rest/resources/2026_01/payout.rb +101 -0
- data/lib/shopify_api/rest/resources/2026_01/policy.rb +73 -0
- data/lib/shopify_api/rest/resources/2026_01/price_rule.rb +227 -0
- data/lib/shopify_api/rest/resources/2026_01/product.rb +227 -0
- data/lib/shopify_api/rest/resources/2026_01/product_listing.rb +200 -0
- data/lib/shopify_api/rest/resources/2026_01/product_resource_feedback.rb +92 -0
- data/lib/shopify_api/rest/resources/2026_01/province.rb +136 -0
- data/lib/shopify_api/rest/resources/2026_01/recurring_application_charge.rb +184 -0
- data/lib/shopify_api/rest/resources/2026_01/redirect.rb +143 -0
- data/lib/shopify_api/rest/resources/2026_01/refund.rb +158 -0
- data/lib/shopify_api/rest/resources/2026_01/resource_feedback.rb +77 -0
- data/lib/shopify_api/rest/resources/2026_01/script_tag.rb +159 -0
- data/lib/shopify_api/rest/resources/2026_01/shipping_zone.rb +87 -0
- data/lib/shopify_api/rest/resources/2026_01/shop.rb +231 -0
- data/lib/shopify_api/rest/resources/2026_01/smart_collection.rb +220 -0
- data/lib/shopify_api/rest/resources/2026_01/storefront_access_token.rb +91 -0
- data/lib/shopify_api/rest/resources/2026_01/tender_transaction.rb +97 -0
- data/lib/shopify_api/rest/resources/2026_01/theme.rb +127 -0
- data/lib/shopify_api/rest/resources/2026_01/transaction.rb +194 -0
- data/lib/shopify_api/rest/resources/2026_01/usage_charge.rb +106 -0
- data/lib/shopify_api/rest/resources/2026_01/user.rb +142 -0
- data/lib/shopify_api/rest/resources/2026_01/variant.rb +212 -0
- data/lib/shopify_api/rest/resources/2026_01/webhook.rb +173 -0
- data/lib/shopify_api/rest/resources/2026_04/abandoned_checkout.rb +194 -0
- data/lib/shopify_api/rest/resources/2026_04/access_scope.rb +62 -0
- data/lib/shopify_api/rest/resources/2026_04/apple_pay_certificate.rb +109 -0
- data/lib/shopify_api/rest/resources/2026_04/application_charge.rb +113 -0
- data/lib/shopify_api/rest/resources/2026_04/application_credit.rb +95 -0
- data/lib/shopify_api/rest/resources/2026_04/article.rb +269 -0
- data/lib/shopify_api/rest/resources/2026_04/asset.rb +122 -0
- data/lib/shopify_api/rest/resources/2026_04/assigned_fulfillment_order.rb +92 -0
- data/lib/shopify_api/rest/resources/2026_04/balance.rb +58 -0
- data/lib/shopify_api/rest/resources/2026_04/blog.rb +166 -0
- data/lib/shopify_api/rest/resources/2026_04/cancellation_request.rb +87 -0
- data/lib/shopify_api/rest/resources/2026_04/carrier_service.rb +120 -0
- data/lib/shopify_api/rest/resources/2026_04/checkout.rb +213 -0
- data/lib/shopify_api/rest/resources/2026_04/collect.rb +146 -0
- data/lib/shopify_api/rest/resources/2026_04/collection.rb +114 -0
- data/lib/shopify_api/rest/resources/2026_04/collection_listing.rb +159 -0
- data/lib/shopify_api/rest/resources/2026_04/comment.rb +287 -0
- data/lib/shopify_api/rest/resources/2026_04/country.rb +141 -0
- data/lib/shopify_api/rest/resources/2026_04/currency.rb +61 -0
- data/lib/shopify_api/rest/resources/2026_04/custom_collection.rb +191 -0
- data/lib/shopify_api/rest/resources/2026_04/customer.rb +328 -0
- data/lib/shopify_api/rest/resources/2026_04/deprecated_api_call.rb +61 -0
- data/lib/shopify_api/rest/resources/2026_04/discount_code.rb +226 -0
- data/lib/shopify_api/rest/resources/2026_04/dispute.rb +115 -0
- data/lib/shopify_api/rest/resources/2026_04/dispute_evidence.rb +121 -0
- data/lib/shopify_api/rest/resources/2026_04/dispute_file_upload.rb +85 -0
- data/lib/shopify_api/rest/resources/2026_04/draft_order.rb +279 -0
- data/lib/shopify_api/rest/resources/2026_04/event.rb +152 -0
- data/lib/shopify_api/rest/resources/2026_04/fulfillment.rb +235 -0
- data/lib/shopify_api/rest/resources/2026_04/fulfillment_event.rb +167 -0
- data/lib/shopify_api/rest/resources/2026_04/fulfillment_order.rb +326 -0
- data/lib/shopify_api/rest/resources/2026_04/fulfillment_request.rb +116 -0
- data/lib/shopify_api/rest/resources/2026_04/fulfillment_service.rb +131 -0
- data/lib/shopify_api/rest/resources/2026_04/gift_card.rb +222 -0
- data/lib/shopify_api/rest/resources/2026_04/gift_card_adjustment.rb +122 -0
- data/lib/shopify_api/rest/resources/2026_04/image.rb +161 -0
- data/lib/shopify_api/rest/resources/2026_04/inventory_item.rb +112 -0
- data/lib/shopify_api/rest/resources/2026_04/inventory_level.rb +183 -0
- data/lib/shopify_api/rest/resources/2026_04/location.rb +171 -0
- data/lib/shopify_api/rest/resources/2026_04/locations_for_move.rb +60 -0
- data/lib/shopify_api/rest/resources/2026_04/marketing_event.rb +213 -0
- data/lib/shopify_api/rest/resources/2026_04/metafield.rb +348 -0
- data/lib/shopify_api/rest/resources/2026_04/mobile_platform_application.rb +120 -0
- data/lib/shopify_api/rest/resources/2026_04/order.rb +503 -0
- data/lib/shopify_api/rest/resources/2026_04/order_risk.rb +148 -0
- data/lib/shopify_api/rest/resources/2026_04/page.rb +198 -0
- data/lib/shopify_api/rest/resources/2026_04/payment.rb +98 -0
- data/lib/shopify_api/rest/resources/2026_04/payment_gateway.rb +147 -0
- data/lib/shopify_api/rest/resources/2026_04/payment_transaction.rb +117 -0
- data/lib/shopify_api/rest/resources/2026_04/payout.rb +101 -0
- data/lib/shopify_api/rest/resources/2026_04/policy.rb +73 -0
- data/lib/shopify_api/rest/resources/2026_04/price_rule.rb +227 -0
- data/lib/shopify_api/rest/resources/2026_04/product.rb +227 -0
- data/lib/shopify_api/rest/resources/2026_04/product_listing.rb +200 -0
- data/lib/shopify_api/rest/resources/2026_04/product_resource_feedback.rb +92 -0
- data/lib/shopify_api/rest/resources/2026_04/province.rb +136 -0
- data/lib/shopify_api/rest/resources/2026_04/recurring_application_charge.rb +184 -0
- data/lib/shopify_api/rest/resources/2026_04/redirect.rb +143 -0
- data/lib/shopify_api/rest/resources/2026_04/refund.rb +158 -0
- data/lib/shopify_api/rest/resources/2026_04/resource_feedback.rb +77 -0
- data/lib/shopify_api/rest/resources/2026_04/script_tag.rb +159 -0
- data/lib/shopify_api/rest/resources/2026_04/shipping_zone.rb +87 -0
- data/lib/shopify_api/rest/resources/2026_04/shop.rb +231 -0
- data/lib/shopify_api/rest/resources/2026_04/smart_collection.rb +220 -0
- data/lib/shopify_api/rest/resources/2026_04/storefront_access_token.rb +91 -0
- data/lib/shopify_api/rest/resources/2026_04/tender_transaction.rb +97 -0
- data/lib/shopify_api/rest/resources/2026_04/theme.rb +127 -0
- data/lib/shopify_api/rest/resources/2026_04/transaction.rb +194 -0
- data/lib/shopify_api/rest/resources/2026_04/usage_charge.rb +106 -0
- data/lib/shopify_api/rest/resources/2026_04/user.rb +142 -0
- data/lib/shopify_api/rest/resources/2026_04/variant.rb +212 -0
- data/lib/shopify_api/rest/resources/2026_04/webhook.rb +173 -0
- data/lib/shopify_api/version.rb +1 -1
- data/lib/shopify_api/webhooks/request.rb +17 -10
- metadata +146 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 493d2bfdf0aa26ba2fa1789a7d6ebeae0acf48803d2187452c75b40f834c2f59
|
|
4
|
+
data.tar.gz: 58957429e22862eaddfeff9bea40f95d561afb9a64d1fe9285fd0db2f103b867
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a70940cfb1c79ba349f8152e639268ee8d631341fc460030bbf9de3e2bdda193d325dd66fb33f563d8c3fc14f674ad1d897c598862b198ca67360749a487d9a6
|
|
7
|
+
data.tar.gz: 54abaa52b531f4d2e0a25bfa03c5e5a3ea3007e349e9feb4e23aa0ae6ab4a2c9f2c75480d149a3f632fcca68d3453c98c8807657dd1e681b5a660d4c078cc4f3
|
data/.github/CODEOWNERS
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
*
|
|
1
|
+
* @shop/dev_experience
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
3
|
Note: For changes to the API, see https://shopify.dev/changelog?filter=api
|
|
4
|
+
## Unreleased
|
|
5
|
+
|
|
6
|
+
## 16.2.0 (2026-04-13)
|
|
7
|
+
- [#1442](https://github.com/Shopify/shopify-api-ruby/pull/1442) Add support for 2026-04 API version
|
|
8
|
+
- [#1437](https://github.com/Shopify/shopify-api-ruby/pull/1437) Support new `shopify-*` webhook header format
|
|
9
|
+
|
|
10
|
+
## 16.1.0 (2026-01-15)
|
|
11
|
+
- Add support for 2026-01 API version
|
|
12
|
+
|
|
4
13
|
## 16.0.0 (2025-12-10)
|
|
5
14
|
- ⚠️ [Breaking] Minimum required Ruby version is now 3.2. Ruby 3.0 and 3.1 are no longer supported.
|
|
6
15
|
- ⚠️ [Breaking] Removed `Session#serialize` and `Session.deserialize` methods due to security concerns (RCE vulnerability via `Oj.load`). These methods were not used internally by the library. If your application relies on session serialization, use `Session.new()` to reconstruct sessions from stored attributes instead.
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
shopify_api (16.
|
|
4
|
+
shopify_api (16.2.0)
|
|
5
5
|
activesupport
|
|
6
6
|
concurrent-ruby
|
|
7
7
|
hash_diff
|
|
@@ -60,8 +60,9 @@ GEM
|
|
|
60
60
|
logger (1.6.1)
|
|
61
61
|
method_source (1.0.0)
|
|
62
62
|
mini_mime (1.1.5)
|
|
63
|
-
minitest (5.
|
|
64
|
-
mocha (
|
|
63
|
+
minitest (5.27.0)
|
|
64
|
+
mocha (3.0.1)
|
|
65
|
+
ruby2_keywords (>= 0.0.5)
|
|
65
66
|
multi_xml (0.6.0)
|
|
66
67
|
mutex_m (0.3.0)
|
|
67
68
|
netrc (0.11.0)
|
|
@@ -109,6 +110,7 @@ GEM
|
|
|
109
110
|
rubocop-sorbet (0.6.11)
|
|
110
111
|
rubocop (>= 0.90.0)
|
|
111
112
|
ruby-progressbar (1.13.0)
|
|
113
|
+
ruby2_keywords (0.0.5)
|
|
112
114
|
securerandom (0.3.2)
|
|
113
115
|
sorbet (0.5.11230)
|
|
114
116
|
sorbet-static (= 0.5.11230)
|
|
@@ -151,6 +153,8 @@ GEM
|
|
|
151
153
|
PLATFORMS
|
|
152
154
|
arm64-darwin-21
|
|
153
155
|
arm64-darwin-23
|
|
156
|
+
arm64-darwin-24
|
|
157
|
+
arm64-darwin-25
|
|
154
158
|
universal-darwin-22
|
|
155
159
|
x86_64-linux
|
|
156
160
|
|
data/REST_RESOURCES.md
CHANGED
|
@@ -9,29 +9,27 @@ This guide provides step-by-step instructions for adding a new API version to th
|
|
|
9
9
|
## Step 1: Update API Version Constants
|
|
10
10
|
|
|
11
11
|
### Update admin_versions.rb
|
|
12
|
-
Edit `lib/shopify_api/admin_versions.rb` to add your new version:
|
|
12
|
+
Edit `lib/shopify_api/admin_versions.rb` to add your new version and the next upcoming release candidate:
|
|
13
13
|
|
|
14
14
|
```ruby
|
|
15
15
|
module ShopifyAPI
|
|
16
16
|
module AdminVersions
|
|
17
17
|
SUPPORTED_ADMIN_VERSIONS = T.let([
|
|
18
18
|
"unstable",
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
19
|
+
"2026-07", # Next release candidate (always add the next quarterly version)
|
|
20
|
+
"2026-04", # New version being added
|
|
21
|
+
"2026-01",
|
|
22
22
|
# ... other versions
|
|
23
23
|
], T::Array[String])
|
|
24
|
-
|
|
25
|
-
LATEST_SUPPORTED_ADMIN_VERSION = T.let("2025-07", String) # Update if this is the latest stable
|
|
26
|
-
RELEASE_CANDIDATE_ADMIN_VERSION = T.let("2025-10", String) # Update if this is RC
|
|
27
24
|
end
|
|
28
25
|
end
|
|
29
26
|
```
|
|
30
27
|
|
|
31
28
|
**Version Management:**
|
|
32
|
-
- Add new versions to the top of `SUPPORTED_ADMIN_VERSIONS`
|
|
33
|
-
-
|
|
34
|
-
-
|
|
29
|
+
- Add new versions to the top of `SUPPORTED_ADMIN_VERSIONS` (below "unstable")
|
|
30
|
+
- Also add the **next quarterly version** as the upcoming release candidate
|
|
31
|
+
- Shopify API versions follow a quarterly cadence: 01, 04, 07, 10
|
|
32
|
+
- For example, when adding 2026-04, also add 2026-07
|
|
35
33
|
|
|
36
34
|
## Step 2: Create Directory Structure
|
|
37
35
|
|
|
@@ -147,8 +145,7 @@ bundle exec rake test TEST=test/rest/{NEW_VERSION}/*
|
|
|
147
145
|
## Checklist
|
|
148
146
|
|
|
149
147
|
- [ ] Added new version to `SUPPORTED_ADMIN_VERSIONS` in `admin_versions.rb`
|
|
150
|
-
- [ ]
|
|
151
|
-
- [ ] Updated `RELEASE_CANDIDATE_ADMIN_VERSION` if applicable
|
|
148
|
+
- [ ] Added next quarterly version as release candidate to `SUPPORTED_ADMIN_VERSIONS`
|
|
152
149
|
- [ ] Created `lib/shopify_api/rest/resources/{NEW_VERSION}/` directory
|
|
153
150
|
- [ ] Created `test/rest/{NEW_VERSION}/` directory
|
|
154
151
|
- [ ] Copied all resource files from previous version
|
|
@@ -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
|
|
@@ -0,0 +1,109 @@
|
|
|
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 ApplePayCertificate < 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
|
+
@id = T.let(nil, T.nilable(Integer))
|
|
22
|
+
@merchant_id = T.let(nil, T.nilable(String))
|
|
23
|
+
@status = T.let(nil, T.nilable(String))
|
|
24
|
+
|
|
25
|
+
super(session: session, from_hash: from_hash)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
@has_one = T.let({}, T::Hash[Symbol, Class])
|
|
29
|
+
@has_many = T.let({}, T::Hash[Symbol, Class])
|
|
30
|
+
@paths = T.let([
|
|
31
|
+
{http_method: :delete, operation: :delete, ids: [:id], path: "apple_pay_certificates/<id>.json"},
|
|
32
|
+
{http_method: :get, operation: :csr, ids: [:id], path: "apple_pay_certificates/<id>/csr.json"},
|
|
33
|
+
{http_method: :get, operation: :get, ids: [:id], path: "apple_pay_certificates/<id>.json"},
|
|
34
|
+
{http_method: :post, operation: :post, ids: [], path: "apple_pay_certificates.json"},
|
|
35
|
+
{http_method: :put, operation: :put, ids: [:id], path: "apple_pay_certificates/<id>.json"}
|
|
36
|
+
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
|
37
|
+
|
|
38
|
+
sig { returns(T.nilable(Integer)) }
|
|
39
|
+
attr_reader :id
|
|
40
|
+
sig { returns(T.nilable(String)) }
|
|
41
|
+
attr_reader :merchant_id
|
|
42
|
+
sig { returns(T.nilable(String)) }
|
|
43
|
+
attr_reader :status
|
|
44
|
+
|
|
45
|
+
class << self
|
|
46
|
+
sig do
|
|
47
|
+
params(
|
|
48
|
+
id: T.any(Integer, String),
|
|
49
|
+
session: Auth::Session
|
|
50
|
+
).returns(T.nilable(ApplePayCertificate))
|
|
51
|
+
end
|
|
52
|
+
def find(
|
|
53
|
+
id:,
|
|
54
|
+
session: ShopifyAPI::Context.active_session
|
|
55
|
+
)
|
|
56
|
+
result = base_find(
|
|
57
|
+
session: session,
|
|
58
|
+
ids: {id: id},
|
|
59
|
+
params: {},
|
|
60
|
+
)
|
|
61
|
+
T.cast(result[0], T.nilable(ApplePayCertificate))
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
sig do
|
|
65
|
+
params(
|
|
66
|
+
id: T.any(Integer, String),
|
|
67
|
+
session: Auth::Session
|
|
68
|
+
).returns(T.untyped)
|
|
69
|
+
end
|
|
70
|
+
def delete(
|
|
71
|
+
id:,
|
|
72
|
+
session: ShopifyAPI::Context.active_session
|
|
73
|
+
)
|
|
74
|
+
request(
|
|
75
|
+
http_method: :delete,
|
|
76
|
+
operation: :delete,
|
|
77
|
+
session: session,
|
|
78
|
+
ids: {id: id},
|
|
79
|
+
params: {},
|
|
80
|
+
)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
sig do
|
|
84
|
+
params(
|
|
85
|
+
id: T.any(Integer, String),
|
|
86
|
+
session: Auth::Session,
|
|
87
|
+
kwargs: T.untyped
|
|
88
|
+
).returns(T.untyped)
|
|
89
|
+
end
|
|
90
|
+
def csr(
|
|
91
|
+
id:,
|
|
92
|
+
session: ShopifyAPI::Context.active_session,
|
|
93
|
+
**kwargs
|
|
94
|
+
)
|
|
95
|
+
request(
|
|
96
|
+
http_method: :get,
|
|
97
|
+
operation: :csr,
|
|
98
|
+
session: session,
|
|
99
|
+
ids: {id: id},
|
|
100
|
+
params: {}.merge(kwargs).compact,
|
|
101
|
+
body: {},
|
|
102
|
+
entity: nil,
|
|
103
|
+
)
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
end
|
|
109
|
+
end
|
|
@@ -0,0 +1,113 @@
|
|
|
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 ApplicationCharge < 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
|
+
@confirmation_url = T.let(nil, T.nilable(String))
|
|
22
|
+
@created_at = T.let(nil, T.nilable(String))
|
|
23
|
+
@currency = T.let(nil, T.nilable(Currency))
|
|
24
|
+
@id = T.let(nil, T.nilable(Integer))
|
|
25
|
+
@name = T.let(nil, T.nilable(String))
|
|
26
|
+
@price = T.let(nil, T.nilable(T.any(String, Float)))
|
|
27
|
+
@return_url = T.let(nil, T.nilable(String))
|
|
28
|
+
@status = T.let(nil, T.nilable(String))
|
|
29
|
+
@test = T.let(nil, T.nilable(T::Boolean))
|
|
30
|
+
@updated_at = T.let(nil, T.nilable(String))
|
|
31
|
+
|
|
32
|
+
super(session: session, from_hash: from_hash)
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
@has_one = T.let({
|
|
36
|
+
currency: Currency
|
|
37
|
+
}, T::Hash[Symbol, Class])
|
|
38
|
+
@has_many = T.let({}, T::Hash[Symbol, Class])
|
|
39
|
+
@paths = T.let([
|
|
40
|
+
{http_method: :get, operation: :get, ids: [], path: "application_charges.json"},
|
|
41
|
+
{http_method: :get, operation: :get, ids: [:id], path: "application_charges/<id>.json"},
|
|
42
|
+
{http_method: :post, operation: :post, ids: [], path: "application_charges.json"}
|
|
43
|
+
], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
|
|
44
|
+
|
|
45
|
+
sig { returns(T.nilable(String)) }
|
|
46
|
+
attr_reader :confirmation_url
|
|
47
|
+
sig { returns(T.nilable(String)) }
|
|
48
|
+
attr_reader :created_at
|
|
49
|
+
sig { returns(T.nilable(Currency)) }
|
|
50
|
+
attr_reader :currency
|
|
51
|
+
sig { returns(T.nilable(Integer)) }
|
|
52
|
+
attr_reader :id
|
|
53
|
+
sig { returns(T.nilable(String)) }
|
|
54
|
+
attr_reader :name
|
|
55
|
+
sig { returns(T.nilable(T.any(String, Float))) }
|
|
56
|
+
attr_reader :price
|
|
57
|
+
sig { returns(T.nilable(String)) }
|
|
58
|
+
attr_reader :return_url
|
|
59
|
+
sig { returns(T.nilable(String)) }
|
|
60
|
+
attr_reader :status
|
|
61
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
62
|
+
attr_reader :test
|
|
63
|
+
sig { returns(T.nilable(String)) }
|
|
64
|
+
attr_reader :updated_at
|
|
65
|
+
|
|
66
|
+
class << self
|
|
67
|
+
sig do
|
|
68
|
+
params(
|
|
69
|
+
id: T.any(Integer, String),
|
|
70
|
+
fields: T.untyped,
|
|
71
|
+
session: Auth::Session
|
|
72
|
+
).returns(T.nilable(ApplicationCharge))
|
|
73
|
+
end
|
|
74
|
+
def find(
|
|
75
|
+
id:,
|
|
76
|
+
fields: nil,
|
|
77
|
+
session: ShopifyAPI::Context.active_session
|
|
78
|
+
)
|
|
79
|
+
result = base_find(
|
|
80
|
+
session: session,
|
|
81
|
+
ids: {id: id},
|
|
82
|
+
params: {fields: fields},
|
|
83
|
+
)
|
|
84
|
+
T.cast(result[0], T.nilable(ApplicationCharge))
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
sig do
|
|
88
|
+
params(
|
|
89
|
+
since_id: T.untyped,
|
|
90
|
+
fields: T.untyped,
|
|
91
|
+
session: Auth::Session,
|
|
92
|
+
kwargs: T.untyped
|
|
93
|
+
).returns(T::Array[ApplicationCharge])
|
|
94
|
+
end
|
|
95
|
+
def all(
|
|
96
|
+
since_id: nil,
|
|
97
|
+
fields: nil,
|
|
98
|
+
session: ShopifyAPI::Context.active_session,
|
|
99
|
+
**kwargs
|
|
100
|
+
)
|
|
101
|
+
response = base_find(
|
|
102
|
+
session: session,
|
|
103
|
+
ids: {},
|
|
104
|
+
params: {since_id: since_id, fields: fields}.merge(kwargs).compact,
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
T.cast(response, T::Array[ApplicationCharge])
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
end
|
|
113
|
+
end
|