inttegro 5.0.0 → 6.0.1

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 (696) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -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 -642
  255. data/lib/inttegro/generated/models.rb +545 -3867
  256. data/lib/inttegro/generated/operations.rb +236 -236
  257. data/lib/inttegro/message_template/attachment_ids.rb +17 -0
  258. data/lib/inttegro/message_template/base.rb +11 -0
  259. data/lib/inttegro/message_template/channel.rb +27 -0
  260. data/lib/inttegro/message_template/create_email_request.rb +81 -0
  261. data/lib/inttegro/message_template/create_email_request_channel.rb +25 -0
  262. data/lib/inttegro/message_template/create_fields.rb +64 -0
  263. data/lib/inttegro/message_template/create_request.rb +18 -0
  264. data/lib/inttegro/message_template/create_sms_request.rb +72 -0
  265. data/lib/inttegro/message_template/create_sms_request_channel.rb +25 -0
  266. data/lib/inttegro/message_template/email_content.rb +56 -0
  267. data/lib/inttegro/message_template/envelope.rb +28 -0
  268. data/lib/inttegro/message_template/id_request.rb +27 -0
  269. data/lib/inttegro/message_template/mailbox.rb +34 -0
  270. data/lib/inttegro/message_template/message_template.rb +158 -0
  271. data/lib/inttegro/message_template/page.rb +42 -0
  272. data/lib/inttegro/message_template/page_envelope.rb +28 -0
  273. data/lib/inttegro/message_template/page_request.rb +64 -0
  274. data/lib/inttegro/message_template/preview.rb +36 -0
  275. data/lib/inttegro/message_template/reference.rb +35 -0
  276. data/lib/inttegro/message_template/render_preview_request.rb +28 -0
  277. data/lib/inttegro/message_template/rendered.rb +53 -0
  278. data/lib/inttegro/message_template/rendered_email.rb +71 -0
  279. data/lib/inttegro/message_template/rendered_sms.rb +27 -0
  280. data/lib/inttegro/message_template/safety_result.rb +78 -0
  281. data/lib/inttegro/message_template/scanned_link.rb +55 -0
  282. data/lib/inttegro/message_template/sms_content.rb +27 -0
  283. data/lib/inttegro/message_template/status.rb +30 -0
  284. data/lib/inttegro/message_template/update_request.rb +96 -0
  285. data/lib/inttegro/message_template/variable.rb +64 -0
  286. data/lib/inttegro/message_template/variable_input.rb +64 -0
  287. data/lib/inttegro/message_template/variable_item.rb +56 -0
  288. data/lib/inttegro/message_template/variable_item_input.rb +56 -0
  289. data/lib/inttegro/message_template/variable_item_type.rb +49 -0
  290. data/lib/inttegro/message_template/variable_type.rb +52 -0
  291. data/lib/inttegro/message_template/variables.rb +21 -0
  292. data/lib/inttegro/model_serialization.rb +85 -0
  293. data/lib/inttegro/models.rb +12 -156
  294. data/lib/inttegro/money/amount.rb +36 -0
  295. data/lib/inttegro/money/amount_params.rb +36 -0
  296. data/lib/inttegro/money/base.rb +17 -0
  297. data/lib/inttegro/money/currency.rb +37 -0
  298. data/lib/inttegro/money/currency_deserialization.rb +24 -0
  299. data/lib/inttegro/order/address.rb +76 -0
  300. data/lib/inttegro/order/base.rb +11 -0
  301. data/lib/inttegro/order/cancel_request.rb +42 -0
  302. data/lib/inttegro/order/checkout_settings.rb +34 -0
  303. data/lib/inttegro/order/complete_envelope.rb +29 -0
  304. data/lib/inttegro/order/complete_request.rb +36 -0
  305. data/lib/inttegro/order/create_existing_customer.rb +147 -0
  306. data/lib/inttegro/order/create_existing_customer_checkout_settings.rb +35 -0
  307. data/lib/inttegro/order/create_existing_customer_request_meta.rb +27 -0
  308. data/lib/inttegro/order/create_new_customer.rb +149 -0
  309. data/lib/inttegro/order/create_new_customer_checkout_settings.rb +35 -0
  310. data/lib/inttegro/order/create_new_customer_request_meta.rb +27 -0
  311. data/lib/inttegro/order/created_from.rb +42 -0
  312. data/lib/inttegro/order/created_from_resource_type.rb +25 -0
  313. data/lib/inttegro/order/customer.rb +70 -0
  314. data/lib/inttegro/order/discount.rb +21 -0
  315. data/lib/inttegro/order/discount_line_item.rb +36 -0
  316. data/lib/inttegro/order/discount_line_item_type.rb +24 -0
  317. data/lib/inttegro/order/document_delivery.rb +67 -0
  318. data/lib/inttegro/order/document_delivery_attempt.rb +35 -0
  319. data/lib/inttegro/order/document_delivery_failure.rb +35 -0
  320. data/lib/inttegro/order/document_delivery_request.rb +27 -0
  321. data/lib/inttegro/order/document_delivery_result.rb +46 -0
  322. data/lib/inttegro/order/document_format.rb +27 -0
  323. data/lib/inttegro/order/document_kind.rb +27 -0
  324. data/lib/inttegro/order/envelope.rb +29 -0
  325. data/lib/inttegro/order/fee_line_item.rb +36 -0
  326. data/lib/inttegro/order/fee_line_item_fee.rb +56 -0
  327. data/lib/inttegro/order/fee_line_item_type.rb +24 -0
  328. data/lib/inttegro/order/finalize_envelope.rb +29 -0
  329. data/lib/inttegro/order/finalize_request.rb +27 -0
  330. data/lib/inttegro/order/invoice.rb +35 -0
  331. data/lib/inttegro/order/invoice_format.rb +42 -0
  332. data/lib/inttegro/order/line_item.rb +20 -0
  333. data/lib/inttegro/order/line_item_group.rb +36 -0
  334. data/lib/inttegro/order/lookup_request.rb +27 -0
  335. data/lib/inttegro/order/order.rb +177 -0
  336. data/lib/inttegro/order/page.rb +42 -0
  337. data/lib/inttegro/order/page_envelope.rb +28 -0
  338. data/lib/inttegro/order/page_request.rb +42 -0
  339. data/lib/inttegro/order/pay_request.rb +51 -0
  340. data/lib/inttegro/order/payout_settings_request.rb +35 -0
  341. data/lib/inttegro/order/payout_settings_request_destination.rb +27 -0
  342. data/lib/inttegro/order/product_line_item.rb +36 -0
  343. data/lib/inttegro/order/product_line_item_product.rb +106 -0
  344. data/lib/inttegro/order/product_line_item_type.rb +24 -0
  345. data/lib/inttegro/order/questions.rb +53 -0
  346. data/lib/inttegro/order/shipping_line_item.rb +36 -0
  347. data/lib/inttegro/order/shipping_line_item_shipping.rb +49 -0
  348. data/lib/inttegro/order/shipping_line_item_type.rb +24 -0
  349. data/lib/inttegro/order/status.rb +42 -0
  350. data/lib/inttegro/order/update_request.rb +117 -0
  351. data/lib/inttegro/order/update_request_payment_method_data.rb +38 -0
  352. data/lib/inttegro/order/update_request_payment_method_data_type.rb +24 -0
  353. data/lib/inttegro/otp/alphabet_type.rb +30 -0
  354. data/lib/inttegro/otp/base.rb +17 -0
  355. data/lib/inttegro/otp/initiate_request.rb +91 -0
  356. data/lib/inttegro/otp/initiate_response.rb +28 -0
  357. data/lib/inttegro/otp/lookup_request.rb +27 -0
  358. data/lib/inttegro/otp/lookup_response.rb +28 -0
  359. data/lib/inttegro/otp/status.rb +39 -0
  360. data/lib/inttegro/otp/transaction.rb +78 -0
  361. data/lib/inttegro/otp/transmission.rb +57 -0
  362. data/lib/inttegro/otp/transmission_sent_via.rb +24 -0
  363. data/lib/inttegro/otp/transmission_status.rb +30 -0
  364. data/lib/inttegro/otp/verification.rb +36 -0
  365. data/lib/inttegro/otp/verification_attempt.rb +56 -0
  366. data/lib/inttegro/otp/verification_attempt_result.rb +35 -0
  367. data/lib/inttegro/otp/verification_verdict.rb +27 -0
  368. data/lib/inttegro/otp/verify_request.rb +41 -0
  369. data/lib/inttegro/payment/attempt_status.rb +42 -0
  370. data/lib/inttegro/payment/base.rb +11 -0
  371. data/lib/inttegro/payment/billing_details.rb +28 -0
  372. data/lib/inttegro/payment/billing_details_owner.rb +35 -0
  373. data/lib/inttegro/payment/confirm_request.rb +48 -0
  374. data/lib/inttegro/payment/confirmation_channel.rb +30 -0
  375. data/lib/inttegro/payment/customer.rb +70 -0
  376. data/lib/inttegro/payment/latest_attempt.rb +71 -0
  377. data/lib/inttegro/payment/latest_attempt_error.rb +27 -0
  378. data/lib/inttegro/payment/latest_error.rb +55 -0
  379. data/lib/inttegro/payment/method_snapshot_bank_account.rb +35 -0
  380. data/lib/inttegro/payment/method_snapshot_bank_account_ghana_bank_account.rb +56 -0
  381. data/lib/inttegro/payment/method_snapshot_mobile_money.rb +42 -0
  382. data/lib/inttegro/payment/method_snapshot_owner.rb +35 -0
  383. data/lib/inttegro/payment/next_action.rb +60 -0
  384. data/lib/inttegro/payment/next_action_authorize.rb +41 -0
  385. data/lib/inttegro/payment/next_action_confirm_payment.rb +64 -0
  386. data/lib/inttegro/payment/next_action_confirm_payment_attempt.rb +55 -0
  387. data/lib/inttegro/payment/next_action_confirm_payment_request.rb +63 -0
  388. data/lib/inttegro/payment/next_action_redirect.rb +42 -0
  389. data/lib/inttegro/payment/next_action_redirect_latest_visit.rb +41 -0
  390. data/lib/inttegro/payment/next_action_request_confirmation.rb +35 -0
  391. data/lib/inttegro/payment/next_action_request_confirmation_last_request.rb +64 -0
  392. data/lib/inttegro/payment/next_action_type.rb +36 -0
  393. data/lib/inttegro/payment/payment.rb +177 -0
  394. data/lib/inttegro/payment/payment_method.rb +95 -0
  395. data/lib/inttegro/payment/payout_configuration.rb +35 -0
  396. data/lib/inttegro/payment/payout_configuration_destination.rb +27 -0
  397. data/lib/inttegro/payment/questions.rb +47 -0
  398. data/lib/inttegro/payment/result.rb +56 -0
  399. data/lib/inttegro/payment/result_status.rb +36 -0
  400. data/lib/inttegro/payment/status.rb +48 -0
  401. data/lib/inttegro/payment_method/activate_request.rb +27 -0
  402. data/lib/inttegro/payment_method/activate_response.rb +28 -0
  403. data/lib/inttegro/payment_method/archive_request.rb +27 -0
  404. data/lib/inttegro/payment_method/archive_response.rb +28 -0
  405. data/lib/inttegro/payment_method/bank_account.rb +36 -0
  406. data/lib/inttegro/payment_method/bank_account_ghana_bank_account.rb +55 -0
  407. data/lib/inttegro/payment_method/base.rb +11 -0
  408. data/lib/inttegro/payment_method/card.rb +21 -0
  409. data/lib/inttegro/payment_method/data.rb +36 -0
  410. data/lib/inttegro/payment_method/data_mobile_money.rb +35 -0
  411. data/lib/inttegro/payment_method/data_type.rb +24 -0
  412. data/lib/inttegro/payment_method/deletion.rb +20 -0
  413. data/lib/inttegro/payment_method/disactivate_request.rb +27 -0
  414. data/lib/inttegro/payment_method/disactivate_response.rb +28 -0
  415. data/lib/inttegro/payment_method/get_settings_request.rb +21 -0
  416. data/lib/inttegro/payment_method/get_settings_response.rb +28 -0
  417. data/lib/inttegro/payment_method/lookup_request.rb +27 -0
  418. data/lib/inttegro/payment_method/lookup_response.rb +28 -0
  419. data/lib/inttegro/payment_method/mobile_money.rb +42 -0
  420. data/lib/inttegro/payment_method/owner.rb +35 -0
  421. data/lib/inttegro/payment_method/owner_address.rb +76 -0
  422. data/lib/inttegro/payment_method/owner_input.rb +35 -0
  423. data/lib/inttegro/payment_method/owner_input_address.rb +76 -0
  424. data/lib/inttegro/payment_method/page.rb +42 -0
  425. data/lib/inttegro/payment_method/page_request.rb +42 -0
  426. data/lib/inttegro/payment_method/page_response.rb +28 -0
  427. data/lib/inttegro/payment_method/payment_method.rb +138 -0
  428. data/lib/inttegro/payment_method/questions.rb +35 -0
  429. data/lib/inttegro/payment_method/settings.rb +49 -0
  430. data/lib/inttegro/payment_method/supplied.rb +62 -0
  431. data/lib/inttegro/payment_method/tokenize_base.rb +43 -0
  432. data/lib/inttegro/payment_method/tokenize_base_type.rb +25 -0
  433. data/lib/inttegro/payment_method/tokenize_mobile_money_request.rb +59 -0
  434. data/lib/inttegro/payment_method/tokenize_mobile_money_request_mobile_money.rb +36 -0
  435. data/lib/inttegro/payment_method/tokenize_mobile_money_request_type.rb +25 -0
  436. data/lib/inttegro/payment_method/tokenize_response.rb +28 -0
  437. data/lib/inttegro/payment_method/type.rb +33 -0
  438. data/lib/inttegro/payment_method/type_setting.rb +56 -0
  439. data/lib/inttegro/payment_method/unarchive_request.rb +27 -0
  440. data/lib/inttegro/payment_method/unarchive_response.rb +28 -0
  441. data/lib/inttegro/payment_method/update_request.rb +57 -0
  442. data/lib/inttegro/payment_method/update_request_owner.rb +35 -0
  443. data/lib/inttegro/payment_method/update_request_owner_address.rb +76 -0
  444. data/lib/inttegro/payment_method/update_response.rb +28 -0
  445. data/lib/inttegro/payment_method/verification.rb +55 -0
  446. data/lib/inttegro/payout/base.rb +11 -0
  447. data/lib/inttegro/payout/cancel_request.rb +27 -0
  448. data/lib/inttegro/payout/cancel_response.rb +28 -0
  449. data/lib/inttegro/payout/disable_automatic_request.rb +21 -0
  450. data/lib/inttegro/payout/disable_automatic_response.rb +28 -0
  451. data/lib/inttegro/payout/enable_automatic_request.rb +21 -0
  452. data/lib/inttegro/payout/enable_automatic_response.rb +28 -0
  453. data/lib/inttegro/payout/error.rb +48 -0
  454. data/lib/inttegro/payout/get_settings_request.rb +21 -0
  455. data/lib/inttegro/payout/get_settings_response.rb +28 -0
  456. data/lib/inttegro/payout/lookup_request.rb +27 -0
  457. data/lib/inttegro/payout/lookup_response.rb +28 -0
  458. data/lib/inttegro/payout/page.rb +42 -0
  459. data/lib/inttegro/payout/page_request.rb +34 -0
  460. data/lib/inttegro/payout/page_response.rb +28 -0
  461. data/lib/inttegro/payout/payout.rb +176 -0
  462. data/lib/inttegro/payout/set_destinations_request.rb +27 -0
  463. data/lib/inttegro/payout/set_destinations_response.rb +28 -0
  464. data/lib/inttegro/payout/settings_lookup.rb +42 -0
  465. data/lib/inttegro/payout/settings_lookup_schedule.rb +63 -0
  466. data/lib/inttegro/payout/settings_lookup_schedule_aging_spec.rb +41 -0
  467. data/lib/inttegro/payout/settings_mutation.rb +42 -0
  468. data/lib/inttegro/payout/settings_mutation_schedule.rb +70 -0
  469. data/lib/inttegro/payout/settings_mutation_schedule_spec.rb +48 -0
  470. data/lib/inttegro/payout/status.rb +42 -0
  471. data/lib/inttegro/price/action_request.rb +27 -0
  472. data/lib/inttegro/price/base.rb +11 -0
  473. data/lib/inttegro/price/catalog_price.rb +92 -0
  474. data/lib/inttegro/price/catalog_price_params.rb +49 -0
  475. data/lib/inttegro/price/embedded_product.rb +159 -0
  476. data/lib/inttegro/price/lookup_request.rb +27 -0
  477. data/lib/inttegro/price/page.rb +42 -0
  478. data/lib/inttegro/price/page_item.rb +17 -0
  479. data/lib/inttegro/price/page_request.rb +41 -0
  480. data/lib/inttegro/price/page_response.rb +37 -0
  481. data/lib/inttegro/price/price.rb +34 -0
  482. data/lib/inttegro/price/price_params.rb +36 -0
  483. data/lib/inttegro/price/response.rb +37 -0
  484. data/lib/inttegro/price/update_request.rb +41 -0
  485. data/lib/inttegro/product/action_request.rb +27 -0
  486. data/lib/inttegro/product/add_price_request.rb +49 -0
  487. data/lib/inttegro/product/add_price_response.rb +37 -0
  488. data/lib/inttegro/product/attribute.rb +34 -0
  489. data/lib/inttegro/product/base.rb +11 -0
  490. data/lib/inttegro/product/catalog_with_price_data.rb +42 -0
  491. data/lib/inttegro/product/catalog_with_price_reference.rb +42 -0
  492. data/lib/inttegro/product/create_request.rb +124 -0
  493. data/lib/inttegro/product/delivery.rb +21 -0
  494. data/lib/inttegro/product/details.rb +22 -0
  495. data/lib/inttegro/product/dimensions.rb +44 -0
  496. data/lib/inttegro/product/dimensions_custom.rb +41 -0
  497. data/lib/inttegro/product/dimensions_digital.rb +41 -0
  498. data/lib/inttegro/product/dimensions_physical.rb +76 -0
  499. data/lib/inttegro/product/download.rb +21 -0
  500. data/lib/inttegro/product/inline_details.rb +79 -0
  501. data/lib/inttegro/product/line_item.rb +39 -0
  502. data/lib/inttegro/product/line_item_type.rb +24 -0
  503. data/lib/inttegro/product/lookup_request.rb +27 -0
  504. data/lib/inttegro/product/media.rb +83 -0
  505. data/lib/inttegro/product/page.rb +42 -0
  506. data/lib/inttegro/product/page_request.rb +34 -0
  507. data/lib/inttegro/product/page_response.rb +28 -0
  508. data/lib/inttegro/product/price_summary.rb +49 -0
  509. data/lib/inttegro/product/product.rb +165 -0
  510. data/lib/inttegro/product/questions.rb +35 -0
  511. data/lib/inttegro/product/render.rb +21 -0
  512. data/lib/inttegro/product/response.rb +37 -0
  513. data/lib/inttegro/product/service.rb +21 -0
  514. data/lib/inttegro/product/set_default_unit_price_request.rb +22 -0
  515. data/lib/inttegro/product/shipment.rb +68 -0
  516. data/lib/inttegro/product/shipment_input.rb +28 -0
  517. data/lib/inttegro/product/shipment_input_type.rb +33 -0
  518. data/lib/inttegro/product/shipment_type.rb +36 -0
  519. data/lib/inttegro/product/stream.rb +21 -0
  520. data/lib/inttegro/product/type.rb +39 -0
  521. data/lib/inttegro/product/update_request.rb +124 -0
  522. data/lib/inttegro/product/update_response.rb +28 -0
  523. data/lib/inttegro/product/updated.rb +122 -0
  524. data/lib/inttegro/purchase_intent/activity.rb +122 -0
  525. data/lib/inttegro/purchase_intent/activity_attribution.rb +83 -0
  526. data/lib/inttegro/purchase_intent/activity_log.rb +28 -0
  527. data/lib/inttegro/purchase_intent/activity_type.rb +37 -0
  528. data/lib/inttegro/purchase_intent/activity_visitor.rb +97 -0
  529. data/lib/inttegro/purchase_intent/base.rb +11 -0
  530. data/lib/inttegro/purchase_intent/cancel_request.rb +34 -0
  531. data/lib/inttegro/purchase_intent/create_request.rb +75 -0
  532. data/lib/inttegro/purchase_intent/create_request_price.rb +51 -0
  533. data/lib/inttegro/purchase_intent/create_request_price_original.rb +35 -0
  534. data/lib/inttegro/purchase_intent/create_request_product.rb +34 -0
  535. data/lib/inttegro/purchase_intent/create_request_quantity.rb +35 -0
  536. data/lib/inttegro/purchase_intent/create_request_usage.rb +34 -0
  537. data/lib/inttegro/purchase_intent/lookup_request.rb +27 -0
  538. data/lib/inttegro/purchase_intent/merchant.rb +42 -0
  539. data/lib/inttegro/purchase_intent/original_price.rb +49 -0
  540. data/lib/inttegro/purchase_intent/page.rb +42 -0
  541. data/lib/inttegro/purchase_intent/page_request.rb +34 -0
  542. data/lib/inttegro/purchase_intent/page_response.rb +28 -0
  543. data/lib/inttegro/purchase_intent/price.rb +57 -0
  544. data/lib/inttegro/purchase_intent/product.rb +174 -0
  545. data/lib/inttegro/purchase_intent/product_attributes_item.rb +34 -0
  546. data/lib/inttegro/purchase_intent/purchase_intent.rb +128 -0
  547. data/lib/inttegro/purchase_intent/quantity.rb +36 -0
  548. data/lib/inttegro/purchase_intent/questions.rb +38 -0
  549. data/lib/inttegro/purchase_intent/response.rb +28 -0
  550. data/lib/inttegro/purchase_intent/status.rb +33 -0
  551. data/lib/inttegro/purchase_intent/update_request.rb +61 -0
  552. data/lib/inttegro/purchase_intent/update_request_quantity.rb +36 -0
  553. data/lib/inttegro/purchase_intent/usage.rb +43 -0
  554. data/lib/inttegro/purchase_intent/usage_order.rb +34 -0
  555. data/lib/inttegro/purchase_intent/variant.rb +64 -0
  556. data/lib/inttegro/purchase_intent/variant_axis.rb +41 -0
  557. data/lib/inttegro/purchase_intent/variant_set.rb +78 -0
  558. data/lib/inttegro/refund/base.rb +11 -0
  559. data/lib/inttegro/refund/cancel_request.rb +35 -0
  560. data/lib/inttegro/refund/create_line_item.rb +51 -0
  561. data/lib/inttegro/refund/create_request.rb +73 -0
  562. data/lib/inttegro/refund/line_item.rb +64 -0
  563. data/lib/inttegro/refund/lookup_request.rb +27 -0
  564. data/lib/inttegro/refund/page.rb +42 -0
  565. data/lib/inttegro/refund/page_request.rb +34 -0
  566. data/lib/inttegro/refund/page_response.rb +28 -0
  567. data/lib/inttegro/refund/reason.rb +48 -0
  568. data/lib/inttegro/refund/refund.rb +121 -0
  569. data/lib/inttegro/refund/request_meta.rb +27 -0
  570. data/lib/inttegro/refund/response.rb +28 -0
  571. data/lib/inttegro/refund/status.rb +36 -0
  572. data/lib/inttegro/resources/apps.rb +19 -0
  573. data/lib/inttegro/resources/balance_transactions.rb +13 -1
  574. data/lib/inttegro/resources/balances.rb +8 -1
  575. data/lib/inttegro/resources/broadcasts.rb +14 -2
  576. data/lib/inttegro/resources/chimes.rb +27 -3
  577. data/lib/inttegro/resources/customers.rb +21 -1
  578. data/lib/inttegro/resources/file_links.rb +32 -2
  579. data/lib/inttegro/resources/file_references.rb +9 -1
  580. data/lib/inttegro/resources/files.rb +30 -1
  581. data/lib/inttegro/resources/financial_accounts.rb +51 -1
  582. data/lib/inttegro/resources/keys.rb +41 -3
  583. data/lib/inttegro/resources/message_templates.rb +38 -2
  584. data/lib/inttegro/resources/orders.rb +18 -13
  585. data/lib/inttegro/resources/otp.rb +24 -4
  586. data/lib/inttegro/resources/payment_methods.rb +33 -8
  587. data/lib/inttegro/resources/payouts.rb +26 -14
  588. data/lib/inttegro/resources/prices.rb +39 -7
  589. data/lib/inttegro/resources/products.rb +43 -3
  590. data/lib/inttegro/resources/purchase_intents.rb +25 -1
  591. data/lib/inttegro/resources/refunds.rb +21 -1
  592. data/lib/inttegro/resources/schedules.rb +14 -2
  593. data/lib/inttegro/resources/spec.rb +8 -1
  594. data/lib/inttegro/resources/upload_requests.rb +37 -4
  595. data/lib/inttegro/schedule/base.rb +17 -0
  596. data/lib/inttegro/schedule/cancel_detail.rb +120 -0
  597. data/lib/inttegro/schedule/cancel_request.rb +27 -0
  598. data/lib/inttegro/schedule/cancel_response.rb +28 -0
  599. data/lib/inttegro/schedule/chime_request.rb +81 -0
  600. data/lib/inttegro/schedule/chime_request_request_meta.rb +27 -0
  601. data/lib/inttegro/schedule/creation_detail.rb +98 -0
  602. data/lib/inttegro/schedule/detail.rb +113 -0
  603. data/lib/inttegro/schedule/error.rb +41 -0
  604. data/lib/inttegro/schedule/lookup_request.rb +27 -0
  605. data/lib/inttegro/schedule/lookup_response.rb +28 -0
  606. data/lib/inttegro/schedule/payout_request.rb +48 -0
  607. data/lib/inttegro/schedule/payout_response.rb +28 -0
  608. data/lib/inttegro/schedule/response.rb +28 -0
  609. data/lib/inttegro/secret_key/auth_result.rb +27 -0
  610. data/lib/inttegro/secret_key/base.rb +11 -0
  611. data/lib/inttegro/secret_key/destroy_request.rb +27 -0
  612. data/lib/inttegro/secret_key/destroy_response.rb +29 -0
  613. data/lib/inttegro/secret_key/generate_request.rb +28 -0
  614. data/lib/inttegro/secret_key/generate_response.rb +28 -0
  615. data/lib/inttegro/secret_key/generated.rb +56 -0
  616. data/lib/inttegro/secret_key/lookup_request.rb +27 -0
  617. data/lib/inttegro/secret_key/lookup_response.rb +29 -0
  618. data/lib/inttegro/secret_key/page.rb +63 -0
  619. data/lib/inttegro/secret_key/page_request.rb +41 -0
  620. data/lib/inttegro/secret_key/page_response.rb +28 -0
  621. data/lib/inttegro/secret_key/secret_key.rb +98 -0
  622. data/lib/inttegro/secret_key/status.rb +30 -0
  623. data/lib/inttegro/secret_key/token_type.rb +24 -0
  624. data/lib/inttegro/secret_key/update_request.rb +34 -0
  625. data/lib/inttegro/secret_key/update_response.rb +29 -0
  626. data/lib/inttegro/secret_key/usage.rb +37 -0
  627. data/lib/inttegro/secret_key/usage_page.rb +63 -0
  628. data/lib/inttegro/secret_key/usage_request.rb +48 -0
  629. data/lib/inttegro/secret_key/usage_row.rb +42 -0
  630. data/lib/inttegro/shared/address.rb +83 -0
  631. data/lib/inttegro/shared/base.rb +17 -0
  632. data/lib/inttegro/shared/billing_details.rb +49 -0
  633. data/lib/inttegro/shared/content_safety_status.rb +30 -0
  634. data/lib/inttegro/shared/country_bank.rb +56 -0
  635. data/lib/inttegro/shared/country_bank_branch.rb +41 -0
  636. data/lib/inttegro/shared/country_bank_directory.rb +42 -0
  637. data/lib/inttegro/shared/country_specification.rb +91 -0
  638. data/lib/inttegro/shared/country_specifications.rb +28 -0
  639. data/lib/inttegro/shared/delivery_channel.rb +27 -0
  640. data/lib/inttegro/shared/dosh_account.rb +22 -0
  641. data/lib/inttegro/shared/error_envelope.rb +29 -0
  642. data/lib/inttegro/shared/error_payload.rb +76 -0
  643. data/lib/inttegro/shared/fee_details.rb +64 -0
  644. data/lib/inttegro/shared/fee_line_item.rb +36 -0
  645. data/lib/inttegro/shared/fee_line_item_type.rb +24 -0
  646. data/lib/inttegro/shared/financial_institution.rb +64 -0
  647. data/lib/inttegro/shared/financial_institution_bank.rb +56 -0
  648. data/lib/inttegro/shared/financial_institution_bank_branch.rb +41 -0
  649. data/lib/inttegro/shared/financial_institution_mobile_money_provider.rb +28 -0
  650. data/lib/inttegro/shared/invoice_settings.rb +51 -0
  651. data/lib/inttegro/shared/line_item.rb +19 -0
  652. data/lib/inttegro/shared/list_country_specs_request.rb +21 -0
  653. data/lib/inttegro/shared/mobile_money.rb +35 -0
  654. data/lib/inttegro/shared/mobile_money_network.rb +33 -0
  655. data/lib/inttegro/shared/request_confirmation_request.rb +27 -0
  656. data/lib/inttegro/shared/resource_supply.rb +62 -0
  657. data/lib/inttegro/shared/shipping.rb +28 -0
  658. data/lib/inttegro/shared/shipping_details.rb +50 -0
  659. data/lib/inttegro/shared/shipping_line_item.rb +36 -0
  660. data/lib/inttegro/shared/shipping_line_item_type.rb +24 -0
  661. data/lib/inttegro/shared/upload_fulfillment.rb +36 -0
  662. data/lib/inttegro/shared/upload_review_decision.rb +28 -0
  663. data/lib/inttegro/shared/upload_review_type.rb +27 -0
  664. data/lib/inttegro/upload_request/actor.rb +48 -0
  665. data/lib/inttegro/upload_request/attempt.rb +113 -0
  666. data/lib/inttegro/upload_request/attempts.rb +48 -0
  667. data/lib/inttegro/upload_request/attempts_request.rb +27 -0
  668. data/lib/inttegro/upload_request/base.rb +11 -0
  669. data/lib/inttegro/upload_request/cancel_request.rb +35 -0
  670. data/lib/inttegro/upload_request/constraints.rb +62 -0
  671. data/lib/inttegro/upload_request/create_request.rb +97 -0
  672. data/lib/inttegro/upload_request/details.rb +205 -0
  673. data/lib/inttegro/upload_request/display.rb +41 -0
  674. data/lib/inttegro/upload_request/fulfill_request.rb +27 -0
  675. data/lib/inttegro/upload_request/latest_error.rb +55 -0
  676. data/lib/inttegro/upload_request/lookup_request.rb +27 -0
  677. data/lib/inttegro/upload_request/page.rb +42 -0
  678. data/lib/inttegro/upload_request/page_request.rb +57 -0
  679. data/lib/inttegro/upload_request/page_response.rb +28 -0
  680. data/lib/inttegro/upload_request/response.rb +28 -0
  681. data/lib/inttegro/upload_request/review.rb +72 -0
  682. data/lib/inttegro/upload_request/review_attempt_by_id_request.rb +57 -0
  683. data/lib/inttegro/upload_request/review_attempt_by_ordinal_request.rb +57 -0
  684. data/lib/inttegro/upload_request/review_attempt_request.rb +18 -0
  685. data/lib/inttegro/upload_request/review_reason.rb +41 -0
  686. data/lib/inttegro/upload_request/review_reason_input.rb +41 -0
  687. data/lib/inttegro/upload_request/status.rb +39 -0
  688. data/lib/inttegro/upload_request/upload_request.rb +195 -0
  689. data/lib/inttegro/upload_request/validation_failure.rb +36 -0
  690. data/lib/inttegro/upload_request/validation_failure_error.rb +48 -0
  691. data/lib/inttegro/upload_request/with_attempt_response.rb +28 -0
  692. data/lib/inttegro/version.rb +1 -1
  693. data/lib/inttegro/wallet/base.rb +17 -0
  694. data/lib/inttegro/wallet/type.rb +24 -0
  695. data/rbi/inttegro/generated.rbi +82 -82
  696. metadata +663 -2
@@ -0,0 +1,121 @@
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_relative "base"
7
+ require_relative "../money/amount"
8
+ require_relative "line_item"
9
+ require_relative "reason"
10
+ require_relative "status"
11
+
12
+ module Inttegro
13
+ # Typed representation of the refund object in the Inttegro API.
14
+ #
15
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
16
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
17
+ # field names and serialized enum values.
18
+ #
19
+ # @api public
20
+ #
21
+ # @!attribute [r] canceled_at
22
+ # Omitted unless the refund was canceled before processing began.
23
+ #
24
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `canceled_at`.
25
+ # @return [Time, nil]
26
+ #
27
+ # @!attribute [r] created_at
28
+ # Value of the `created_at` field in the Inttegro API payload.
29
+ #
30
+ # Required in the API payload. Wire name: `created_at`.
31
+ # @return [Time]
32
+ #
33
+ # @!attribute [r] custom_data
34
+ # Merchant-defined string values attached to a resource. SDKs expose this as a semantic
35
+ # collection rather than a raw map.
36
+ #
37
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `custom_data`.
38
+ # @return [Hash{String => String}, nil]
39
+ #
40
+ # @!attribute [r] failed_at
41
+ # Omitted unless processing failed.
42
+ #
43
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `failed_at`.
44
+ # @return [Time, nil]
45
+ #
46
+ # @!attribute [r] id
47
+ # Value of the `id` field in the Inttegro API payload.
48
+ #
49
+ # Required in the API payload. Wire name: `id`.
50
+ # @return [String]
51
+ #
52
+ # @!attribute [r] line_items
53
+ # One or more immutable line-level refund allocations.
54
+ #
55
+ # Required in the API payload. Wire name: `line_items`.
56
+ # @return [Array<Inttegro::Refund::LineItem>]
57
+ #
58
+ # @!attribute [r] order_id
59
+ # Value of the `order_id` field in the Inttegro API payload.
60
+ #
61
+ # Required in the API payload. Wire name: `order_id`.
62
+ # @return [String]
63
+ #
64
+ # @!attribute [r] processing_at
65
+ # Omitted until processing starts.
66
+ #
67
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `processing_at`.
68
+ # @return [Time, nil]
69
+ #
70
+ # @!attribute [r] reason
71
+ # Value of the `reason` field in the Inttegro API payload.
72
+ #
73
+ # Required in the API payload. Wire name: `reason`.
74
+ # @return [Inttegro::Refund::Reason]
75
+ #
76
+ # @!attribute [r] reason_details
77
+ # Value of the `reason_details` field in the Inttegro API payload.
78
+ #
79
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `reason_details`.
80
+ # @return [String, nil]
81
+ #
82
+ # @!attribute [r] reference
83
+ # Value of the `reference` field in the Inttegro API payload.
84
+ #
85
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `reference`.
86
+ # @return [String, nil]
87
+ #
88
+ # @!attribute [r] status
89
+ # Value of the `status` field in the Inttegro API payload.
90
+ #
91
+ # Required in the API payload. Wire name: `status`.
92
+ # @return [Inttegro::Refund::Status]
93
+ #
94
+ # @!attribute [r] succeeded_at
95
+ # Omitted unless processing succeeded.
96
+ #
97
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `succeeded_at`.
98
+ # @return [Time, nil]
99
+ #
100
+ # @!attribute [r] total
101
+ # Value of the `total` field in the Inttegro API payload.
102
+ #
103
+ # Required in the API payload. Wire name: `total`.
104
+ # @return [Inttegro::Money::Amount]
105
+ class Refund
106
+ const :canceled_at, T.nilable(Time), default: nil
107
+ const :created_at, Time
108
+ const :custom_data, T.nilable(T::Hash[String, String]), default: nil
109
+ const :failed_at, T.nilable(Time), default: nil
110
+ const :id, String
111
+ const :line_items, T::Array[Inttegro::Refund::LineItem]
112
+ const :order_id, String
113
+ const :processing_at, T.nilable(Time), default: nil
114
+ const :reason, Inttegro::Refund::Reason
115
+ const :reason_details, T.nilable(String), default: nil
116
+ const :reference, T.nilable(String), default: nil
117
+ const :status, Inttegro::Refund::Status
118
+ const :succeeded_at, T.nilable(Time), default: nil
119
+ const :total, Inttegro::Money::Amount
120
+ end
121
+ end
@@ -0,0 +1,27 @@
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_relative "base"
7
+
8
+ module Inttegro
9
+ class Refund
10
+ # Typed representation of the request meta object in the Inttegro API.
11
+ #
12
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
13
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
14
+ # field names and serialized enum values.
15
+ #
16
+ # @api public
17
+ #
18
+ # @!attribute [r] idempotency_key
19
+ # Body-level compatibility key. Prefer the `Idempotency-Key` header for new integrations.
20
+ #
21
+ # Optional in the API payload; omitted values default to `nil`. Wire name: `idempotency_key`.
22
+ # @return [String, nil]
23
+ class RequestMeta < T::Struct
24
+ const :idempotency_key, T.nilable(String), default: nil
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,28 @@
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_relative "base"
7
+ require_relative "refund"
8
+
9
+ module Inttegro
10
+ class Refund
11
+ # Typed representation of the response object in the Inttegro API.
12
+ #
13
+ # This generated model is immutable. Construct it with `.new`, or decode a string-keyed API
14
+ # payload with `.from_hash`. `#serialize` produces a string-keyed hash using the original wire
15
+ # field names and serialized enum values.
16
+ #
17
+ # @api public
18
+ #
19
+ # @!attribute [r] refund
20
+ # Value of the `refund` field in the Inttegro API payload.
21
+ #
22
+ # Required in the API payload. Wire name: `refund`.
23
+ # @return [Inttegro::Refund]
24
+ class Response < T::Struct
25
+ const :refund, Inttegro::Refund
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,36 @@
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_relative "base"
7
+
8
+ module Inttegro
9
+ class Refund
10
+ # String-backed values accepted by the Inttegro API for Inttegro::Refund::Status.
11
+ #
12
+ # Use the constants below when constructing a request. `#serialize` returns the documented
13
+ # string wire value received from or sent to the API.
14
+ #
15
+ # @api public
16
+ class Status < T::Enum
17
+ enums do
18
+ # Serialized wire value: `canceled`.
19
+ # @return [Inttegro::Refund::Status]
20
+ CANCELED = new("canceled")
21
+ # Serialized wire value: `failed`.
22
+ # @return [Inttegro::Refund::Status]
23
+ FAILED = new("failed")
24
+ # Serialized wire value: `pending`.
25
+ # @return [Inttegro::Refund::Status]
26
+ PENDING = new("pending")
27
+ # Serialized wire value: `processing`.
28
+ # @return [Inttegro::Refund::Status]
29
+ PROCESSING = new("processing")
30
+ # Serialized wire value: `succeeded`.
31
+ # @return [Inttegro::Refund::Status]
32
+ SUCCEEDED = new("succeeded")
33
+ end
34
+ end
35
+ end
36
+ end
@@ -2,20 +2,39 @@
2
2
  # typed: strict
3
3
 
4
4
  module Inttegro
5
+ # Resource clients exposed by {Inttegro::Client}.
6
+ #
7
+ # Each client owns one related set of API operations and converts successful responses into the
8
+ # resource-scoped models documented under {Inttegro}.
5
9
  module Resources
10
+ # Client for creating, reading, and updating Inttegro applications.
11
+ #
12
+ # Access this resource through {Inttegro::Client#apps}.
6
13
  class Apps
14
+ # @param http [Inttegro::HTTPClient] configured transport used for each request
7
15
  def initialize(http)
8
16
  @http = T.let(http, Inttegro::HTTPClient)
9
17
  end
10
18
 
19
+ # Create an application and return its typed application record.
20
+ #
21
+ # @param payload [Hash, Inttegro::Application::CreateRequest] application creation fields
22
+ # @return [Inttegro::Application] created application
11
23
  def create(payload)
12
24
  @http.post_resource("/apps/create", Inttegro::Application, :app, payload)
13
25
  end
14
26
 
27
+ # Retrieve the application authenticated by the client's API key.
28
+ #
29
+ # @return [Inttegro::Application] authenticated application
15
30
  def lookup
16
31
  @http.post_resource("/apps/lookup", Inttegro::Application, :app, {})
17
32
  end
18
33
 
34
+ # Update mutable fields on the authenticated application.
35
+ #
36
+ # @param payload [Hash, Inttegro::Application::UpdateRequest] fields to change
37
+ # @return [Inttegro::Application] updated application
19
38
  def update(payload)
20
39
  @http.post_resource("/apps/update", Inttegro::Application, :app, payload)
21
40
  end
@@ -3,19 +3,31 @@
3
3
 
4
4
  module Inttegro
5
5
  module Resources
6
+ # Read-only client for balance transactions recorded for the authenticated application.
7
+ #
8
+ # Access this resource through {Inttegro::Client#balance_transactions}.
6
9
  class BalanceTransactions
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 balance transaction by its identifier.
16
+ #
17
+ # @param transaction_id [String] unique balance transaction identifier
18
+ # @return [Inttegro::BalanceTransaction] matching transaction
11
19
  def lookup(transaction_id:)
12
20
  @http.post_resource("/balance_transactions/lookup", Inttegro::BalanceTransaction, :transaction,
13
21
  { transaction_id: transaction_id }
14
22
  )
15
23
  end
16
24
 
25
+ # Retrieve a page of balance transactions.
26
+ #
27
+ # @param payload [Hash, Inttegro::BalanceTransaction::PageRequest] pagination and filter fields
28
+ # @return [Inttegro::BalanceTransaction::Page] typed page of transactions
17
29
  def page(payload = {})
18
- @http.post_resource("/balance_transactions/page", Inttegro::BalanceTransactionPage, :page,
30
+ @http.post_resource("/balance_transactions/page", Inttegro::BalanceTransaction::Page, :page,
19
31
  payload || {}
20
32
  )
21
33
  end
@@ -3,13 +3,20 @@
3
3
 
4
4
  module Inttegro
5
5
  module Resources
6
+ # Read-only client for the authenticated application's balance snapshot.
7
+ #
8
+ # Access this resource through {Inttegro::Client#balances}.
6
9
  class Balances
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 the latest strongly typed GHS balance snapshot.
16
+ #
17
+ # @return [Inttegro::Balance::Snapshot] available, pending, reserved, and refund balances
11
18
  def get
12
- @http.post_resource("/balances", Inttegro::BalanceSnapshot, :balances, {})
19
+ @http.post_resource("/balances", Inttegro::Balance::Snapshot, :balances, {})
13
20
  end
14
21
  end
15
22
  end
@@ -3,19 +3,31 @@
3
3
 
4
4
  module Inttegro
5
5
  module Resources
6
+ # Client for observing and canceling asynchronous Chime broadcasts.
7
+ #
8
+ # Access this resource through {Inttegro::Client#broadcasts}.
6
9
  class Broadcasts
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 a broadcast and its current delivery state.
16
+ #
17
+ # @param broadcast_id [String] unique broadcast identifier
18
+ # @return [Inttegro::Broadcast::Detail] broadcast details
11
19
  def lookup(broadcast_id:)
12
- @http.post_resource("/broadcasts/lookup", Inttegro::BroadcastDetail, :broadcast,
20
+ @http.post_resource("/broadcasts/lookup", Inttegro::Broadcast::Detail, :broadcast,
13
21
  { broadcast_id: broadcast_id }
14
22
  )
15
23
  end
16
24
 
25
+ # Request cancellation of a broadcast that has not won its execution race.
26
+ #
27
+ # @param broadcast_id [String] unique broadcast identifier
28
+ # @return [Inttegro::Broadcast::CancelDetail] resulting cancellation details
17
29
  def cancel(broadcast_id:)
18
- @http.post_resource("/broadcasts/cancel", Inttegro::BroadcastCancelDetail, :broadcast,
30
+ @http.post_resource("/broadcasts/cancel", Inttegro::Broadcast::CancelDetail, :broadcast,
19
31
  { broadcast_id: broadcast_id }
20
32
  )
21
33
  end
@@ -3,29 +3,53 @@
3
3
 
4
4
  module Inttegro
5
5
  module Resources
6
+ # Client for immediate, scheduled, and broadcast SMS or email notifications.
7
+ #
8
+ # Access this resource through {Inttegro::Client#chimes}.
6
9
  class Chimes
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
+ # Send one Chime immediately.
16
+ #
17
+ # @param payload [Hash, Inttegro::Chime::SendRequest] recipient and message data
18
+ # @return [Inttegro::Chime] created Chime and transmission state
11
19
  def send(payload)
12
20
  @http.post_resource("/chimes/send", Inttegro::Chime, :chime, payload)
13
21
  end
14
22
 
23
+ # Retrieve a sent Chime.
24
+ #
25
+ # @param chime_id [String] unique Chime identifier
26
+ # @return [Inttegro::Chime] matching Chime
15
27
  def lookup(chime_id:)
16
28
  @http.post_resource("/chimes/lookup", Inttegro::Chime, :chime, { chime_id: chime_id })
17
29
  end
18
30
 
31
+ # Retrieve a filtered page of Chimes.
32
+ #
33
+ # @param payload [Hash, Inttegro::Chime::PageRequest] pagination and filter fields
34
+ # @return [Inttegro::Chime::Page] typed page of Chimes
19
35
  def page(payload = {})
20
- @http.post_resource("/chimes/page", Inttegro::ChimePage, :page, payload || {})
36
+ @http.post_resource("/chimes/page", Inttegro::Chime::Page, :page, payload || {})
21
37
  end
22
38
 
39
+ # Schedule one or more Chimes for future delivery.
40
+ #
41
+ # @param payload [Hash, Inttegro::Schedule::ChimeRequest] schedule and message data
42
+ # @return [Inttegro::Schedule::CreationDetail] created schedule
23
43
  def schedule(payload)
24
- @http.post_resource("/chimes/schedule", Inttegro::ScheduleCreationDetail, :scheduled_chime, payload)
44
+ @http.post_resource("/chimes/schedule", Inttegro::Schedule::CreationDetail, :scheduled_chime, payload)
25
45
  end
26
46
 
47
+ # Start an asynchronous Chime broadcast.
48
+ #
49
+ # @param payload [Hash, Inttegro::Broadcast::Request] recipients and message data
50
+ # @return [Inttegro::Broadcast::CreationDetail] created broadcast
27
51
  def broadcast(payload)
28
- @http.post_resource("/chimes/broadcast", Inttegro::BroadcastCreationDetail, :broadcast, payload)
52
+ @http.post_resource("/chimes/broadcast", Inttegro::Broadcast::CreationDetail, :broadcast, payload)
29
53
  end
30
54
  end
31
55
  end
@@ -3,25 +3,45 @@
3
3
 
4
4
  module Inttegro
5
5
  module Resources
6
+ # Client for reusable customer profiles.
7
+ #
8
+ # Access this resource through {Inttegro::Client#customers}.
6
9
  class Customers
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 customer profile.
16
+ #
17
+ # @param payload [Hash, Inttegro::Customer::CreateRequest] customer fields
18
+ # @return [Inttegro::Customer] created customer
11
19
  def create(payload)
12
20
  @http.post_resource("/customers/create", Inttegro::Customer, :customer, payload)
13
21
  end
14
22
 
23
+ # Update supplied fields on an existing customer profile.
24
+ #
25
+ # @param payload [Hash, Inttegro::Customer::UpdateRequest] customer identifier and fields to change
26
+ # @return [Inttegro::Customer] updated customer
15
27
  def update(payload)
16
28
  @http.post_resource("/customers/update", Inttegro::Customer, :customer, payload)
17
29
  end
18
30
 
31
+ # Retrieve one customer by identifier.
32
+ #
33
+ # @param customer_id [String] unique customer identifier
34
+ # @return [Inttegro::Customer] matching customer
19
35
  def lookup(customer_id:)
20
36
  @http.post_resource("/customers/lookup", Inttegro::Customer, :customer, { customer_id: customer_id })
21
37
  end
22
38
 
39
+ # Retrieve a page of customers.
40
+ #
41
+ # @param payload [Hash, Inttegro::Customer::PageRequest] pagination fields
42
+ # @return [Inttegro::Customer::Page] typed page of customers
23
43
  def page(payload = {})
24
- @http.post_resource("/customers/page", Inttegro::CustomerPage, :page, payload || {})
44
+ @http.post_resource("/customers/page", Inttegro::Customer::Page, :page, payload || {})
25
45
  end
26
46
  end
27
47
  end
@@ -3,28 +3,50 @@
3
3
 
4
4
  module Inttegro
5
5
  module Resources
6
+ # Client for revocable public capability URLs that deliver Inttegro files.
7
+ #
8
+ # Access this resource through {Inttegro::Client#file_links}.
6
9
  class FileLinks
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 public file link.
16
+ #
17
+ # @param payload [Hash, Inttegro::FileLink::CreateRequest] file, delivery, and expiry fields
18
+ # @param idempotency_key [String, nil] explicit key for safely retrying this logical write
19
+ # @return [Inttegro::FileLink::Creation] link metadata including the capability URL
11
20
  def create(payload, idempotency_key: nil)
12
21
  @http.post_model(
13
22
  "/file_links/create",
14
- Inttegro::FileLinkCreation,
23
+ Inttegro::FileLink::Creation,
15
24
  payload,
16
25
  headers: headers(idempotency_key)
17
26
  )
18
27
  end
19
28
 
29
+ # Retrieve a file link without exposing its token material.
30
+ #
31
+ # @param id [String] unique file-link identifier
32
+ # @return [Inttegro::FileLink] matching file link
20
33
  def lookup(id:)
21
34
  @http.post_resource("/file_links/lookup", Inttegro::FileLink, :file_link, { id: id })
22
35
  end
23
36
 
37
+ # Retrieve a filtered page of file links.
38
+ #
39
+ # @param payload [Hash, Inttegro::FileLink::PageRequest] pagination and filter fields
40
+ # @return [Inttegro::FileLink::Page] typed page of file links
24
41
  def page(payload = {})
25
- @http.post_resource("/file_links/page", Inttegro::FileLinkPage, :page, payload || {})
42
+ @http.post_resource("/file_links/page", Inttegro::FileLink::Page, :page, payload || {})
26
43
  end
27
44
 
45
+ # Revoke a file link so its capability URL can no longer serve the file.
46
+ #
47
+ # @param payload [Hash, Inttegro::FileLink::RevokeRequest] file-link identifier and request metadata
48
+ # @param idempotency_key [String, nil] explicit key for safely retrying this logical write
49
+ # @return [Inttegro::FileLink] revoked file link
28
50
  def revoke(payload, idempotency_key: nil)
29
51
  @http.post_resource("/file_links/revoke", Inttegro::FileLink, :file_link,
30
52
  payload,
@@ -32,6 +54,14 @@ module Inttegro
32
54
  )
33
55
  end
34
56
 
57
+ # Download the bytes exposed by a public file-link URL.
58
+ #
59
+ # This public capability request does not use the client's API key. When +save_to+ is
60
+ # supplied, the response is also written to that path before being returned.
61
+ #
62
+ # @param url [String] complete public file-link capability URL
63
+ # @param save_to [String, nil] optional local path for the downloaded bytes
64
+ # @return [Inttegro::FileDownload] response bytes and headers
35
65
  def open(url, save_to: nil)
36
66
  download = @http.get_binary_public(url)
37
67
  download.save_to(save_to) if save_to
@@ -3,15 +3,23 @@
3
3
 
4
4
  module Inttegro
5
5
  module Resources
6
+ # Client for reconciling the files referenced by another Inttegro resource.
7
+ #
8
+ # Access this resource through {Inttegro::Client#file_references}.
6
9
  class FileReferences
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
+ # Replace the complete set of live file references for one resource.
16
+ #
17
+ # @param payload [Hash, Inttegro::FileReference::ReconcileRequest] resource and replacement references
18
+ # @return [Inttegro::FileReference::Reconciliation] reconciliation result
11
19
  def reconcile(payload)
12
20
  @http.post_model(
13
21
  "/file_references/reconcile",
14
- Inttegro::FileReferenceReconciliation,
22
+ Inttegro::FileReference::Reconciliation,
15
23
  payload
16
24
  )
17
25
  end
@@ -3,11 +3,23 @@
3
3
 
4
4
  module Inttegro
5
5
  module Resources
6
+ # Client for uploading, listing, downloading, and deleting application-owned files.
7
+ #
8
+ # Access this resource through {Inttegro::Client#files}.
6
9
  class Files
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
+ # Upload a file using multipart form data.
16
+ #
17
+ # @param file [String] local path of the file to upload
18
+ # @param purpose [String] API purpose assigned to the file
19
+ # @param title [String, nil] optional display title
20
+ # @param custom_data [Hash, nil] optional merchant-defined data
21
+ # @param idempotency_key [String, nil] explicit key for safely retrying this logical write
22
+ # @return [Inttegro::File] created file record
11
23
  def create(file:, purpose:, title: nil, custom_data: nil, idempotency_key: nil)
12
24
  headers = idempotency_key ? { "Idempotency-Key" => idempotency_key } : {}
13
25
  @http.post_multipart_resource("/files/create", Inttegro::File, :file,
@@ -17,18 +29,35 @@ module Inttegro
17
29
  )
18
30
  end
19
31
 
32
+ # Retrieve metadata for one file.
33
+ #
34
+ # @param file_id [String] unique file identifier
35
+ # @return [Inttegro::File] matching file record
20
36
  def lookup(file_id:)
21
37
  @http.post_resource("/files/lookup", Inttegro::File, :file, { file_id: file_id })
22
38
  end
23
39
 
40
+ # Retrieve a filtered page of files.
41
+ #
42
+ # @param payload [Hash, Inttegro::File::PageRequest] pagination and filter fields
43
+ # @return [Inttegro::File::Page] typed page of files
24
44
  def page(payload = {})
25
- @http.post_resource("/files/page", Inttegro::FilePage, :page, payload || {})
45
+ @http.post_resource("/files/page", Inttegro::File::Page, :page, payload || {})
26
46
  end
27
47
 
48
+ # Retrieve the original bytes for a file.
49
+ #
50
+ # @param file_id [String] unique file identifier
51
+ # @param disposition [String] requested delivery disposition, normally +"attachment"+ or +"inline"+
52
+ # @return [Inttegro::FileDownload] response bytes and headers
28
53
  def contents(file_id:, disposition: "attachment")
29
54
  @http.post_binary_json("/files/contents", { file_id: file_id, disposition: disposition })
30
55
  end
31
56
 
57
+ # Tombstone a file and request backing-object cleanup under the API's reference policy.
58
+ #
59
+ # @param file_id [String] unique file identifier
60
+ # @return [Inttegro::File] deleted file record
32
61
  def delete(file_id:)
33
62
  @http.post_resource("/files/delete", Inttegro::File, :file, { file_id: file_id })
34
63
  end