shopify_api 15.0.0 → 16.1.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.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +1 -2
  3. data/BREAKING_CHANGES_FOR_V16.md +76 -0
  4. data/CHANGELOG.md +10 -0
  5. data/Gemfile.lock +1 -1
  6. data/docs/getting_started.md +2 -1
  7. data/docs/usage/oauth.md +129 -0
  8. data/lib/shopify_api/admin_versions.rb +1 -0
  9. data/lib/shopify_api/auth/oauth/access_token_response.rb +5 -1
  10. data/lib/shopify_api/auth/oauth.rb +7 -2
  11. data/lib/shopify_api/auth/refresh_token.rb +57 -0
  12. data/lib/shopify_api/auth/session.rb +36 -19
  13. data/lib/shopify_api/auth/token_exchange.rb +50 -0
  14. data/lib/shopify_api/clients/http_client.rb +2 -0
  15. data/lib/shopify_api/context.rb +8 -1
  16. data/lib/shopify_api/rest/resources/2026_01/abandoned_checkout.rb +194 -0
  17. data/lib/shopify_api/rest/resources/2026_01/access_scope.rb +62 -0
  18. data/lib/shopify_api/rest/resources/2026_01/apple_pay_certificate.rb +109 -0
  19. data/lib/shopify_api/rest/resources/2026_01/application_charge.rb +113 -0
  20. data/lib/shopify_api/rest/resources/2026_01/application_credit.rb +95 -0
  21. data/lib/shopify_api/rest/resources/2026_01/article.rb +269 -0
  22. data/lib/shopify_api/rest/resources/2026_01/asset.rb +122 -0
  23. data/lib/shopify_api/rest/resources/2026_01/assigned_fulfillment_order.rb +92 -0
  24. data/lib/shopify_api/rest/resources/2026_01/balance.rb +58 -0
  25. data/lib/shopify_api/rest/resources/2026_01/blog.rb +166 -0
  26. data/lib/shopify_api/rest/resources/2026_01/cancellation_request.rb +87 -0
  27. data/lib/shopify_api/rest/resources/2026_01/carrier_service.rb +120 -0
  28. data/lib/shopify_api/rest/resources/2026_01/checkout.rb +213 -0
  29. data/lib/shopify_api/rest/resources/2026_01/collect.rb +146 -0
  30. data/lib/shopify_api/rest/resources/2026_01/collection.rb +114 -0
  31. data/lib/shopify_api/rest/resources/2026_01/collection_listing.rb +159 -0
  32. data/lib/shopify_api/rest/resources/2026_01/comment.rb +287 -0
  33. data/lib/shopify_api/rest/resources/2026_01/country.rb +141 -0
  34. data/lib/shopify_api/rest/resources/2026_01/currency.rb +61 -0
  35. data/lib/shopify_api/rest/resources/2026_01/custom_collection.rb +191 -0
  36. data/lib/shopify_api/rest/resources/2026_01/customer.rb +328 -0
  37. data/lib/shopify_api/rest/resources/2026_01/deprecated_api_call.rb +61 -0
  38. data/lib/shopify_api/rest/resources/2026_01/discount_code.rb +226 -0
  39. data/lib/shopify_api/rest/resources/2026_01/dispute.rb +115 -0
  40. data/lib/shopify_api/rest/resources/2026_01/dispute_evidence.rb +121 -0
  41. data/lib/shopify_api/rest/resources/2026_01/dispute_file_upload.rb +85 -0
  42. data/lib/shopify_api/rest/resources/2026_01/draft_order.rb +279 -0
  43. data/lib/shopify_api/rest/resources/2026_01/event.rb +152 -0
  44. data/lib/shopify_api/rest/resources/2026_01/fulfillment.rb +235 -0
  45. data/lib/shopify_api/rest/resources/2026_01/fulfillment_event.rb +167 -0
  46. data/lib/shopify_api/rest/resources/2026_01/fulfillment_order.rb +326 -0
  47. data/lib/shopify_api/rest/resources/2026_01/fulfillment_request.rb +116 -0
  48. data/lib/shopify_api/rest/resources/2026_01/fulfillment_service.rb +134 -0
  49. data/lib/shopify_api/rest/resources/2026_01/gift_card.rb +222 -0
  50. data/lib/shopify_api/rest/resources/2026_01/gift_card_adjustment.rb +122 -0
  51. data/lib/shopify_api/rest/resources/2026_01/image.rb +161 -0
  52. data/lib/shopify_api/rest/resources/2026_01/inventory_item.rb +112 -0
  53. data/lib/shopify_api/rest/resources/2026_01/inventory_level.rb +183 -0
  54. data/lib/shopify_api/rest/resources/2026_01/location.rb +171 -0
  55. data/lib/shopify_api/rest/resources/2026_01/locations_for_move.rb +60 -0
  56. data/lib/shopify_api/rest/resources/2026_01/marketing_event.rb +213 -0
  57. data/lib/shopify_api/rest/resources/2026_01/metafield.rb +348 -0
  58. data/lib/shopify_api/rest/resources/2026_01/mobile_platform_application.rb +120 -0
  59. data/lib/shopify_api/rest/resources/2026_01/order.rb +503 -0
  60. data/lib/shopify_api/rest/resources/2026_01/order_risk.rb +148 -0
  61. data/lib/shopify_api/rest/resources/2026_01/page.rb +198 -0
  62. data/lib/shopify_api/rest/resources/2026_01/payment.rb +98 -0
  63. data/lib/shopify_api/rest/resources/2026_01/payment_gateway.rb +147 -0
  64. data/lib/shopify_api/rest/resources/2026_01/payment_transaction.rb +117 -0
  65. data/lib/shopify_api/rest/resources/2026_01/payout.rb +101 -0
  66. data/lib/shopify_api/rest/resources/2026_01/policy.rb +73 -0
  67. data/lib/shopify_api/rest/resources/2026_01/price_rule.rb +227 -0
  68. data/lib/shopify_api/rest/resources/2026_01/product.rb +227 -0
  69. data/lib/shopify_api/rest/resources/2026_01/product_listing.rb +200 -0
  70. data/lib/shopify_api/rest/resources/2026_01/product_resource_feedback.rb +92 -0
  71. data/lib/shopify_api/rest/resources/2026_01/province.rb +136 -0
  72. data/lib/shopify_api/rest/resources/2026_01/recurring_application_charge.rb +184 -0
  73. data/lib/shopify_api/rest/resources/2026_01/redirect.rb +143 -0
  74. data/lib/shopify_api/rest/resources/2026_01/refund.rb +158 -0
  75. data/lib/shopify_api/rest/resources/2026_01/resource_feedback.rb +77 -0
  76. data/lib/shopify_api/rest/resources/2026_01/script_tag.rb +159 -0
  77. data/lib/shopify_api/rest/resources/2026_01/shipping_zone.rb +87 -0
  78. data/lib/shopify_api/rest/resources/2026_01/shop.rb +231 -0
  79. data/lib/shopify_api/rest/resources/2026_01/smart_collection.rb +220 -0
  80. data/lib/shopify_api/rest/resources/2026_01/storefront_access_token.rb +91 -0
  81. data/lib/shopify_api/rest/resources/2026_01/tender_transaction.rb +97 -0
  82. data/lib/shopify_api/rest/resources/2026_01/theme.rb +127 -0
  83. data/lib/shopify_api/rest/resources/2026_01/transaction.rb +194 -0
  84. data/lib/shopify_api/rest/resources/2026_01/usage_charge.rb +106 -0
  85. data/lib/shopify_api/rest/resources/2026_01/user.rb +142 -0
  86. data/lib/shopify_api/rest/resources/2026_01/variant.rb +212 -0
  87. data/lib/shopify_api/rest/resources/2026_01/webhook.rb +173 -0
  88. data/lib/shopify_api/version.rb +1 -1
  89. data/shopify_api.gemspec +1 -1
  90. metadata +76 -2
@@ -0,0 +1,87 @@
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 CancellationRequest < 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
+ @fulfillment_order_id = T.let(nil, T.nilable(Integer))
22
+
23
+ super(session: session, from_hash: from_hash)
24
+ end
25
+
26
+ @has_one = T.let({}, T::Hash[Symbol, Class])
27
+ @has_many = T.let({}, T::Hash[Symbol, Class])
28
+ @paths = T.let([
29
+ {http_method: :post, operation: :accept, ids: [:fulfillment_order_id], path: "fulfillment_orders/<fulfillment_order_id>/cancellation_request/accept.json"},
30
+ {http_method: :post, operation: :post, ids: [:fulfillment_order_id], path: "fulfillment_orders/<fulfillment_order_id>/cancellation_request.json"},
31
+ {http_method: :post, operation: :reject, ids: [:fulfillment_order_id], path: "fulfillment_orders/<fulfillment_order_id>/cancellation_request/reject.json"}
32
+ ], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
33
+
34
+ sig { returns(T.nilable(Integer)) }
35
+ attr_reader :fulfillment_order_id
36
+
37
+ class << self
38
+ end
39
+
40
+ sig do
41
+ params(
42
+ message: T.untyped,
43
+ body: T.untyped,
44
+ kwargs: T.untyped
45
+ ).returns(T.untyped)
46
+ end
47
+ def accept(
48
+ message: nil,
49
+ body: nil,
50
+ **kwargs
51
+ )
52
+ self.class.request(
53
+ http_method: :post,
54
+ operation: :accept,
55
+ session: @session,
56
+ ids: {fulfillment_order_id: @fulfillment_order_id},
57
+ params: {message: message}.merge(kwargs).compact,
58
+ body: body,
59
+ entity: self,
60
+ )
61
+ end
62
+
63
+ sig do
64
+ params(
65
+ message: T.untyped,
66
+ body: T.untyped,
67
+ kwargs: T.untyped
68
+ ).returns(T.untyped)
69
+ end
70
+ def reject(
71
+ message: nil,
72
+ body: nil,
73
+ **kwargs
74
+ )
75
+ self.class.request(
76
+ http_method: :post,
77
+ operation: :reject,
78
+ session: @session,
79
+ ids: {fulfillment_order_id: @fulfillment_order_id},
80
+ params: {message: message}.merge(kwargs).compact,
81
+ body: body,
82
+ entity: self,
83
+ )
84
+ end
85
+
86
+ end
87
+ end
@@ -0,0 +1,120 @@
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 CarrierService < 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
+ @active = T.let(nil, T.nilable(T::Boolean))
22
+ @admin_graphql_api_id = T.let(nil, T.nilable(String))
23
+ @callback_url = T.let(nil, T.nilable(String))
24
+ @carrier_service_type = T.let(nil, T.nilable(String))
25
+ @format = T.let(nil, T.nilable(String))
26
+ @id = T.let(nil, T.nilable(Integer))
27
+ @name = T.let(nil, T.nilable(String))
28
+ @service_discovery = T.let(nil, T.nilable(T::Boolean))
29
+
30
+ super(session: session, from_hash: from_hash)
31
+ end
32
+
33
+ @has_one = T.let({}, T::Hash[Symbol, Class])
34
+ @has_many = T.let({}, T::Hash[Symbol, Class])
35
+ @paths = T.let([
36
+ {http_method: :delete, operation: :delete, ids: [:id], path: "carrier_services/<id>.json"},
37
+ {http_method: :get, operation: :get, ids: [], path: "carrier_services.json"},
38
+ {http_method: :get, operation: :get, ids: [:id], path: "carrier_services/<id>.json"},
39
+ {http_method: :post, operation: :post, ids: [], path: "carrier_services.json"},
40
+ {http_method: :put, operation: :put, ids: [:id], path: "carrier_services/<id>.json"}
41
+ ], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
42
+
43
+ sig { returns(T.nilable(T::Boolean)) }
44
+ attr_reader :active
45
+ sig { returns(T.nilable(String)) }
46
+ attr_reader :admin_graphql_api_id
47
+ sig { returns(T.nilable(String)) }
48
+ attr_reader :callback_url
49
+ sig { returns(T.nilable(String)) }
50
+ attr_reader :carrier_service_type
51
+ sig { returns(T.nilable(String)) }
52
+ attr_reader :format
53
+ sig { returns(T.nilable(Integer)) }
54
+ attr_reader :id
55
+ sig { returns(T.nilable(String)) }
56
+ attr_reader :name
57
+ sig { returns(T.nilable(T::Boolean)) }
58
+ attr_reader :service_discovery
59
+
60
+ class << self
61
+ sig do
62
+ params(
63
+ id: T.any(Integer, String),
64
+ session: Auth::Session
65
+ ).returns(T.nilable(CarrierService))
66
+ end
67
+ def find(
68
+ id:,
69
+ session: ShopifyAPI::Context.active_session
70
+ )
71
+ result = base_find(
72
+ session: session,
73
+ ids: {id: id},
74
+ params: {},
75
+ )
76
+ T.cast(result[0], T.nilable(CarrierService))
77
+ end
78
+
79
+ sig do
80
+ params(
81
+ id: T.any(Integer, String),
82
+ session: Auth::Session
83
+ ).returns(T.untyped)
84
+ end
85
+ def delete(
86
+ id:,
87
+ session: ShopifyAPI::Context.active_session
88
+ )
89
+ request(
90
+ http_method: :delete,
91
+ operation: :delete,
92
+ session: session,
93
+ ids: {id: id},
94
+ params: {},
95
+ )
96
+ end
97
+
98
+ sig do
99
+ params(
100
+ session: Auth::Session,
101
+ kwargs: T.untyped
102
+ ).returns(T::Array[CarrierService])
103
+ end
104
+ def all(
105
+ session: ShopifyAPI::Context.active_session,
106
+ **kwargs
107
+ )
108
+ response = base_find(
109
+ session: session,
110
+ ids: {},
111
+ params: {}.merge(kwargs).compact,
112
+ )
113
+
114
+ T.cast(response, T::Array[CarrierService])
115
+ end
116
+
117
+ end
118
+
119
+ end
120
+ end
@@ -0,0 +1,213 @@
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 Checkout < 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
+ @billing_address = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
22
+ @line_items = T.let(nil, T.nilable(T::Array[T.untyped]))
23
+ @applied_discount = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
24
+ @buyer_accepts_marketing = T.let(nil, T.nilable(T::Boolean))
25
+ @created_at = T.let(nil, T.nilable(String))
26
+ @currency = T.let(nil, T.nilable(String))
27
+ @customer_id = T.let(nil, T.nilable(Integer))
28
+ @discount_code = T.let(nil, T.nilable(DiscountCode))
29
+ @email = T.let(nil, T.nilable(String))
30
+ @gift_cards = T.let(nil, T.nilable(T::Array[T.untyped]))
31
+ @order = T.let(nil, T.nilable(Order))
32
+ @payment_due = T.let(nil, T.nilable(String))
33
+ @payment_url = T.let(nil, T.nilable(String))
34
+ @phone = T.let(nil, T.nilable(String))
35
+ @presentment_currency = T.let(nil, T.nilable(String))
36
+ @requires_shipping = T.let(nil, T.nilable(T::Boolean))
37
+ @reservation_time = T.let(nil, T.nilable(String))
38
+ @reservation_time_left = T.let(nil, T.nilable(Integer))
39
+ @shipping_address = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
40
+ @shipping_line = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
41
+ @shipping_rate = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
42
+ @source_identifier = T.let(nil, T.nilable(String))
43
+ @source_name = T.let(nil, T.nilable(String))
44
+ @source_url = T.let(nil, T.nilable(String))
45
+ @subtotal_price = T.let(nil, T.nilable(String))
46
+ @tax_lines = T.let(nil, T.nilable(T::Array[T.untyped]))
47
+ @taxes_included = T.let(nil, T.nilable(T::Boolean))
48
+ @token = T.let(nil, T.nilable(String))
49
+ @total_price = T.let(nil, T.nilable(String))
50
+ @total_tax = T.let(nil, T.nilable(String))
51
+ @updated_at = T.let(nil, T.nilable(String))
52
+ @user_id = T.let(nil, T.nilable(Integer))
53
+ @web_url = T.let(nil, T.nilable(String))
54
+
55
+ super(session: session, from_hash: from_hash)
56
+ end
57
+
58
+ @has_one = T.let({
59
+ discount_code: DiscountCode,
60
+ order: Order
61
+ }, T::Hash[Symbol, Class])
62
+ @has_many = T.let({
63
+ gift_cards: GiftCard
64
+ }, T::Hash[Symbol, Class])
65
+ @paths = T.let([
66
+ {http_method: :get, operation: :get, ids: [:token], path: "checkouts/<token>.json"},
67
+ {http_method: :get, operation: :shipping_rates, ids: [:token], path: "checkouts/<token>/shipping_rates.json"},
68
+ {http_method: :post, operation: :complete, ids: [:token], path: "checkouts/<token>/complete.json"},
69
+ {http_method: :post, operation: :post, ids: [], path: "checkouts.json"},
70
+ {http_method: :put, operation: :put, ids: [:token], path: "checkouts/<token>.json"}
71
+ ], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
72
+
73
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
74
+ attr_reader :billing_address
75
+ sig { returns(T.nilable(T::Array[T::Hash[T.untyped, T.untyped]])) }
76
+ attr_reader :line_items
77
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
78
+ attr_reader :applied_discount
79
+ sig { returns(T.nilable(T::Boolean)) }
80
+ attr_reader :buyer_accepts_marketing
81
+ sig { returns(T.nilable(String)) }
82
+ attr_reader :created_at
83
+ sig { returns(T.nilable(String)) }
84
+ attr_reader :currency
85
+ sig { returns(T.nilable(Integer)) }
86
+ attr_reader :customer_id
87
+ sig { returns(T.nilable(DiscountCode)) }
88
+ attr_reader :discount_code
89
+ sig { returns(T.nilable(String)) }
90
+ attr_reader :email
91
+ sig { returns(T.nilable(T::Array[GiftCard])) }
92
+ attr_reader :gift_cards
93
+ sig { returns(T.nilable(Order)) }
94
+ attr_reader :order
95
+ sig { returns(T.nilable(String)) }
96
+ attr_reader :payment_due
97
+ sig { returns(T.nilable(String)) }
98
+ attr_reader :payment_url
99
+ sig { returns(T.nilable(String)) }
100
+ attr_reader :phone
101
+ sig { returns(T.nilable(String)) }
102
+ attr_reader :presentment_currency
103
+ sig { returns(T.nilable(T::Boolean)) }
104
+ attr_reader :requires_shipping
105
+ sig { returns(T.nilable(String)) }
106
+ attr_reader :reservation_time
107
+ sig { returns(T.nilable(Integer)) }
108
+ attr_reader :reservation_time_left
109
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
110
+ attr_reader :shipping_address
111
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
112
+ attr_reader :shipping_line
113
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
114
+ attr_reader :shipping_rate
115
+ sig { returns(T.nilable(String)) }
116
+ attr_reader :source_identifier
117
+ sig { returns(T.nilable(String)) }
118
+ attr_reader :source_name
119
+ sig { returns(T.nilable(String)) }
120
+ attr_reader :source_url
121
+ sig { returns(T.nilable(String)) }
122
+ attr_reader :subtotal_price
123
+ sig { returns(T.nilable(T::Array[T::Hash[T.untyped, T.untyped]])) }
124
+ attr_reader :tax_lines
125
+ sig { returns(T.nilable(T::Boolean)) }
126
+ attr_reader :taxes_included
127
+ sig { returns(T.nilable(String)) }
128
+ attr_reader :token
129
+ sig { returns(T.nilable(String)) }
130
+ attr_reader :total_price
131
+ sig { returns(T.nilable(String)) }
132
+ attr_reader :total_tax
133
+ sig { returns(T.nilable(String)) }
134
+ attr_reader :updated_at
135
+ sig { returns(T.nilable(Integer)) }
136
+ attr_reader :user_id
137
+ sig { returns(T.nilable(String)) }
138
+ attr_reader :web_url
139
+
140
+ class << self
141
+ sig do
142
+ returns(String)
143
+ end
144
+ def primary_key()
145
+ "token"
146
+ end
147
+
148
+ sig do
149
+ params(
150
+ token: T.any(Integer, String),
151
+ session: Auth::Session
152
+ ).returns(T.nilable(Checkout))
153
+ end
154
+ def find(
155
+ token:,
156
+ session: ShopifyAPI::Context.active_session
157
+ )
158
+ result = base_find(
159
+ session: session,
160
+ ids: {token: token},
161
+ params: {},
162
+ )
163
+ T.cast(result[0], T.nilable(Checkout))
164
+ end
165
+
166
+ sig do
167
+ params(
168
+ token: T.any(Integer, String),
169
+ session: Auth::Session,
170
+ kwargs: T.untyped
171
+ ).returns(T.untyped)
172
+ end
173
+ def shipping_rates(
174
+ token:,
175
+ session: ShopifyAPI::Context.active_session,
176
+ **kwargs
177
+ )
178
+ request(
179
+ http_method: :get,
180
+ operation: :shipping_rates,
181
+ session: session,
182
+ ids: {token: token},
183
+ params: {}.merge(kwargs).compact,
184
+ body: {},
185
+ entity: nil,
186
+ )
187
+ end
188
+
189
+ end
190
+
191
+ sig do
192
+ params(
193
+ body: T.untyped,
194
+ kwargs: T.untyped
195
+ ).returns(T.untyped)
196
+ end
197
+ def complete(
198
+ body: nil,
199
+ **kwargs
200
+ )
201
+ self.class.request(
202
+ http_method: :post,
203
+ operation: :complete,
204
+ session: @session,
205
+ ids: {token: @token},
206
+ params: {}.merge(kwargs).compact,
207
+ body: body,
208
+ entity: self,
209
+ )
210
+ end
211
+
212
+ end
213
+ end
@@ -0,0 +1,146 @@
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 Collect < 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
+ @collection_id = T.let(nil, T.nilable(Integer))
22
+ @created_at = T.let(nil, T.nilable(String))
23
+ @id = T.let(nil, T.nilable(Integer))
24
+ @position = T.let(nil, T.nilable(Integer))
25
+ @product_id = T.let(nil, T.nilable(Integer))
26
+ @sort_value = T.let(nil, T.nilable(String))
27
+ @updated_at = T.let(nil, T.nilable(String))
28
+
29
+ super(session: session, from_hash: from_hash)
30
+ end
31
+
32
+ @has_one = T.let({}, T::Hash[Symbol, Class])
33
+ @has_many = T.let({}, T::Hash[Symbol, Class])
34
+ @paths = T.let([
35
+ {http_method: :delete, operation: :delete, ids: [:id], path: "collects/<id>.json"},
36
+ {http_method: :get, operation: :count, ids: [], path: "collects/count.json"},
37
+ {http_method: :get, operation: :get, ids: [], path: "collects.json"},
38
+ {http_method: :get, operation: :get, ids: [:id], path: "collects/<id>.json"},
39
+ {http_method: :post, operation: :post, ids: [], path: "collects.json"}
40
+ ], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
41
+
42
+ sig { returns(T.nilable(Integer)) }
43
+ attr_reader :collection_id
44
+ sig { returns(T.nilable(String)) }
45
+ attr_reader :created_at
46
+ sig { returns(T.nilable(Integer)) }
47
+ attr_reader :id
48
+ sig { returns(T.nilable(Integer)) }
49
+ attr_reader :position
50
+ sig { returns(T.nilable(Integer)) }
51
+ attr_reader :product_id
52
+ sig { returns(T.nilable(String)) }
53
+ attr_reader :sort_value
54
+ sig { returns(T.nilable(String)) }
55
+ attr_reader :updated_at
56
+
57
+ class << self
58
+ sig do
59
+ params(
60
+ id: T.any(Integer, String),
61
+ fields: T.untyped,
62
+ session: Auth::Session
63
+ ).returns(T.nilable(Collect))
64
+ end
65
+ def find(
66
+ id:,
67
+ fields: nil,
68
+ session: ShopifyAPI::Context.active_session
69
+ )
70
+ result = base_find(
71
+ session: session,
72
+ ids: {id: id},
73
+ params: {fields: fields},
74
+ )
75
+ T.cast(result[0], T.nilable(Collect))
76
+ end
77
+
78
+ sig do
79
+ params(
80
+ id: T.any(Integer, String),
81
+ session: Auth::Session
82
+ ).returns(T.untyped)
83
+ end
84
+ def delete(
85
+ id:,
86
+ session: ShopifyAPI::Context.active_session
87
+ )
88
+ request(
89
+ http_method: :delete,
90
+ operation: :delete,
91
+ session: session,
92
+ ids: {id: id},
93
+ params: {},
94
+ )
95
+ end
96
+
97
+ sig do
98
+ params(
99
+ limit: T.untyped,
100
+ since_id: T.untyped,
101
+ fields: T.untyped,
102
+ session: Auth::Session,
103
+ kwargs: T.untyped
104
+ ).returns(T::Array[Collect])
105
+ end
106
+ def all(
107
+ limit: nil,
108
+ since_id: nil,
109
+ fields: nil,
110
+ session: ShopifyAPI::Context.active_session,
111
+ **kwargs
112
+ )
113
+ response = base_find(
114
+ session: session,
115
+ ids: {},
116
+ params: {limit: limit, since_id: since_id, fields: fields}.merge(kwargs).compact,
117
+ )
118
+
119
+ T.cast(response, T::Array[Collect])
120
+ end
121
+
122
+ sig do
123
+ params(
124
+ session: Auth::Session,
125
+ kwargs: T.untyped
126
+ ).returns(T.untyped)
127
+ end
128
+ def count(
129
+ session: ShopifyAPI::Context.active_session,
130
+ **kwargs
131
+ )
132
+ request(
133
+ http_method: :get,
134
+ operation: :count,
135
+ session: session,
136
+ ids: {},
137
+ params: {}.merge(kwargs).compact,
138
+ body: {},
139
+ entity: nil,
140
+ )
141
+ end
142
+
143
+ end
144
+
145
+ end
146
+ end
@@ -0,0 +1,114 @@
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 Collection < 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
+ @title = T.let(nil, T.nilable(String))
22
+ @body_html = T.let(nil, T.nilable(String))
23
+ @handle = T.let(nil, T.nilable(String))
24
+ @id = T.let(nil, T.nilable(Integer))
25
+ @image = T.let(nil, T.nilable(Image))
26
+ @published_at = T.let(nil, T.nilable(String))
27
+ @published_scope = T.let(nil, T.nilable(String))
28
+ @sort_order = T.let(nil, T.nilable(String))
29
+ @template_suffix = T.let(nil, T.nilable(String))
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
+ image: Image
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: [:id], path: "collections/<id>.json"},
41
+ {http_method: :get, operation: :products, ids: [:id], path: "collections/<id>/products.json"}
42
+ ], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
43
+
44
+ sig { returns(T.nilable(String)) }
45
+ attr_reader :title
46
+ sig { returns(T.nilable(String)) }
47
+ attr_reader :body_html
48
+ sig { returns(T.nilable(String)) }
49
+ attr_reader :handle
50
+ sig { returns(T.nilable(Integer)) }
51
+ attr_reader :id
52
+ sig { returns(T.nilable(Image)) }
53
+ attr_reader :image
54
+ sig { returns(T.nilable(String)) }
55
+ attr_reader :published_at
56
+ sig { returns(T.nilable(String)) }
57
+ attr_reader :published_scope
58
+ sig { returns(T.nilable(String)) }
59
+ attr_reader :sort_order
60
+ sig { returns(T.nilable(String)) }
61
+ attr_reader :template_suffix
62
+ sig { returns(T.nilable(String)) }
63
+ attr_reader :updated_at
64
+
65
+ class << self
66
+ sig do
67
+ params(
68
+ id: T.any(Integer, String),
69
+ fields: T.untyped,
70
+ session: Auth::Session
71
+ ).returns(T.nilable(Collection))
72
+ end
73
+ def find(
74
+ id:,
75
+ fields: nil,
76
+ session: ShopifyAPI::Context.active_session
77
+ )
78
+ result = base_find(
79
+ session: session,
80
+ ids: {id: id},
81
+ params: {fields: fields},
82
+ )
83
+ T.cast(result[0], T.nilable(Collection))
84
+ end
85
+
86
+ sig do
87
+ params(
88
+ id: T.any(Integer, String),
89
+ limit: T.untyped,
90
+ session: Auth::Session,
91
+ kwargs: T.untyped
92
+ ).returns(T.untyped)
93
+ end
94
+ def products(
95
+ id:,
96
+ limit: nil,
97
+ session: ShopifyAPI::Context.active_session,
98
+ **kwargs
99
+ )
100
+ request(
101
+ http_method: :get,
102
+ operation: :products,
103
+ session: session,
104
+ ids: {id: id},
105
+ params: {limit: limit}.merge(kwargs).compact,
106
+ body: {},
107
+ entity: nil,
108
+ )
109
+ end
110
+
111
+ end
112
+
113
+ end
114
+ end