shopify_api 11.1.0 → 12.4.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 (214) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/BUG_REPORT.md +40 -0
  3. data/.github/ISSUE_TEMPLATE/ENHANCEMENT.md +9 -0
  4. data/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md +9 -0
  5. data/.github/workflows/build.yml +0 -3
  6. data/.github/workflows/close-waiting-for-response-issues.yml +20 -0
  7. data/.github/workflows/remove-labels-on-activity.yml +16 -0
  8. data/.github/workflows/stale.yml +33 -0
  9. data/CHANGELOG.md +30 -0
  10. data/Gemfile +1 -0
  11. data/Gemfile.lock +55 -39
  12. data/README.md +12 -14
  13. data/docs/getting_started.md +1 -1
  14. data/docs/usage/oauth.md +3 -4
  15. data/docs/usage/session_storage.md +1 -1
  16. data/lib/shopify_api/admin_versions.rb +3 -2
  17. data/lib/shopify_api/auth/jwt_payload.rb +2 -2
  18. data/lib/shopify_api/auth/oauth/auth_query.rb +1 -1
  19. data/lib/shopify_api/auth/oauth.rb +18 -12
  20. data/lib/shopify_api/auth/session.rb +1 -1
  21. data/lib/shopify_api/clients/graphql/client.rb +3 -3
  22. data/lib/shopify_api/clients/graphql/storefront.rb +2 -2
  23. data/lib/shopify_api/clients/http_client.rb +4 -4
  24. data/lib/shopify_api/clients/rest/admin.rb +10 -10
  25. data/lib/shopify_api/context.rb +57 -16
  26. data/lib/shopify_api/errors/feature_deprecated_error.rb +9 -0
  27. data/lib/shopify_api/errors/http_response_error.rb +7 -3
  28. data/lib/shopify_api/errors/log_level_not_found_error.rb +9 -0
  29. data/lib/shopify_api/logger.rb +82 -0
  30. data/lib/shopify_api/rest/base.rb +14 -7
  31. data/lib/shopify_api/rest/resources/2022_01/abandoned_checkout.rb +4 -3
  32. data/lib/shopify_api/rest/resources/2022_01/assigned_fulfillment_order.rb +7 -0
  33. data/lib/shopify_api/rest/resources/2022_01/customer.rb +35 -1
  34. data/lib/shopify_api/rest/resources/2022_01/draft_order.rb +3 -1
  35. data/lib/shopify_api/rest/resources/2022_01/fulfillment.rb +5 -1
  36. data/lib/shopify_api/rest/resources/2022_01/fulfillment_order.rb +3 -3
  37. data/lib/shopify_api/rest/resources/2022_01/fulfillment_request.rb +5 -1
  38. data/lib/shopify_api/rest/resources/2022_01/gift_card.rb +9 -1
  39. data/lib/shopify_api/rest/resources/2022_01/metafield.rb +12 -5
  40. data/lib/shopify_api/rest/resources/2022_04/abandoned_checkout.rb +4 -3
  41. data/lib/shopify_api/rest/resources/2022_04/assigned_fulfillment_order.rb +7 -0
  42. data/lib/shopify_api/rest/resources/2022_04/customer.rb +35 -1
  43. data/lib/shopify_api/rest/resources/2022_04/draft_order.rb +3 -1
  44. data/lib/shopify_api/rest/resources/2022_04/fulfillment.rb +5 -1
  45. data/lib/shopify_api/rest/resources/2022_04/fulfillment_order.rb +3 -3
  46. data/lib/shopify_api/rest/resources/2022_04/fulfillment_request.rb +5 -1
  47. data/lib/shopify_api/rest/resources/2022_04/gift_card.rb +9 -1
  48. data/lib/shopify_api/rest/resources/2022_04/metafield.rb +10 -8
  49. data/lib/shopify_api/rest/resources/2022_07/abandoned_checkout.rb +4 -3
  50. data/lib/shopify_api/rest/resources/2022_07/assigned_fulfillment_order.rb +7 -0
  51. data/lib/shopify_api/rest/resources/2022_07/customer.rb +29 -1
  52. data/lib/shopify_api/rest/resources/2022_07/dispute_evidence.rb +2 -2
  53. data/lib/shopify_api/rest/resources/2022_07/fulfillment.rb +5 -1
  54. data/lib/shopify_api/rest/resources/2022_07/fulfillment_order.rb +3 -3
  55. data/lib/shopify_api/rest/resources/2022_07/gift_card.rb +9 -1
  56. data/lib/shopify_api/rest/resources/2022_07/metafield.rb +10 -8
  57. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/abandoned_checkout.rb +4 -3
  58. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/assigned_fulfillment_order.rb +7 -0
  59. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/carrier_service.rb +0 -3
  60. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/customer.rb +38 -1
  61. data/lib/shopify_api/rest/resources/2022_10/dispute_evidence.rb +117 -0
  62. data/lib/shopify_api/rest/resources/2022_10/dispute_file_upload.rb +81 -0
  63. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/draft_order.rb +3 -1
  64. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/fulfillment.rb +7 -50
  65. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/fulfillment_order.rb +33 -4
  66. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/fulfillment_request.rb +5 -1
  67. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/fulfillment_service.rb +3 -3
  68. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/gift_card.rb +9 -1
  69. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/metafield.rb +10 -8
  70. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/order.rb +3 -0
  71. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/price_rule.rb +3 -3
  72. data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/shop.rb +3 -0
  73. data/lib/shopify_api/rest/resources/2023_01/abandoned_checkout.rb +190 -0
  74. data/lib/shopify_api/rest/resources/2023_01/access_scope.rb +58 -0
  75. data/lib/shopify_api/rest/resources/2023_01/apple_pay_certificate.rb +105 -0
  76. data/lib/shopify_api/rest/resources/2023_01/application_charge.rb +104 -0
  77. data/lib/shopify_api/rest/resources/2023_01/application_credit.rb +87 -0
  78. data/lib/shopify_api/rest/resources/2023_01/article.rb +265 -0
  79. data/lib/shopify_api/rest/resources/2023_01/asset.rb +118 -0
  80. data/lib/shopify_api/rest/resources/2023_01/assigned_fulfillment_order.rb +86 -0
  81. data/lib/shopify_api/rest/resources/2023_01/balance.rb +50 -0
  82. data/lib/shopify_api/rest/resources/2023_01/blog.rb +162 -0
  83. data/lib/shopify_api/rest/resources/2023_01/cancellation_request.rb +83 -0
  84. data/lib/shopify_api/rest/resources/2023_01/carrier_service.rb +113 -0
  85. data/lib/shopify_api/rest/resources/2023_01/checkout.rb +209 -0
  86. data/lib/shopify_api/rest/resources/2023_01/collect.rb +142 -0
  87. data/lib/shopify_api/rest/resources/2023_01/collection.rb +110 -0
  88. data/lib/shopify_api/rest/resources/2023_01/collection_listing.rb +155 -0
  89. data/lib/shopify_api/rest/resources/2023_01/comment.rb +283 -0
  90. data/lib/shopify_api/rest/resources/2023_01/country.rb +137 -0
  91. data/lib/shopify_api/rest/resources/2023_01/currency.rb +57 -0
  92. data/lib/shopify_api/rest/resources/2023_01/custom_collection.rb +187 -0
  93. data/lib/shopify_api/rest/resources/2023_01/customer.rb +329 -0
  94. data/lib/shopify_api/rest/resources/2023_01/customer_address.rb +201 -0
  95. data/lib/shopify_api/rest/resources/2023_01/customer_saved_search.rb +169 -0
  96. data/lib/shopify_api/rest/resources/2023_01/deprecated_api_call.rb +57 -0
  97. data/lib/shopify_api/rest/resources/2023_01/discount_code.rb +219 -0
  98. data/lib/shopify_api/rest/resources/2023_01/dispute.rb +111 -0
  99. data/lib/shopify_api/rest/resources/2023_01/draft_order.rb +275 -0
  100. data/lib/shopify_api/rest/resources/2023_01/event.rb +148 -0
  101. data/lib/shopify_api/rest/resources/2023_01/fulfillment.rb +225 -0
  102. data/lib/shopify_api/rest/resources/2023_01/fulfillment_event.rb +166 -0
  103. data/lib/shopify_api/rest/resources/2023_01/fulfillment_order.rb +316 -0
  104. data/lib/shopify_api/rest/resources/2023_01/fulfillment_request.rb +87 -0
  105. data/lib/shopify_api/rest/resources/2023_01/fulfillment_service.rb +130 -0
  106. data/lib/shopify_api/rest/resources/2023_01/gift_card.rb +215 -0
  107. data/lib/shopify_api/rest/resources/2023_01/gift_card_adjustment.rb +118 -0
  108. data/lib/shopify_api/rest/resources/2023_01/image.rb +157 -0
  109. data/lib/shopify_api/rest/resources/2023_01/inventory_item.rb +108 -0
  110. data/lib/shopify_api/rest/resources/2023_01/inventory_level.rb +179 -0
  111. data/lib/shopify_api/rest/resources/2023_01/location.rb +167 -0
  112. data/lib/shopify_api/rest/resources/2023_01/locations_for_move.rb +56 -0
  113. data/lib/shopify_api/rest/resources/2023_01/marketing_event.rb +209 -0
  114. data/lib/shopify_api/rest/resources/2023_01/metafield.rb +344 -0
  115. data/lib/shopify_api/rest/resources/2023_01/mobile_platform_application.rb +110 -0
  116. data/lib/shopify_api/rest/resources/2023_01/order.rb +479 -0
  117. data/lib/shopify_api/rest/resources/2023_01/order_risk.rb +135 -0
  118. data/lib/shopify_api/rest/resources/2023_01/page.rb +194 -0
  119. data/lib/shopify_api/rest/resources/2023_01/payment.rb +140 -0
  120. data/lib/shopify_api/rest/resources/2023_01/payment_gateway.rb +143 -0
  121. data/lib/shopify_api/rest/resources/2023_01/payment_transaction.rb +107 -0
  122. data/lib/shopify_api/rest/resources/2023_01/payout.rb +97 -0
  123. data/lib/shopify_api/rest/resources/2023_01/policy.rb +69 -0
  124. data/lib/shopify_api/rest/resources/2023_01/price_rule.rb +223 -0
  125. data/lib/shopify_api/rest/resources/2023_01/product.rb +223 -0
  126. data/lib/shopify_api/rest/resources/2023_01/product_listing.rb +196 -0
  127. data/lib/shopify_api/rest/resources/2023_01/product_resource_feedback.rb +88 -0
  128. data/lib/shopify_api/rest/resources/2023_01/province.rb +132 -0
  129. data/lib/shopify_api/rest/resources/2023_01/recurring_application_charge.rb +167 -0
  130. data/lib/shopify_api/rest/resources/2023_01/redirect.rb +139 -0
  131. data/lib/shopify_api/rest/resources/2023_01/refund.rb +151 -0
  132. data/lib/shopify_api/rest/resources/2023_01/report.rb +121 -0
  133. data/lib/shopify_api/rest/resources/2023_01/resource_feedback.rb +73 -0
  134. data/lib/shopify_api/rest/resources/2023_01/script_tag.rb +155 -0
  135. data/lib/shopify_api/rest/resources/2023_01/shipping_zone.rb +83 -0
  136. data/lib/shopify_api/rest/resources/2023_01/shop.rb +221 -0
  137. data/lib/shopify_api/rest/resources/2023_01/smart_collection.rb +216 -0
  138. data/lib/shopify_api/rest/resources/2023_01/storefront_access_token.rb +87 -0
  139. data/lib/shopify_api/rest/resources/2023_01/tender_transaction.rb +93 -0
  140. data/lib/shopify_api/rest/resources/2023_01/theme.rb +120 -0
  141. data/lib/shopify_api/rest/resources/2023_01/transaction.rb +181 -0
  142. data/lib/shopify_api/rest/resources/2023_01/usage_charge.rb +97 -0
  143. data/lib/shopify_api/rest/resources/2023_01/user.rb +138 -0
  144. data/lib/shopify_api/rest/resources/2023_01/variant.rb +212 -0
  145. data/lib/shopify_api/rest/resources/2023_01/webhook.rb +168 -0
  146. data/lib/shopify_api/utils/graphql_proxy.rb +2 -2
  147. data/lib/shopify_api/utils/session_utils.rb +42 -25
  148. data/lib/shopify_api/version.rb +1 -1
  149. data/lib/shopify_api/webhooks/registrations/http.rb +7 -1
  150. data/lib/shopify_api/webhooks/registry.rb +8 -8
  151. data/service.yml +0 -1
  152. data/shopify_api.gemspec +4 -2
  153. metadata +195 -78
  154. data/.github/ISSUE_TEMPLATE.md +0 -35
  155. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/access_scope.rb +0 -0
  156. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/android_pay_key.rb +0 -0
  157. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/apple_pay_certificate.rb +0 -0
  158. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/application_charge.rb +0 -0
  159. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/application_credit.rb +0 -0
  160. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/article.rb +0 -0
  161. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/asset.rb +0 -0
  162. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/balance.rb +0 -0
  163. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/blog.rb +0 -0
  164. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/cancellation_request.rb +0 -0
  165. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/checkout.rb +0 -0
  166. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/collect.rb +0 -0
  167. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/collection.rb +0 -0
  168. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/collection_listing.rb +0 -0
  169. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/comment.rb +0 -0
  170. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/country.rb +0 -0
  171. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/currency.rb +0 -0
  172. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/custom_collection.rb +0 -0
  173. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/customer_address.rb +0 -0
  174. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/customer_saved_search.rb +0 -0
  175. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/deprecated_api_call.rb +0 -0
  176. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/discount_code.rb +0 -0
  177. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/dispute.rb +0 -0
  178. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/event.rb +0 -0
  179. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/fulfillment_event.rb +0 -0
  180. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/gift_card_adjustment.rb +0 -0
  181. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/image.rb +0 -0
  182. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/inventory_item.rb +0 -0
  183. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/inventory_level.rb +0 -0
  184. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/location.rb +0 -0
  185. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/locations_for_move.rb +0 -0
  186. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/marketing_event.rb +0 -0
  187. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/mobile_platform_application.rb +0 -0
  188. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/order_risk.rb +0 -0
  189. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/page.rb +0 -0
  190. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/payment.rb +0 -0
  191. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/payment_gateway.rb +0 -0
  192. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/payment_transaction.rb +0 -0
  193. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/payout.rb +0 -0
  194. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/policy.rb +0 -0
  195. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/product.rb +0 -0
  196. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/product_listing.rb +0 -0
  197. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/product_resource_feedback.rb +0 -0
  198. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/province.rb +0 -0
  199. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/recurring_application_charge.rb +0 -0
  200. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/redirect.rb +0 -0
  201. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/refund.rb +0 -0
  202. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/report.rb +0 -0
  203. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/resource_feedback.rb +0 -0
  204. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/script_tag.rb +0 -0
  205. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/shipping_zone.rb +0 -0
  206. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/smart_collection.rb +0 -0
  207. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/storefront_access_token.rb +0 -0
  208. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/tender_transaction.rb +0 -0
  209. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/theme.rb +0 -0
  210. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/transaction.rb +0 -0
  211. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/usage_charge.rb +0 -0
  212. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/user.rb +0 -0
  213. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/variant.rb +0 -0
  214. /data/lib/shopify_api/rest/resources/{2021_10 → 2022_10}/webhook.rb +0 -0
@@ -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,
@@ -245,11 +198,15 @@ module ShopifyAPI
245
198
 
246
199
  sig do
247
200
  params(
201
+ notify_customer: T.untyped,
202
+ tracking_info: T.untyped,
248
203
  body: T.untyped,
249
204
  kwargs: T.untyped
250
205
  ).returns(T.untyped)
251
206
  end
252
207
  def update_tracking(
208
+ notify_customer: nil,
209
+ tracking_info: nil,
253
210
  body: nil,
254
211
  **kwargs
255
212
  )
@@ -258,7 +215,7 @@ module ShopifyAPI
258
215
  operation: :update_tracking,
259
216
  session: @session,
260
217
  ids: {id: @id},
261
- params: {}.merge(kwargs).compact,
218
+ params: {notify_customer: notify_customer, tracking_info: tracking_info}.merge(kwargs).compact,
262
219
  body: body,
263
220
  entity: self,
264
221
  )
@@ -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)) }
@@ -193,13 +197,13 @@ module ShopifyAPI
193
197
 
194
198
  sig do
195
199
  params(
196
- new_location_id: T.untyped,
200
+ fulfillment_order: T.untyped,
197
201
  body: T.untyped,
198
202
  kwargs: T.untyped
199
203
  ).returns(T.untyped)
200
204
  end
201
205
  def move(
202
- new_location_id: nil,
206
+ fulfillment_order: nil,
203
207
  body: nil,
204
208
  **kwargs
205
209
  )
@@ -208,7 +212,7 @@ module ShopifyAPI
208
212
  operation: :move,
209
213
  session: @session,
210
214
  ids: {id: @id},
211
- params: {new_location_id: new_location_id}.merge(kwargs).compact,
215
+ params: {fulfillment_order: fulfillment_order}.merge(kwargs).compact,
212
216
  body: body,
213
217
  entity: self,
214
218
  )
@@ -277,5 +281,30 @@ module ShopifyAPI
277
281
  )
278
282
  end
279
283
 
284
+ sig do
285
+ params(
286
+ fulfillment_order_ids: T.untyped,
287
+ fulfillment_deadline: T.untyped,
288
+ body: T.untyped,
289
+ kwargs: T.untyped
290
+ ).returns(T.untyped)
291
+ end
292
+ def set_fulfillment_orders_deadline(
293
+ fulfillment_order_ids: nil,
294
+ fulfillment_deadline: nil,
295
+ body: nil,
296
+ **kwargs
297
+ )
298
+ self.class.request(
299
+ http_method: :post,
300
+ operation: :set_fulfillment_orders_deadline,
301
+ session: @session,
302
+ ids: {},
303
+ params: {fulfillment_order_ids: fulfillment_order_ids, fulfillment_deadline: fulfillment_deadline}.merge(kwargs).compact,
304
+ body: body,
305
+ entity: self,
306
+ )
307
+ end
308
+
280
309
  end
281
310
  end
@@ -59,12 +59,16 @@ module ShopifyAPI
59
59
  sig do
60
60
  params(
61
61
  message: T.untyped,
62
+ reason: T.untyped,
63
+ line_items: T.untyped,
62
64
  body: T.untyped,
63
65
  kwargs: T.untyped
64
66
  ).returns(T.untyped)
65
67
  end
66
68
  def reject(
67
69
  message: nil,
70
+ reason: nil,
71
+ line_items: nil,
68
72
  body: nil,
69
73
  **kwargs
70
74
  )
@@ -73,7 +77,7 @@ module ShopifyAPI
73
77
  operation: :reject,
74
78
  session: @session,
75
79
  ids: {fulfillment_order_id: @fulfillment_order_id},
76
- params: {message: message}.merge(kwargs).compact,
80
+ params: {message: message, reason: reason, line_items: line_items}.merge(kwargs).compact,
77
81
  body: body,
78
82
  entity: self,
79
83
  )
@@ -18,13 +18,13 @@ module ShopifyAPI
18
18
 
19
19
  @admin_graphql_api_id = T.let(nil, T.nilable(String))
20
20
  @callback_url = T.let(nil, T.nilable(String))
21
- @format = T.let(nil, T.nilable(String))
22
21
  @fulfillment_orders_opt_in = T.let(nil, T.nilable(T::Boolean))
23
22
  @handle = T.let(nil, T.nilable(String))
24
23
  @id = T.let(nil, T.nilable(Integer))
25
24
  @inventory_management = T.let(nil, T.nilable(T::Boolean))
26
25
  @location_id = T.let(nil, T.nilable(Integer))
27
26
  @name = T.let(nil, T.nilable(String))
27
+ @permits_sku_sharing = T.let(nil, T.nilable(T::Boolean))
28
28
  @provider_id = T.let(nil, T.nilable(String))
29
29
  @requires_shipping_method = T.let(nil, T.nilable(T::Boolean))
30
30
  @tracking_support = T.let(nil, T.nilable(T::Boolean))
@@ -44,8 +44,6 @@ module ShopifyAPI
44
44
  attr_reader :admin_graphql_api_id
45
45
  sig { returns(T.nilable(String)) }
46
46
  attr_reader :callback_url
47
- sig { returns(T.nilable(String)) }
48
- attr_reader :format
49
47
  sig { returns(T.nilable(T::Boolean)) }
50
48
  attr_reader :fulfillment_orders_opt_in
51
49
  sig { returns(T.nilable(String)) }
@@ -58,6 +56,8 @@ module ShopifyAPI
58
56
  attr_reader :location_id
59
57
  sig { returns(T.nilable(String)) }
60
58
  attr_reader :name
59
+ sig { returns(T.nilable(T::Boolean)) }
60
+ attr_reader :permits_sku_sharing
61
61
  sig { returns(T.nilable(String)) }
62
62
  attr_reader :provider_id
63
63
  sig { returns(T.nilable(T::Boolean)) }
@@ -157,6 +157,10 @@ module ShopifyAPI
157
157
  query: T.untyped,
158
158
  limit: T.untyped,
159
159
  fields: T.untyped,
160
+ created_at_min: T.untyped,
161
+ created_at_max: T.untyped,
162
+ updated_at_min: T.untyped,
163
+ updated_at_max: T.untyped,
160
164
  session: Auth::Session,
161
165
  kwargs: T.untyped
162
166
  ).returns(T.untyped)
@@ -166,6 +170,10 @@ module ShopifyAPI
166
170
  query: nil,
167
171
  limit: nil,
168
172
  fields: nil,
173
+ created_at_min: nil,
174
+ created_at_max: nil,
175
+ updated_at_min: nil,
176
+ updated_at_max: nil,
169
177
  session: ShopifyAPI::Context.active_session,
170
178
  **kwargs
171
179
  )
@@ -174,7 +182,7 @@ module ShopifyAPI
174
182
  operation: :search,
175
183
  session: session,
176
184
  ids: {},
177
- params: {order: order, query: query, limit: limit, fields: fields}.merge(kwargs).compact,
185
+ params: {order: order, query: query, limit: limit, fields: fields, created_at_min: created_at_min, created_at_max: created_at_max, updated_at_min: updated_at_min, updated_at_max: updated_at_max}.merge(kwargs).compact,
178
186
  body: {},
179
187
  entity: nil,
180
188
  )
@@ -35,7 +35,6 @@ module ShopifyAPI
35
35
  @product_image_id = T.let(nil, T.nilable(Integer))
36
36
  @type = T.let(nil, T.nilable(String))
37
37
  @updated_at = T.let(nil, T.nilable(String))
38
- @value_type = T.let(nil, T.nilable(String))
39
38
  @variant_id = T.let(nil, T.nilable(Integer))
40
39
  end
41
40
 
@@ -44,6 +43,7 @@ module ShopifyAPI
44
43
  @paths = T.let([
45
44
  {http_method: :delete, operation: :delete, ids: [:article_id, :id], path: "articles/<article_id>/metafields/<id>.json"},
46
45
  {http_method: :delete, operation: :delete, ids: [:blog_id, :id], path: "blogs/<blog_id>/metafields/<id>.json"},
46
+ {http_method: :delete, operation: :delete, ids: [:blog_id, :id], path: "blogs/<blog_id>/metafields/<id>.json"},
47
47
  {http_method: :delete, operation: :delete, ids: [:collection_id, :id], path: "collections/<collection_id>/metafields/<id>.json"},
48
48
  {http_method: :delete, operation: :delete, ids: [:customer_id, :id], path: "customers/<customer_id>/metafields/<id>.json"},
49
49
  {http_method: :delete, operation: :delete, ids: [:draft_order_id, :id], path: "draft_orders/<draft_order_id>/metafields/<id>.json"},
@@ -55,6 +55,7 @@ module ShopifyAPI
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"},
57
57
  {http_method: :get, operation: :count, ids: [:blog_id], path: "blogs/<blog_id>/metafields/count.json"},
58
+ {http_method: :get, operation: :count, ids: [:blog_id], path: "blogs/<blog_id>/metafields/count.json"},
58
59
  {http_method: :get, operation: :count, ids: [:collection_id], path: "collections/<collection_id>/metafields/count.json"},
59
60
  {http_method: :get, operation: :count, ids: [:customer_id], path: "customers/<customer_id>/metafields/count.json"},
60
61
  {http_method: :get, operation: :count, ids: [:draft_order_id], path: "draft_orders/<draft_order_id>/metafields/count.json"},
@@ -67,6 +68,8 @@ module ShopifyAPI
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"},
72
+ {http_method: :get, operation: :get, ids: [:blog_id, :id], path: "blogs/<blog_id>/metafields/<id>.json"},
70
73
  {http_method: :get, operation: :get, ids: [:blog_id, :id], path: "blogs/<blog_id>/metafields/<id>.json"},
71
74
  {http_method: :get, operation: :get, ids: [:collection_id], path: "collections/<collection_id>/metafields.json"},
72
75
  {http_method: :get, operation: :get, ids: [:collection_id, :id], path: "collections/<collection_id>/metafields/<id>.json"},
@@ -75,7 +78,6 @@ module ShopifyAPI
75
78
  {http_method: :get, operation: :get, ids: [:draft_order_id], path: "draft_orders/<draft_order_id>/metafields.json"},
76
79
  {http_method: :get, operation: :get, ids: [:draft_order_id, :id], path: "draft_orders/<draft_order_id>/metafields/<id>.json"},
77
80
  {http_method: :get, operation: :get, ids: [], path: "metafields.json"},
78
- {http_method: :get, operation: :get, ids: [], path: "metafields.json"},
79
81
  {http_method: :get, operation: :get, ids: [:id], path: "metafields/<id>.json"},
80
82
  {http_method: :get, operation: :get, ids: [:order_id], path: "orders/<order_id>/metafields.json"},
81
83
  {http_method: :get, operation: :get, ids: [:order_id, :id], path: "orders/<order_id>/metafields/<id>.json"},
@@ -89,6 +91,7 @@ module ShopifyAPI
89
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"},
94
+ {http_method: :post, operation: :post, ids: [:blog_id], path: "blogs/<blog_id>/metafields.json"},
92
95
  {http_method: :post, operation: :post, ids: [:collection_id], path: "collections/<collection_id>/metafields.json"},
93
96
  {http_method: :post, operation: :post, ids: [:customer_id], path: "customers/<customer_id>/metafields.json"},
94
97
  {http_method: :post, operation: :post, ids: [:draft_order_id], path: "draft_orders/<draft_order_id>/metafields.json"},
@@ -100,6 +103,7 @@ module ShopifyAPI
100
103
  {http_method: :post, operation: :post, ids: [:variant_id], path: "variants/<variant_id>/metafields.json"},
101
104
  {http_method: :put, operation: :put, ids: [:article_id, :id], path: "articles/<article_id>/metafields/<id>.json"},
102
105
  {http_method: :put, operation: :put, ids: [:blog_id, :id], path: "blogs/<blog_id>/metafields/<id>.json"},
106
+ {http_method: :put, operation: :put, ids: [:blog_id, :id], path: "blogs/<blog_id>/metafields/<id>.json"},
103
107
  {http_method: :put, operation: :put, ids: [:collection_id, :id], path: "collections/<collection_id>/metafields/<id>.json"},
104
108
  {http_method: :put, operation: :put, ids: [:customer_id, :id], path: "customers/<customer_id>/metafields/<id>.json"},
105
109
  {http_method: :put, operation: :put, ids: [:draft_order_id, :id], path: "draft_orders/<draft_order_id>/metafields/<id>.json"},
@@ -149,8 +153,6 @@ module ShopifyAPI
149
153
  attr_reader :type
150
154
  sig { returns(T.nilable(String)) }
151
155
  attr_reader :updated_at
152
- sig { returns(T.nilable(String)) }
153
- attr_reader :value_type
154
156
  sig { returns(T.nilable(Integer)) }
155
157
  attr_reader :variant_id
156
158
 
@@ -168,6 +170,7 @@ module ShopifyAPI
168
170
  product_image_id: T.nilable(T.any(Integer, String)),
169
171
  product_id: T.nilable(T.any(Integer, String)),
170
172
  variant_id: T.nilable(T.any(Integer, String)),
173
+ fields: T.untyped,
171
174
  session: Auth::Session
172
175
  ).returns(T.nilable(Metafield))
173
176
  end
@@ -183,12 +186,13 @@ module ShopifyAPI
183
186
  product_image_id: nil,
184
187
  product_id: nil,
185
188
  variant_id: nil,
189
+ fields: nil,
186
190
  session: ShopifyAPI::Context.active_session
187
191
  )
188
192
  result = base_find(
189
193
  session: session,
190
194
  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: {},
195
+ params: {fields: fields},
192
196
  )
193
197
  T.cast(result[0], T.nilable(Metafield))
194
198
  end
@@ -253,7 +257,6 @@ module ShopifyAPI
253
257
  namespace: T.untyped,
254
258
  key: T.untyped,
255
259
  type: T.untyped,
256
- value_type: T.untyped,
257
260
  fields: T.untyped,
258
261
  metafield: T.nilable(T::Hash[T.untyped, T.untyped]),
259
262
  session: Auth::Session,
@@ -280,7 +283,6 @@ module ShopifyAPI
280
283
  namespace: nil,
281
284
  key: nil,
282
285
  type: nil,
283
- value_type: nil,
284
286
  fields: nil,
285
287
  metafield: nil,
286
288
  session: ShopifyAPI::Context.active_session,
@@ -289,7 +291,7 @@ module ShopifyAPI
289
291
  response = base_find(
290
292
  session: session,
291
293
  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,
294
+ 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
295
  )
294
296
 
295
297
  T.cast(response, T::Array[Metafield])
@@ -51,6 +51,7 @@ module ShopifyAPI
51
51
  @id = T.let(nil, T.nilable(Integer))
52
52
  @landing_site = T.let(nil, T.nilable(String))
53
53
  @location_id = T.let(nil, T.nilable(Integer))
54
+ @merchant_of_record_app_id = T.let(nil, T.nilable(Integer))
54
55
  @name = T.let(nil, T.nilable(String))
55
56
  @note = T.let(nil, T.nilable(String))
56
57
  @note_attributes = T.let(nil, T.nilable(T::Array[T.untyped]))
@@ -185,6 +186,8 @@ module ShopifyAPI
185
186
  attr_reader :landing_site
186
187
  sig { returns(T.nilable(Integer)) }
187
188
  attr_reader :location_id
189
+ sig { returns(T.nilable(Integer)) }
190
+ attr_reader :merchant_of_record_app_id
188
191
  sig { returns(T.nilable(String)) }
189
192
  attr_reader :name
190
193
  sig { returns(T.nilable(String)) }
@@ -19,6 +19,7 @@ module ShopifyAPI
19
19
  @allocation_limit = T.let(nil, T.nilable(Integer))
20
20
  @allocation_method = T.let(nil, T.nilable(String))
21
21
  @created_at = T.let(nil, T.nilable(String))
22
+ @customer_segment_prerequisite_ids = T.let(nil, T.nilable(T::Array[T.untyped]))
22
23
  @customer_selection = T.let(nil, T.nilable(String))
23
24
  @ends_at = T.let(nil, T.nilable(String))
24
25
  @entitled_collection_ids = T.let(nil, T.nilable(T::Array[T.untyped]))
@@ -31,7 +32,6 @@ module ShopifyAPI
31
32
  @prerequisite_customer_ids = T.let(nil, T.nilable(T::Array[T.untyped]))
32
33
  @prerequisite_product_ids = T.let(nil, T.nilable(T::Array[T.untyped]))
33
34
  @prerequisite_quantity_range = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
34
- @prerequisite_saved_search_ids = T.let(nil, T.nilable(T::Array[T.untyped]))
35
35
  @prerequisite_shipping_price_range = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
36
36
  @prerequisite_subtotal_range = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
37
37
  @prerequisite_to_entitlement_purchase = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
@@ -64,6 +64,8 @@ module ShopifyAPI
64
64
  attr_reader :allocation_method
65
65
  sig { returns(T.nilable(String)) }
66
66
  attr_reader :created_at
67
+ sig { returns(T.nilable(T::Array[Integer])) }
68
+ attr_reader :customer_segment_prerequisite_ids
67
69
  sig { returns(T.nilable(String)) }
68
70
  attr_reader :customer_selection
69
71
  sig { returns(T.nilable(String)) }
@@ -88,8 +90,6 @@ module ShopifyAPI
88
90
  attr_reader :prerequisite_product_ids
89
91
  sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
90
92
  attr_reader :prerequisite_quantity_range
91
- sig { returns(T.nilable(T::Array[Integer])) }
92
- attr_reader :prerequisite_saved_search_ids
93
93
  sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
94
94
  attr_reader :prerequisite_shipping_price_range
95
95
  sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
@@ -44,6 +44,7 @@ module ShopifyAPI
44
44
  @id = T.let(nil, T.nilable(Integer))
45
45
  @latitude = T.let(nil, T.nilable(Float))
46
46
  @longitude = T.let(nil, T.nilable(Float))
47
+ @marketing_sms_consent_enabled_at_checkout = T.let(nil, T.nilable(T::Boolean))
47
48
  @money_format = T.let(nil, T.nilable(String))
48
49
  @money_in_emails_format = T.let(nil, T.nilable(String))
49
50
  @money_with_currency_format = T.let(nil, T.nilable(String))
@@ -135,6 +136,8 @@ module ShopifyAPI
135
136
  attr_reader :latitude
136
137
  sig { returns(T.nilable(Float)) }
137
138
  attr_reader :longitude
139
+ sig { returns(T.nilable(T::Boolean)) }
140
+ attr_reader :marketing_sms_consent_enabled_at_checkout
138
141
  sig { returns(T.nilable(String)) }
139
142
  attr_reader :money_format
140
143
  sig { returns(T.nilable(String)) }
@@ -0,0 +1,190 @@
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 AbandonedCheckout < 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
+ @abandoned_checkout_url = T.let(nil, T.nilable(String))
20
+ @billing_address = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
21
+ @buyer_accepts_marketing = T.let(nil, T.nilable(T::Boolean))
22
+ @buyer_accepts_sms_marketing = T.let(nil, T.nilable(T::Boolean))
23
+ @cart_token = T.let(nil, T.nilable(String))
24
+ @closed_at = T.let(nil, T.nilable(String))
25
+ @completed_at = T.let(nil, T.nilable(String))
26
+ @created_at = T.let(nil, T.nilable(String))
27
+ @currency = T.let(nil, T.nilable(Currency))
28
+ @customer = T.let(nil, T.nilable(Customer))
29
+ @customer_locale = T.let(nil, T.nilable(String))
30
+ @device_id = T.let(nil, T.nilable(Integer))
31
+ @discount_codes = T.let(nil, T.nilable(T::Array[T.untyped]))
32
+ @email = T.let(nil, T.nilable(String))
33
+ @gateway = T.let(nil, T.nilable(String))
34
+ @id = T.let(nil, T.nilable(Integer))
35
+ @landing_site = T.let(nil, T.nilable(String))
36
+ @line_items = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
37
+ @location_id = T.let(nil, T.nilable(Integer))
38
+ @note = T.let(nil, T.nilable(String))
39
+ @phone = T.let(nil, T.nilable(String))
40
+ @presentment_currency = T.let(nil, T.nilable(String))
41
+ @referring_site = T.let(nil, T.nilable(String))
42
+ @shipping_address = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
43
+ @shipping_lines = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
44
+ @sms_marketing_phone = T.let(nil, T.nilable(String))
45
+ @source_name = T.let(nil, T.nilable(String))
46
+ @subtotal_price = T.let(nil, T.nilable(String))
47
+ @tax_lines = T.let(nil, T.nilable(T::Hash[T.untyped, T.untyped]))
48
+ @taxes_included = T.let(nil, T.nilable(T::Boolean))
49
+ @token = T.let(nil, T.nilable(String))
50
+ @total_discounts = T.let(nil, T.nilable(String))
51
+ @total_duties = T.let(nil, T.nilable(String))
52
+ @total_line_items_price = T.let(nil, T.nilable(String))
53
+ @total_price = T.let(nil, T.nilable(String))
54
+ @total_tax = T.let(nil, T.nilable(String))
55
+ @total_weight = T.let(nil, T.nilable(Integer))
56
+ @updated_at = T.let(nil, T.nilable(String))
57
+ @user_id = T.let(nil, T.nilable(Integer))
58
+ end
59
+
60
+ @has_one = T.let({
61
+ currency: Currency,
62
+ customer: Customer
63
+ }, T::Hash[Symbol, Class])
64
+ @has_many = T.let({
65
+ discount_codes: DiscountCode
66
+ }, T::Hash[Symbol, Class])
67
+ @paths = T.let([
68
+ {http_method: :get, operation: :checkouts, ids: [], path: "checkouts.json"},
69
+ {http_method: :get, operation: :checkouts, ids: [], path: "checkouts.json"}
70
+ ], T::Array[T::Hash[String, T.any(T::Array[Symbol], String, Symbol)]])
71
+
72
+ sig { returns(T.nilable(String)) }
73
+ attr_reader :abandoned_checkout_url
74
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
75
+ attr_reader :billing_address
76
+ sig { returns(T.nilable(T::Boolean)) }
77
+ attr_reader :buyer_accepts_marketing
78
+ sig { returns(T.nilable(T::Boolean)) }
79
+ attr_reader :buyer_accepts_sms_marketing
80
+ sig { returns(T.nilable(String)) }
81
+ attr_reader :cart_token
82
+ sig { returns(T.nilable(String)) }
83
+ attr_reader :closed_at
84
+ sig { returns(T.nilable(String)) }
85
+ attr_reader :completed_at
86
+ sig { returns(T.nilable(String)) }
87
+ attr_reader :created_at
88
+ sig { returns(T.nilable(Currency)) }
89
+ attr_reader :currency
90
+ sig { returns(T.nilable(Customer)) }
91
+ attr_reader :customer
92
+ sig { returns(T.nilable(String)) }
93
+ attr_reader :customer_locale
94
+ sig { returns(T.nilable(Integer)) }
95
+ attr_reader :device_id
96
+ sig { returns(T.nilable(T::Array[DiscountCode])) }
97
+ attr_reader :discount_codes
98
+ sig { returns(T.nilable(String)) }
99
+ attr_reader :email
100
+ sig { returns(T.nilable(String)) }
101
+ attr_reader :gateway
102
+ sig { returns(T.nilable(Integer)) }
103
+ attr_reader :id
104
+ sig { returns(T.nilable(String)) }
105
+ attr_reader :landing_site
106
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
107
+ attr_reader :line_items
108
+ sig { returns(T.nilable(Integer)) }
109
+ attr_reader :location_id
110
+ sig { returns(T.nilable(String)) }
111
+ attr_reader :note
112
+ sig { returns(T.nilable(String)) }
113
+ attr_reader :phone
114
+ sig { returns(T.nilable(String)) }
115
+ attr_reader :presentment_currency
116
+ sig { returns(T.nilable(String)) }
117
+ attr_reader :referring_site
118
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
119
+ attr_reader :shipping_address
120
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
121
+ attr_reader :shipping_lines
122
+ sig { returns(T.nilable(String)) }
123
+ attr_reader :sms_marketing_phone
124
+ sig { returns(T.nilable(String)) }
125
+ attr_reader :source_name
126
+ sig { returns(T.nilable(String)) }
127
+ attr_reader :subtotal_price
128
+ sig { returns(T.nilable(T::Hash[T.untyped, T.untyped])) }
129
+ attr_reader :tax_lines
130
+ sig { returns(T.nilable(T::Boolean)) }
131
+ attr_reader :taxes_included
132
+ sig { returns(T.nilable(String)) }
133
+ attr_reader :token
134
+ sig { returns(T.nilable(String)) }
135
+ attr_reader :total_discounts
136
+ sig { returns(T.nilable(String)) }
137
+ attr_reader :total_duties
138
+ sig { returns(T.nilable(String)) }
139
+ attr_reader :total_line_items_price
140
+ sig { returns(T.nilable(String)) }
141
+ attr_reader :total_price
142
+ sig { returns(T.nilable(String)) }
143
+ attr_reader :total_tax
144
+ sig { returns(T.nilable(Integer)) }
145
+ attr_reader :total_weight
146
+ sig { returns(T.nilable(String)) }
147
+ attr_reader :updated_at
148
+ sig { returns(T.nilable(Integer)) }
149
+ attr_reader :user_id
150
+
151
+ class << self
152
+ sig do
153
+ params(
154
+ since_id: T.untyped,
155
+ created_at_min: T.untyped,
156
+ created_at_max: T.untyped,
157
+ updated_at_min: T.untyped,
158
+ updated_at_max: T.untyped,
159
+ status: T.untyped,
160
+ limit: T.untyped,
161
+ session: Auth::Session,
162
+ kwargs: T.untyped
163
+ ).returns(T.untyped)
164
+ end
165
+ def checkouts(
166
+ since_id: nil,
167
+ created_at_min: nil,
168
+ created_at_max: nil,
169
+ updated_at_min: nil,
170
+ updated_at_max: nil,
171
+ status: nil,
172
+ limit: nil,
173
+ session: ShopifyAPI::Context.active_session,
174
+ **kwargs
175
+ )
176
+ request(
177
+ http_method: :get,
178
+ operation: :checkouts,
179
+ session: session,
180
+ ids: {},
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,
182
+ body: {},
183
+ entity: nil,
184
+ )
185
+ end
186
+
187
+ end
188
+
189
+ end
190
+ end