shopify_api 11.1.0 → 12.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/close-waiting-for-response-issues.yml +20 -0
  3. data/.github/workflows/remove-labels-on-activity.yml +16 -0
  4. data/.github/workflows/stale.yml +32 -0
  5. data/CHANGELOG.md +10 -0
  6. data/Gemfile.lock +29 -27
  7. data/README.md +1 -2
  8. data/lib/shopify_api/admin_versions.rb +2 -2
  9. data/lib/shopify_api/auth/jwt_payload.rb +2 -2
  10. data/lib/shopify_api/auth/oauth/auth_query.rb +1 -1
  11. data/lib/shopify_api/auth/oauth.rb +6 -6
  12. data/lib/shopify_api/auth/session.rb +1 -1
  13. data/lib/shopify_api/clients/graphql/client.rb +3 -3
  14. data/lib/shopify_api/clients/graphql/storefront.rb +2 -2
  15. data/lib/shopify_api/clients/http_client.rb +1 -1
  16. data/lib/shopify_api/clients/rest/admin.rb +10 -10
  17. data/lib/shopify_api/context.rb +11 -3
  18. data/lib/shopify_api/rest/base.rb +3 -3
  19. data/lib/shopify_api/rest/resources/2022_01/abandoned_checkout.rb +4 -3
  20. data/lib/shopify_api/rest/resources/2022_01/customer.rb +26 -0
  21. data/lib/shopify_api/rest/resources/2022_01/draft_order.rb +3 -1
  22. data/lib/shopify_api/rest/resources/2022_01/fulfillment_request.rb +5 -1
  23. data/lib/shopify_api/rest/resources/2022_01/gift_card.rb +9 -1
  24. data/lib/shopify_api/rest/resources/2022_01/metafield.rb +12 -5
  25. data/lib/shopify_api/rest/resources/2022_04/abandoned_checkout.rb +4 -3
  26. data/lib/shopify_api/rest/resources/2022_04/customer.rb +26 -0
  27. data/lib/shopify_api/rest/resources/2022_04/draft_order.rb +3 -1
  28. data/lib/shopify_api/rest/resources/2022_04/fulfillment_request.rb +5 -1
  29. data/lib/shopify_api/rest/resources/2022_04/gift_card.rb +9 -1
  30. data/lib/shopify_api/rest/resources/2022_04/metafield.rb +8 -8
  31. data/lib/shopify_api/rest/resources/2022_07/abandoned_checkout.rb +4 -3
  32. data/lib/shopify_api/rest/resources/2022_07/customer.rb +20 -0
  33. data/lib/shopify_api/rest/resources/2022_07/dispute_evidence.rb +2 -2
  34. data/lib/shopify_api/rest/resources/2022_07/gift_card.rb +9 -1
  35. data/lib/shopify_api/rest/resources/2022_07/metafield.rb +8 -8
  36. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/abandoned_checkout.rb +4 -3
  37. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/access_scope.rb +0 -0
  38. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/android_pay_key.rb +0 -0
  39. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/apple_pay_certificate.rb +0 -0
  40. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/application_charge.rb +0 -0
  41. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/application_credit.rb +0 -0
  42. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/article.rb +0 -0
  43. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/asset.rb +0 -0
  44. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/assigned_fulfillment_order.rb +0 -0
  45. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/balance.rb +0 -0
  46. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/blog.rb +0 -0
  47. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/cancellation_request.rb +0 -0
  48. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/carrier_service.rb +0 -3
  49. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/checkout.rb +0 -0
  50. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/collect.rb +0 -0
  51. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/collection.rb +0 -0
  52. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/collection_listing.rb +0 -0
  53. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/comment.rb +0 -0
  54. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/country.rb +0 -0
  55. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/currency.rb +0 -0
  56. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/custom_collection.rb +0 -0
  57. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/customer.rb +29 -0
  58. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/customer_address.rb +0 -0
  59. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/customer_saved_search.rb +0 -0
  60. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/deprecated_api_call.rb +0 -0
  61. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/discount_code.rb +0 -0
  62. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/dispute.rb +0 -0
  63. data/lib/shopify_api/rest/resources/2022_10/dispute_evidence.rb +117 -0
  64. data/lib/shopify_api/rest/resources/2022_10/dispute_file_upload.rb +81 -0
  65. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/draft_order.rb +3 -1
  66. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/event.rb +0 -0
  67. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/fulfillment.rb +2 -49
  68. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/fulfillment_event.rb +0 -0
  69. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/fulfillment_order.rb +30 -1
  70. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/fulfillment_request.rb +5 -1
  71. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/fulfillment_service.rb +3 -3
  72. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/gift_card.rb +9 -1
  73. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/gift_card_adjustment.rb +0 -0
  74. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/image.rb +0 -0
  75. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/inventory_item.rb +0 -0
  76. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/inventory_level.rb +0 -0
  77. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/location.rb +0 -0
  78. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/locations_for_move.rb +0 -0
  79. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/marketing_event.rb +0 -0
  80. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/metafield.rb +8 -8
  81. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/mobile_platform_application.rb +0 -0
  82. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/order.rb +3 -0
  83. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/order_risk.rb +0 -0
  84. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/page.rb +0 -0
  85. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/payment.rb +0 -0
  86. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/payment_gateway.rb +0 -0
  87. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/payment_transaction.rb +0 -0
  88. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/payout.rb +0 -0
  89. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/policy.rb +0 -0
  90. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/price_rule.rb +3 -3
  91. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/product.rb +0 -0
  92. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/product_listing.rb +0 -0
  93. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/product_resource_feedback.rb +0 -0
  94. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/province.rb +0 -0
  95. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/recurring_application_charge.rb +0 -0
  96. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/redirect.rb +0 -0
  97. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/refund.rb +0 -0
  98. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/report.rb +0 -0
  99. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/resource_feedback.rb +0 -0
  100. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/script_tag.rb +0 -0
  101. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/shipping_zone.rb +0 -0
  102. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/shop.rb +3 -0
  103. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/smart_collection.rb +0 -0
  104. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/storefront_access_token.rb +0 -0
  105. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/tender_transaction.rb +0 -0
  106. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/theme.rb +0 -0
  107. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/transaction.rb +0 -0
  108. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/usage_charge.rb +0 -0
  109. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/user.rb +0 -0
  110. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/variant.rb +0 -0
  111. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/webhook.rb +0 -0
  112. data/lib/shopify_api/utils/graphql_proxy.rb +2 -2
  113. data/lib/shopify_api/utils/session_utils.rb +5 -5
  114. data/lib/shopify_api/version.rb +1 -1
  115. data/lib/shopify_api/webhooks/registrations/http.rb +7 -1
  116. data/lib/shopify_api/webhooks/registry.rb +8 -8
  117. data/service.yml +0 -1
  118. metadata +81 -76
@@ -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])
@@ -65,6 +65,7 @@ module ShopifyAPI
65
65
  discount_codes: DiscountCode
66
66
  }, T::Hash[Symbol, Class])
67
67
  @paths = T.let([
68
+ {http_method: :get, operation: :checkouts, ids: [], path: "checkouts.json"},
68
69
  {http_method: :get, operation: :checkouts, ids: [], path: "checkouts.json"}
69
70
  ], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
70
71
 
@@ -150,25 +151,25 @@ module ShopifyAPI
150
151
  class << self
151
152
  sig do
152
153
  params(
153
- limit: T.untyped,
154
154
  since_id: T.untyped,
155
155
  created_at_min: T.untyped,
156
156
  created_at_max: T.untyped,
157
157
  updated_at_min: T.untyped,
158
158
  updated_at_max: T.untyped,
159
159
  status: T.untyped,
160
+ limit: T.untyped,
160
161
  session: Auth::Session,
161
162
  kwargs: T.untyped
162
163
  ).returns(T.untyped)
163
164
  end
164
165
  def checkouts(
165
- limit: nil,
166
166
  since_id: nil,
167
167
  created_at_min: nil,
168
168
  created_at_max: nil,
169
169
  updated_at_min: nil,
170
170
  updated_at_max: nil,
171
171
  status: nil,
172
+ limit: nil,
172
173
  session: ShopifyAPI::Context.active_session,
173
174
  **kwargs
174
175
  )
@@ -177,7 +178,7 @@ module ShopifyAPI
177
178
  operation: :checkouts,
178
179
  session: session,
179
180
  ids: {},
180
- 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, status: status}.merge(kwargs).compact,
181
+ 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,
181
182
  body: {},
182
183
  entity: nil,
183
184
  )
@@ -20,7 +20,6 @@ module ShopifyAPI
20
20
  @admin_graphql_api_id = T.let(nil, T.nilable(String))
21
21
  @callback_url = T.let(nil, T.nilable(String))
22
22
  @carrier_service_type = T.let(nil, T.nilable(String))
23
- @format = T.let(nil, T.nilable(String))
24
23
  @id = T.let(nil, T.nilable(Integer))
25
24
  @name = T.let(nil, T.nilable(String))
26
25
  @service_discovery = T.let(nil, T.nilable(T::Boolean))
@@ -44,8 +43,6 @@ module ShopifyAPI
44
43
  attr_reader :callback_url
45
44
  sig { returns(T.nilable(String)) }
46
45
  attr_reader :carrier_service_type
47
- sig { returns(T.nilable(String)) }
48
- attr_reader :format
49
46
  sig { returns(T.nilable(Integer)) }
50
47
  attr_reader :id
51
48
  sig { returns(T.nilable(String)) }
@@ -23,6 +23,7 @@ module ShopifyAPI
23
23
  @currency = T.let(nil, T.nilable(String))
24
24
  @default_address = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
25
25
  @email = T.let(nil, T.nilable(String))
26
+ @email_marketing_consent = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
26
27
  @first_name = T.let(nil, T.nilable(String))
27
28
  @id = T.let(nil, T.nilable(Integer))
28
29
  @last_name = T.let(nil, T.nilable(String))
@@ -33,6 +34,8 @@ module ShopifyAPI
33
34
  @multipass_identifier = T.let(nil, T.nilable(String))
34
35
  @note = T.let(nil, T.nilable(String))
35
36
  @orders_count = T.let(nil, T.nilable(Integer))
37
+ @password = T.let(nil, T.nilable(String))
38
+ @password_confirmation = T.let(nil, T.nilable(String))
36
39
  @phone = T.let(nil, T.nilable(String))
37
40
  @sms_marketing_consent = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
38
41
  @state = T.let(nil, T.nilable(String))
@@ -49,6 +52,7 @@ module ShopifyAPI
49
52
  }, T::Hash[Symbol, Class])
50
53
  @has_many = T.let({}, T::Hash[Symbol, Class])
51
54
  @paths = T.let([
55
+ {http_method: :delete, operation: :delete, ids: [:id], path: "customers/<id>.json"},
52
56
  {http_method: :get, operation: :count, ids: [], path: "customers/count.json"},
53
57
  {http_method: :get, operation: :get, ids: [], path: "customers.json"},
54
58
  {http_method: :get, operation: :get, ids: [:id], path: "customers/<id>.json"},
@@ -74,6 +78,8 @@ module ShopifyAPI
74
78
  attr_reader :default_address
75
79
  sig { returns(T.nilable(String)) }
76
80
  attr_reader :email
81
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
82
+ attr_reader :email_marketing_consent
77
83
  sig { returns(T.nilable(String)) }
78
84
  attr_reader :first_name
79
85
  sig { returns(T.nilable(Integer)) }
@@ -95,6 +101,10 @@ module ShopifyAPI
95
101
  sig { returns(T.nilable(Integer)) }
96
102
  attr_reader :orders_count
97
103
  sig { returns(T.nilable(String)) }
104
+ attr_reader :password
105
+ sig { returns(T.nilable(String)) }
106
+ attr_reader :password_confirmation
107
+ sig { returns(T.nilable(String)) }
98
108
  attr_reader :phone
99
109
  sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
100
110
  attr_reader :sms_marketing_consent
@@ -134,6 +144,25 @@ module ShopifyAPI
134
144
  T.cast(result[0], T.nilable(Customer))
135
145
  end
136
146
 
147
+ sig do
148
+ params(
149
+ id: T.any(Integer, String),
150
+ session: Auth::Session
151
+ ).returns(T.untyped)
152
+ end
153
+ def delete(
154
+ id:,
155
+ session: ShopifyAPI::Context.active_session
156
+ )
157
+ request(
158
+ http_method: :delete,
159
+ operation: :delete,
160
+ session: session,
161
+ ids: {id: id},
162
+ params: {},
163
+ )
164
+ end
165
+
137
166
  sig do
138
167
  params(
139
168
  ids: T.untyped,
@@ -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