digital_femsa 1.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 (359) hide show
  1. checksums.yaml +7 -0
  2. data/CODE_OF_CONDUCT.md +77 -0
  3. data/CONTRIBUTING.md +19 -0
  4. data/Gemfile +9 -0
  5. data/LICENSE +22 -0
  6. data/Makefile +11 -0
  7. data/README.md +320 -0
  8. data/Rakefile +10 -0
  9. data/VERSION +1 -0
  10. data/config-ruby.json +30 -0
  11. data/digital_femsa.gemspec +41 -0
  12. data/docs/ApiKeyCreateResponse.md +40 -0
  13. data/docs/ApiKeyRequest.md +20 -0
  14. data/docs/ApiKeyResponse.md +38 -0
  15. data/docs/ApiKeyResponseOnDelete.md +34 -0
  16. data/docs/ApiKeyUpdateRequest.md +20 -0
  17. data/docs/ApiKeysApi.md +391 -0
  18. data/docs/BalanceCommonField.md +20 -0
  19. data/docs/BalanceResponse.md +36 -0
  20. data/docs/BalancesApi.md +79 -0
  21. data/docs/ChargeOrderResponse.md +52 -0
  22. data/docs/ChargeOrderResponsePaymentMethod.md +76 -0
  23. data/docs/ChargeRequest.md +22 -0
  24. data/docs/ChargeRequestPaymentMethod.md +22 -0
  25. data/docs/ChargeResponse.md +52 -0
  26. data/docs/ChargeResponseChannel.md +24 -0
  27. data/docs/ChargeResponsePaymentMethod.md +76 -0
  28. data/docs/ChargeResponseRefunds.md +26 -0
  29. data/docs/ChargeResponseRefundsData.md +30 -0
  30. data/docs/ChargeUpdateRequest.md +18 -0
  31. data/docs/ChargesApi.md +241 -0
  32. data/docs/ChargesDataResponse.md +52 -0
  33. data/docs/Checkout.md +34 -0
  34. data/docs/CheckoutOrderTemplate.md +24 -0
  35. data/docs/CheckoutOrderTemplateCustomerInfo.md +49 -0
  36. data/docs/CheckoutRequest.md +30 -0
  37. data/docs/CheckoutResponse.md +58 -0
  38. data/docs/CheckoutsResponse.md +26 -0
  39. data/docs/CompaniesApi.md +159 -0
  40. data/docs/CompanyFiscalInfoAddressResponse.md +34 -0
  41. data/docs/CompanyFiscalInfoResponse.md +30 -0
  42. data/docs/CompanyPayoutDestinationResponse.md +28 -0
  43. data/docs/CompanyResponse.md +32 -0
  44. data/docs/CreateCustomerFiscalEntitiesResponse.md +38 -0
  45. data/docs/CreateCustomerPaymentMethodsRequest.md +47 -0
  46. data/docs/CreateCustomerPaymentMethodsResponse.md +77 -0
  47. data/docs/Customer.md +40 -0
  48. data/docs/CustomerAddress.md +32 -0
  49. data/docs/CustomerAntifraudInfo.md +20 -0
  50. data/docs/CustomerAntifraudInfoResponse.md +20 -0
  51. data/docs/CustomerFiscalEntitiesDataResponse.md +38 -0
  52. data/docs/CustomerFiscalEntitiesRequest.md +28 -0
  53. data/docs/CustomerFiscalEntitiesResponse.md +22 -0
  54. data/docs/CustomerInfo.md +26 -0
  55. data/docs/CustomerInfoJustCustomerId.md +18 -0
  56. data/docs/CustomerInfoJustCustomerIdResponse.md +18 -0
  57. data/docs/CustomerPaymentMethodRequest.md +18 -0
  58. data/docs/CustomerPaymentMethodsData.md +77 -0
  59. data/docs/CustomerPaymentMethodsRequest.md +47 -0
  60. data/docs/CustomerPaymentMethodsResponse.md +26 -0
  61. data/docs/CustomerResponse.md +50 -0
  62. data/docs/CustomerResponseShippingContacts.md +22 -0
  63. data/docs/CustomerShippingContacts.md +32 -0
  64. data/docs/CustomerShippingContactsAddress.md +30 -0
  65. data/docs/CustomerShippingContactsDataResponse.md +38 -0
  66. data/docs/CustomerShippingContactsResponse.md +38 -0
  67. data/docs/CustomerShippingContactsResponseAddress.md +32 -0
  68. data/docs/CustomerUpdateFiscalEntitiesRequest.md +28 -0
  69. data/docs/CustomerUpdateShippingContacts.md +30 -0
  70. data/docs/CustomersApi.md +553 -0
  71. data/docs/CustomersResponse.md +26 -0
  72. data/docs/DeleteApiKeysResponse.md +34 -0
  73. data/docs/Details.md +18 -0
  74. data/docs/DetailsError.md +24 -0
  75. data/docs/DiscountLinesDataResponse.md +28 -0
  76. data/docs/DiscountLinesResponse.md +28 -0
  77. data/docs/DiscountsApi.md +405 -0
  78. data/docs/EmailCheckoutRequest.md +18 -0
  79. data/docs/Error.md +24 -0
  80. data/docs/EventResponse.md +32 -0
  81. data/docs/EventsApi.md +239 -0
  82. data/docs/EventsResendResponse.md +28 -0
  83. data/docs/FiscalEntityAddress.md +30 -0
  84. data/docs/GetApiKeysResponse.md +26 -0
  85. data/docs/GetChargesResponse.md +26 -0
  86. data/docs/GetCompaniesResponse.md +26 -0
  87. data/docs/GetCustomerPaymentMethodDataResponse.md +77 -0
  88. data/docs/GetEventsResponse.md +26 -0
  89. data/docs/GetOrderDiscountLinesResponse.md +26 -0
  90. data/docs/GetOrdersResponse.md +26 -0
  91. data/docs/GetPaymentMethodResponse.md +26 -0
  92. data/docs/GetTransactionsResponse.md +26 -0
  93. data/docs/GetTransfersResponse.md +26 -0
  94. data/docs/GetWebhookKeysResponse.md +26 -0
  95. data/docs/GetWebhooksResponse.md +26 -0
  96. data/docs/LogResponse.md +56 -0
  97. data/docs/LogsApi.md +165 -0
  98. data/docs/LogsResponse.md +26 -0
  99. data/docs/LogsResponseData.md +56 -0
  100. data/docs/OrderCaptureRequest.md +18 -0
  101. data/docs/OrderCustomerInfoResponse.md +28 -0
  102. data/docs/OrderDiscountLinesRequest.md +22 -0
  103. data/docs/OrderFiscalEntityAddressResponse.md +32 -0
  104. data/docs/OrderFiscalEntityRequest.md +28 -0
  105. data/docs/OrderFiscalEntityResponse.md +34 -0
  106. data/docs/OrderNextActionResponse.md +20 -0
  107. data/docs/OrderNextActionResponseRedirectToUrl.md +20 -0
  108. data/docs/OrderRefundRequest.md +22 -0
  109. data/docs/OrderRequest.md +44 -0
  110. data/docs/OrderRequestCustomerInfo.md +49 -0
  111. data/docs/OrderResponse.md +58 -0
  112. data/docs/OrderResponseCharges.md +22 -0
  113. data/docs/OrderResponseCheckout.md +58 -0
  114. data/docs/OrderResponseCustomerInfo.md +30 -0
  115. data/docs/OrderResponseDiscountLines.md +22 -0
  116. data/docs/OrderResponseProducts.md +26 -0
  117. data/docs/OrderResponseShippingContact.md +38 -0
  118. data/docs/OrderTaxRequest.md +22 -0
  119. data/docs/OrderUpdateFiscalEntityRequest.md +28 -0
  120. data/docs/OrderUpdateRequest.md +40 -0
  121. data/docs/OrderUpdateRequestCustomerInfo.md +49 -0
  122. data/docs/OrdersApi.md +627 -0
  123. data/docs/OrdersResponse.md +18 -0
  124. data/docs/Page.md +20 -0
  125. data/docs/Pagination.md +20 -0
  126. data/docs/PaymentLinkApi.md +463 -0
  127. data/docs/PaymentMethod.md +20 -0
  128. data/docs/PaymentMethodCash.md +36 -0
  129. data/docs/PaymentMethodCashRequest.md +20 -0
  130. data/docs/PaymentMethodCashResponse.md +36 -0
  131. data/docs/PaymentMethodResponse.md +26 -0
  132. data/docs/PaymentMethodsApi.md +327 -0
  133. data/docs/Product.md +34 -0
  134. data/docs/ProductDataResponse.md +40 -0
  135. data/docs/ProductOrderResponse.md +40 -0
  136. data/docs/ProductsApi.md +243 -0
  137. data/docs/ShippingContactsApi.md +243 -0
  138. data/docs/ShippingOrderResponse.md +32 -0
  139. data/docs/ShippingRequest.md +26 -0
  140. data/docs/ShippingsApi.md +243 -0
  141. data/docs/SmsCheckoutRequest.md +18 -0
  142. data/docs/TaxesApi.md +243 -0
  143. data/docs/TransactionResponse.md +38 -0
  144. data/docs/TransactionsApi.md +171 -0
  145. data/docs/TransferDestinationResponse.md +32 -0
  146. data/docs/TransferMethodResponse.md +32 -0
  147. data/docs/TransferResponse.md +36 -0
  148. data/docs/TransfersApi.md +165 -0
  149. data/docs/TransfersResponse.md +36 -0
  150. data/docs/UpdateCustomer.md +40 -0
  151. data/docs/UpdateCustomerAntifraudInfo.md +20 -0
  152. data/docs/UpdateCustomerFiscalEntitiesResponse.md +38 -0
  153. data/docs/UpdateCustomerPaymentMethodsResponse.md +77 -0
  154. data/docs/UpdateOrderDiscountLinesRequest.md +22 -0
  155. data/docs/UpdateOrderTaxRequest.md +22 -0
  156. data/docs/UpdateOrderTaxResponse.md +28 -0
  157. data/docs/UpdatePaymentMethods.md +18 -0
  158. data/docs/UpdateProduct.md +34 -0
  159. data/docs/WebhookKeyCreateResponse.md +28 -0
  160. data/docs/WebhookKeyDeleteResponse.md +28 -0
  161. data/docs/WebhookKeyRequest.md +18 -0
  162. data/docs/WebhookKeyResponse.md +30 -0
  163. data/docs/WebhookKeyUpdateRequest.md +18 -0
  164. data/docs/WebhookKeysApi.md +385 -0
  165. data/docs/WebhookLog.md +30 -0
  166. data/docs/WebhookRequest.md +20 -0
  167. data/docs/WebhookResponse.md +36 -0
  168. data/docs/WebhookUpdateRequest.md +22 -0
  169. data/docs/WebhooksApi.md +461 -0
  170. data/gitleaks.toml +0 -0
  171. data/lib/digital_femsa/api/api_keys_api.rb +407 -0
  172. data/lib/digital_femsa/api/balances_api.rb +86 -0
  173. data/lib/digital_femsa/api/charges_api.rb +273 -0
  174. data/lib/digital_femsa/api/companies_api.rb +174 -0
  175. data/lib/digital_femsa/api/customers_api.rb +591 -0
  176. data/lib/digital_femsa/api/discounts_api.rb +447 -0
  177. data/lib/digital_femsa/api/events_api.rb +256 -0
  178. data/lib/digital_femsa/api/logs_api.rb +182 -0
  179. data/lib/digital_femsa/api/orders_api.rb +657 -0
  180. data/lib/digital_femsa/api/payment_link_api.rb +491 -0
  181. data/lib/digital_femsa/api/payment_methods_api.rb +368 -0
  182. data/lib/digital_femsa/api/products_api.rb +275 -0
  183. data/lib/digital_femsa/api/shipping_contacts_api.rb +275 -0
  184. data/lib/digital_femsa/api/shippings_api.rb +275 -0
  185. data/lib/digital_femsa/api/taxes_api.rb +275 -0
  186. data/lib/digital_femsa/api/transactions_api.rb +191 -0
  187. data/lib/digital_femsa/api/transfers_api.rb +182 -0
  188. data/lib/digital_femsa/api/webhook_keys_api.rb +396 -0
  189. data/lib/digital_femsa/api/webhooks_api.rb +477 -0
  190. data/lib/digital_femsa/api_client.rb +442 -0
  191. data/lib/digital_femsa/api_error.rb +58 -0
  192. data/lib/digital_femsa/configuration.rb +382 -0
  193. data/lib/digital_femsa/models/api_key_create_response.rb +333 -0
  194. data/lib/digital_femsa/models/api_key_request.rb +231 -0
  195. data/lib/digital_femsa/models/api_key_response.rb +317 -0
  196. data/lib/digital_femsa/models/api_key_response_on_delete.rb +296 -0
  197. data/lib/digital_femsa/models/api_key_update_request.rb +225 -0
  198. data/lib/digital_femsa/models/balance_common_field.rb +226 -0
  199. data/lib/digital_femsa/models/balance_response.rb +324 -0
  200. data/lib/digital_femsa/models/charge_order_response.rb +373 -0
  201. data/lib/digital_femsa/models/charge_order_response_payment_method.rb +53 -0
  202. data/lib/digital_femsa/models/charge_request.rb +241 -0
  203. data/lib/digital_femsa/models/charge_request_payment_method.rb +241 -0
  204. data/lib/digital_femsa/models/charge_response.rb +371 -0
  205. data/lib/digital_femsa/models/charge_response_channel.rb +241 -0
  206. data/lib/digital_femsa/models/charge_response_payment_method.rb +53 -0
  207. data/lib/digital_femsa/models/charge_response_refunds.rb +281 -0
  208. data/lib/digital_femsa/models/charge_response_refunds_data.rb +298 -0
  209. data/lib/digital_femsa/models/charge_update_request.rb +216 -0
  210. data/lib/digital_femsa/models/charges_data_response.rb +378 -0
  211. data/lib/digital_femsa/models/checkout.rb +340 -0
  212. data/lib/digital_femsa/models/checkout_order_template.rb +301 -0
  213. data/lib/digital_femsa/models/checkout_order_template_customer_info.rb +106 -0
  214. data/lib/digital_femsa/models/checkout_request.rb +284 -0
  215. data/lib/digital_femsa/models/checkout_response.rb +429 -0
  216. data/lib/digital_femsa/models/checkouts_response.rb +280 -0
  217. data/lib/digital_femsa/models/company_fiscal_info_address_response.rb +330 -0
  218. data/lib/digital_femsa/models/company_fiscal_info_response.rb +309 -0
  219. data/lib/digital_femsa/models/company_payout_destination_response.rb +312 -0
  220. data/lib/digital_femsa/models/company_response.rb +318 -0
  221. data/lib/digital_femsa/models/create_customer_fiscal_entities_response.rb +341 -0
  222. data/lib/digital_femsa/models/create_customer_payment_methods_request.rb +105 -0
  223. data/lib/digital_femsa/models/create_customer_payment_methods_response.rb +54 -0
  224. data/lib/digital_femsa/models/customer.rb +374 -0
  225. data/lib/digital_femsa/models/customer_address.rb +301 -0
  226. data/lib/digital_femsa/models/customer_antifraud_info.rb +223 -0
  227. data/lib/digital_femsa/models/customer_antifraud_info_response.rb +223 -0
  228. data/lib/digital_femsa/models/customer_fiscal_entities_data_response.rb +341 -0
  229. data/lib/digital_femsa/models/customer_fiscal_entities_request.rb +268 -0
  230. data/lib/digital_femsa/models/customer_fiscal_entities_response.rb +257 -0
  231. data/lib/digital_femsa/models/customer_info.rb +271 -0
  232. data/lib/digital_femsa/models/customer_info_just_customer_id.rb +221 -0
  233. data/lib/digital_femsa/models/customer_info_just_customer_id_response.rb +214 -0
  234. data/lib/digital_femsa/models/customer_payment_method_request.rb +223 -0
  235. data/lib/digital_femsa/models/customer_payment_methods_data.rb +54 -0
  236. data/lib/digital_femsa/models/customer_payment_methods_request.rb +104 -0
  237. data/lib/digital_femsa/models/customer_payment_methods_response.rb +280 -0
  238. data/lib/digital_femsa/models/customer_response.rb +425 -0
  239. data/lib/digital_femsa/models/customer_response_shipping_contacts.rb +257 -0
  240. data/lib/digital_femsa/models/customer_shipping_contacts.rb +312 -0
  241. data/lib/digital_femsa/models/customer_shipping_contacts_address.rb +271 -0
  242. data/lib/digital_femsa/models/customer_shipping_contacts_data_response.rb +366 -0
  243. data/lib/digital_femsa/models/customer_shipping_contacts_response.rb +328 -0
  244. data/lib/digital_femsa/models/customer_shipping_contacts_response_address.rb +278 -0
  245. data/lib/digital_femsa/models/customer_update_fiscal_entities_request.rb +261 -0
  246. data/lib/digital_femsa/models/customer_update_shipping_contacts.rb +274 -0
  247. data/lib/digital_femsa/models/customers_response.rb +280 -0
  248. data/lib/digital_femsa/models/delete_api_keys_response.rb +301 -0
  249. data/lib/digital_femsa/models/details.rb +216 -0
  250. data/lib/digital_femsa/models/details_error.rb +242 -0
  251. data/lib/digital_femsa/models/discount_lines_data_response.rb +333 -0
  252. data/lib/digital_femsa/models/discount_lines_response.rb +333 -0
  253. data/lib/digital_femsa/models/email_checkout_request.rb +221 -0
  254. data/lib/digital_femsa/models/error.rb +253 -0
  255. data/lib/digital_femsa/models/event_response.rb +301 -0
  256. data/lib/digital_femsa/models/events_resend_response.rb +281 -0
  257. data/lib/digital_femsa/models/fiscal_entity_address.rb +312 -0
  258. data/lib/digital_femsa/models/get_api_keys_response.rb +280 -0
  259. data/lib/digital_femsa/models/get_charges_response.rb +280 -0
  260. data/lib/digital_femsa/models/get_companies_response.rb +280 -0
  261. data/lib/digital_femsa/models/get_customer_payment_method_data_response.rb +54 -0
  262. data/lib/digital_femsa/models/get_events_response.rb +280 -0
  263. data/lib/digital_femsa/models/get_order_discount_lines_response.rb +280 -0
  264. data/lib/digital_femsa/models/get_orders_response.rb +288 -0
  265. data/lib/digital_femsa/models/get_payment_method_response.rb +280 -0
  266. data/lib/digital_femsa/models/get_transactions_response.rb +281 -0
  267. data/lib/digital_femsa/models/get_transfers_response.rb +281 -0
  268. data/lib/digital_femsa/models/get_webhook_keys_response.rb +280 -0
  269. data/lib/digital_femsa/models/get_webhooks_response.rb +280 -0
  270. data/lib/digital_femsa/models/log_response.rb +418 -0
  271. data/lib/digital_femsa/models/logs_response.rb +261 -0
  272. data/lib/digital_femsa/models/logs_response_data.rb +396 -0
  273. data/lib/digital_femsa/models/order_capture_request.rb +241 -0
  274. data/lib/digital_femsa/models/order_customer_info_response.rb +263 -0
  275. data/lib/digital_femsa/models/order_discount_lines_request.rb +276 -0
  276. data/lib/digital_femsa/models/order_fiscal_entity_address_response.rb +328 -0
  277. data/lib/digital_femsa/models/order_fiscal_entity_request.rb +295 -0
  278. data/lib/digital_femsa/models/order_fiscal_entity_response.rb +347 -0
  279. data/lib/digital_femsa/models/order_next_action_response.rb +225 -0
  280. data/lib/digital_femsa/models/order_next_action_response_redirect_to_url.rb +226 -0
  281. data/lib/digital_femsa/models/order_refund_request.rb +247 -0
  282. data/lib/digital_femsa/models/order_request.rb +413 -0
  283. data/lib/digital_femsa/models/order_request_customer_info.rb +106 -0
  284. data/lib/digital_femsa/models/order_response.rb +427 -0
  285. data/lib/digital_femsa/models/order_response_charges.rb +258 -0
  286. data/lib/digital_femsa/models/order_response_checkout.rb +418 -0
  287. data/lib/digital_femsa/models/order_response_customer_info.rb +280 -0
  288. data/lib/digital_femsa/models/order_response_discount_lines.rb +257 -0
  289. data/lib/digital_femsa/models/order_response_products.rb +280 -0
  290. data/lib/digital_femsa/models/order_response_shipping_contact.rb +334 -0
  291. data/lib/digital_femsa/models/order_tax_request.rb +308 -0
  292. data/lib/digital_femsa/models/order_update_fiscal_entity_request.rb +295 -0
  293. data/lib/digital_femsa/models/order_update_request.rb +352 -0
  294. data/lib/digital_femsa/models/order_update_request_customer_info.rb +105 -0
  295. data/lib/digital_femsa/models/orders_response.rb +223 -0
  296. data/lib/digital_femsa/models/page.rb +228 -0
  297. data/lib/digital_femsa/models/pagination.rb +240 -0
  298. data/lib/digital_femsa/models/payment_method.rb +230 -0
  299. data/lib/digital_femsa/models/payment_method_cash.rb +312 -0
  300. data/lib/digital_femsa/models/payment_method_cash_request.rb +238 -0
  301. data/lib/digital_femsa/models/payment_method_cash_response.rb +330 -0
  302. data/lib/digital_femsa/models/payment_method_response.rb +278 -0
  303. data/lib/digital_femsa/models/product.rb +397 -0
  304. data/lib/digital_femsa/models/product_data_response.rb +431 -0
  305. data/lib/digital_femsa/models/product_order_response.rb +431 -0
  306. data/lib/digital_femsa/models/shipping_order_response.rb +336 -0
  307. data/lib/digital_femsa/models/shipping_request.rb +302 -0
  308. data/lib/digital_femsa/models/sms_checkout_request.rb +221 -0
  309. data/lib/digital_femsa/models/transaction_response.rb +412 -0
  310. data/lib/digital_femsa/models/transfer_destination_response.rb +286 -0
  311. data/lib/digital_femsa/models/transfer_method_response.rb +286 -0
  312. data/lib/digital_femsa/models/transfer_response.rb +324 -0
  313. data/lib/digital_femsa/models/transfers_response.rb +324 -0
  314. data/lib/digital_femsa/models/update_customer.rb +353 -0
  315. data/lib/digital_femsa/models/update_customer_antifraud_info.rb +223 -0
  316. data/lib/digital_femsa/models/update_customer_fiscal_entities_response.rb +341 -0
  317. data/lib/digital_femsa/models/update_customer_payment_methods_response.rb +54 -0
  318. data/lib/digital_femsa/models/update_order_discount_lines_request.rb +253 -0
  319. data/lib/digital_femsa/models/update_order_tax_request.rb +294 -0
  320. data/lib/digital_femsa/models/update_order_tax_response.rb +349 -0
  321. data/lib/digital_femsa/models/update_payment_methods.rb +214 -0
  322. data/lib/digital_femsa/models/update_product.rb +349 -0
  323. data/lib/digital_femsa/models/webhook_key_create_response.rb +266 -0
  324. data/lib/digital_femsa/models/webhook_key_delete_response.rb +266 -0
  325. data/lib/digital_femsa/models/webhook_key_request.rb +217 -0
  326. data/lib/digital_femsa/models/webhook_key_response.rb +277 -0
  327. data/lib/digital_femsa/models/webhook_key_update_request.rb +217 -0
  328. data/lib/digital_femsa/models/webhook_log.rb +289 -0
  329. data/lib/digital_femsa/models/webhook_request.rb +261 -0
  330. data/lib/digital_femsa/models/webhook_response.rb +299 -0
  331. data/lib/digital_femsa/models/webhook_update_request.rb +267 -0
  332. data/lib/digital_femsa/version.rb +15 -0
  333. data/lib/digital_femsa.rb +197 -0
  334. data/lib/ssl_data/ca_bundle.crt +4039 -0
  335. data/spec/api/api_keys_api_spec.rb +107 -0
  336. data/spec/api/balances_api_spec.rb +47 -0
  337. data/spec/api/charges_api_spec.rb +80 -0
  338. data/spec/api/companies_api_spec.rb +63 -0
  339. data/spec/api/customers_api_spec.rb +140 -0
  340. data/spec/api/discounts_api_spec.rb +114 -0
  341. data/spec/api/events_api_spec.rb +79 -0
  342. data/spec/api/logs_api_spec.rb +66 -0
  343. data/spec/api/orders_api_spec.rb +153 -0
  344. data/spec/api/payment_link_api_spec.rb +119 -0
  345. data/spec/api/payment_methods_api_spec.rb +99 -0
  346. data/spec/api/products_api_spec.rb +81 -0
  347. data/spec/api/shipping_contacts_api_spec.rb +81 -0
  348. data/spec/api/shippings_api_spec.rb +81 -0
  349. data/spec/api/taxes_api_spec.rb +81 -0
  350. data/spec/api/transactions_api_spec.rb +69 -0
  351. data/spec/api/transfers_api_spec.rb +66 -0
  352. data/spec/api/webhook_keys_api_spec.rb +104 -0
  353. data/spec/api/webhooks_api_spec.rb +118 -0
  354. data/spec/spec_helper.rb +111 -0
  355. data/ssl_data/ca_bundle.crt +4039 -0
  356. data/templates/ruby/CUSTOM_VERSION.mustache +1 -0
  357. data/templates/ruby/api_client.mustache +257 -0
  358. data/templates/ruby/configuration.mustache +481 -0
  359. metadata +488 -0
data/docs/TaxesApi.md ADDED
@@ -0,0 +1,243 @@
1
+ # DigitalFemsa::TaxesApi
2
+
3
+ All URIs are relative to *https://api.digitalfemsa.io*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**orders_create_taxes**](TaxesApi.md#orders_create_taxes) | **POST** /orders/{id}/tax_lines | Create Tax |
8
+ | [**orders_delete_taxes**](TaxesApi.md#orders_delete_taxes) | **DELETE** /orders/{id}/tax_lines/{tax_id} | Delete Tax |
9
+ | [**orders_update_taxes**](TaxesApi.md#orders_update_taxes) | **PUT** /orders/{id}/tax_lines/{tax_id} | Update Tax |
10
+
11
+
12
+ ## orders_create_taxes
13
+
14
+ > <UpdateOrderTaxResponse> orders_create_taxes(id, order_tax_request, opts)
15
+
16
+ Create Tax
17
+
18
+ Create new taxes for an existing orden
19
+
20
+ ### Examples
21
+
22
+ ```ruby
23
+ require 'time'
24
+ require 'digital_femsa'
25
+ # setup authorization
26
+ DigitalFemsa.configure do |config|
27
+ # Configure Bearer authorization: bearerAuth
28
+ config.access_token = 'YOUR_BEARER_TOKEN'
29
+ end
30
+
31
+ api_instance = DigitalFemsa::TaxesApi.new
32
+ id = '6307a60c41de27127515a575' # String | Identifier of the resource
33
+ order_tax_request = DigitalFemsa::OrderTaxRequest.new({amount: 100, description: 'testing'}) # OrderTaxRequest | requested field for a taxes
34
+ opts = {
35
+ accept_language: 'es', # String | Use for knowing which language to use
36
+ x_child_company_id: '6441b6376b60c3a638da80af' # String | In the case of a holding company, the company id of the child company to which will process the request.
37
+ }
38
+
39
+ begin
40
+ # Create Tax
41
+ result = api_instance.orders_create_taxes(id, order_tax_request, opts)
42
+ p result
43
+ rescue DigitalFemsa::ApiError => e
44
+ puts "Error when calling TaxesApi->orders_create_taxes: #{e}"
45
+ end
46
+ ```
47
+
48
+ #### Using the orders_create_taxes_with_http_info variant
49
+
50
+ This returns an Array which contains the response data, status code and headers.
51
+
52
+ > <Array(<UpdateOrderTaxResponse>, Integer, Hash)> orders_create_taxes_with_http_info(id, order_tax_request, opts)
53
+
54
+ ```ruby
55
+ begin
56
+ # Create Tax
57
+ data, status_code, headers = api_instance.orders_create_taxes_with_http_info(id, order_tax_request, opts)
58
+ p status_code # => 2xx
59
+ p headers # => { ... }
60
+ p data # => <UpdateOrderTaxResponse>
61
+ rescue DigitalFemsa::ApiError => e
62
+ puts "Error when calling TaxesApi->orders_create_taxes_with_http_info: #{e}"
63
+ end
64
+ ```
65
+
66
+ ### Parameters
67
+
68
+ | Name | Type | Description | Notes |
69
+ | ---- | ---- | ----------- | ----- |
70
+ | **id** | **String** | Identifier of the resource | |
71
+ | **order_tax_request** | [**OrderTaxRequest**](OrderTaxRequest.md) | requested field for a taxes | |
72
+ | **accept_language** | **String** | Use for knowing which language to use | [optional][default to &#39;es&#39;] |
73
+ | **x_child_company_id** | **String** | In the case of a holding company, the company id of the child company to which will process the request. | [optional] |
74
+
75
+ ### Return type
76
+
77
+ [**UpdateOrderTaxResponse**](UpdateOrderTaxResponse.md)
78
+
79
+ ### Authorization
80
+
81
+ [bearerAuth](../README.md#bearerAuth)
82
+
83
+ ### HTTP request headers
84
+
85
+ - **Content-Type**: application/json
86
+ - **Accept**: application/vnd.app-v2.1.0+json
87
+
88
+
89
+ ## orders_delete_taxes
90
+
91
+ > <UpdateOrderTaxResponse> orders_delete_taxes(id, tax_id, opts)
92
+
93
+ Delete Tax
94
+
95
+ Delete taxes for an existing orden
96
+
97
+ ### Examples
98
+
99
+ ```ruby
100
+ require 'time'
101
+ require 'digital_femsa'
102
+ # setup authorization
103
+ DigitalFemsa.configure do |config|
104
+ # Configure Bearer authorization: bearerAuth
105
+ config.access_token = 'YOUR_BEARER_TOKEN'
106
+ end
107
+
108
+ api_instance = DigitalFemsa::TaxesApi.new
109
+ id = '6307a60c41de27127515a575' # String | Identifier of the resource
110
+ tax_id = 'tax_lin_2tQ974hSHcsdeSZHG' # String | identifier
111
+ opts = {
112
+ accept_language: 'es', # String | Use for knowing which language to use
113
+ x_child_company_id: '6441b6376b60c3a638da80af' # String | In the case of a holding company, the company id of the child company to which will process the request.
114
+ }
115
+
116
+ begin
117
+ # Delete Tax
118
+ result = api_instance.orders_delete_taxes(id, tax_id, opts)
119
+ p result
120
+ rescue DigitalFemsa::ApiError => e
121
+ puts "Error when calling TaxesApi->orders_delete_taxes: #{e}"
122
+ end
123
+ ```
124
+
125
+ #### Using the orders_delete_taxes_with_http_info variant
126
+
127
+ This returns an Array which contains the response data, status code and headers.
128
+
129
+ > <Array(<UpdateOrderTaxResponse>, Integer, Hash)> orders_delete_taxes_with_http_info(id, tax_id, opts)
130
+
131
+ ```ruby
132
+ begin
133
+ # Delete Tax
134
+ data, status_code, headers = api_instance.orders_delete_taxes_with_http_info(id, tax_id, opts)
135
+ p status_code # => 2xx
136
+ p headers # => { ... }
137
+ p data # => <UpdateOrderTaxResponse>
138
+ rescue DigitalFemsa::ApiError => e
139
+ puts "Error when calling TaxesApi->orders_delete_taxes_with_http_info: #{e}"
140
+ end
141
+ ```
142
+
143
+ ### Parameters
144
+
145
+ | Name | Type | Description | Notes |
146
+ | ---- | ---- | ----------- | ----- |
147
+ | **id** | **String** | Identifier of the resource | |
148
+ | **tax_id** | **String** | identifier | |
149
+ | **accept_language** | **String** | Use for knowing which language to use | [optional][default to &#39;es&#39;] |
150
+ | **x_child_company_id** | **String** | In the case of a holding company, the company id of the child company to which will process the request. | [optional] |
151
+
152
+ ### Return type
153
+
154
+ [**UpdateOrderTaxResponse**](UpdateOrderTaxResponse.md)
155
+
156
+ ### Authorization
157
+
158
+ [bearerAuth](../README.md#bearerAuth)
159
+
160
+ ### HTTP request headers
161
+
162
+ - **Content-Type**: Not defined
163
+ - **Accept**: application/vnd.app-v2.1.0+json
164
+
165
+
166
+ ## orders_update_taxes
167
+
168
+ > <UpdateOrderTaxResponse> orders_update_taxes(id, tax_id, update_order_tax_request, opts)
169
+
170
+ Update Tax
171
+
172
+ Update taxes for an existing orden
173
+
174
+ ### Examples
175
+
176
+ ```ruby
177
+ require 'time'
178
+ require 'digital_femsa'
179
+ # setup authorization
180
+ DigitalFemsa.configure do |config|
181
+ # Configure Bearer authorization: bearerAuth
182
+ config.access_token = 'YOUR_BEARER_TOKEN'
183
+ end
184
+
185
+ api_instance = DigitalFemsa::TaxesApi.new
186
+ id = '6307a60c41de27127515a575' # String | Identifier of the resource
187
+ tax_id = 'tax_lin_2tQ974hSHcsdeSZHG' # String | identifier
188
+ update_order_tax_request = DigitalFemsa::UpdateOrderTaxRequest.new # UpdateOrderTaxRequest | requested field for taxes
189
+ opts = {
190
+ accept_language: 'es', # String | Use for knowing which language to use
191
+ x_child_company_id: '6441b6376b60c3a638da80af' # String | In the case of a holding company, the company id of the child company to which will process the request.
192
+ }
193
+
194
+ begin
195
+ # Update Tax
196
+ result = api_instance.orders_update_taxes(id, tax_id, update_order_tax_request, opts)
197
+ p result
198
+ rescue DigitalFemsa::ApiError => e
199
+ puts "Error when calling TaxesApi->orders_update_taxes: #{e}"
200
+ end
201
+ ```
202
+
203
+ #### Using the orders_update_taxes_with_http_info variant
204
+
205
+ This returns an Array which contains the response data, status code and headers.
206
+
207
+ > <Array(<UpdateOrderTaxResponse>, Integer, Hash)> orders_update_taxes_with_http_info(id, tax_id, update_order_tax_request, opts)
208
+
209
+ ```ruby
210
+ begin
211
+ # Update Tax
212
+ data, status_code, headers = api_instance.orders_update_taxes_with_http_info(id, tax_id, update_order_tax_request, opts)
213
+ p status_code # => 2xx
214
+ p headers # => { ... }
215
+ p data # => <UpdateOrderTaxResponse>
216
+ rescue DigitalFemsa::ApiError => e
217
+ puts "Error when calling TaxesApi->orders_update_taxes_with_http_info: #{e}"
218
+ end
219
+ ```
220
+
221
+ ### Parameters
222
+
223
+ | Name | Type | Description | Notes |
224
+ | ---- | ---- | ----------- | ----- |
225
+ | **id** | **String** | Identifier of the resource | |
226
+ | **tax_id** | **String** | identifier | |
227
+ | **update_order_tax_request** | [**UpdateOrderTaxRequest**](UpdateOrderTaxRequest.md) | requested field for taxes | |
228
+ | **accept_language** | **String** | Use for knowing which language to use | [optional][default to &#39;es&#39;] |
229
+ | **x_child_company_id** | **String** | In the case of a holding company, the company id of the child company to which will process the request. | [optional] |
230
+
231
+ ### Return type
232
+
233
+ [**UpdateOrderTaxResponse**](UpdateOrderTaxResponse.md)
234
+
235
+ ### Authorization
236
+
237
+ [bearerAuth](../README.md#bearerAuth)
238
+
239
+ ### HTTP request headers
240
+
241
+ - **Content-Type**: application/json
242
+ - **Accept**: application/vnd.app-v2.1.0+json
243
+
@@ -0,0 +1,38 @@
1
+ # DigitalFemsa::TransactionResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **amount** | **Integer** | The amount of the transaction. | |
8
+ | **charge** | **String** | Randomly assigned unique order identifier associated with the charge. | |
9
+ | **created_at** | **Integer** | Date and time of creation of the transaction in Unix format. | |
10
+ | **currency** | **String** | The currency of the transaction. It uses the 3-letter code of the [International Standard ISO 4217.](https://es.wikipedia.org/wiki/ISO_4217) | |
11
+ | **fee** | **Integer** | The amount to be deducted for taxes and commissions. | |
12
+ | **id** | **String** | Unique identifier of the transaction. | |
13
+ | **livemode** | **Boolean** | Indicates whether the transaction was created in live mode or test mode. | |
14
+ | **net** | **Integer** | The net amount after deducting commissions and taxes. | |
15
+ | **object** | **String** | Object name, which is transaction. | |
16
+ | **status** | **String** | Code indicating transaction status. | |
17
+ | **type** | **String** | Transaction Type | |
18
+
19
+ ## Example
20
+
21
+ ```ruby
22
+ require 'digital_femsa'
23
+
24
+ instance = DigitalFemsa::TransactionResponse.new(
25
+ amount: 1000,
26
+ charge: 5ee7ec58885a45585e6d9f8m,
27
+ created_at: 1553273553,
28
+ currency: MXN,
29
+ fee: 560,
30
+ id: 5ee7ec5b8dea41085erb7f9e,
31
+ livemode: true,
32
+ net: 440,
33
+ object: transaction,
34
+ status: pending,
35
+ type: capture
36
+ )
37
+ ```
38
+
@@ -0,0 +1,171 @@
1
+ # DigitalFemsa::TransactionsApi
2
+
3
+ All URIs are relative to *https://api.digitalfemsa.io*
4
+
5
+ | Method | HTTP request | Description |
6
+ | ------ | ------------ | ----------- |
7
+ | [**get_transaction**](TransactionsApi.md#get_transaction) | **GET** /transactions/{id} | Get transaction |
8
+ | [**get_transactions**](TransactionsApi.md#get_transactions) | **GET** /transactions | Get List transactions |
9
+
10
+
11
+ ## get_transaction
12
+
13
+ > <TransactionResponse> get_transaction(id, opts)
14
+
15
+ Get transaction
16
+
17
+ Get the details of a transaction
18
+
19
+ ### Examples
20
+
21
+ ```ruby
22
+ require 'time'
23
+ require 'digital_femsa'
24
+ # setup authorization
25
+ DigitalFemsa.configure do |config|
26
+ # Configure Bearer authorization: bearerAuth
27
+ config.access_token = 'YOUR_BEARER_TOKEN'
28
+ end
29
+
30
+ api_instance = DigitalFemsa::TransactionsApi.new
31
+ id = '6307a60c41de27127515a575' # String | Identifier of the resource
32
+ opts = {
33
+ accept_language: 'es', # String | Use for knowing which language to use
34
+ x_child_company_id: '6441b6376b60c3a638da80af' # String | In the case of a holding company, the company id of the child company to which will process the request.
35
+ }
36
+
37
+ begin
38
+ # Get transaction
39
+ result = api_instance.get_transaction(id, opts)
40
+ p result
41
+ rescue DigitalFemsa::ApiError => e
42
+ puts "Error when calling TransactionsApi->get_transaction: #{e}"
43
+ end
44
+ ```
45
+
46
+ #### Using the get_transaction_with_http_info variant
47
+
48
+ This returns an Array which contains the response data, status code and headers.
49
+
50
+ > <Array(<TransactionResponse>, Integer, Hash)> get_transaction_with_http_info(id, opts)
51
+
52
+ ```ruby
53
+ begin
54
+ # Get transaction
55
+ data, status_code, headers = api_instance.get_transaction_with_http_info(id, opts)
56
+ p status_code # => 2xx
57
+ p headers # => { ... }
58
+ p data # => <TransactionResponse>
59
+ rescue DigitalFemsa::ApiError => e
60
+ puts "Error when calling TransactionsApi->get_transaction_with_http_info: #{e}"
61
+ end
62
+ ```
63
+
64
+ ### Parameters
65
+
66
+ | Name | Type | Description | Notes |
67
+ | ---- | ---- | ----------- | ----- |
68
+ | **id** | **String** | Identifier of the resource | |
69
+ | **accept_language** | **String** | Use for knowing which language to use | [optional][default to &#39;es&#39;] |
70
+ | **x_child_company_id** | **String** | In the case of a holding company, the company id of the child company to which will process the request. | [optional] |
71
+
72
+ ### Return type
73
+
74
+ [**TransactionResponse**](TransactionResponse.md)
75
+
76
+ ### Authorization
77
+
78
+ [bearerAuth](../README.md#bearerAuth)
79
+
80
+ ### HTTP request headers
81
+
82
+ - **Content-Type**: Not defined
83
+ - **Accept**: application/vnd.app-v2.1.0+json
84
+
85
+
86
+ ## get_transactions
87
+
88
+ > <GetTransactionsResponse> get_transactions(opts)
89
+
90
+ Get List transactions
91
+
92
+ Get transaction details in the form of a list
93
+
94
+ ### Examples
95
+
96
+ ```ruby
97
+ require 'time'
98
+ require 'digital_femsa'
99
+ # setup authorization
100
+ DigitalFemsa.configure do |config|
101
+ # Configure Bearer authorization: bearerAuth
102
+ config.access_token = 'YOUR_BEARER_TOKEN'
103
+ end
104
+
105
+ api_instance = DigitalFemsa::TransactionsApi.new
106
+ opts = {
107
+ accept_language: 'es', # String | Use for knowing which language to use
108
+ x_child_company_id: '6441b6376b60c3a638da80af', # String | In the case of a holding company, the company id of the child company to which will process the request.
109
+ limit: 56, # Integer | The numbers of items to return, the maximum value is 250
110
+ _next: '_next_example', # String | next page
111
+ previous: 'previous_example', # String | previous page
112
+ id: '65412a893cd69a0001c25892', # String | id of the object to be retrieved
113
+ charge_id: '65412a893cd69a0001c25892', # String | id of the charge used for filtering
114
+ type: 'capture', # String | type of the object to be retrieved
115
+ currency: 'MXN' # String | currency of the object to be retrieved
116
+ }
117
+
118
+ begin
119
+ # Get List transactions
120
+ result = api_instance.get_transactions(opts)
121
+ p result
122
+ rescue DigitalFemsa::ApiError => e
123
+ puts "Error when calling TransactionsApi->get_transactions: #{e}"
124
+ end
125
+ ```
126
+
127
+ #### Using the get_transactions_with_http_info variant
128
+
129
+ This returns an Array which contains the response data, status code and headers.
130
+
131
+ > <Array(<GetTransactionsResponse>, Integer, Hash)> get_transactions_with_http_info(opts)
132
+
133
+ ```ruby
134
+ begin
135
+ # Get List transactions
136
+ data, status_code, headers = api_instance.get_transactions_with_http_info(opts)
137
+ p status_code # => 2xx
138
+ p headers # => { ... }
139
+ p data # => <GetTransactionsResponse>
140
+ rescue DigitalFemsa::ApiError => e
141
+ puts "Error when calling TransactionsApi->get_transactions_with_http_info: #{e}"
142
+ end
143
+ ```
144
+
145
+ ### Parameters
146
+
147
+ | Name | Type | Description | Notes |
148
+ | ---- | ---- | ----------- | ----- |
149
+ | **accept_language** | **String** | Use for knowing which language to use | [optional][default to &#39;es&#39;] |
150
+ | **x_child_company_id** | **String** | In the case of a holding company, the company id of the child company to which will process the request. | [optional] |
151
+ | **limit** | **Integer** | The numbers of items to return, the maximum value is 250 | [optional][default to 20] |
152
+ | **_next** | **String** | next page | [optional] |
153
+ | **previous** | **String** | previous page | [optional] |
154
+ | **id** | **String** | id of the object to be retrieved | [optional] |
155
+ | **charge_id** | **String** | id of the charge used for filtering | [optional] |
156
+ | **type** | **String** | type of the object to be retrieved | [optional] |
157
+ | **currency** | **String** | currency of the object to be retrieved | [optional] |
158
+
159
+ ### Return type
160
+
161
+ [**GetTransactionsResponse**](GetTransactionsResponse.md)
162
+
163
+ ### Authorization
164
+
165
+ [bearerAuth](../README.md#bearerAuth)
166
+
167
+ ### HTTP request headers
168
+
169
+ - **Content-Type**: Not defined
170
+ - **Accept**: application/vnd.app-v2.1.0+json
171
+
@@ -0,0 +1,32 @@
1
+ # DigitalFemsa::TransferDestinationResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **account_holder** | **String** | Name of the account holder. | [optional] |
8
+ | **account_number** | **String** | Account number of the bank account. | [optional] |
9
+ | **bank** | **String** | Name of the bank. | [optional] |
10
+ | **created_at** | **Integer** | Date and time of creation of the transfer. | [optional] |
11
+ | **id** | **String** | Unique identifier of the transfer. | [optional] |
12
+ | **object** | **String** | Object name, which is bank_transfer_payout_method. | [optional] |
13
+ | **payee_id** | **String** | Unique identifier of the payee. | [optional] |
14
+ | **type** | **String** | Type of the payee. | [optional] |
15
+
16
+ ## Example
17
+
18
+ ```ruby
19
+ require 'digital_femsa'
20
+
21
+ instance = DigitalFemsa::TransferDestinationResponse.new(
22
+ account_holder: John Doe,
23
+ account_number: 012180023547896764,
24
+ bank: BBVA Bancomer,
25
+ created_at: 1553273553,
26
+ id: pytmtd_2ide3qwTdDvNBosEC,
27
+ object: bank_transfer_payout_method,
28
+ payee_id: payee_2icdDewRxDENBos85,
29
+ type: BankTransferPayoutMethod
30
+ )
31
+ ```
32
+
@@ -0,0 +1,32 @@
1
+ # DigitalFemsa::TransferMethodResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **account_holder** | **String** | Name of the account holder. | [optional] |
8
+ | **account_number** | **String** | Account number of the bank account. | [optional] |
9
+ | **bank** | **String** | Name of the bank. | [optional] |
10
+ | **created_at** | **Integer** | Date and time of creation of the transfer. | [optional] |
11
+ | **id** | **String** | Unique identifier of the transfer. | [optional] |
12
+ | **object** | **String** | Object name, which is bank_transfer_payout_method. | [optional] |
13
+ | **payee_id** | **String** | Unique identifier of the payee. | [optional] |
14
+ | **type** | **String** | Type of the payee. | [optional] |
15
+
16
+ ## Example
17
+
18
+ ```ruby
19
+ require 'digital_femsa'
20
+
21
+ instance = DigitalFemsa::TransferMethodResponse.new(
22
+ account_holder: John Doe,
23
+ account_number: 012180023547896764,
24
+ bank: BBVA Bancomer,
25
+ created_at: 1553273553,
26
+ id: pytmtd_2ide3qwTdDvNBosEC,
27
+ object: bank_transfer_payout_method,
28
+ payee_id: payee_2icdDewRxDENBos85,
29
+ type: BankTransferPayoutMethod
30
+ )
31
+ ```
32
+
@@ -0,0 +1,36 @@
1
+ # DigitalFemsa::TransferResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **amount** | **Integer** | Amount in cents of the transfer. | [optional] |
8
+ | **created_at** | **Integer** | Date and time of creation of the transfer in Unix format. | [optional] |
9
+ | **currency** | **String** | The currency of the transfer. It uses the 3-letter code of the [International Standard ISO 4217.](https://es.wikipedia.org/wiki/ISO_4217) | [optional] |
10
+ | **id** | **String** | Unique identifier of the transfer. | [optional] |
11
+ | **livemode** | **Boolean** | Indicates whether the transfer was created in live mode or test mode. | [optional] |
12
+ | **destination** | [**TransferDestinationResponse**](TransferDestinationResponse.md) | | [optional] |
13
+ | **object** | **String** | Object name, which is transfer. | [optional] |
14
+ | **statement_description** | **String** | Description of the transfer. | [optional] |
15
+ | **statement_reference** | **String** | Reference number of the transfer. | [optional] |
16
+ | **status** | **String** | Code indicating transfer status. | [optional] |
17
+
18
+ ## Example
19
+
20
+ ```ruby
21
+ require 'digital_femsa'
22
+
23
+ instance = DigitalFemsa::TransferResponse.new(
24
+ amount: 10000,
25
+ created_at: 1553273553,
26
+ currency: MXN,
27
+ id: 5b0337d4dD344ef954fe1X4b6,
28
+ livemode: true,
29
+ destination: null,
30
+ object: transfer,
31
+ statement_description: Femsa 4401234,
32
+ statement_reference: 4401234,
33
+ status: pending
34
+ )
35
+ ```
36
+