shopify_api 11.0.1 → 12.0.0

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -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])
@@ -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
  )
@@ -52,6 +52,7 @@ module ShopifyAPI
52
52
  }, T::Hash[Symbol, Class])
53
53
  @has_many = T.let({}, T::Hash[Symbol, Class])
54
54
  @paths = T.let([
55
+ {http_method: :delete, operation: :delete, ids: [:id], path: "customers/<id>.json"},
55
56
  {http_method: :get, operation: :count, ids: [], path: "customers/count.json"},
56
57
  {http_method: :get, operation: :get, ids: [], path: "customers.json"},
57
58
  {http_method: :get, operation: :get, ids: [:id], path: "customers/<id>.json"},
@@ -143,6 +144,25 @@ module ShopifyAPI
143
144
  T.cast(result[0], T.nilable(Customer))
144
145
  end
145
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
+
146
166
  sig do
147
167
  params(
148
168
  ids: T.untyped,
@@ -31,7 +31,7 @@ module ShopifyAPI
31
31
  @product_description = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
32
32
  @refund_policy_disclosure = T.let(nil, T.nilable(String))
33
33
  @refund_refusal_explanation = T.let(nil, T.nilable(String))
34
- @shipping_address_attributes = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
34
+ @shipping_address = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
35
35
  @submitted = T.let(nil, T.nilable(T::Boolean))
36
36
  @uncategorized_text = T.let(nil, T.nilable(String))
37
37
  @updated_on = T.let(nil, T.nilable(String))
@@ -77,7 +77,7 @@ module ShopifyAPI
77
77
  sig { returns(T.nilable(String)) }
78
78
  attr_reader :refund_refusal_explanation
79
79
  sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
80
- attr_reader :shipping_address_attributes
80
+ attr_reader :shipping_address
81
81
  sig { returns(T.nilable(T::Boolean)) }
82
82
  attr_reader :submitted
83
83
  sig { returns(T.nilable(String)) }
@@ -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])
@@ -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,