shopify_api 11.0.1 → 12.0.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 (123) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/cla.yml +22 -0
  3. data/.github/workflows/close-waiting-for-response-issues.yml +20 -0
  4. data/.github/workflows/remove-labels-on-activity.yml +16 -0
  5. data/.github/workflows/stale.yml +31 -0
  6. data/CHANGELOG.md +62 -53
  7. data/Gemfile.lock +34 -30
  8. data/README.md +3 -3
  9. data/docs/usage/graphql.md +1 -1
  10. data/lib/shopify_api/admin_versions.rb +2 -2
  11. data/lib/shopify_api/auth/file_session_storage.rb +2 -0
  12. data/lib/shopify_api/auth/jwt_payload.rb +2 -2
  13. data/lib/shopify_api/auth/oauth/auth_query.rb +1 -1
  14. data/lib/shopify_api/auth/oauth.rb +5 -5
  15. data/lib/shopify_api/auth/session.rb +7 -7
  16. data/lib/shopify_api/auth.rb +26 -0
  17. data/lib/shopify_api/clients/graphql/client.rb +3 -3
  18. data/lib/shopify_api/clients/graphql/storefront.rb +2 -2
  19. data/lib/shopify_api/clients/http_client.rb +1 -1
  20. data/lib/shopify_api/clients/rest/admin.rb +10 -10
  21. data/lib/shopify_api/errors/missing_required_argument_error.rb +9 -0
  22. data/lib/shopify_api/rest/base.rb +3 -3
  23. data/lib/shopify_api/rest/resources/2022_01/abandoned_checkout.rb +4 -3
  24. data/lib/shopify_api/rest/resources/2022_01/customer.rb +26 -0
  25. data/lib/shopify_api/rest/resources/2022_01/draft_order.rb +3 -1
  26. data/lib/shopify_api/rest/resources/2022_01/fulfillment_request.rb +5 -1
  27. data/lib/shopify_api/rest/resources/2022_01/gift_card.rb +9 -1
  28. data/lib/shopify_api/rest/resources/2022_01/metafield.rb +12 -5
  29. data/lib/shopify_api/rest/resources/2022_04/abandoned_checkout.rb +4 -3
  30. data/lib/shopify_api/rest/resources/2022_04/customer.rb +26 -0
  31. data/lib/shopify_api/rest/resources/2022_04/draft_order.rb +3 -1
  32. data/lib/shopify_api/rest/resources/2022_04/fulfillment_request.rb +5 -1
  33. data/lib/shopify_api/rest/resources/2022_04/gift_card.rb +9 -1
  34. data/lib/shopify_api/rest/resources/2022_04/metafield.rb +8 -8
  35. data/lib/shopify_api/rest/resources/2022_07/abandoned_checkout.rb +4 -3
  36. data/lib/shopify_api/rest/resources/2022_07/customer.rb +20 -0
  37. data/lib/shopify_api/rest/resources/2022_07/dispute_evidence.rb +2 -2
  38. data/lib/shopify_api/rest/resources/2022_07/gift_card.rb +9 -1
  39. data/lib/shopify_api/rest/resources/2022_07/metafield.rb +8 -8
  40. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/abandoned_checkout.rb +4 -3
  41. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/access_scope.rb +0 -0
  42. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/android_pay_key.rb +0 -0
  43. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/apple_pay_certificate.rb +0 -0
  44. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/application_charge.rb +0 -0
  45. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/application_credit.rb +0 -0
  46. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/article.rb +0 -0
  47. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/asset.rb +0 -0
  48. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/assigned_fulfillment_order.rb +0 -0
  49. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/balance.rb +0 -0
  50. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/blog.rb +0 -0
  51. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/cancellation_request.rb +0 -0
  52. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/carrier_service.rb +0 -3
  53. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/checkout.rb +0 -0
  54. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/collect.rb +0 -0
  55. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/collection.rb +0 -0
  56. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/collection_listing.rb +0 -0
  57. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/comment.rb +0 -0
  58. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/country.rb +0 -0
  59. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/currency.rb +0 -0
  60. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/custom_collection.rb +0 -0
  61. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/customer.rb +29 -0
  62. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/customer_address.rb +0 -0
  63. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/customer_saved_search.rb +0 -0
  64. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/deprecated_api_call.rb +0 -0
  65. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/discount_code.rb +0 -0
  66. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/dispute.rb +0 -0
  67. data/lib/shopify_api/rest/resources/2022_10/dispute_evidence.rb +117 -0
  68. data/lib/shopify_api/rest/resources/2022_10/dispute_file_upload.rb +81 -0
  69. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/draft_order.rb +3 -1
  70. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/event.rb +0 -0
  71. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/fulfillment.rb +2 -49
  72. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/fulfillment_event.rb +0 -0
  73. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/fulfillment_order.rb +30 -1
  74. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/fulfillment_request.rb +5 -1
  75. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/fulfillment_service.rb +3 -3
  76. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/gift_card.rb +9 -1
  77. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/gift_card_adjustment.rb +0 -0
  78. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/image.rb +0 -0
  79. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/inventory_item.rb +0 -0
  80. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/inventory_level.rb +0 -0
  81. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/location.rb +0 -0
  82. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/locations_for_move.rb +0 -0
  83. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/marketing_event.rb +0 -0
  84. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/metafield.rb +8 -8
  85. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/mobile_platform_application.rb +0 -0
  86. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/order.rb +3 -0
  87. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/order_risk.rb +0 -0
  88. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/page.rb +0 -0
  89. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/payment.rb +0 -0
  90. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/payment_gateway.rb +0 -0
  91. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/payment_transaction.rb +0 -0
  92. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/payout.rb +0 -0
  93. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/policy.rb +0 -0
  94. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/price_rule.rb +3 -3
  95. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/product.rb +0 -0
  96. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/product_listing.rb +0 -0
  97. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/product_resource_feedback.rb +0 -0
  98. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/province.rb +0 -0
  99. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/recurring_application_charge.rb +0 -0
  100. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/redirect.rb +0 -0
  101. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/refund.rb +0 -0
  102. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/report.rb +0 -0
  103. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/resource_feedback.rb +0 -0
  104. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/script_tag.rb +0 -0
  105. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/shipping_zone.rb +0 -0
  106. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/shop.rb +3 -0
  107. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/smart_collection.rb +0 -0
  108. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/storefront_access_token.rb +0 -0
  109. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/tender_transaction.rb +0 -0
  110. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/theme.rb +0 -0
  111. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/transaction.rb +0 -0
  112. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/usage_charge.rb +0 -0
  113. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/user.rb +0 -0
  114. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/variant.rb +0 -0
  115. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/webhook.rb +0 -0
  116. data/lib/shopify_api/utils/graphql_proxy.rb +2 -2
  117. data/lib/shopify_api/utils/session_utils.rb +5 -5
  118. data/lib/shopify_api/version.rb +1 -1
  119. data/lib/shopify_api/webhooks/registrations/http.rb +7 -1
  120. data/lib/shopify_api/webhooks/registry.rb +8 -8
  121. data/service.yml +0 -1
  122. metadata +84 -77
  123. data/.github/probots.yml +0 -2
@@ -0,0 +1,117 @@
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 DisputeEvidence < 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
+ sig { params(session: T.nilable(ShopifyAPI::Auth::Session)).void }
16
+ def initialize(session: ShopifyAPI::Context.active_session)
17
+ super(session: session)
18
+
19
+ @access_activity_log = T.let(nil, T.nilable(String))
20
+ @billing_address = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
21
+ @cancellation_policy_disclosure = T.let(nil, T.nilable(String))
22
+ @cancellation_rebuttal = T.let(nil, T.nilable(String))
23
+ @created_at = T.let(nil, T.nilable(String))
24
+ @customer_email_address = T.let(nil, T.nilable(String))
25
+ @customer_first_name = T.let(nil, T.nilable(String))
26
+ @customer_last_name = T.let(nil, T.nilable(String))
27
+ @dispute_evidence_files = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
28
+ @fulfillments = T.let(nil, T.nilable(T::Array[T.untyped]))
29
+ @id = T.let(nil, T.nilable(Integer))
30
+ @payments_dispute_id = T.let(nil, T.nilable(Integer))
31
+ @product_description = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
32
+ @refund_policy_disclosure = T.let(nil, T.nilable(String))
33
+ @refund_refusal_explanation = T.let(nil, T.nilable(String))
34
+ @shipping_address = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
35
+ @submitted = T.let(nil, T.nilable(T::Boolean))
36
+ @uncategorized_text = T.let(nil, T.nilable(String))
37
+ @updated_on = T.let(nil, T.nilable(String))
38
+ end
39
+
40
+ @has_one = T.let({}, T::Hash[Symbol, Class])
41
+ @has_many = T.let({
42
+ fulfillments: Fulfillment
43
+ }, T::Hash[Symbol, Class])
44
+ @paths = T.let([
45
+ {http_method: :get, operation: :get, ids: [:dispute_id], path: "shopify_payments/disputes/<dispute_id>/dispute_evidences.json"},
46
+ {http_method: :put, operation: :put, ids: [:dispute_id], path: "shopify_payments/disputes/<dispute_id>/dispute_evidences.json"}
47
+ ], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
48
+
49
+ sig { returns(T.nilable(String)) }
50
+ attr_reader :access_activity_log
51
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
52
+ attr_reader :billing_address
53
+ sig { returns(T.nilable(String)) }
54
+ attr_reader :cancellation_policy_disclosure
55
+ sig { returns(T.nilable(String)) }
56
+ attr_reader :cancellation_rebuttal
57
+ sig { returns(T.nilable(String)) }
58
+ attr_reader :created_at
59
+ sig { returns(T.nilable(String)) }
60
+ attr_reader :customer_email_address
61
+ sig { returns(T.nilable(String)) }
62
+ attr_reader :customer_first_name
63
+ sig { returns(T.nilable(String)) }
64
+ attr_reader :customer_last_name
65
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
66
+ attr_reader :dispute_evidence_files
67
+ sig { returns(T.nilable(T::Array[Fulfillment])) }
68
+ attr_reader :fulfillments
69
+ sig { returns(T.nilable(Integer)) }
70
+ attr_reader :id
71
+ sig { returns(T.nilable(Integer)) }
72
+ attr_reader :payments_dispute_id
73
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
74
+ attr_reader :product_description
75
+ sig { returns(T.nilable(String)) }
76
+ attr_reader :refund_policy_disclosure
77
+ sig { returns(T.nilable(String)) }
78
+ attr_reader :refund_refusal_explanation
79
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
80
+ attr_reader :shipping_address
81
+ sig { returns(T.nilable(T::Boolean)) }
82
+ attr_reader :submitted
83
+ sig { returns(T.nilable(String)) }
84
+ attr_reader :uncategorized_text
85
+ sig { returns(T.nilable(String)) }
86
+ attr_reader :updated_on
87
+
88
+ class << self
89
+ sig do
90
+ returns(String)
91
+ end
92
+ def primary_key()
93
+ "dispute_id"
94
+ end
95
+
96
+ sig do
97
+ params(
98
+ dispute_id: T.any(Integer, String),
99
+ session: Auth::Session
100
+ ).returns(T.nilable(DisputeEvidence))
101
+ end
102
+ def find(
103
+ dispute_id:,
104
+ session: ShopifyAPI::Context.active_session
105
+ )
106
+ result = base_find(
107
+ session: session,
108
+ ids: {dispute_id: dispute_id},
109
+ params: {},
110
+ )
111
+ T.cast(result[0], T.nilable(DisputeEvidence))
112
+ end
113
+
114
+ end
115
+
116
+ end
117
+ end
@@ -0,0 +1,81 @@
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 DisputeFileUpload < 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
+ sig { params(session: T.nilable(ShopifyAPI::Auth::Session)).void }
16
+ def initialize(session: ShopifyAPI::Context.active_session)
17
+ super(session: session)
18
+
19
+ @dispute_evidence_id = T.let(nil, T.nilable(Integer))
20
+ @dispute_evidence_type = T.let(nil, T.nilable(String))
21
+ @file_size = T.let(nil, T.nilable(Integer))
22
+ @file_type = T.let(nil, T.nilable(String))
23
+ @filename = T.let(nil, T.nilable(String))
24
+ @id = T.let(nil, T.nilable(Integer))
25
+ @original_filename = T.let(nil, T.nilable(String))
26
+ @shop_id = T.let(nil, T.nilable(Integer))
27
+ @url = T.let(nil, T.nilable(String))
28
+ end
29
+
30
+ @has_one = T.let({}, T::Hash[Symbol, Class])
31
+ @has_many = T.let({}, T::Hash[Symbol, Class])
32
+ @paths = T.let([
33
+ {http_method: :delete, operation: :delete, ids: [:dispute_id, :id], path: "shopify_payments/disputes/<dispute_id>/dispute_file_uploads/<id>.json"},
34
+ {http_method: :post, operation: :post, ids: [:dispute_id], path: "shopify_payments/disputes/<dispute_id>/dispute_file_uploads.json"}
35
+ ], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
36
+
37
+ sig { returns(T.nilable(Integer)) }
38
+ attr_reader :dispute_evidence_id
39
+ sig { returns(T.nilable(String)) }
40
+ attr_reader :dispute_evidence_type
41
+ sig { returns(T.nilable(Integer)) }
42
+ attr_reader :file_size
43
+ sig { returns(T.nilable(String)) }
44
+ attr_reader :file_type
45
+ sig { returns(T.nilable(String)) }
46
+ attr_reader :filename
47
+ sig { returns(T.nilable(Integer)) }
48
+ attr_reader :id
49
+ sig { returns(T.nilable(String)) }
50
+ attr_reader :original_filename
51
+ sig { returns(T.nilable(Integer)) }
52
+ attr_reader :shop_id
53
+ sig { returns(T.nilable(String)) }
54
+ attr_reader :url
55
+
56
+ class << self
57
+ sig do
58
+ params(
59
+ id: T.any(Integer, String),
60
+ dispute_id: T.nilable(T.any(Integer, String)),
61
+ session: Auth::Session
62
+ ).returns(T.untyped)
63
+ end
64
+ def delete(
65
+ id:,
66
+ dispute_id: nil,
67
+ session: ShopifyAPI::Context.active_session
68
+ )
69
+ request(
70
+ http_method: :delete,
71
+ operation: :delete,
72
+ session: session,
73
+ ids: {id: id, dispute_id: dispute_id},
74
+ params: {},
75
+ )
76
+ end
77
+
78
+ end
79
+
80
+ end
81
+ end
@@ -248,12 +248,14 @@ module ShopifyAPI
248
248
 
249
249
  sig do
250
250
  params(
251
+ payment_gateway_id: T.untyped,
251
252
  payment_pending: T.untyped,
252
253
  body: T.untyped,
253
254
  kwargs: T.untyped
254
255
  ).returns(T.untyped)
255
256
  end
256
257
  def complete(
258
+ payment_gateway_id: nil,
257
259
  payment_pending: nil,
258
260
  body: nil,
259
261
  **kwargs
@@ -263,7 +265,7 @@ module ShopifyAPI
263
265
  operation: :complete,
264
266
  session: @session,
265
267
  ids: {id: @id},
266
- params: {payment_pending: payment_pending}.merge(kwargs).compact,
268
+ params: {payment_gateway_id: payment_gateway_id, payment_pending: payment_pending}.merge(kwargs).compact,
267
269
  body: body,
268
270
  entity: self,
269
271
  )
@@ -43,13 +43,8 @@ module ShopifyAPI
43
43
  {http_method: :get, operation: :get, ids: [:order_id], path: "orders/<order_id>/fulfillments.json"},
44
44
  {http_method: :get, operation: :get, ids: [:order_id, :id], path: "orders/<order_id>/fulfillments/<id>.json"},
45
45
  {http_method: :post, operation: :cancel, ids: [:id], path: "fulfillments/<id>/cancel.json"},
46
- {http_method: :post, operation: :cancel, ids: [:order_id, :id], path: "orders/<order_id>/fulfillments/<id>/cancel.json"},
47
- {http_method: :post, operation: :complete, ids: [:order_id, :id], path: "orders/<order_id>/fulfillments/<id>/complete.json"},
48
- {http_method: :post, operation: :open, ids: [:order_id, :id], path: "orders/<order_id>/fulfillments/<id>/open.json"},
49
46
  {http_method: :post, operation: :post, ids: [], path: "fulfillments.json"},
50
- {http_method: :post, operation: :post, ids: [:order_id], path: "orders/<order_id>/fulfillments.json"},
51
- {http_method: :post, operation: :update_tracking, ids: [:id], path: "fulfillments/<id>/update_tracking.json"},
52
- {http_method: :put, operation: :put, ids: [:order_id, :id], path: "orders/<order_id>/fulfillments/<id>.json"}
47
+ {http_method: :post, operation: :update_tracking, ids: [:id], path: "fulfillments/<id>/update_tracking.json"}
53
48
  ], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
54
49
 
55
50
  sig { returns(T.nilable(String)) }
@@ -194,49 +189,7 @@ module ShopifyAPI
194
189
  http_method: :post,
195
190
  operation: :cancel,
196
191
  session: @session,
197
- ids: {id: @id, order_id: @order_id},
198
- params: {}.merge(kwargs).compact,
199
- body: body,
200
- entity: self,
201
- )
202
- end
203
-
204
- sig do
205
- params(
206
- body: T.untyped,
207
- kwargs: T.untyped
208
- ).returns(T.untyped)
209
- end
210
- def complete(
211
- body: nil,
212
- **kwargs
213
- )
214
- self.class.request(
215
- http_method: :post,
216
- operation: :complete,
217
- session: @session,
218
- ids: {id: @id, order_id: @order_id},
219
- params: {}.merge(kwargs).compact,
220
- body: body,
221
- entity: self,
222
- )
223
- end
224
-
225
- sig do
226
- params(
227
- body: T.untyped,
228
- kwargs: T.untyped
229
- ).returns(T.untyped)
230
- end
231
- def open(
232
- body: nil,
233
- **kwargs
234
- )
235
- self.class.request(
236
- http_method: :post,
237
- operation: :open,
238
- session: @session,
239
- ids: {id: @id, order_id: @order_id},
192
+ ids: {id: @id},
240
193
  params: {}.merge(kwargs).compact,
241
194
  body: body,
242
195
  entity: self,
@@ -21,6 +21,7 @@ module ShopifyAPI
21
21
  @delivery_method = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
22
22
  @destination = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
23
23
  @fulfill_at = T.let(nil, T.nilable(String))
24
+ @fulfill_by = T.let(nil, T.nilable(String))
24
25
  @fulfillment_holds = T.let(nil, T.nilable(T::Array[T.untyped]))
25
26
  @id = T.let(nil, T.nilable(Integer))
26
27
  @international_duties = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
@@ -44,7 +45,8 @@ module ShopifyAPI
44
45
  {http_method: :post, operation: :move, ids: [:id], path: "fulfillment_orders/<id>/move.json"},
45
46
  {http_method: :post, operation: :open, ids: [:id], path: "fulfillment_orders/<id>/open.json"},
46
47
  {http_method: :post, operation: :release_hold, ids: [:id], path: "fulfillment_orders/<id>/release_hold.json"},
47
- {http_method: :post, operation: :reschedule, ids: [:id], path: "fulfillment_orders/<id>/reschedule.json"}
48
+ {http_method: :post, operation: :reschedule, ids: [:id], path: "fulfillment_orders/<id>/reschedule.json"},
49
+ {http_method: :post, operation: :set_fulfillment_orders_deadline, ids: [], path: "fulfillment_orders/set_fulfillment_orders_deadline.json"}
48
50
  ], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
49
51
 
50
52
  sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
@@ -57,6 +59,8 @@ module ShopifyAPI
57
59
  attr_reader :destination
58
60
  sig { returns(T.nilable(String)) }
59
61
  attr_reader :fulfill_at
62
+ sig { returns(T.nilable(String)) }
63
+ attr_reader :fulfill_by
60
64
  sig { returns(T.nilable(T::Array[T::Hash[T.untyped, T.untyped]])) }
61
65
  attr_reader :fulfillment_holds
62
66
  sig { returns(T.nilable(Integer)) }
@@ -277,5 +281,30 @@ module ShopifyAPI
277
281
  )
278
282
  end
279
283
 
284
+ sig do
285
+ params(
286
+ fulfillment_order_ids: T.untyped,
287
+ fulfillment_deadline: T.untyped,
288
+ body: T.untyped,
289
+ kwargs: T.untyped
290
+ ).returns(T.untyped)
291
+ end
292
+ def set_fulfillment_orders_deadline(
293
+ fulfillment_order_ids: nil,
294
+ fulfillment_deadline: nil,
295
+ body: nil,
296
+ **kwargs
297
+ )
298
+ self.class.request(
299
+ http_method: :post,
300
+ operation: :set_fulfillment_orders_deadline,
301
+ session: @session,
302
+ ids: {},
303
+ params: {fulfillment_order_ids: fulfillment_order_ids, fulfillment_deadline: fulfillment_deadline}.merge(kwargs).compact,
304
+ body: body,
305
+ entity: self,
306
+ )
307
+ end
308
+
280
309
  end
281
310
  end
@@ -59,12 +59,16 @@ module ShopifyAPI
59
59
  sig do
60
60
  params(
61
61
  message: T.untyped,
62
+ reason: T.untyped,
63
+ line_items: T.untyped,
62
64
  body: T.untyped,
63
65
  kwargs: T.untyped
64
66
  ).returns(T.untyped)
65
67
  end
66
68
  def reject(
67
69
  message: nil,
70
+ reason: nil,
71
+ line_items: nil,
68
72
  body: nil,
69
73
  **kwargs
70
74
  )
@@ -73,7 +77,7 @@ module ShopifyAPI
73
77
  operation: :reject,
74
78
  session: @session,
75
79
  ids: {fulfillment_order_id: @fulfillment_order_id},
76
- params: {message: message}.merge(kwargs).compact,
80
+ params: {message: message, reason: reason, line_items: line_items}.merge(kwargs).compact,
77
81
  body: body,
78
82
  entity: self,
79
83
  )
@@ -18,13 +18,13 @@ module ShopifyAPI
18
18
 
19
19
  @admin_graphql_api_id = T.let(nil, T.nilable(String))
20
20
  @callback_url = T.let(nil, T.nilable(String))
21
- @format = T.let(nil, T.nilable(String))
22
21
  @fulfillment_orders_opt_in = T.let(nil, T.nilable(T::Boolean))
23
22
  @handle = T.let(nil, T.nilable(String))
24
23
  @id = T.let(nil, T.nilable(Integer))
25
24
  @inventory_management = T.let(nil, T.nilable(T::Boolean))
26
25
  @location_id = T.let(nil, T.nilable(Integer))
27
26
  @name = T.let(nil, T.nilable(String))
27
+ @permits_sku_sharing = T.let(nil, T.nilable(T::Boolean))
28
28
  @provider_id = T.let(nil, T.nilable(String))
29
29
  @requires_shipping_method = T.let(nil, T.nilable(T::Boolean))
30
30
  @tracking_support = T.let(nil, T.nilable(T::Boolean))
@@ -44,8 +44,6 @@ module ShopifyAPI
44
44
  attr_reader :admin_graphql_api_id
45
45
  sig { returns(T.nilable(String)) }
46
46
  attr_reader :callback_url
47
- sig { returns(T.nilable(String)) }
48
- attr_reader :format
49
47
  sig { returns(T.nilable(T::Boolean)) }
50
48
  attr_reader :fulfillment_orders_opt_in
51
49
  sig { returns(T.nilable(String)) }
@@ -58,6 +56,8 @@ module ShopifyAPI
58
56
  attr_reader :location_id
59
57
  sig { returns(T.nilable(String)) }
60
58
  attr_reader :name
59
+ sig { returns(T.nilable(T::Boolean)) }
60
+ attr_reader :permits_sku_sharing
61
61
  sig { returns(T.nilable(String)) }
62
62
  attr_reader :provider_id
63
63
  sig { returns(T.nilable(T::Boolean)) }
@@ -157,6 +157,10 @@ module ShopifyAPI
157
157
  query: T.untyped,
158
158
  limit: T.untyped,
159
159
  fields: T.untyped,
160
+ created_at_min: T.untyped,
161
+ created_at_max: T.untyped,
162
+ updated_at_min: T.untyped,
163
+ updated_at_max: T.untyped,
160
164
  session: Auth::Session,
161
165
  kwargs: T.untyped
162
166
  ).returns(T.untyped)
@@ -166,6 +170,10 @@ module ShopifyAPI
166
170
  query: nil,
167
171
  limit: nil,
168
172
  fields: nil,
173
+ created_at_min: nil,
174
+ created_at_max: nil,
175
+ updated_at_min: nil,
176
+ updated_at_max: nil,
169
177
  session: ShopifyAPI::Context.active_session,
170
178
  **kwargs
171
179
  )
@@ -174,7 +182,7 @@ module ShopifyAPI
174
182
  operation: :search,
175
183
  session: session,
176
184
  ids: {},
177
- params: {order: order, query: query, limit: limit, fields: fields}.merge(kwargs).compact,
185
+ params: {order: order, query: query, limit: limit, fields: fields, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max}.merge(kwargs).compact,
178
186
  body: {},
179
187
  entity: nil,
180
188
  )
@@ -35,7 +35,6 @@ module ShopifyAPI
35
35
  @product_image_id = T.let(nil, T.nilable(Integer))
36
36
  @type = T.let(nil, T.nilable(String))
37
37
  @updated_at = T.let(nil, T.nilable(String))
38
- @value_type = T.let(nil, T.nilable(String))
39
38
  @variant_id = T.let(nil, T.nilable(Integer))
40
39
  end
41
40
 
@@ -51,6 +50,7 @@ module ShopifyAPI
51
50
  {http_method: :delete, operation: :delete, ids: [:order_id, :id], path: "orders/<order_id>/metafields/<id>.json"},
52
51
  {http_method: :delete, operation: :delete, ids: [:page_id, :id], path: "pages/<page_id>/metafields/<id>.json"},
53
52
  {http_method: :delete, operation: :delete, ids: [:product_image_id, :id], path: "product_images/<product_image_id>/metafields/<id>.json"},
53
+ {http_method: :delete, operation: :delete, ids: [:product_image_id, :id], path: "product_images/<product_image_id>/metafields/<id>.json"},
54
54
  {http_method: :delete, operation: :delete, ids: [:product_id, :id], path: "products/<product_id>/metafields/<id>.json"},
55
55
  {http_method: :delete, operation: :delete, ids: [:variant_id, :id], path: "variants/<variant_id>/metafields/<id>.json"},
56
56
  {http_method: :get, operation: :count, ids: [:article_id], path: "articles/<article_id>/metafields/count.json"},
@@ -61,12 +61,14 @@ module ShopifyAPI
61
61
  {http_method: :get, operation: :count, ids: [], path: "metafields/count.json"},
62
62
  {http_method: :get, operation: :count, ids: [:order_id], path: "orders/<order_id>/metafields/count.json"},
63
63
  {http_method: :get, operation: :count, ids: [:page_id], path: "pages/<page_id>/metafields/count.json"},
64
+ {http_method: :get, operation: :count, ids: [:page_id], path: "pages/<page_id>/metafields/count.json"},
64
65
  {http_method: :get, operation: :count, ids: [:product_image_id], path: "product_images/<product_image_id>/metafields/count.json"},
65
66
  {http_method: :get, operation: :count, ids: [:product_id], path: "products/<product_id>/metafields/count.json"},
66
67
  {http_method: :get, operation: :count, ids: [:variant_id], path: "variants/<variant_id>/metafields/count.json"},
67
68
  {http_method: :get, operation: :get, ids: [:article_id], path: "articles/<article_id>/metafields.json"},
68
69
  {http_method: :get, operation: :get, ids: [:article_id, :id], path: "articles/<article_id>/metafields/<id>.json"},
69
70
  {http_method: :get, operation: :get, ids: [:blog_id], path: "blogs/<blog_id>/metafields.json"},
71
+ {http_method: :get, operation: :get, ids: [:blog_id], path: "blogs/<blog_id>/metafields.json"},
70
72
  {http_method: :get, operation: :get, ids: [:blog_id, :id], path: "blogs/<blog_id>/metafields/<id>.json"},
71
73
  {http_method: :get, operation: :get, ids: [:collection_id], path: "collections/<collection_id>/metafields.json"},
72
74
  {http_method: :get, operation: :get, ids: [:collection_id, :id], path: "collections/<collection_id>/metafields/<id>.json"},
@@ -75,7 +77,6 @@ module ShopifyAPI
75
77
  {http_method: :get, operation: :get, ids: [:draft_order_id], path: "draft_orders/<draft_order_id>/metafields.json"},
76
78
  {http_method: :get, operation: :get, ids: [:draft_order_id, :id], path: "draft_orders/<draft_order_id>/metafields/<id>.json"},
77
79
  {http_method: :get, operation: :get, ids: [], path: "metafields.json"},
78
- {http_method: :get, operation: :get, ids: [], path: "metafields.json"},
79
80
  {http_method: :get, operation: :get, ids: [:id], path: "metafields/<id>.json"},
80
81
  {http_method: :get, operation: :get, ids: [:order_id], path: "orders/<order_id>/metafields.json"},
81
82
  {http_method: :get, operation: :get, ids: [:order_id, :id], path: "orders/<order_id>/metafields/<id>.json"},
@@ -87,6 +88,7 @@ module ShopifyAPI
87
88
  {http_method: :get, operation: :get, ids: [:product_id, :id], path: "products/<product_id>/metafields/<id>.json"},
88
89
  {http_method: :get, operation: :get, ids: [:variant_id], path: "variants/<variant_id>/metafields.json"},
89
90
  {http_method: :get, operation: :get, ids: [:variant_id, :id], path: "variants/<variant_id>/metafields/<id>.json"},
91
+ {http_method: :get, operation: :get, ids: [:variant_id, :id], path: "variants/<variant_id>/metafields/<id>.json"},
90
92
  {http_method: :post, operation: :post, ids: [:article_id], path: "articles/<article_id>/metafields.json"},
91
93
  {http_method: :post, operation: :post, ids: [:blog_id], path: "blogs/<blog_id>/metafields.json"},
92
94
  {http_method: :post, operation: :post, ids: [:collection_id], path: "collections/<collection_id>/metafields.json"},
@@ -149,8 +151,6 @@ module ShopifyAPI
149
151
  attr_reader :type
150
152
  sig { returns(T.nilable(String)) }
151
153
  attr_reader :updated_at
152
- sig { returns(T.nilable(String)) }
153
- attr_reader :value_type
154
154
  sig { returns(T.nilable(Integer)) }
155
155
  attr_reader :variant_id
156
156
 
@@ -168,6 +168,7 @@ module ShopifyAPI
168
168
  product_image_id: T.nilable(T.any(Integer, String)),
169
169
  product_id: T.nilable(T.any(Integer, String)),
170
170
  variant_id: T.nilable(T.any(Integer, String)),
171
+ fields: T.untyped,
171
172
  session: Auth::Session
172
173
  ).returns(T.nilable(Metafield))
173
174
  end
@@ -183,12 +184,13 @@ module ShopifyAPI
183
184
  product_image_id: nil,
184
185
  product_id: nil,
185
186
  variant_id: nil,
187
+ fields: nil,
186
188
  session: ShopifyAPI::Context.active_session
187
189
  )
188
190
  result = base_find(
189
191
  session: session,
190
192
  ids: {id: id, article_id: article_id, blog_id: blog_id, collection_id: collection_id, customer_id: customer_id, draft_order_id: draft_order_id, order_id: order_id, page_id: page_id, product_image_id: product_image_id, product_id: product_id, variant_id: variant_id},
191
- params: {},
193
+ params: {fields: fields},
192
194
  )
193
195
  T.cast(result[0], T.nilable(Metafield))
194
196
  end
@@ -253,7 +255,6 @@ module ShopifyAPI
253
255
  namespace: T.untyped,
254
256
  key: T.untyped,
255
257
  type: T.untyped,
256
- value_type: T.untyped,
257
258
  fields: T.untyped,
258
259
  metafield: T.nilable(T::Hash[T.untyped, T.untyped]),
259
260
  session: Auth::Session,
@@ -280,7 +281,6 @@ module ShopifyAPI
280
281
  namespace: nil,
281
282
  key: nil,
282
283
  type: nil,
283
- value_type: nil,
284
284
  fields: nil,
285
285
  metafield: nil,
286
286
  session: ShopifyAPI::Context.active_session,
@@ -289,7 +289,7 @@ module ShopifyAPI
289
289
  response = base_find(
290
290
  session: session,
291
291
  ids: {article_id: article_id, blog_id: blog_id, collection_id: collection_id, customer_id: customer_id, draft_order_id: draft_order_id, order_id: order_id, page_id: page_id, product_image_id: product_image_id, product_id: product_id, variant_id: variant_id},
292
- params: {limit: limit, 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, namespace: namespace, key: key, type: type, value_type: value_type, fields: fields, metafield: metafield}.merge(kwargs).compact,
292
+ params: {limit: limit, 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, namespace: namespace, key: key, type: type, fields: fields, metafield: metafield}.merge(kwargs).compact,
293
293
  )
294
294
 
295
295
  T.cast(response, T::Array[Metafield])
@@ -51,6 +51,7 @@ module ShopifyAPI
51
51
  @id = T.let(nil, T.nilable(Integer))
52
52
  @landing_site = T.let(nil, T.nilable(String))
53
53
  @location_id = T.let(nil, T.nilable(Integer))
54
+ @merchant_of_record_app_id = T.let(nil, T.nilable(Integer))
54
55
  @name = T.let(nil, T.nilable(String))
55
56
  @note = T.let(nil, T.nilable(String))
56
57
  @note_attributes = T.let(nil, T.nilable(T::Array[T.untyped]))
@@ -185,6 +186,8 @@ module ShopifyAPI
185
186
  attr_reader :landing_site
186
187
  sig { returns(T.nilable(Integer)) }
187
188
  attr_reader :location_id
189
+ sig { returns(T.nilable(Integer)) }
190
+ attr_reader :merchant_of_record_app_id
188
191
  sig { returns(T.nilable(String)) }
189
192
  attr_reader :name
190
193
  sig { returns(T.nilable(String)) }
@@ -19,6 +19,7 @@ module ShopifyAPI
19
19
  @allocation_limit = T.let(nil, T.nilable(Integer))
20
20
  @allocation_method = T.let(nil, T.nilable(String))
21
21
  @created_at = T.let(nil, T.nilable(String))
22
+ @customer_segment_prerequisite_ids = T.let(nil, T.nilable(T::Array[T.untyped]))
22
23
  @customer_selection = T.let(nil, T.nilable(String))
23
24
  @ends_at = T.let(nil, T.nilable(String))
24
25
  @entitled_collection_ids = T.let(nil, T.nilable(T::Array[T.untyped]))
@@ -31,7 +32,6 @@ module ShopifyAPI
31
32
  @prerequisite_customer_ids = T.let(nil, T.nilable(T::Array[T.untyped]))
32
33
  @prerequisite_product_ids = T.let(nil, T.nilable(T::Array[T.untyped]))
33
34
  @prerequisite_quantity_range = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
34
- @prerequisite_saved_search_ids = T.let(nil, T.nilable(T::Array[T.untyped]))
35
35
  @prerequisite_shipping_price_range = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
36
36
  @prerequisite_subtotal_range = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
37
37
  @prerequisite_to_entitlement_purchase = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
@@ -64,6 +64,8 @@ module ShopifyAPI
64
64
  attr_reader :allocation_method
65
65
  sig { returns(T.nilable(String)) }
66
66
  attr_reader :created_at
67
+ sig { returns(T.nilable(T::Array[Integer])) }
68
+ attr_reader :customer_segment_prerequisite_ids
67
69
  sig { returns(T.nilable(String)) }
68
70
  attr_reader :customer_selection
69
71
  sig { returns(T.nilable(String)) }
@@ -88,8 +90,6 @@ module ShopifyAPI
88
90
  attr_reader :prerequisite_product_ids
89
91
  sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
90
92
  attr_reader :prerequisite_quantity_range
91
- sig { returns(T.nilable(T::Array[Integer])) }
92
- attr_reader :prerequisite_saved_search_ids
93
93
  sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
94
94
  attr_reader :prerequisite_shipping_price_range
95
95
  sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }