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
@@ -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,