inttegro 4.3.1 → 6.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 (697) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +39 -3
  4. data/Rakefile +2 -0
  5. data/lib/inttegro/app/application.rb +69 -0
  6. data/lib/inttegro/app/base.rb +11 -0
  7. data/lib/inttegro/app/create_request.rb +65 -0
  8. data/lib/inttegro/app/create_request_relationship_policy.rb +45 -0
  9. data/lib/inttegro/app/create_response.rb +28 -0
  10. data/lib/inttegro/app/credential_owner.rb +28 -0
  11. data/lib/inttegro/app/looked_up.rb +69 -0
  12. data/lib/inttegro/app/lookup_response.rb +28 -0
  13. data/lib/inttegro/app/management_role.rb +27 -0
  14. data/lib/inttegro/app/relationship.rb +114 -0
  15. data/lib/inttegro/app/relationship_kind.rb +25 -0
  16. data/lib/inttegro/app/relationship_policy.rb +43 -0
  17. data/lib/inttegro/app/relationship_status.rb +34 -0
  18. data/lib/inttegro/app/secret_key.rb +48 -0
  19. data/lib/inttegro/app/update_request.rb +48 -0
  20. data/lib/inttegro/app/update_response.rb +28 -0
  21. data/lib/inttegro/app/updated.rb +62 -0
  22. data/lib/inttegro/balance/base.rb +17 -0
  23. data/lib/inttegro/balance/currency_snapshot.rb +58 -0
  24. data/lib/inttegro/balance/currency_snapshot_refund.rb +27 -0
  25. data/lib/inttegro/balance/currency_snapshot_reserved.rb +27 -0
  26. data/lib/inttegro/balance/lookup_request.rb +21 -0
  27. data/lib/inttegro/balance/snapshot.rb +28 -0
  28. data/lib/inttegro/balance/snapshot_response.rb +28 -0
  29. data/lib/inttegro/balance/value.rb +27 -0
  30. data/lib/inttegro/balance_transaction/amount.rb +34 -0
  31. data/lib/inttegro/balance_transaction/balance_transaction.rb +107 -0
  32. data/lib/inttegro/balance_transaction/base.rb +11 -0
  33. data/lib/inttegro/balance_transaction/lookup_request.rb +27 -0
  34. data/lib/inttegro/balance_transaction/page.rb +42 -0
  35. data/lib/inttegro/balance_transaction/page_request.rb +34 -0
  36. data/lib/inttegro/balance_transaction/page_response.rb +28 -0
  37. data/lib/inttegro/balance_transaction/payout_configuration.rb +35 -0
  38. data/lib/inttegro/balance_transaction/payout_configuration_destination.rb +27 -0
  39. data/lib/inttegro/balance_transaction/questions.rb +48 -0
  40. data/lib/inttegro/balance_transaction/response.rb +30 -0
  41. data/lib/inttegro/balance_transaction/type.rb +27 -0
  42. data/lib/inttegro/bank_account/base.rb +17 -0
  43. data/lib/inttegro/bank_account/created.rb +63 -0
  44. data/lib/inttegro/bank_account/ghana_bank_account.rb +63 -0
  45. data/lib/inttegro/bank_account/type.rb +24 -0
  46. data/lib/inttegro/bank_account/updated.rb +63 -0
  47. data/lib/inttegro/broadcast/base.rb +17 -0
  48. data/lib/inttegro/broadcast/cancel_detail.rb +120 -0
  49. data/lib/inttegro/broadcast/cancel_request.rb +27 -0
  50. data/lib/inttegro/broadcast/cancel_response.rb +28 -0
  51. data/lib/inttegro/broadcast/creation_detail.rb +91 -0
  52. data/lib/inttegro/broadcast/detail.rb +113 -0
  53. data/lib/inttegro/broadcast/error.rb +41 -0
  54. data/lib/inttegro/broadcast/lookup_request.rb +27 -0
  55. data/lib/inttegro/broadcast/lookup_response.rb +28 -0
  56. data/lib/inttegro/broadcast/request.rb +68 -0
  57. data/lib/inttegro/broadcast/request_request_meta.rb +27 -0
  58. data/lib/inttegro/broadcast/response.rb +28 -0
  59. data/lib/inttegro/checkout/base.rb +17 -0
  60. data/lib/inttegro/checkout/billing_details.rb +42 -0
  61. data/lib/inttegro/checkout/confirm_payment_request.rb +48 -0
  62. data/lib/inttegro/checkout/invoice_view.rb +79 -0
  63. data/lib/inttegro/checkout/invoice_view_beneficiary.rb +97 -0
  64. data/lib/inttegro/checkout/invoice_view_format.rb +44 -0
  65. data/lib/inttegro/checkout/invoice_view_format_pdf.rb +27 -0
  66. data/lib/inttegro/checkout/invoice_view_format_receipt.rb +27 -0
  67. data/lib/inttegro/checkout/invoice_view_format_web.rb +27 -0
  68. data/lib/inttegro/checkout/invoice_view_status.rb +39 -0
  69. data/lib/inttegro/checkout/mobile_money_data.rb +42 -0
  70. data/lib/inttegro/checkout/mobile_money_data_network.rb +34 -0
  71. data/lib/inttegro/checkout/order.rb +154 -0
  72. data/lib/inttegro/checkout/order_checkout_settings.rb +34 -0
  73. data/lib/inttegro/checkout/order_created_from.rb +41 -0
  74. data/lib/inttegro/checkout/order_customer.rb +71 -0
  75. data/lib/inttegro/checkout/order_customer_billing_address.rb +21 -0
  76. data/lib/inttegro/checkout/order_customer_shipping_address.rb +21 -0
  77. data/lib/inttegro/checkout/order_line_item_group.rb +36 -0
  78. data/lib/inttegro/checkout/order_payment.rb +160 -0
  79. data/lib/inttegro/checkout/order_payment_billing_details.rb +21 -0
  80. data/lib/inttegro/checkout/order_payment_latest_attempt.rb +21 -0
  81. data/lib/inttegro/checkout/order_payment_latest_error.rb +21 -0
  82. data/lib/inttegro/checkout/order_payment_next_action.rb +21 -0
  83. data/lib/inttegro/checkout/order_payment_payment_method.rb +21 -0
  84. data/lib/inttegro/checkout/order_reference_request.rb +27 -0
  85. data/lib/inttegro/checkout/order_response.rb +38 -0
  86. data/lib/inttegro/checkout/order_status.rb +42 -0
  87. data/lib/inttegro/checkout/pay_request.rb +53 -0
  88. data/lib/inttegro/checkout/pay_request_payment_method_data.rb +47 -0
  89. data/lib/inttegro/checkout/pay_request_payment_method_data_type.rb +25 -0
  90. data/lib/inttegro/checkout/payment_address.rb +76 -0
  91. data/lib/inttegro/checkout/payment_method_data.rb +45 -0
  92. data/lib/inttegro/checkout/payment_method_data_billing_details.rb +43 -0
  93. data/lib/inttegro/checkout/payment_method_data_type.rb +25 -0
  94. data/lib/inttegro/chime/base.rb +11 -0
  95. data/lib/inttegro/chime/chime.rb +99 -0
  96. data/lib/inttegro/chime/email_event.rb +118 -0
  97. data/lib/inttegro/chime/email_mailbox.rb +34 -0
  98. data/lib/inttegro/chime/email_message.rb +79 -0
  99. data/lib/inttegro/chime/email_message_input.rb +63 -0
  100. data/lib/inttegro/chime/email_safety_result.rb +78 -0
  101. data/lib/inttegro/chime/email_scanned_link.rb +56 -0
  102. data/lib/inttegro/chime/email_schema_kind.rb +30 -0
  103. data/lib/inttegro/chime/email_schema_markup.rb +36 -0
  104. data/lib/inttegro/chime/inline_recipient.rb +18 -0
  105. data/lib/inttegro/chime/inline_recipient_variant1.rb +43 -0
  106. data/lib/inttegro/chime/inline_recipient_variant1_phone.rb +27 -0
  107. data/lib/inttegro/chime/inline_recipient_variant1_type.rb +25 -0
  108. data/lib/inttegro/chime/inline_recipient_variant2.rb +43 -0
  109. data/lib/inttegro/chime/inline_recipient_variant2_email.rb +27 -0
  110. data/lib/inttegro/chime/inline_recipient_variant2_type.rb +25 -0
  111. data/lib/inttegro/chime/lookup_request.rb +27 -0
  112. data/lib/inttegro/chime/page.rb +42 -0
  113. data/lib/inttegro/chime/page_request.rb +49 -0
  114. data/lib/inttegro/chime/page_response.rb +28 -0
  115. data/lib/inttegro/chime/recipient.rb +18 -0
  116. data/lib/inttegro/chime/recipient_detail.rb +51 -0
  117. data/lib/inttegro/chime/recipient_detail_email.rb +27 -0
  118. data/lib/inttegro/chime/recipient_detail_phone.rb +27 -0
  119. data/lib/inttegro/chime/recipient_type.rb +27 -0
  120. data/lib/inttegro/chime/response.rb +28 -0
  121. data/lib/inttegro/chime/saved_customer_recipient.rb +35 -0
  122. data/lib/inttegro/chime/send_request.rb +82 -0
  123. data/lib/inttegro/chime/send_request_request_meta.rb +27 -0
  124. data/lib/inttegro/chime/transmission.rb +162 -0
  125. data/lib/inttegro/chime/transport.rb +27 -0
  126. data/lib/inttegro/customer/address.rb +76 -0
  127. data/lib/inttegro/customer/address_input.rb +76 -0
  128. data/lib/inttegro/customer/balance_value.rb +35 -0
  129. data/lib/inttegro/customer/base.rb +11 -0
  130. data/lib/inttegro/customer/create_request.rb +78 -0
  131. data/lib/inttegro/customer/customer.rb +119 -0
  132. data/lib/inttegro/customer/data.rb +56 -0
  133. data/lib/inttegro/customer/lookup_request.rb +27 -0
  134. data/lib/inttegro/customer/page.rb +42 -0
  135. data/lib/inttegro/customer/page_request.rb +34 -0
  136. data/lib/inttegro/customer/page_response.rb +28 -0
  137. data/lib/inttegro/customer/response.rb +37 -0
  138. data/lib/inttegro/customer/update_request.rb +92 -0
  139. data/lib/inttegro/enums.rb +4 -2
  140. data/lib/inttegro/file/actor.rb +48 -0
  141. data/lib/inttegro/file/actor_input.rb +48 -0
  142. data/lib/inttegro/file/api_error.rb +69 -0
  143. data/lib/inttegro/file/base.rb +11 -0
  144. data/lib/inttegro/file/contents_delivery_mode.rb +27 -0
  145. data/lib/inttegro/file/contents_request.rb +43 -0
  146. data/lib/inttegro/file/create_request.rb +48 -0
  147. data/lib/inttegro/file/delete_request.rb +27 -0
  148. data/lib/inttegro/file/delivery.rb +42 -0
  149. data/lib/inttegro/file/disposition.rb +27 -0
  150. data/lib/inttegro/file/file.rb +176 -0
  151. data/lib/inttegro/file/latest_error.rb +48 -0
  152. data/lib/inttegro/file/lookup_request.rb +27 -0
  153. data/lib/inttegro/file/media.rb +90 -0
  154. data/lib/inttegro/file/page.rb +42 -0
  155. data/lib/inttegro/file/page_request.rb +63 -0
  156. data/lib/inttegro/file/page_response.rb +28 -0
  157. data/lib/inttegro/file/party.rb +48 -0
  158. data/lib/inttegro/file/public_storage.rb +35 -0
  159. data/lib/inttegro/file/resource.rb +41 -0
  160. data/lib/inttegro/file/response.rb +29 -0
  161. data/lib/inttegro/file/scan_status.rb +33 -0
  162. data/lib/inttegro/file/service_health_response.rb +48 -0
  163. data/lib/inttegro/file/service_ready_response.rb +55 -0
  164. data/lib/inttegro/file/source.rb +42 -0
  165. data/lib/inttegro/file/source_type.rb +30 -0
  166. data/lib/inttegro/file/status.rb +36 -0
  167. data/lib/inttegro/file/storage_encoding.rb +27 -0
  168. data/lib/inttegro/file/upload_receipt.rb +70 -0
  169. data/lib/inttegro/file_link/access.rb +55 -0
  170. data/lib/inttegro/file_link/access_request.rb +48 -0
  171. data/lib/inttegro/file_link/actor.rb +48 -0
  172. data/lib/inttegro/file_link/base.rb +11 -0
  173. data/lib/inttegro/file_link/create_request.rb +66 -0
  174. data/lib/inttegro/file_link/creation.rb +35 -0
  175. data/lib/inttegro/file_link/delivery.rb +49 -0
  176. data/lib/inttegro/file_link/delivery_mode.rb +30 -0
  177. data/lib/inttegro/file_link/file_link.rb +136 -0
  178. data/lib/inttegro/file_link/kind.rb +24 -0
  179. data/lib/inttegro/file_link/lookup_request.rb +27 -0
  180. data/lib/inttegro/file_link/page.rb +42 -0
  181. data/lib/inttegro/file_link/page_request.rb +49 -0
  182. data/lib/inttegro/file_link/page_response.rb +28 -0
  183. data/lib/inttegro/file_link/response.rb +28 -0
  184. data/lib/inttegro/file_link/revoke_request.rb +35 -0
  185. data/lib/inttegro/file_link/status.rb +33 -0
  186. data/lib/inttegro/file_reference/base.rb +17 -0
  187. data/lib/inttegro/file_reference/input.rb +55 -0
  188. data/lib/inttegro/file_reference/reconcile_request.rb +42 -0
  189. data/lib/inttegro/file_reference/reconciliation.rb +27 -0
  190. data/lib/inttegro/financial_account/address.rb +76 -0
  191. data/lib/inttegro/financial_account/bank.rb +36 -0
  192. data/lib/inttegro/financial_account/bank_request.rb +97 -0
  193. data/lib/inttegro/financial_account/bank_request_bank_account.rb +36 -0
  194. data/lib/inttegro/financial_account/bank_request_bank_account_ghana_bank_account.rb +50 -0
  195. data/lib/inttegro/financial_account/bank_request_type.rb +25 -0
  196. data/lib/inttegro/financial_account/base.rb +11 -0
  197. data/lib/inttegro/financial_account/compact.rb +70 -0
  198. data/lib/inttegro/financial_account/connect_response.rb +28 -0
  199. data/lib/inttegro/financial_account/connected.rb +158 -0
  200. data/lib/inttegro/financial_account/create_request.rb +19 -0
  201. data/lib/inttegro/financial_account/create_response.rb +28 -0
  202. data/lib/inttegro/financial_account/created.rb +149 -0
  203. data/lib/inttegro/financial_account/created_address.rb +90 -0
  204. data/lib/inttegro/financial_account/created_bank.rb +43 -0
  205. data/lib/inttegro/financial_account/created_owner.rb +35 -0
  206. data/lib/inttegro/financial_account/details.rb +125 -0
  207. data/lib/inttegro/financial_account/disable_pull_response.rb +28 -0
  208. data/lib/inttegro/financial_account/disable_push_response.rb +28 -0
  209. data/lib/inttegro/financial_account/disable_request.rb +35 -0
  210. data/lib/inttegro/financial_account/disconnect_response.rb +28 -0
  211. data/lib/inttegro/financial_account/dosh_request.rb +97 -0
  212. data/lib/inttegro/financial_account/dosh_request_type.rb +25 -0
  213. data/lib/inttegro/financial_account/enable_pull_request.rb +41 -0
  214. data/lib/inttegro/financial_account/enable_pull_response.rb +28 -0
  215. data/lib/inttegro/financial_account/enable_push_response.rb +28 -0
  216. data/lib/inttegro/financial_account/financial_account.rb +163 -0
  217. data/lib/inttegro/financial_account/financial_account_page_request.rb +34 -0
  218. data/lib/inttegro/financial_account/id_request.rb +27 -0
  219. data/lib/inttegro/financial_account/lookup_response.rb +28 -0
  220. data/lib/inttegro/financial_account/mandate.rb +48 -0
  221. data/lib/inttegro/financial_account/owner.rb +35 -0
  222. data/lib/inttegro/financial_account/owner_input.rb +35 -0
  223. data/lib/inttegro/financial_account/owner_input_address.rb +76 -0
  224. data/lib/inttegro/financial_account/owner_update_input.rb +35 -0
  225. data/lib/inttegro/financial_account/owner_update_input_address.rb +76 -0
  226. data/lib/inttegro/financial_account/page.rb +42 -0
  227. data/lib/inttegro/financial_account/page_financial_accounts_request.rb +34 -0
  228. data/lib/inttegro/financial_account/page_response.rb +37 -0
  229. data/lib/inttegro/financial_account/page_response_inline.rb +28 -0
  230. data/lib/inttegro/financial_account/pull_configuration.rb +35 -0
  231. data/lib/inttegro/financial_account/push_configuration.rb +27 -0
  232. data/lib/inttegro/financial_account/reconnect_response.rb +28 -0
  233. data/lib/inttegro/financial_account/request_base.rb +88 -0
  234. data/lib/inttegro/financial_account/request_base_pull_configuration.rb +27 -0
  235. data/lib/inttegro/financial_account/request_base_push_configuration.rb +27 -0
  236. data/lib/inttegro/financial_account/type.rb +30 -0
  237. data/lib/inttegro/financial_account/update_request.rb +64 -0
  238. data/lib/inttegro/financial_account/update_response.rb +28 -0
  239. data/lib/inttegro/financial_account/updated.rb +165 -0
  240. data/lib/inttegro/financial_account/updated_address.rb +83 -0
  241. data/lib/inttegro/financial_account/updated_bank.rb +43 -0
  242. data/lib/inttegro/financial_account/updated_owner.rb +35 -0
  243. data/lib/inttegro/financial_account/updated_wallet.rb +43 -0
  244. data/lib/inttegro/financial_account/verification.rb +42 -0
  245. data/lib/inttegro/financial_account/verification_request.rb +41 -0
  246. data/lib/inttegro/financial_account/wallet.rb +43 -0
  247. data/lib/inttegro/financial_account/wallet_mobile_money.rb +35 -0
  248. data/lib/inttegro/financial_account/wallet_request.rb +96 -0
  249. data/lib/inttegro/financial_account/wallet_request_type.rb +25 -0
  250. data/lib/inttegro/financial_account/wallet_request_wallet.rb +36 -0
  251. data/lib/inttegro/financial_account/wallet_request_wallet_mobile_money.rb +35 -0
  252. data/lib/inttegro/financial_account/wire_page.rb +42 -0
  253. data/lib/inttegro/financial_account/wire_page_accounts_item.rb +85 -0
  254. data/lib/inttegro/generated/enums.rb +80 -635
  255. data/lib/inttegro/generated/models.rb +545 -3803
  256. data/lib/inttegro/generated/operations.rb +236 -239
  257. data/lib/inttegro/http_client.rb +5 -4
  258. data/lib/inttegro/message_template/attachment_ids.rb +17 -0
  259. data/lib/inttegro/message_template/base.rb +11 -0
  260. data/lib/inttegro/message_template/channel.rb +27 -0
  261. data/lib/inttegro/message_template/create_email_request.rb +81 -0
  262. data/lib/inttegro/message_template/create_email_request_channel.rb +25 -0
  263. data/lib/inttegro/message_template/create_fields.rb +64 -0
  264. data/lib/inttegro/message_template/create_request.rb +18 -0
  265. data/lib/inttegro/message_template/create_sms_request.rb +72 -0
  266. data/lib/inttegro/message_template/create_sms_request_channel.rb +25 -0
  267. data/lib/inttegro/message_template/email_content.rb +56 -0
  268. data/lib/inttegro/message_template/envelope.rb +28 -0
  269. data/lib/inttegro/message_template/id_request.rb +27 -0
  270. data/lib/inttegro/message_template/mailbox.rb +34 -0
  271. data/lib/inttegro/message_template/message_template.rb +158 -0
  272. data/lib/inttegro/message_template/page.rb +42 -0
  273. data/lib/inttegro/message_template/page_envelope.rb +28 -0
  274. data/lib/inttegro/message_template/page_request.rb +64 -0
  275. data/lib/inttegro/message_template/preview.rb +36 -0
  276. data/lib/inttegro/message_template/reference.rb +35 -0
  277. data/lib/inttegro/message_template/render_preview_request.rb +28 -0
  278. data/lib/inttegro/message_template/rendered.rb +53 -0
  279. data/lib/inttegro/message_template/rendered_email.rb +71 -0
  280. data/lib/inttegro/message_template/rendered_sms.rb +27 -0
  281. data/lib/inttegro/message_template/safety_result.rb +78 -0
  282. data/lib/inttegro/message_template/scanned_link.rb +55 -0
  283. data/lib/inttegro/message_template/sms_content.rb +27 -0
  284. data/lib/inttegro/message_template/status.rb +30 -0
  285. data/lib/inttegro/message_template/update_request.rb +96 -0
  286. data/lib/inttegro/message_template/variable.rb +64 -0
  287. data/lib/inttegro/message_template/variable_input.rb +64 -0
  288. data/lib/inttegro/message_template/variable_item.rb +56 -0
  289. data/lib/inttegro/message_template/variable_item_input.rb +56 -0
  290. data/lib/inttegro/message_template/variable_item_type.rb +49 -0
  291. data/lib/inttegro/message_template/variable_type.rb +52 -0
  292. data/lib/inttegro/message_template/variables.rb +21 -0
  293. data/lib/inttegro/model_serialization.rb +85 -0
  294. data/lib/inttegro/models.rb +12 -128
  295. data/lib/inttegro/money/amount.rb +36 -0
  296. data/lib/inttegro/money/amount_params.rb +36 -0
  297. data/lib/inttegro/money/base.rb +17 -0
  298. data/lib/inttegro/money/currency.rb +37 -0
  299. data/lib/inttegro/money/currency_deserialization.rb +24 -0
  300. data/lib/inttegro/order/address.rb +76 -0
  301. data/lib/inttegro/order/base.rb +11 -0
  302. data/lib/inttegro/order/cancel_request.rb +42 -0
  303. data/lib/inttegro/order/checkout_settings.rb +34 -0
  304. data/lib/inttegro/order/complete_envelope.rb +29 -0
  305. data/lib/inttegro/order/complete_request.rb +36 -0
  306. data/lib/inttegro/order/create_existing_customer.rb +147 -0
  307. data/lib/inttegro/order/create_existing_customer_checkout_settings.rb +35 -0
  308. data/lib/inttegro/order/create_existing_customer_request_meta.rb +27 -0
  309. data/lib/inttegro/order/create_new_customer.rb +149 -0
  310. data/lib/inttegro/order/create_new_customer_checkout_settings.rb +35 -0
  311. data/lib/inttegro/order/create_new_customer_request_meta.rb +27 -0
  312. data/lib/inttegro/order/created_from.rb +42 -0
  313. data/lib/inttegro/order/created_from_resource_type.rb +25 -0
  314. data/lib/inttegro/order/customer.rb +70 -0
  315. data/lib/inttegro/order/discount.rb +21 -0
  316. data/lib/inttegro/order/discount_line_item.rb +36 -0
  317. data/lib/inttegro/order/discount_line_item_type.rb +24 -0
  318. data/lib/inttegro/order/document_delivery.rb +67 -0
  319. data/lib/inttegro/order/document_delivery_attempt.rb +35 -0
  320. data/lib/inttegro/order/document_delivery_failure.rb +35 -0
  321. data/lib/inttegro/order/document_delivery_request.rb +27 -0
  322. data/lib/inttegro/order/document_delivery_result.rb +46 -0
  323. data/lib/inttegro/order/document_format.rb +27 -0
  324. data/lib/inttegro/order/document_kind.rb +27 -0
  325. data/lib/inttegro/order/envelope.rb +29 -0
  326. data/lib/inttegro/order/fee_line_item.rb +36 -0
  327. data/lib/inttegro/order/fee_line_item_fee.rb +56 -0
  328. data/lib/inttegro/order/fee_line_item_type.rb +24 -0
  329. data/lib/inttegro/order/finalize_envelope.rb +29 -0
  330. data/lib/inttegro/order/finalize_request.rb +27 -0
  331. data/lib/inttegro/order/invoice.rb +35 -0
  332. data/lib/inttegro/order/invoice_format.rb +42 -0
  333. data/lib/inttegro/order/line_item.rb +20 -0
  334. data/lib/inttegro/order/line_item_group.rb +36 -0
  335. data/lib/inttegro/order/lookup_request.rb +27 -0
  336. data/lib/inttegro/order/order.rb +177 -0
  337. data/lib/inttegro/order/page.rb +42 -0
  338. data/lib/inttegro/order/page_envelope.rb +28 -0
  339. data/lib/inttegro/order/page_request.rb +42 -0
  340. data/lib/inttegro/order/pay_request.rb +51 -0
  341. data/lib/inttegro/order/payout_settings_request.rb +35 -0
  342. data/lib/inttegro/order/payout_settings_request_destination.rb +27 -0
  343. data/lib/inttegro/order/product_line_item.rb +36 -0
  344. data/lib/inttegro/order/product_line_item_product.rb +106 -0
  345. data/lib/inttegro/order/product_line_item_type.rb +24 -0
  346. data/lib/inttegro/order/questions.rb +53 -0
  347. data/lib/inttegro/order/shipping_line_item.rb +36 -0
  348. data/lib/inttegro/order/shipping_line_item_shipping.rb +49 -0
  349. data/lib/inttegro/order/shipping_line_item_type.rb +24 -0
  350. data/lib/inttegro/order/status.rb +42 -0
  351. data/lib/inttegro/order/update_request.rb +117 -0
  352. data/lib/inttegro/order/update_request_payment_method_data.rb +38 -0
  353. data/lib/inttegro/order/update_request_payment_method_data_type.rb +24 -0
  354. data/lib/inttegro/otp/alphabet_type.rb +30 -0
  355. data/lib/inttegro/otp/base.rb +17 -0
  356. data/lib/inttegro/otp/initiate_request.rb +91 -0
  357. data/lib/inttegro/otp/initiate_response.rb +28 -0
  358. data/lib/inttegro/otp/lookup_request.rb +27 -0
  359. data/lib/inttegro/otp/lookup_response.rb +28 -0
  360. data/lib/inttegro/otp/status.rb +39 -0
  361. data/lib/inttegro/otp/transaction.rb +78 -0
  362. data/lib/inttegro/otp/transmission.rb +57 -0
  363. data/lib/inttegro/otp/transmission_sent_via.rb +24 -0
  364. data/lib/inttegro/otp/transmission_status.rb +30 -0
  365. data/lib/inttegro/otp/verification.rb +36 -0
  366. data/lib/inttegro/otp/verification_attempt.rb +56 -0
  367. data/lib/inttegro/otp/verification_attempt_result.rb +35 -0
  368. data/lib/inttegro/otp/verification_verdict.rb +27 -0
  369. data/lib/inttegro/otp/verify_request.rb +41 -0
  370. data/lib/inttegro/payment/attempt_status.rb +42 -0
  371. data/lib/inttegro/payment/base.rb +11 -0
  372. data/lib/inttegro/payment/billing_details.rb +28 -0
  373. data/lib/inttegro/payment/billing_details_owner.rb +35 -0
  374. data/lib/inttegro/payment/confirm_request.rb +48 -0
  375. data/lib/inttegro/payment/confirmation_channel.rb +30 -0
  376. data/lib/inttegro/payment/customer.rb +70 -0
  377. data/lib/inttegro/payment/latest_attempt.rb +71 -0
  378. data/lib/inttegro/payment/latest_attempt_error.rb +27 -0
  379. data/lib/inttegro/payment/latest_error.rb +55 -0
  380. data/lib/inttegro/payment/method_snapshot_bank_account.rb +35 -0
  381. data/lib/inttegro/payment/method_snapshot_bank_account_ghana_bank_account.rb +56 -0
  382. data/lib/inttegro/payment/method_snapshot_mobile_money.rb +42 -0
  383. data/lib/inttegro/payment/method_snapshot_owner.rb +35 -0
  384. data/lib/inttegro/payment/next_action.rb +60 -0
  385. data/lib/inttegro/payment/next_action_authorize.rb +41 -0
  386. data/lib/inttegro/payment/next_action_confirm_payment.rb +64 -0
  387. data/lib/inttegro/payment/next_action_confirm_payment_attempt.rb +55 -0
  388. data/lib/inttegro/payment/next_action_confirm_payment_request.rb +63 -0
  389. data/lib/inttegro/payment/next_action_redirect.rb +42 -0
  390. data/lib/inttegro/payment/next_action_redirect_latest_visit.rb +41 -0
  391. data/lib/inttegro/payment/next_action_request_confirmation.rb +35 -0
  392. data/lib/inttegro/payment/next_action_request_confirmation_last_request.rb +64 -0
  393. data/lib/inttegro/payment/next_action_type.rb +36 -0
  394. data/lib/inttegro/payment/payment.rb +177 -0
  395. data/lib/inttegro/payment/payment_method.rb +95 -0
  396. data/lib/inttegro/payment/payout_configuration.rb +35 -0
  397. data/lib/inttegro/payment/payout_configuration_destination.rb +27 -0
  398. data/lib/inttegro/payment/questions.rb +47 -0
  399. data/lib/inttegro/payment/result.rb +56 -0
  400. data/lib/inttegro/payment/result_status.rb +36 -0
  401. data/lib/inttegro/payment/status.rb +48 -0
  402. data/lib/inttegro/payment_method/activate_request.rb +27 -0
  403. data/lib/inttegro/payment_method/activate_response.rb +28 -0
  404. data/lib/inttegro/payment_method/archive_request.rb +27 -0
  405. data/lib/inttegro/payment_method/archive_response.rb +28 -0
  406. data/lib/inttegro/payment_method/bank_account.rb +36 -0
  407. data/lib/inttegro/payment_method/bank_account_ghana_bank_account.rb +55 -0
  408. data/lib/inttegro/payment_method/base.rb +11 -0
  409. data/lib/inttegro/payment_method/card.rb +21 -0
  410. data/lib/inttegro/payment_method/data.rb +36 -0
  411. data/lib/inttegro/payment_method/data_mobile_money.rb +35 -0
  412. data/lib/inttegro/payment_method/data_type.rb +24 -0
  413. data/lib/inttegro/payment_method/deletion.rb +20 -0
  414. data/lib/inttegro/payment_method/disactivate_request.rb +27 -0
  415. data/lib/inttegro/payment_method/disactivate_response.rb +28 -0
  416. data/lib/inttegro/payment_method/get_settings_request.rb +21 -0
  417. data/lib/inttegro/payment_method/get_settings_response.rb +28 -0
  418. data/lib/inttegro/payment_method/lookup_request.rb +27 -0
  419. data/lib/inttegro/payment_method/lookup_response.rb +28 -0
  420. data/lib/inttegro/payment_method/mobile_money.rb +42 -0
  421. data/lib/inttegro/payment_method/owner.rb +35 -0
  422. data/lib/inttegro/payment_method/owner_address.rb +76 -0
  423. data/lib/inttegro/payment_method/owner_input.rb +35 -0
  424. data/lib/inttegro/payment_method/owner_input_address.rb +76 -0
  425. data/lib/inttegro/payment_method/page.rb +42 -0
  426. data/lib/inttegro/payment_method/page_request.rb +42 -0
  427. data/lib/inttegro/payment_method/page_response.rb +28 -0
  428. data/lib/inttegro/payment_method/payment_method.rb +138 -0
  429. data/lib/inttegro/payment_method/questions.rb +35 -0
  430. data/lib/inttegro/payment_method/settings.rb +49 -0
  431. data/lib/inttegro/payment_method/supplied.rb +62 -0
  432. data/lib/inttegro/payment_method/tokenize_base.rb +43 -0
  433. data/lib/inttegro/payment_method/tokenize_base_type.rb +25 -0
  434. data/lib/inttegro/payment_method/tokenize_mobile_money_request.rb +59 -0
  435. data/lib/inttegro/payment_method/tokenize_mobile_money_request_mobile_money.rb +36 -0
  436. data/lib/inttegro/payment_method/tokenize_mobile_money_request_type.rb +25 -0
  437. data/lib/inttegro/payment_method/tokenize_response.rb +28 -0
  438. data/lib/inttegro/payment_method/type.rb +33 -0
  439. data/lib/inttegro/payment_method/type_setting.rb +56 -0
  440. data/lib/inttegro/payment_method/unarchive_request.rb +27 -0
  441. data/lib/inttegro/payment_method/unarchive_response.rb +28 -0
  442. data/lib/inttegro/payment_method/update_request.rb +57 -0
  443. data/lib/inttegro/payment_method/update_request_owner.rb +35 -0
  444. data/lib/inttegro/payment_method/update_request_owner_address.rb +76 -0
  445. data/lib/inttegro/payment_method/update_response.rb +28 -0
  446. data/lib/inttegro/payment_method/verification.rb +55 -0
  447. data/lib/inttegro/payout/base.rb +11 -0
  448. data/lib/inttegro/payout/cancel_request.rb +27 -0
  449. data/lib/inttegro/payout/cancel_response.rb +28 -0
  450. data/lib/inttegro/payout/disable_automatic_request.rb +21 -0
  451. data/lib/inttegro/payout/disable_automatic_response.rb +28 -0
  452. data/lib/inttegro/payout/enable_automatic_request.rb +21 -0
  453. data/lib/inttegro/payout/enable_automatic_response.rb +28 -0
  454. data/lib/inttegro/payout/error.rb +48 -0
  455. data/lib/inttegro/payout/get_settings_request.rb +21 -0
  456. data/lib/inttegro/payout/get_settings_response.rb +28 -0
  457. data/lib/inttegro/payout/lookup_request.rb +27 -0
  458. data/lib/inttegro/payout/lookup_response.rb +28 -0
  459. data/lib/inttegro/payout/page.rb +42 -0
  460. data/lib/inttegro/payout/page_request.rb +34 -0
  461. data/lib/inttegro/payout/page_response.rb +28 -0
  462. data/lib/inttegro/payout/payout.rb +176 -0
  463. data/lib/inttegro/payout/set_destinations_request.rb +27 -0
  464. data/lib/inttegro/payout/set_destinations_response.rb +28 -0
  465. data/lib/inttegro/payout/settings_lookup.rb +42 -0
  466. data/lib/inttegro/payout/settings_lookup_schedule.rb +63 -0
  467. data/lib/inttegro/payout/settings_lookup_schedule_aging_spec.rb +41 -0
  468. data/lib/inttegro/payout/settings_mutation.rb +42 -0
  469. data/lib/inttegro/payout/settings_mutation_schedule.rb +70 -0
  470. data/lib/inttegro/payout/settings_mutation_schedule_spec.rb +48 -0
  471. data/lib/inttegro/payout/status.rb +42 -0
  472. data/lib/inttegro/price/action_request.rb +27 -0
  473. data/lib/inttegro/price/base.rb +11 -0
  474. data/lib/inttegro/price/catalog_price.rb +92 -0
  475. data/lib/inttegro/price/catalog_price_params.rb +49 -0
  476. data/lib/inttegro/price/embedded_product.rb +159 -0
  477. data/lib/inttegro/price/lookup_request.rb +27 -0
  478. data/lib/inttegro/price/page.rb +42 -0
  479. data/lib/inttegro/price/page_item.rb +17 -0
  480. data/lib/inttegro/price/page_request.rb +41 -0
  481. data/lib/inttegro/price/page_response.rb +37 -0
  482. data/lib/inttegro/price/price.rb +34 -0
  483. data/lib/inttegro/price/price_params.rb +36 -0
  484. data/lib/inttegro/price/response.rb +37 -0
  485. data/lib/inttegro/price/update_request.rb +41 -0
  486. data/lib/inttegro/product/action_request.rb +27 -0
  487. data/lib/inttegro/product/add_price_request.rb +49 -0
  488. data/lib/inttegro/product/add_price_response.rb +37 -0
  489. data/lib/inttegro/product/attribute.rb +34 -0
  490. data/lib/inttegro/product/base.rb +11 -0
  491. data/lib/inttegro/product/catalog_with_price_data.rb +42 -0
  492. data/lib/inttegro/product/catalog_with_price_reference.rb +42 -0
  493. data/lib/inttegro/product/create_request.rb +124 -0
  494. data/lib/inttegro/product/delivery.rb +21 -0
  495. data/lib/inttegro/product/details.rb +22 -0
  496. data/lib/inttegro/product/dimensions.rb +44 -0
  497. data/lib/inttegro/product/dimensions_custom.rb +41 -0
  498. data/lib/inttegro/product/dimensions_digital.rb +41 -0
  499. data/lib/inttegro/product/dimensions_physical.rb +76 -0
  500. data/lib/inttegro/product/download.rb +21 -0
  501. data/lib/inttegro/product/inline_details.rb +79 -0
  502. data/lib/inttegro/product/line_item.rb +39 -0
  503. data/lib/inttegro/product/line_item_type.rb +24 -0
  504. data/lib/inttegro/product/lookup_request.rb +27 -0
  505. data/lib/inttegro/product/media.rb +83 -0
  506. data/lib/inttegro/product/page.rb +42 -0
  507. data/lib/inttegro/product/page_request.rb +34 -0
  508. data/lib/inttegro/product/page_response.rb +28 -0
  509. data/lib/inttegro/product/price_summary.rb +49 -0
  510. data/lib/inttegro/product/product.rb +165 -0
  511. data/lib/inttegro/product/questions.rb +35 -0
  512. data/lib/inttegro/product/render.rb +21 -0
  513. data/lib/inttegro/product/response.rb +37 -0
  514. data/lib/inttegro/product/service.rb +21 -0
  515. data/lib/inttegro/product/set_default_unit_price_request.rb +22 -0
  516. data/lib/inttegro/product/shipment.rb +68 -0
  517. data/lib/inttegro/product/shipment_input.rb +28 -0
  518. data/lib/inttegro/product/shipment_input_type.rb +33 -0
  519. data/lib/inttegro/product/shipment_type.rb +36 -0
  520. data/lib/inttegro/product/stream.rb +21 -0
  521. data/lib/inttegro/product/type.rb +39 -0
  522. data/lib/inttegro/product/update_request.rb +124 -0
  523. data/lib/inttegro/product/update_response.rb +28 -0
  524. data/lib/inttegro/product/updated.rb +122 -0
  525. data/lib/inttegro/purchase_intent/activity.rb +122 -0
  526. data/lib/inttegro/purchase_intent/activity_attribution.rb +83 -0
  527. data/lib/inttegro/purchase_intent/activity_log.rb +28 -0
  528. data/lib/inttegro/purchase_intent/activity_type.rb +37 -0
  529. data/lib/inttegro/purchase_intent/activity_visitor.rb +97 -0
  530. data/lib/inttegro/purchase_intent/base.rb +11 -0
  531. data/lib/inttegro/purchase_intent/cancel_request.rb +34 -0
  532. data/lib/inttegro/purchase_intent/create_request.rb +75 -0
  533. data/lib/inttegro/purchase_intent/create_request_price.rb +51 -0
  534. data/lib/inttegro/purchase_intent/create_request_price_original.rb +35 -0
  535. data/lib/inttegro/purchase_intent/create_request_product.rb +34 -0
  536. data/lib/inttegro/purchase_intent/create_request_quantity.rb +35 -0
  537. data/lib/inttegro/purchase_intent/create_request_usage.rb +34 -0
  538. data/lib/inttegro/purchase_intent/lookup_request.rb +27 -0
  539. data/lib/inttegro/purchase_intent/merchant.rb +42 -0
  540. data/lib/inttegro/purchase_intent/original_price.rb +49 -0
  541. data/lib/inttegro/purchase_intent/page.rb +42 -0
  542. data/lib/inttegro/purchase_intent/page_request.rb +34 -0
  543. data/lib/inttegro/purchase_intent/page_response.rb +28 -0
  544. data/lib/inttegro/purchase_intent/price.rb +57 -0
  545. data/lib/inttegro/purchase_intent/product.rb +174 -0
  546. data/lib/inttegro/purchase_intent/product_attributes_item.rb +34 -0
  547. data/lib/inttegro/purchase_intent/purchase_intent.rb +128 -0
  548. data/lib/inttegro/purchase_intent/quantity.rb +36 -0
  549. data/lib/inttegro/purchase_intent/questions.rb +38 -0
  550. data/lib/inttegro/purchase_intent/response.rb +28 -0
  551. data/lib/inttegro/purchase_intent/status.rb +33 -0
  552. data/lib/inttegro/purchase_intent/update_request.rb +61 -0
  553. data/lib/inttegro/purchase_intent/update_request_quantity.rb +36 -0
  554. data/lib/inttegro/purchase_intent/usage.rb +43 -0
  555. data/lib/inttegro/purchase_intent/usage_order.rb +34 -0
  556. data/lib/inttegro/purchase_intent/variant.rb +64 -0
  557. data/lib/inttegro/purchase_intent/variant_axis.rb +41 -0
  558. data/lib/inttegro/purchase_intent/variant_set.rb +78 -0
  559. data/lib/inttegro/refund/base.rb +11 -0
  560. data/lib/inttegro/refund/cancel_request.rb +35 -0
  561. data/lib/inttegro/refund/create_line_item.rb +51 -0
  562. data/lib/inttegro/refund/create_request.rb +73 -0
  563. data/lib/inttegro/refund/line_item.rb +64 -0
  564. data/lib/inttegro/refund/lookup_request.rb +27 -0
  565. data/lib/inttegro/refund/page.rb +42 -0
  566. data/lib/inttegro/refund/page_request.rb +34 -0
  567. data/lib/inttegro/refund/page_response.rb +28 -0
  568. data/lib/inttegro/refund/reason.rb +48 -0
  569. data/lib/inttegro/refund/refund.rb +121 -0
  570. data/lib/inttegro/refund/request_meta.rb +27 -0
  571. data/lib/inttegro/refund/response.rb +28 -0
  572. data/lib/inttegro/refund/status.rb +36 -0
  573. data/lib/inttegro/resources/apps.rb +19 -0
  574. data/lib/inttegro/resources/balance_transactions.rb +13 -1
  575. data/lib/inttegro/resources/balances.rb +8 -1
  576. data/lib/inttegro/resources/broadcasts.rb +14 -2
  577. data/lib/inttegro/resources/chimes.rb +27 -3
  578. data/lib/inttegro/resources/customers.rb +21 -1
  579. data/lib/inttegro/resources/file_links.rb +32 -2
  580. data/lib/inttegro/resources/file_references.rb +9 -1
  581. data/lib/inttegro/resources/files.rb +30 -1
  582. data/lib/inttegro/resources/financial_accounts.rb +51 -1
  583. data/lib/inttegro/resources/keys.rb +41 -3
  584. data/lib/inttegro/resources/message_templates.rb +38 -2
  585. data/lib/inttegro/resources/orders.rb +18 -43
  586. data/lib/inttegro/resources/otp.rb +24 -4
  587. data/lib/inttegro/resources/payment_methods.rb +33 -8
  588. data/lib/inttegro/resources/payouts.rb +28 -16
  589. data/lib/inttegro/resources/prices.rb +39 -7
  590. data/lib/inttegro/resources/products.rb +43 -3
  591. data/lib/inttegro/resources/purchase_intents.rb +25 -1
  592. data/lib/inttegro/resources/refunds.rb +21 -1
  593. data/lib/inttegro/resources/schedules.rb +14 -2
  594. data/lib/inttegro/resources/spec.rb +8 -1
  595. data/lib/inttegro/resources/upload_requests.rb +37 -4
  596. data/lib/inttegro/schedule/base.rb +17 -0
  597. data/lib/inttegro/schedule/cancel_detail.rb +120 -0
  598. data/lib/inttegro/schedule/cancel_request.rb +27 -0
  599. data/lib/inttegro/schedule/cancel_response.rb +28 -0
  600. data/lib/inttegro/schedule/chime_request.rb +81 -0
  601. data/lib/inttegro/schedule/chime_request_request_meta.rb +27 -0
  602. data/lib/inttegro/schedule/creation_detail.rb +98 -0
  603. data/lib/inttegro/schedule/detail.rb +113 -0
  604. data/lib/inttegro/schedule/error.rb +41 -0
  605. data/lib/inttegro/schedule/lookup_request.rb +27 -0
  606. data/lib/inttegro/schedule/lookup_response.rb +28 -0
  607. data/lib/inttegro/schedule/payout_request.rb +48 -0
  608. data/lib/inttegro/schedule/payout_response.rb +28 -0
  609. data/lib/inttegro/schedule/response.rb +28 -0
  610. data/lib/inttegro/secret_key/auth_result.rb +27 -0
  611. data/lib/inttegro/secret_key/base.rb +11 -0
  612. data/lib/inttegro/secret_key/destroy_request.rb +27 -0
  613. data/lib/inttegro/secret_key/destroy_response.rb +29 -0
  614. data/lib/inttegro/secret_key/generate_request.rb +28 -0
  615. data/lib/inttegro/secret_key/generate_response.rb +28 -0
  616. data/lib/inttegro/secret_key/generated.rb +56 -0
  617. data/lib/inttegro/secret_key/lookup_request.rb +27 -0
  618. data/lib/inttegro/secret_key/lookup_response.rb +29 -0
  619. data/lib/inttegro/secret_key/page.rb +63 -0
  620. data/lib/inttegro/secret_key/page_request.rb +41 -0
  621. data/lib/inttegro/secret_key/page_response.rb +28 -0
  622. data/lib/inttegro/secret_key/secret_key.rb +98 -0
  623. data/lib/inttegro/secret_key/status.rb +30 -0
  624. data/lib/inttegro/secret_key/token_type.rb +24 -0
  625. data/lib/inttegro/secret_key/update_request.rb +34 -0
  626. data/lib/inttegro/secret_key/update_response.rb +29 -0
  627. data/lib/inttegro/secret_key/usage.rb +37 -0
  628. data/lib/inttegro/secret_key/usage_page.rb +63 -0
  629. data/lib/inttegro/secret_key/usage_request.rb +48 -0
  630. data/lib/inttegro/secret_key/usage_row.rb +42 -0
  631. data/lib/inttegro/shared/address.rb +83 -0
  632. data/lib/inttegro/shared/base.rb +17 -0
  633. data/lib/inttegro/shared/billing_details.rb +49 -0
  634. data/lib/inttegro/shared/content_safety_status.rb +30 -0
  635. data/lib/inttegro/shared/country_bank.rb +56 -0
  636. data/lib/inttegro/shared/country_bank_branch.rb +41 -0
  637. data/lib/inttegro/shared/country_bank_directory.rb +42 -0
  638. data/lib/inttegro/shared/country_specification.rb +91 -0
  639. data/lib/inttegro/shared/country_specifications.rb +28 -0
  640. data/lib/inttegro/shared/delivery_channel.rb +27 -0
  641. data/lib/inttegro/shared/dosh_account.rb +22 -0
  642. data/lib/inttegro/shared/error_envelope.rb +29 -0
  643. data/lib/inttegro/shared/error_payload.rb +76 -0
  644. data/lib/inttegro/shared/fee_details.rb +64 -0
  645. data/lib/inttegro/shared/fee_line_item.rb +36 -0
  646. data/lib/inttegro/shared/fee_line_item_type.rb +24 -0
  647. data/lib/inttegro/shared/financial_institution.rb +64 -0
  648. data/lib/inttegro/shared/financial_institution_bank.rb +56 -0
  649. data/lib/inttegro/shared/financial_institution_bank_branch.rb +41 -0
  650. data/lib/inttegro/shared/financial_institution_mobile_money_provider.rb +28 -0
  651. data/lib/inttegro/shared/invoice_settings.rb +51 -0
  652. data/lib/inttegro/shared/line_item.rb +19 -0
  653. data/lib/inttegro/shared/list_country_specs_request.rb +21 -0
  654. data/lib/inttegro/shared/mobile_money.rb +35 -0
  655. data/lib/inttegro/shared/mobile_money_network.rb +33 -0
  656. data/lib/inttegro/shared/request_confirmation_request.rb +27 -0
  657. data/lib/inttegro/shared/resource_supply.rb +62 -0
  658. data/lib/inttegro/shared/shipping.rb +28 -0
  659. data/lib/inttegro/shared/shipping_details.rb +50 -0
  660. data/lib/inttegro/shared/shipping_line_item.rb +36 -0
  661. data/lib/inttegro/shared/shipping_line_item_type.rb +24 -0
  662. data/lib/inttegro/shared/upload_fulfillment.rb +36 -0
  663. data/lib/inttegro/shared/upload_review_decision.rb +28 -0
  664. data/lib/inttegro/shared/upload_review_type.rb +27 -0
  665. data/lib/inttegro/upload_request/actor.rb +48 -0
  666. data/lib/inttegro/upload_request/attempt.rb +113 -0
  667. data/lib/inttegro/upload_request/attempts.rb +48 -0
  668. data/lib/inttegro/upload_request/attempts_request.rb +27 -0
  669. data/lib/inttegro/upload_request/base.rb +11 -0
  670. data/lib/inttegro/upload_request/cancel_request.rb +35 -0
  671. data/lib/inttegro/upload_request/constraints.rb +62 -0
  672. data/lib/inttegro/upload_request/create_request.rb +97 -0
  673. data/lib/inttegro/upload_request/details.rb +205 -0
  674. data/lib/inttegro/upload_request/display.rb +41 -0
  675. data/lib/inttegro/upload_request/fulfill_request.rb +27 -0
  676. data/lib/inttegro/upload_request/latest_error.rb +55 -0
  677. data/lib/inttegro/upload_request/lookup_request.rb +27 -0
  678. data/lib/inttegro/upload_request/page.rb +42 -0
  679. data/lib/inttegro/upload_request/page_request.rb +57 -0
  680. data/lib/inttegro/upload_request/page_response.rb +28 -0
  681. data/lib/inttegro/upload_request/response.rb +28 -0
  682. data/lib/inttegro/upload_request/review.rb +72 -0
  683. data/lib/inttegro/upload_request/review_attempt_by_id_request.rb +57 -0
  684. data/lib/inttegro/upload_request/review_attempt_by_ordinal_request.rb +57 -0
  685. data/lib/inttegro/upload_request/review_attempt_request.rb +18 -0
  686. data/lib/inttegro/upload_request/review_reason.rb +41 -0
  687. data/lib/inttegro/upload_request/review_reason_input.rb +41 -0
  688. data/lib/inttegro/upload_request/status.rb +39 -0
  689. data/lib/inttegro/upload_request/upload_request.rb +195 -0
  690. data/lib/inttegro/upload_request/validation_failure.rb +36 -0
  691. data/lib/inttegro/upload_request/validation_failure_error.rb +48 -0
  692. data/lib/inttegro/upload_request/with_attempt_response.rb +28 -0
  693. data/lib/inttegro/version.rb +1 -1
  694. data/lib/inttegro/wallet/base.rb +17 -0
  695. data/lib/inttegro/wallet/type.rb +24 -0
  696. data/rbi/inttegro/generated.rbi +82 -88
  697. metadata +663 -2
@@ -11,6 +11,7 @@ module Inttegro
11
11
  #
12
12
  # @see https://studio.inttegro.com/payouts for detailed guides
13
13
  class Payouts
14
+ # @param http [Inttegro::HTTPClient] configured transport used for each request
14
15
  def initialize(http)
15
16
  @http = T.let(http, Inttegro::HTTPClient)
16
17
  end
@@ -23,7 +24,7 @@ module Inttegro
23
24
  #
24
25
  # @param destinations [Hash] Map of currency codes to financial account IDs (required)
25
26
  #
26
- # @return [Inttegro::PayoutSettingsMutation] Updated payout settings
27
+ # @return [Inttegro::Payout::SettingsMutation] Updated payout settings
27
28
  #
28
29
  # @example Set payout destinations for multiple currencies
29
30
  # result = client.payouts.set_destinations(
@@ -39,7 +40,7 @@ module Inttegro
39
40
  def set_destinations(destinations:)
40
41
  @http.post_resource(
41
42
  "/payouts/set_destinations",
42
- Inttegro::PayoutSettingsMutation, :settings,
43
+ Inttegro::Payout::SettingsMutation, :settings,
43
44
  { destinations: destinations }
44
45
  )
45
46
  end
@@ -49,7 +50,7 @@ module Inttegro
49
50
  # Returns payout settings including configured payout destinations, schedule information,
50
51
  # and whether foreign exchange is enabled.
51
52
  #
52
- # @return [Inttegro::PayoutSettingsLookup] Current payout settings
53
+ # @return [Inttegro::Payout::SettingsLookup] Current payout settings
53
54
  #
54
55
  # @example Get payout settings
55
56
  # result = client.payouts.settings
@@ -58,7 +59,7 @@ module Inttegro
58
59
  #
59
60
  # @see https://studio.inttegro.com/product-payouts for payouts overview
60
61
  def settings
61
- @http.post_resource("/payouts/settings", Inttegro::PayoutSettingsLookup, :settings, {})
62
+ @http.post_resource("/payouts/settings", Inttegro::Payout::SettingsLookup, :settings, {})
62
63
  end
63
64
 
64
65
  # Disable automatic payouts by switching to manual payout mode.
@@ -68,7 +69,7 @@ module Inttegro
68
69
  # still be at least 7 days old before they can be paid out, but the payout will only occur when you
69
70
  # explicitly request it.
70
71
  #
71
- # @return [Inttegro::PayoutSettingsMutation] Updated payout settings
72
+ # @return [Inttegro::Payout::SettingsMutation] Updated payout settings
72
73
  #
73
74
  # @example Disable automatic payouts
74
75
  # result = client.payouts.disable_automatic
@@ -79,15 +80,18 @@ module Inttegro
79
80
  def disable_automatic
80
81
  @http.post_resource(
81
82
  "/payouts/disable",
82
- Inttegro::PayoutSettingsMutation, :settings,
83
+ Inttegro::Payout::SettingsMutation, :settings,
83
84
  {}
84
85
  )
85
86
  end
86
87
 
88
+ # Re-enable automatic payouts using the application's retained schedule settings.
89
+ #
90
+ # @return [Inttegro::Payout::SettingsMutation] updated payout settings
87
91
  def enable_automatic
88
92
  @http.post_resource(
89
93
  "/payouts/enable",
90
- Inttegro::PayoutSettingsMutation, :settings,
94
+ Inttegro::Payout::SettingsMutation, :settings,
91
95
  {}
92
96
  )
93
97
  end
@@ -106,7 +110,7 @@ module Inttegro
106
110
  # Important: FX conversion incurs additional fees beyond standard payout fees, and exchange rates are
107
111
  # determined at payout execution time. FX-enabled payouts require approval and special configuration.
108
112
  #
109
- # @return [Inttegro::PayoutSettingsLookup] Updated payout settings
113
+ # @return [Inttegro::Payout::SettingsLookup] Updated payout settings
110
114
  #
111
115
  # @example Enable foreign exchange for payouts
112
116
  # result = client.payouts.enable_fx
@@ -115,7 +119,7 @@ module Inttegro
115
119
  #
116
120
  # @see https://studio.inttegro.com/enable-fx-payouts for FX payout guide
117
121
  def enable_fx
118
- @http.post_resource("/payouts/enable_fx", Inttegro::PayoutSettingsLookup, :settings, {})
122
+ @http.post_resource("/payouts/enable_fx", Inttegro::Payout::SettingsLookup, :settings, {})
119
123
  end
120
124
 
121
125
  # Disable foreign exchange conversion for payouts.
@@ -123,7 +127,7 @@ module Inttegro
123
127
  # Disables FX conversion, restricting payouts to accounts that match the transaction currency.
124
128
  # After disabling FX, GHS balance can only be paid out to GHS accounts, USD balance only to USD accounts, etc.
125
129
  #
126
- # @return [Inttegro::PayoutSettingsLookup] Updated payout settings
130
+ # @return [Inttegro::Payout::SettingsLookup] Updated payout settings
127
131
  #
128
132
  # @example Disable foreign exchange for payouts
129
133
  # result = client.payouts.disable_fx
@@ -132,7 +136,7 @@ module Inttegro
132
136
  #
133
137
  # @see https://studio.inttegro.com/disable-fx-payouts for FX payout guide
134
138
  def disable_fx
135
- @http.post_resource("/payouts/disable_fx", Inttegro::PayoutSettingsLookup, :settings, {})
139
+ @http.post_resource("/payouts/disable_fx", Inttegro::Payout::SettingsLookup, :settings, {})
136
140
  end
137
141
 
138
142
  # Retrieve a paginated list of payouts.
@@ -140,14 +144,14 @@ module Inttegro
140
144
  # Returns payouts in reverse chronological order (most recent first). Use the has_more field
141
145
  # and page parameter to navigate through results. Supports filtering by status and time range.
142
146
  #
143
- # @param payload [Hash] Pagination and filter parameters (optional)
147
+ # @param payload [Hash, Inttegro::Payout::PageRequest] Pagination and filter parameters (optional)
144
148
  # @option payload [Integer] :page Page number to retrieve (minimum 1, default: 1)
145
149
  # @option payload [Integer] :per_page Number of results per page (minimum 1, maximum 100, default: 10)
146
150
  # @option payload [String] :status Filter by payout status (e.g., 'pending', 'paid', 'failed')
147
- # @option payload [String] :created_after Filter payouts created after this timestamp (ISO 8601)
148
- # @option payload [String] :created_before Filter payouts created before this timestamp (ISO 8601)
151
+ # @option payload [Time] :created_after Filter payouts created after this timestamp
152
+ # @option payload [Time] :created_before Filter payouts created before this timestamp
149
153
  #
150
- # @return [Inttegro::PayoutPage] Paginated list of payouts
154
+ # @return [Inttegro::Payout::Page] Paginated list of payouts
151
155
  #
152
156
  # @example Get first page of payouts
153
157
  # result = client.payouts.page(
@@ -166,13 +170,21 @@ module Inttegro
166
170
  # @see https://studio.inttegro.com/pagination for pagination guide
167
171
  # @see https://studio.inttegro.com/product-payouts for payouts overview
168
172
  def page(payload = {})
169
- @http.post_resource("/payouts/page", Inttegro::PayoutPage, :page, payload || {})
173
+ @http.post_resource("/payouts/page", Inttegro::Payout::Page, :page, payload || {})
170
174
  end
171
175
 
176
+ # Schedule a payout from the application's available balance.
177
+ #
178
+ # @param payload [Hash, Inttegro::Schedule::PayoutRequest] amount, destination, and execution fields
179
+ # @return [Inttegro::Payout] scheduled payout
172
180
  def schedule(payload)
173
181
  @http.post_resource("/payouts/schedule", Inttegro::Payout, :payout, payload)
174
182
  end
175
183
 
184
+ # Retrieve the current state of one payout.
185
+ #
186
+ # @param payout_id [String] unique payout identifier
187
+ # @return [Inttegro::Payout] matching payout
176
188
  def lookup(payout_id:)
177
189
  @http.post_resource(
178
190
  "/payouts/lookup",
@@ -3,37 +3,69 @@
3
3
 
4
4
  module Inttegro
5
5
  module Resources
6
+ # Client for catalog prices and their lifecycle.
7
+ #
8
+ # Access this resource through {Inttegro::Client#prices}.
6
9
  class Prices
10
+ # @param http [Inttegro::HTTPClient] configured transport used for each request
7
11
  def initialize(http)
8
12
  @http = T.let(http, Inttegro::HTTPClient)
9
13
  end
10
14
 
15
+ # Create a catalog price.
16
+ #
17
+ # @param payload [Hash, Inttegro::Price::CatalogPriceParams] amount and optional price metadata
18
+ # @return [Inttegro::Price::CatalogPrice] created price
11
19
  def create(payload)
12
- @http.post_resource("/prices/create", Inttegro::CatalogPrice, :price, payload)
20
+ @http.post_resource("/prices/create", Inttegro::Price::CatalogPrice, :price, payload)
13
21
  end
14
22
 
23
+ # Retrieve one catalog price.
24
+ #
25
+ # @param price_id [String] unique price identifier
26
+ # @return [Inttegro::Price::CatalogPrice] matching price
15
27
  def lookup(price_id:)
16
- @http.post_resource("/prices/lookup", Inttegro::CatalogPrice, :price, { price_id: price_id })
28
+ @http.post_resource("/prices/lookup", Inttegro::Price::CatalogPrice, :price, { price_id: price_id })
17
29
  end
18
30
 
31
+ # Retrieve a page of catalog prices.
32
+ #
33
+ # @param payload [Hash, Inttegro::Price::PageRequest] pagination and filter fields
34
+ # @return [Inttegro::Price::Page] typed page of prices
19
35
  def page(payload = {})
20
- @http.post_resource("/prices/page", Inttegro::PricePage, :page, payload || {})
36
+ @http.post_resource("/prices/page", Inttegro::Price::Page, :page, payload || {})
21
37
  end
22
38
 
39
+ # Update mutable price metadata.
40
+ #
41
+ # @param payload [Hash, Inttegro::Price::UpdateRequest] price identifier and fields to change
42
+ # @return [Inttegro::Price::CatalogPrice] updated price
23
43
  def update(payload)
24
- @http.post_resource("/prices/update", Inttegro::CatalogPrice, :price, payload)
44
+ @http.post_resource("/prices/update", Inttegro::Price::CatalogPrice, :price, payload)
25
45
  end
26
46
 
47
+ # Reactivate an inactive price.
48
+ #
49
+ # @param price_id [String] unique price identifier
50
+ # @return [Inttegro::Price::CatalogPrice] activated price
27
51
  def activate(price_id:)
28
- @http.post_resource("/prices/activate", Inttegro::CatalogPrice, :price, { price_id: price_id })
52
+ @http.post_resource("/prices/activate", Inttegro::Price::CatalogPrice, :price, { price_id: price_id })
29
53
  end
30
54
 
55
+ # Deactivate a price for new active catalog flows.
56
+ #
57
+ # @param price_id [String] unique price identifier
58
+ # @return [Inttegro::Price::CatalogPrice] deactivated price
31
59
  def deactivate(price_id:)
32
- @http.post_resource("/prices/deactivate", Inttegro::CatalogPrice, :price, { price_id: price_id })
60
+ @http.post_resource("/prices/deactivate", Inttegro::Price::CatalogPrice, :price, { price_id: price_id })
33
61
  end
34
62
 
63
+ # Archive a price and mark it inactive.
64
+ #
65
+ # @param price_id [String] unique price identifier
66
+ # @return [Inttegro::Price::CatalogPrice] archived price
35
67
  def archive(price_id:)
36
- @http.post_resource("/prices/archive", Inttegro::CatalogPrice, :price, { price_id: price_id })
68
+ @http.post_resource("/prices/archive", Inttegro::Price::CatalogPrice, :price, { price_id: price_id })
37
69
  end
38
70
  end
39
71
  end
@@ -3,45 +3,85 @@
3
3
 
4
4
  module Inttegro
5
5
  module Resources
6
+ # Client for products and their catalog lifecycle.
7
+ #
8
+ # Access this resource through {Inttegro::Client#products}.
6
9
  class Products
10
+ # @param http [Inttegro::HTTPClient] configured transport used for each request
7
11
  def initialize(http)
8
12
  @http = T.let(http, Inttegro::HTTPClient)
9
13
  end
10
14
 
15
+ # Create a catalog product.
16
+ #
17
+ # @param payload [Hash, Inttegro::Product::CreateRequest] product fields
18
+ # @return [Inttegro::Product] created product
11
19
  def create(payload)
12
20
  @http.post_resource("/products/create", Inttegro::Product, :product, payload)
13
21
  end
14
22
 
23
+ # Create a new price for an existing product.
24
+ #
25
+ # @param payload [Hash, Inttegro::Product::AddPriceRequest] product identifier and price fields
26
+ # @return [Inttegro::Price::CatalogPrice] created price
15
27
  def add_price(payload)
16
- @http.post_resource("/products/add_price", Inttegro::CatalogPrice, :price, payload)
28
+ @http.post_resource("/products/add_price", Inttegro::Price::CatalogPrice, :price, payload)
17
29
  end
18
30
 
31
+ # Select an existing catalog price as the product's default unit price.
32
+ #
33
+ # @param payload [Hash, Inttegro::Product::SetDefaultUnitPriceRequest] product and price identifiers
34
+ # @return [Inttegro::Product] updated product
19
35
  def set_default_unit_price(payload)
20
36
  @http.post_resource("/products/set_default_unit_price", Inttegro::Product, :product, payload)
21
37
  end
22
38
 
39
+ # Retrieve a product and its related catalog details.
40
+ #
41
+ # @param product_id [String] unique product identifier
42
+ # @return [Inttegro::Product] matching product
23
43
  def lookup(product_id:)
24
44
  @http.post_resource("/products/lookup", Inttegro::Product, :product, { product_id: product_id })
25
45
  end
26
46
 
47
+ # Update mutable product fields.
48
+ #
49
+ # @param payload [Hash, Inttegro::Product::UpdateRequest] product identifier and fields to change
50
+ # @return [Inttegro::Product::Updated] updated product representation
27
51
  def update(payload)
28
- @http.post_resource("/products/update", Inttegro::UpdatedProduct, :product, payload)
52
+ @http.post_resource("/products/update", Inttegro::Product::Updated, :product, payload)
29
53
  end
30
54
 
55
+ # Mark a product active and record its publication time.
56
+ #
57
+ # @param product_id [String] unique product identifier
58
+ # @return [Inttegro::Product] published product
31
59
  def publish(product_id:)
32
60
  @http.post_resource("/products/publish", Inttegro::Product, :product, { product_id: product_id })
33
61
  end
34
62
 
63
+ # Mark a product inactive without archiving it.
64
+ #
65
+ # @param product_id [String] unique product identifier
66
+ # @return [Inttegro::Product] unpublished product
35
67
  def unpublish(product_id:)
36
68
  @http.post_resource("/products/unpublish", Inttegro::Product, :product, { product_id: product_id })
37
69
  end
38
70
 
71
+ # Archive a product and mark it inactive.
72
+ #
73
+ # @param product_id [String] unique product identifier
74
+ # @return [Inttegro::Product] archived product
39
75
  def archive(product_id:)
40
76
  @http.post_resource("/products/archive", Inttegro::Product, :product, { product_id: product_id })
41
77
  end
42
78
 
79
+ # Retrieve a page of products.
80
+ #
81
+ # @param payload [Hash, Inttegro::Product::PageRequest] pagination fields
82
+ # @return [Inttegro::Product::Page] typed page of products
43
83
  def page(payload = {})
44
- @http.post_resource("/products/page", Inttegro::ProductPage, :page, payload || {})
84
+ @http.post_resource("/products/page", Inttegro::Product::Page, :page, payload || {})
45
85
  end
46
86
  end
47
87
  end
@@ -3,19 +3,35 @@
3
3
 
4
4
  module Inttegro
5
5
  module Resources
6
+ # Client for controlled, shareable purchase intents and hosted Buy links.
7
+ #
8
+ # Access this resource through {Inttegro::Client#purchase_intents}.
6
9
  class PurchaseIntents
10
+ # @param http [Inttegro::HTTPClient] configured transport used for each request
7
11
  def initialize(http)
8
12
  @http = T.let(http, Inttegro::HTTPClient)
9
13
  end
10
14
 
15
+ # Create a purchase intent for a catalog product.
16
+ #
17
+ # @param payload [Hash, Inttegro::PurchaseIntent::CreateRequest] offer, quantity, and usage fields
18
+ # @return [Inttegro::PurchaseIntent] created purchase intent
11
19
  def create(payload)
12
20
  @http.post_resource("/purchase_intents/create", Inttegro::PurchaseIntent, :purchase_intent, payload)
13
21
  end
14
22
 
23
+ # Change mutable quantity or expiry fields on a purchase intent.
24
+ #
25
+ # @param payload [Hash, Inttegro::PurchaseIntent::UpdateRequest] purchase intent identifier and changes
26
+ # @return [Inttegro::PurchaseIntent] updated purchase intent
15
27
  def update(payload)
16
28
  @http.post_resource("/purchase_intents/update", Inttegro::PurchaseIntent, :purchase_intent, payload)
17
29
  end
18
30
 
31
+ # Stop a purchase intent from creating new orders.
32
+ #
33
+ # @param id [String] unique purchase intent identifier
34
+ # @return [Inttegro::PurchaseIntent] canceled purchase intent
19
35
  def cancel(id:)
20
36
  @http.post_resource(
21
37
  "/purchase_intents/cancel",
@@ -24,6 +40,10 @@ module Inttegro
24
40
  )
25
41
  end
26
42
 
43
+ # Retrieve a purchase intent by its opaque identifier.
44
+ #
45
+ # @param id [String] unique purchase intent identifier
46
+ # @return [Inttegro::PurchaseIntent] matching purchase intent
27
47
  def lookup(id:)
28
48
  @http.post_resource(
29
49
  "/purchase_intents/lookup",
@@ -32,10 +52,14 @@ module Inttegro
32
52
  )
33
53
  end
34
54
 
55
+ # Retrieve purchase intents in newest-first order.
56
+ #
57
+ # @param payload [Hash, Inttegro::PurchaseIntent::PageRequest] pagination and filter fields
58
+ # @return [Inttegro::PurchaseIntent::Page] typed page of purchase intents
35
59
  def page(payload = {})
36
60
  @http.post_resource(
37
61
  "/purchase_intents/page",
38
- Inttegro::PurchaseIntentPage, :page,
62
+ Inttegro::PurchaseIntent::Page, :page,
39
63
  payload || {}
40
64
  )
41
65
  end
@@ -3,15 +3,27 @@
3
3
 
4
4
  module Inttegro
5
5
  module Resources
6
+ # Client for creating, canceling, and observing refunds.
7
+ #
8
+ # Access this resource through {Inttegro::Client#refunds}.
6
9
  class Refunds
10
+ # @param http [Inttegro::HTTPClient] configured transport used for each request
7
11
  def initialize(http)
8
12
  @http = T.let(http, Inttegro::HTTPClient)
9
13
  end
10
14
 
15
+ # Start a refund for paid order line items.
16
+ #
17
+ # @param payload [Hash, Inttegro::Refund::CreateRequest] order, line items, and refund reason
18
+ # @return [Inttegro::Refund] created refund
11
19
  def create(payload)
12
20
  @http.post_resource("/refunds/create", Inttegro::Refund, :refund, payload)
13
21
  end
14
22
 
23
+ # Cancel a pending refund before processing claims it.
24
+ #
25
+ # @param refund_id [String] unique refund identifier
26
+ # @return [Inttegro::Refund] canceled refund
15
27
  def cancel(refund_id:)
16
28
  @http.post_resource(
17
29
  "/refunds/cancel",
@@ -20,6 +32,10 @@ module Inttegro
20
32
  )
21
33
  end
22
34
 
35
+ # Retrieve the current lifecycle state and amounts for one refund.
36
+ #
37
+ # @param refund_id [String] unique refund identifier
38
+ # @return [Inttegro::Refund] matching refund
23
39
  def lookup(refund_id:)
24
40
  @http.post_resource(
25
41
  "/refunds/lookup",
@@ -28,8 +44,12 @@ module Inttegro
28
44
  )
29
45
  end
30
46
 
47
+ # Retrieve a page of refunds.
48
+ #
49
+ # @param payload [Hash, Inttegro::Refund::PageRequest] pagination and filter fields
50
+ # @return [Inttegro::Refund::Page] typed page of refunds
31
51
  def page(payload)
32
- @http.post_resource("/refunds/page", Inttegro::RefundPage, :page, payload)
52
+ @http.post_resource("/refunds/page", Inttegro::Refund::Page, :page, payload)
33
53
  end
34
54
  end
35
55
  end
@@ -3,23 +3,35 @@
3
3
 
4
4
  module Inttegro
5
5
  module Resources
6
+ # Client for observing and canceling scheduled Chimes.
7
+ #
8
+ # Access this resource through {Inttegro::Client#schedules}.
6
9
  class Schedules
10
+ # @param http [Inttegro::HTTPClient] configured transport used for each request
7
11
  def initialize(http)
8
12
  @http = T.let(http, Inttegro::HTTPClient)
9
13
  end
10
14
 
15
+ # Retrieve one scheduled Chime.
16
+ #
17
+ # @param schedule_id [String] unique schedule identifier
18
+ # @return [Inttegro::Schedule::Detail] schedule details
11
19
  def lookup(schedule_id:)
12
20
  @http.post_resource(
13
21
  "/schedules/lookup",
14
- Inttegro::ScheduleDetail, :scheduled_chime,
22
+ Inttegro::Schedule::Detail, :scheduled_chime,
15
23
  { schedule_id: schedule_id }
16
24
  )
17
25
  end
18
26
 
27
+ # Request cancellation of a Chime schedule that has not won its execution race.
28
+ #
29
+ # @param schedule_id [String] unique schedule identifier
30
+ # @return [Inttegro::Schedule::CancelDetail] resulting cancellation details
19
31
  def cancel(schedule_id:)
20
32
  @http.post_resource(
21
33
  "/schedules/cancel",
22
- Inttegro::ScheduleCancelDetail, :scheduled_chime,
34
+ Inttegro::Schedule::CancelDetail, :scheduled_chime,
23
35
  { schedule_id: schedule_id }
24
36
  )
25
37
  end
@@ -3,13 +3,20 @@
3
3
 
4
4
  module Inttegro
5
5
  module Resources
6
+ # Read-only client for public country and financial-institution specifications.
7
+ #
8
+ # Access this resource through {Inttegro::Client#spec}.
6
9
  class Spec
10
+ # @param http [Inttegro::HTTPClient] configured transport used for each request
7
11
  def initialize(http)
8
12
  @http = T.let(http, Inttegro::HTTPClient)
9
13
  end
10
14
 
15
+ # Retrieve supported countries, currencies, payment methods, banks, and providers.
16
+ #
17
+ # @return [Inttegro::Shared::CountrySpecifications] country specifications
11
18
  def countries
12
- @http.post_model("/spec/countries", Inttegro::CountrySpecifications, {})
19
+ @http.post_model("/spec/countries", Inttegro::Shared::CountrySpecifications, {})
13
20
  end
14
21
  end
15
22
  end
@@ -3,11 +3,21 @@
3
3
 
4
4
  module Inttegro
5
5
  module Resources
6
+ # Client for delegated, policy-constrained file uploads.
7
+ #
8
+ # Access this resource through {Inttegro::Client#upload_requests}. Management methods use the
9
+ # client's API key; {#fulfill} uses the public capability URL and is intentionally unauthenticated.
6
10
  class UploadRequests
11
+ # @param http [Inttegro::HTTPClient] configured transport used for each request
7
12
  def initialize(http)
8
13
  @http = T.let(http, Inttegro::HTTPClient)
9
14
  end
10
15
 
16
+ # Create a delegated upload request.
17
+ #
18
+ # @param payload [Hash, Inttegro::UploadRequest::CreateRequest] purpose, constraints, and expiry fields
19
+ # @param idempotency_key [String, nil] explicit key for safely retrying this logical write
20
+ # @return [Inttegro::UploadRequest] created upload request
11
21
  def create(payload, idempotency_key: nil)
12
22
  @http.post_resource(
13
23
  "/upload_requests/create",
@@ -17,18 +27,31 @@ module Inttegro
17
27
  )
18
28
  end
19
29
 
30
+ # Retrieve an upload request and its current attempt details.
31
+ #
32
+ # @param id [String] unique upload request identifier
33
+ # @return [Inttegro::UploadRequest::Details] upload request with attempt state
20
34
  def lookup(id:)
21
35
  @http.post_resource(
22
36
  "/upload_requests/lookup",
23
- Inttegro::UploadRequestDetails, :upload_request,
37
+ Inttegro::UploadRequest::Details, :upload_request,
24
38
  { id: id }
25
39
  )
26
40
  end
27
41
 
42
+ # Retrieve a page of upload requests.
43
+ #
44
+ # @param payload [Hash, Inttegro::UploadRequest::PageRequest] pagination and filter fields
45
+ # @return [Inttegro::UploadRequest::Page] typed page of upload requests
28
46
  def page(payload = {})
29
- @http.post_resource("/upload_requests/page", Inttegro::UploadRequestPage, :page, payload || {})
47
+ @http.post_resource("/upload_requests/page", Inttegro::UploadRequest::Page, :page, payload || {})
30
48
  end
31
49
 
50
+ # Cancel an active delegated upload request.
51
+ #
52
+ # @param payload [Hash, Inttegro::UploadRequest::CancelRequest] upload request identifier and metadata
53
+ # @param idempotency_key [String, nil] explicit key for safely retrying this logical write
54
+ # @return [Inttegro::UploadRequest] canceled upload request
32
55
  def cancel(payload, idempotency_key: nil)
33
56
  @http.post_resource(
34
57
  "/upload_requests/cancel",
@@ -38,19 +61,29 @@ module Inttegro
38
61
  )
39
62
  end
40
63
 
64
+ # Record a manual approval or rejection for a submitted upload attempt.
65
+ #
66
+ # @param payload [Hash, Inttegro::UploadRequest::ReviewAttemptRequest] attempt selector and review decision
67
+ # @param idempotency_key [String, nil] explicit key for safely retrying this logical write
68
+ # @return [Inttegro::UploadRequest::Details] updated request with review state
41
69
  def review(payload, idempotency_key: nil)
42
70
  @http.post_resource(
43
71
  "/upload_requests/review",
44
- Inttegro::UploadRequestDetails, :upload_request,
72
+ Inttegro::UploadRequest::Details, :upload_request,
45
73
  payload,
46
74
  headers: headers(idempotency_key)
47
75
  )
48
76
  end
49
77
 
78
+ # Submit a file through the public delegated-upload capability URL.
79
+ #
80
+ # @param upload_url [String] complete capability URL returned when the upload request was created
81
+ # @param file [String] local path of the file to upload
82
+ # @return [Inttegro::Shared::UploadFulfillment] validation and fulfillment result
50
83
  def fulfill(upload_url:, file:)
51
84
  @http.post_multipart_model(
52
85
  upload_url,
53
- Inttegro::UploadFulfillment,
86
+ Inttegro::Shared::UploadFulfillment,
54
87
  files: { file: file },
55
88
  authenticated: false,
56
89
  operation: "upload_requests.upload"
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+ # typed: strict
3
+
4
+ # Generated from openapi/commerce.yml by bin/generate-openapi-types. Do not edit.
5
+
6
+ require "sorbet-runtime"
7
+
8
+ module Inttegro
9
+ # Namespace for generated schedule models and enums.
10
+ #
11
+ # Each public type in this namespace is defined in its own file and follows the field names
12
+ # and wire values declared by the Inttegro OpenAPI contract.
13
+ #
14
+ # @api public
15
+ module Schedule
16
+ end
17
+ end