fortis-python-sdk 1.0.0__py3-none-any.whl

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 (699) hide show
  1. fortis_python_sdk-1.0.0.dist-info/METADATA +183 -0
  2. fortis_python_sdk-1.0.0.dist-info/RECORD +699 -0
  3. fortis_python_sdk-1.0.0.dist-info/WHEEL +5 -0
  4. fortis_python_sdk-1.0.0.dist-info/licenses/LICENSE +28 -0
  5. fortis_python_sdk-1.0.0.dist-info/top_level.txt +1 -0
  6. fortisapi/__init__.py +12 -0
  7. fortisapi/api_helper.py +19 -0
  8. fortisapi/configuration.py +294 -0
  9. fortisapi/controllers/__init__.py +40 -0
  10. fortisapi/controllers/apple_pay_validate_merchant_controller.py +84 -0
  11. fortisapi/controllers/async_processing_controller.py +78 -0
  12. fortisapi/controllers/base_controller.py +67 -0
  13. fortisapi/controllers/batches_controller.py +179 -0
  14. fortisapi/controllers/calculate_surcharge_controller.py +76 -0
  15. fortisapi/controllers/contacts_controller.py +398 -0
  16. fortisapi/controllers/declined_recurring_transactions_controller.py +326 -0
  17. fortisapi/controllers/device_terms_controller.py +242 -0
  18. fortisapi/controllers/elements_controller.py +129 -0
  19. fortisapi/controllers/enterprise_link_redirect_controller.py +81 -0
  20. fortisapi/controllers/full_boarding_controller.py +85 -0
  21. fortisapi/controllers/level_3_data_controller.py +219 -0
  22. fortisapi/controllers/locations_controller.py +478 -0
  23. fortisapi/controllers/m_3_ds_authentication_controller.py +90 -0
  24. fortisapi/controllers/m_3_ds_transactions_controller.py +84 -0
  25. fortisapi/controllers/merchant_deposits_controller.py +295 -0
  26. fortisapi/controllers/merchant_details_controller.py +82 -0
  27. fortisapi/controllers/on_boarding_controller.py +100 -0
  28. fortisapi/controllers/paylinks_controller.py +396 -0
  29. fortisapi/controllers/payment_card_reader_token_controller.py +76 -0
  30. fortisapi/controllers/quick_invoices_controller.py +531 -0
  31. fortisapi/controllers/recurring_controller.py +545 -0
  32. fortisapi/controllers/reports_controller.py +209 -0
  33. fortisapi/controllers/signatures_controller.py +249 -0
  34. fortisapi/controllers/tags_controller.py +328 -0
  35. fortisapi/controllers/terminals_controller.py +304 -0
  36. fortisapi/controllers/tickets_controller.py +249 -0
  37. fortisapi/controllers/tokens_controller.py +679 -0
  38. fortisapi/controllers/transaction_ach_retries_controller.py +250 -0
  39. fortisapi/controllers/transactions_ach_controller.py +398 -0
  40. fortisapi/controllers/transactions_cash_controller.py +123 -0
  41. fortisapi/controllers/transactions_credit_card_controller.py +1796 -0
  42. fortisapi/controllers/transactions_ebt_card_controller.py +147 -0
  43. fortisapi/controllers/transactions_read_controller.py +248 -0
  44. fortisapi/controllers/transactions_updates_controller.py +435 -0
  45. fortisapi/controllers/webhooks_controller.py +493 -0
  46. fortisapi/exceptions/__init__.py +8 -0
  47. fortisapi/exceptions/api_exception.py +36 -0
  48. fortisapi/exceptions/response_401_token_exception.py +77 -0
  49. fortisapi/exceptions/response_412_exception.py +109 -0
  50. fortisapi/exceptions/response_error_exception.py +109 -0
  51. fortisapi/fortisapi_client.py +360 -0
  52. fortisapi/http/__init__.py +11 -0
  53. fortisapi/http/auth/__init__.py +8 -0
  54. fortisapi/http/auth/access_token.py +100 -0
  55. fortisapi/http/auth/developer_id.py +100 -0
  56. fortisapi/http/auth/user_api_key.py +100 -0
  57. fortisapi/http/auth/user_id.py +100 -0
  58. fortisapi/http/http_call_back.py +20 -0
  59. fortisapi/http/http_client_provider.py +23 -0
  60. fortisapi/http/http_method_enum.py +25 -0
  61. fortisapi/http/http_request.py +55 -0
  62. fortisapi/http/http_response.py +45 -0
  63. fortisapi/http/proxy_settings.py +50 -0
  64. fortisapi/models/__init__.py +636 -0
  65. fortisapi/models/account_info.py +519 -0
  66. fortisapi/models/account_type_12_enum.py +47 -0
  67. fortisapi/models/account_type_13_enum.py +51 -0
  68. fortisapi/models/account_type_16_enum.py +51 -0
  69. fortisapi/models/account_type_enum.py +83 -0
  70. fortisapi/models/account_vault.py +1408 -0
  71. fortisapi/models/account_vault_cau_log.py +201 -0
  72. fortisapi/models/account_vault_cau_product_transaction.py +754 -0
  73. fortisapi/models/ach_product_transaction.py +3048 -0
  74. fortisapi/models/ach_sec_code_1_enum.py +59 -0
  75. fortisapi/models/ach_sec_code_31_enum.py +61 -0
  76. fortisapi/models/ach_sec_code_3_enum.py +59 -0
  77. fortisapi/models/ach_sec_code_enum.py +67 -0
  78. fortisapi/models/acs_challenge_mandated_enum.py +52 -0
  79. fortisapi/models/action_enum.py +70 -0
  80. fortisapi/models/active_recurring.py +975 -0
  81. fortisapi/models/additional_access.py +102 -0
  82. fortisapi/models/additional_amount.py +201 -0
  83. fortisapi/models/addon.py +222 -0
  84. fortisapi/models/addon_transaction_type_enum.py +57 -0
  85. fortisapi/models/address.py +205 -0
  86. fortisapi/models/address_1.py +228 -0
  87. fortisapi/models/address_2.py +204 -0
  88. fortisapi/models/address_71.py +186 -0
  89. fortisapi/models/address_match_enum.py +54 -0
  90. fortisapi/models/address_type_enum.py +50 -0
  91. fortisapi/models/all_tag.py +194 -0
  92. fortisapi/models/alt_bank_account.py +180 -0
  93. fortisapi/models/amount_ind_enum.py +121 -0
  94. fortisapi/models/app_delivery_enum.py +50 -0
  95. fortisapi/models/auth_currency_enum.py +168 -0
  96. fortisapi/models/avs_enum.py +56 -0
  97. fortisapi/models/balance.py +154 -0
  98. fortisapi/models/bank_account.py +156 -0
  99. fortisapi/models/bank_account_1.py +186 -0
  100. fortisapi/models/batch_risk_config.py +132 -0
  101. fortisapi/models/billing_address.py +233 -0
  102. fortisapi/models/billing_address_1.py +258 -0
  103. fortisapi/models/billing_address_24.py +263 -0
  104. fortisapi/models/billing_address_5.py +155 -0
  105. fortisapi/models/body.py +134 -0
  106. fortisapi/models/branding_domain.py +867 -0
  107. fortisapi/models/branding_domain_1.py +867 -0
  108. fortisapi/models/broad_info.py +241 -0
  109. fortisapi/models/browser_information.py +401 -0
  110. fortisapi/models/business_category_enum.py +77 -0
  111. fortisapi/models/business_type_enum.py +365 -0
  112. fortisapi/models/cardholder.py +324 -0
  113. fortisapi/models/cardholder_account.py +211 -0
  114. fortisapi/models/category_enum.py +133 -0
  115. fortisapi/models/cau_subscribe_type_code_enum.py +50 -0
  116. fortisapi/models/cau_subscribe_type_id_enum.py +50 -0
  117. fortisapi/models/cau_summary_status_id_enum.py +53 -0
  118. fortisapi/models/cc_product_transaction.py +3048 -0
  119. fortisapi/models/ch_acc_age_ind_enum.py +66 -0
  120. fortisapi/models/ch_acc_change_ind_enum.py +63 -0
  121. fortisapi/models/ch_acc_pw_change_ind_enum.py +67 -0
  122. fortisapi/models/challenge_message_extension.py +177 -0
  123. fortisapi/models/challenge_window_size_enum.py +73 -0
  124. fortisapi/models/changelog.py +280 -0
  125. fortisapi/models/changelog_detail.py +178 -0
  126. fortisapi/models/children.py +822 -0
  127. fortisapi/models/communication_type_enum.py +50 -0
  128. fortisapi/models/conditions.py +125 -0
  129. fortisapi/models/conditions_18.py +146 -0
  130. fortisapi/models/conditions_181.py +146 -0
  131. fortisapi/models/conditions_191.py +146 -0
  132. fortisapi/models/conditions_27.py +125 -0
  133. fortisapi/models/conditions_4.py +146 -0
  134. fortisapi/models/conditions_41.py +146 -0
  135. fortisapi/models/conditions_42.py +146 -0
  136. fortisapi/models/conditions_43.py +146 -0
  137. fortisapi/models/contact.py +179 -0
  138. fortisapi/models/contact_1.py +822 -0
  139. fortisapi/models/contact_9.py +169 -0
  140. fortisapi/models/contact_user_default_entry_page_enum.py +59 -0
  141. fortisapi/models/context.py +125 -0
  142. fortisapi/models/country_enum.py +47 -0
  143. fortisapi/models/created_user.py +1197 -0
  144. fortisapi/models/currency_code_enum.py +186 -0
  145. fortisapi/models/currency_type.py +131 -0
  146. fortisapi/models/data.py +225 -0
  147. fortisapi/models/data_1.py +105 -0
  148. fortisapi/models/data_10.py +1283 -0
  149. fortisapi/models/data_11.py +948 -0
  150. fortisapi/models/data_12.py +369 -0
  151. fortisapi/models/data_13.py +263 -0
  152. fortisapi/models/data_14.py +552 -0
  153. fortisapi/models/data_15.py +102 -0
  154. fortisapi/models/data_16.py +930 -0
  155. fortisapi/models/data_17.py +920 -0
  156. fortisapi/models/data_18.py +102 -0
  157. fortisapi/models/data_19.py +631 -0
  158. fortisapi/models/data_2.py +1134 -0
  159. fortisapi/models/data_20.py +1657 -0
  160. fortisapi/models/data_21.py +223 -0
  161. fortisapi/models/data_22.py +1341 -0
  162. fortisapi/models/data_23.py +245 -0
  163. fortisapi/models/data_24.py +219 -0
  164. fortisapi/models/data_25.py +1456 -0
  165. fortisapi/models/data_26.py +376 -0
  166. fortisapi/models/data_27.py +1681 -0
  167. fortisapi/models/data_28.py +380 -0
  168. fortisapi/models/data_29.py +4233 -0
  169. fortisapi/models/data_3.py +296 -0
  170. fortisapi/models/data_30.py +421 -0
  171. fortisapi/models/data_31.py +150 -0
  172. fortisapi/models/data_34.py +103 -0
  173. fortisapi/models/data_35.py +259 -0
  174. fortisapi/models/data_36.py +537 -0
  175. fortisapi/models/data_4.py +482 -0
  176. fortisapi/models/data_5.py +171 -0
  177. fortisapi/models/data_6.py +469 -0
  178. fortisapi/models/data_7.py +230 -0
  179. fortisapi/models/data_8.py +616 -0
  180. fortisapi/models/data_9.py +129 -0
  181. fortisapi/models/debit_credit_enum.py +48 -0
  182. fortisapi/models/declined_recurring_notification.py +251 -0
  183. fortisapi/models/default_transaction_type_enum.py +50 -0
  184. fortisapi/models/delivery_method_enum.py +61 -0
  185. fortisapi/models/delivery_timeframe_enum.py +61 -0
  186. fortisapi/models/deposit_type_enum.py +50 -0
  187. fortisapi/models/detail.py +173 -0
  188. fortisapi/models/detail_1.py +323 -0
  189. fortisapi/models/detail_2.py +273 -0
  190. fortisapi/models/developer_company.py +270 -0
  191. fortisapi/models/device.py +123 -0
  192. fortisapi/models/device_binding_status_enum.py +373 -0
  193. fortisapi/models/device_channel_enum.py +51 -0
  194. fortisapi/models/document.py +115 -0
  195. fortisapi/models/e_format_enum.py +62 -0
  196. fortisapi/models/ebt_plan_enum.py +50 -0
  197. fortisapi/models/ebt_type_enum.py +61 -0
  198. fortisapi/models/email_blacklist.py +178 -0
  199. fortisapi/models/email_enum.py +47 -0
  200. fortisapi/models/emv_receipt_data.py +244 -0
  201. fortisapi/models/entry_mode_id_enum.py +73 -0
  202. fortisapi/models/expand_108_enum.py +48 -0
  203. fortisapi/models/expand_10_enum.py +42 -0
  204. fortisapi/models/expand_11_enum.py +99 -0
  205. fortisapi/models/expand_15_enum.py +42 -0
  206. fortisapi/models/expand_17_enum.py +96 -0
  207. fortisapi/models/expand_18_enum.py +84 -0
  208. fortisapi/models/expand_1_enum.py +75 -0
  209. fortisapi/models/expand_26_enum.py +87 -0
  210. fortisapi/models/expand_34_enum.py +42 -0
  211. fortisapi/models/expand_37_enum.py +42 -0
  212. fortisapi/models/expand_40_enum.py +63 -0
  213. fortisapi/models/expand_44_enum.py +48 -0
  214. fortisapi/models/expand_47_enum.py +69 -0
  215. fortisapi/models/expand_57_enum.py +54 -0
  216. fortisapi/models/expand_5_enum.py +48 -0
  217. fortisapi/models/expand_60_enum.py +171 -0
  218. fortisapi/models/expand_8_enum.py +57 -0
  219. fortisapi/models/expand_enum.py +51 -0
  220. fortisapi/models/field.py +125 -0
  221. fortisapi/models/field_20.py +267 -0
  222. fortisapi/models/field_27_enum.py +129 -0
  223. fortisapi/models/field_28_enum.py +168 -0
  224. fortisapi/models/field_30_enum.py +75 -0
  225. fortisapi/models/field_31_enum.py +87 -0
  226. fortisapi/models/field_33_enum.py +183 -0
  227. fortisapi/models/field_34_enum.py +195 -0
  228. fortisapi/models/field_35_enum.py +180 -0
  229. fortisapi/models/field_36_enum.py +192 -0
  230. fortisapi/models/field_37_enum.py +102 -0
  231. fortisapi/models/field_39_enum.py +186 -0
  232. fortisapi/models/field_41_enum.py +237 -0
  233. fortisapi/models/field_43_enum.py +198 -0
  234. fortisapi/models/field_45_enum.py +78 -0
  235. fortisapi/models/field_46_enum.py +126 -0
  236. fortisapi/models/field_47_enum.py +60 -0
  237. fortisapi/models/field_49_enum.py +57 -0
  238. fortisapi/models/field_51_enum.py +210 -0
  239. fortisapi/models/field_53_enum.py +84 -0
  240. fortisapi/models/field_55_enum.py +231 -0
  241. fortisapi/models/field_57_enum.py +75 -0
  242. fortisapi/models/field_59_enum.py +510 -0
  243. fortisapi/models/field_configuration.py +202 -0
  244. fortisapi/models/file.py +412 -0
  245. fortisapi/models/file_2.py +125 -0
  246. fortisapi/models/file_5.py +130 -0
  247. fortisapi/models/filter_by.py +171 -0
  248. fortisapi/models/footer.py +134 -0
  249. fortisapi/models/forecast.py +250 -0
  250. fortisapi/models/format_1_enum.py +47 -0
  251. fortisapi/models/format_enum.py +47 -0
  252. fortisapi/models/header.py +134 -0
  253. fortisapi/models/helppage.py +270 -0
  254. fortisapi/models/home_phone.py +130 -0
  255. fortisapi/models/hosted_payment_page.py +558 -0
  256. fortisapi/models/identity_verification.py +183 -0
  257. fortisapi/models/identity_verification_2.py +183 -0
  258. fortisapi/models/identity_verification_27.py +165 -0
  259. fortisapi/models/idtype_enum.py +47 -0
  260. fortisapi/models/iias_ind_enum.py +64 -0
  261. fortisapi/models/industry_type_enum.py +59 -0
  262. fortisapi/models/initiation_type_enum.py +92 -0
  263. fortisapi/models/interval_type_enum.py +50 -0
  264. fortisapi/models/item_list.py +125 -0
  265. fortisapi/models/item_list_4.py +99 -0
  266. fortisapi/models/item_list_5.py +130 -0
  267. fortisapi/models/joi.py +104 -0
  268. fortisapi/models/joi_18.py +111 -0
  269. fortisapi/models/joi_19.py +111 -0
  270. fortisapi/models/joi_27.py +104 -0
  271. fortisapi/models/joi_4.py +110 -0
  272. fortisapi/models/kyc_response_object.py +101 -0
  273. fortisapi/models/level_3_data.py +481 -0
  274. fortisapi/models/level_3_data_5.py +324 -0
  275. fortisapi/models/level_3_data_6.py +469 -0
  276. fortisapi/models/level_3_default.py +481 -0
  277. fortisapi/models/line_item.py +450 -0
  278. fortisapi/models/line_item_13.py +449 -0
  279. fortisapi/models/line_item_19.py +360 -0
  280. fortisapi/models/line_item_20.py +273 -0
  281. fortisapi/models/links.py +196 -0
  282. fortisapi/models/list.py +650 -0
  283. fortisapi/models/list_1.py +1134 -0
  284. fortisapi/models/list_10.py +1657 -0
  285. fortisapi/models/list_11.py +1341 -0
  286. fortisapi/models/list_12.py +336 -0
  287. fortisapi/models/list_13.py +731 -0
  288. fortisapi/models/list_14.py +245 -0
  289. fortisapi/models/list_15.py +219 -0
  290. fortisapi/models/list_16.py +1456 -0
  291. fortisapi/models/list_17.py +376 -0
  292. fortisapi/models/list_18.py +1681 -0
  293. fortisapi/models/list_19.py +380 -0
  294. fortisapi/models/list_20.py +4233 -0
  295. fortisapi/models/list_3.py +296 -0
  296. fortisapi/models/list_4.py +469 -0
  297. fortisapi/models/list_5.py +948 -0
  298. fortisapi/models/list_6.py +1283 -0
  299. fortisapi/models/list_8.py +552 -0
  300. fortisapi/models/list_9.py +920 -0
  301. fortisapi/models/location.py +756 -0
  302. fortisapi/models/location_18.py +217 -0
  303. fortisapi/models/location_5.py +227 -0
  304. fortisapi/models/location_billing_account.py +509 -0
  305. fortisapi/models/location_type_26_enum.py +51 -0
  306. fortisapi/models/location_type_enum.py +50 -0
  307. fortisapi/models/locationmarketplace.py +247 -0
  308. fortisapi/models/log_email.py +364 -0
  309. fortisapi/models/log_sms.py +315 -0
  310. fortisapi/models/marketplace.py +247 -0
  311. fortisapi/models/masync.py +128 -0
  312. fortisapi/models/merchant_list.py +193 -0
  313. fortisapi/models/merchant_risk_indicator.py +341 -0
  314. fortisapi/models/message_category_enum.py +119 -0
  315. fortisapi/models/message_extension.py +177 -0
  316. fortisapi/models/meta.py +107 -0
  317. fortisapi/models/method_3.py +147 -0
  318. fortisapi/models/method_50.py +145 -0
  319. fortisapi/models/method_53_enum.py +56 -0
  320. fortisapi/models/method_5_enum.py +56 -0
  321. fortisapi/models/method_enum.py +56 -0
  322. fortisapi/models/mobile_phone.py +130 -0
  323. fortisapi/models/modified_user.py +1197 -0
  324. fortisapi/models/multi_transaction.py +147 -0
  325. fortisapi/models/operator_1_enum.py +59 -0
  326. fortisapi/models/operator_enum.py +47 -0
  327. fortisapi/models/order_21.py +99 -0
  328. fortisapi/models/order_enum.py +47 -0
  329. fortisapi/models/owner.py +322 -0
  330. fortisapi/models/ownership_type_enum.py +71 -0
  331. fortisapi/models/page.py +132 -0
  332. fortisapi/models/pagination.py +196 -0
  333. fortisapi/models/parent.py +822 -0
  334. fortisapi/models/parent_3.py +756 -0
  335. fortisapi/models/partner_enum.py +71 -0
  336. fortisapi/models/paylink_action_enum.py +47 -0
  337. fortisapi/models/payment_acc_ind_enum.py +67 -0
  338. fortisapi/models/payment_method_16_enum.py +47 -0
  339. fortisapi/models/payment_method_1_enum.py +47 -0
  340. fortisapi/models/payment_method_9_enum.py +50 -0
  341. fortisapi/models/payment_method_enum.py +50 -0
  342. fortisapi/models/payment_recurring_notification.py +251 -0
  343. fortisapi/models/payment_type_priority_enum.py +47 -0
  344. fortisapi/models/postback_log.py +295 -0
  345. fortisapi/models/postback_status_id_enum.py +53 -0
  346. fortisapi/models/pre_order_purchase_ind_enum.py +52 -0
  347. fortisapi/models/preferred_language_enum.py +51 -0
  348. fortisapi/models/preferred_protocol_version_enum.py +65 -0
  349. fortisapi/models/pricing_element.py +147 -0
  350. fortisapi/models/primary_principal.py +396 -0
  351. fortisapi/models/primary_principal_1.py +376 -0
  352. fortisapi/models/process_method_enum.py +47 -0
  353. fortisapi/models/processor_enum.py +59 -0
  354. fortisapi/models/product_accountvault.py +317 -0
  355. fortisapi/models/product_file.py +416 -0
  356. fortisapi/models/product_file_1.py +414 -0
  357. fortisapi/models/product_invoice.py +651 -0
  358. fortisapi/models/product_recurring.py +387 -0
  359. fortisapi/models/product_token.py +317 -0
  360. fortisapi/models/product_transaction.py +3048 -0
  361. fortisapi/models/product_transaction_1.py +3046 -0
  362. fortisapi/models/purchase.py +501 -0
  363. fortisapi/models/quick_invoice.py +1256 -0
  364. fortisapi/models/quick_invoice_setting.py +299 -0
  365. fortisapi/models/quick_invoice_view.py +176 -0
  366. fortisapi/models/reason_code.py +131 -0
  367. fortisapi/models/reason_code_id_1_enum.py +935 -0
  368. fortisapi/models/reason_code_id_enum.py +578 -0
  369. fortisapi/models/reason_model_enum.py +74 -0
  370. fortisapi/models/received_email.py +364 -0
  371. fortisapi/models/recipients_enum.py +62 -0
  372. fortisapi/models/recurring.py +975 -0
  373. fortisapi/models/recurring_3.py +977 -0
  374. fortisapi/models/recurring_flag_enum.py +64 -0
  375. fortisapi/models/recurring_split.py +200 -0
  376. fortisapi/models/recurring_type_id_enum.py +47 -0
  377. fortisapi/models/registration_field_enum.py +87 -0
  378. fortisapi/models/rejected_transaction.py +3198 -0
  379. fortisapi/models/rejected_transaction_ach_retry.py +244 -0
  380. fortisapi/models/relationship_enum.py +50 -0
  381. fortisapi/models/reorder_items_ind_enum.py +51 -0
  382. fortisapi/models/report_export_type_enum.py +53 -0
  383. fortisapi/models/resource_12_enum.py +52 -0
  384. fortisapi/models/resource_2_enum.py +50 -0
  385. fortisapi/models/resource_enum.py +55 -0
  386. fortisapi/models/response_416_date_range.py +148 -0
  387. fortisapi/models/response_417_filter_channels.py +148 -0
  388. fortisapi/models/response_apple_pay_validate_merchant.py +126 -0
  389. fortisapi/models/response_async_status.py +126 -0
  390. fortisapi/models/response_batchs_collection.py +228 -0
  391. fortisapi/models/response_calculate_surcharge.py +126 -0
  392. fortisapi/models/response_contact.py +126 -0
  393. fortisapi/models/response_contact_searchs_collection.py +228 -0
  394. fortisapi/models/response_contacts_collection.py +228 -0
  395. fortisapi/models/response_declined_recurring_transaction.py +126 -0
  396. fortisapi/models/response_declined_recurring_transaction_payment.py +126 -0
  397. fortisapi/models/response_declined_recurring_transaction_resend.py +126 -0
  398. fortisapi/models/response_declined_recurring_transactions_collection.py +228 -0
  399. fortisapi/models/response_device_term.py +126 -0
  400. fortisapi/models/response_device_terms_collection.py +228 -0
  401. fortisapi/models/response_fullboarding.py +126 -0
  402. fortisapi/models/response_location.py +126 -0
  403. fortisapi/models/response_location_info.py +126 -0
  404. fortisapi/models/response_location_infos_collection.py +228 -0
  405. fortisapi/models/response_location_searchs_collection.py +228 -0
  406. fortisapi/models/response_locations_collection.py +228 -0
  407. fortisapi/models/response_merchant.py +126 -0
  408. fortisapi/models/response_merchant_deposit.py +126 -0
  409. fortisapi/models/response_merchant_deposits_collection.py +228 -0
  410. fortisapi/models/response_merchant_details.py +126 -0
  411. fortisapi/models/response_onboarding.py +126 -0
  412. fortisapi/models/response_paylink.py +126 -0
  413. fortisapi/models/response_paylinks_collection.py +228 -0
  414. fortisapi/models/response_payment_card_reader_token.py +126 -0
  415. fortisapi/models/response_quick_invoice.py +126 -0
  416. fortisapi/models/response_quick_invoice_resend.py +126 -0
  417. fortisapi/models/response_quick_invoices_collection.py +228 -0
  418. fortisapi/models/response_recurring.py +126 -0
  419. fortisapi/models/response_recurrings_collection.py +228 -0
  420. fortisapi/models/response_reporting_reports_cc_settled_transactions_collection.py +231 -0
  421. fortisapi/models/response_reporting_reports_chargebacks_collection.py +228 -0
  422. fortisapi/models/response_signature.py +126 -0
  423. fortisapi/models/response_signatures_collection.py +228 -0
  424. fortisapi/models/response_tag.py +126 -0
  425. fortisapi/models/response_tags_collection.py +228 -0
  426. fortisapi/models/response_terminal.py +126 -0
  427. fortisapi/models/response_terminals_collection.py +228 -0
  428. fortisapi/models/response_three_ds_authentication.py +126 -0
  429. fortisapi/models/response_three_ds_transaction.py +126 -0
  430. fortisapi/models/response_ticket.py +126 -0
  431. fortisapi/models/response_ticket_intention.py +126 -0
  432. fortisapi/models/response_tickets_collection.py +228 -0
  433. fortisapi/models/response_token.py +126 -0
  434. fortisapi/models/response_tokens_collection.py +228 -0
  435. fortisapi/models/response_transaction.py +126 -0
  436. fortisapi/models/response_transaction_ach_retry.py +126 -0
  437. fortisapi/models/response_transaction_ach_retrys_collection.py +228 -0
  438. fortisapi/models/response_transaction_bin_info.py +126 -0
  439. fortisapi/models/response_transaction_intention.py +126 -0
  440. fortisapi/models/response_transaction_level_3.py +126 -0
  441. fortisapi/models/response_transaction_level_3_master.py +126 -0
  442. fortisapi/models/response_transaction_level_3_visa.py +126 -0
  443. fortisapi/models/response_transaction_processing.py +126 -0
  444. fortisapi/models/response_transactions_collection.py +228 -0
  445. fortisapi/models/response_webhook.py +126 -0
  446. fortisapi/models/result.py +152 -0
  447. fortisapi/models/retry_transaction.py +3198 -0
  448. fortisapi/models/retry_transaction_ach_retry.py +246 -0
  449. fortisapi/models/return_fee_transaction.py +3198 -0
  450. fortisapi/models/return_fee_transaction_ach_retry.py +246 -0
  451. fortisapi/models/saved_account.py +1408 -0
  452. fortisapi/models/scheme_id_enum.py +54 -0
  453. fortisapi/models/sec_code_enum.py +51 -0
  454. fortisapi/models/settings.py +148 -0
  455. fortisapi/models/settled_currency_enum.py +168 -0
  456. fortisapi/models/severity_enum.py +62 -0
  457. fortisapi/models/ship_address_usage_ind_enum.py +62 -0
  458. fortisapi/models/ship_indicator_enum.py +101 -0
  459. fortisapi/models/ship_name_indicator_enum.py +52 -0
  460. fortisapi/models/shipping_address.py +264 -0
  461. fortisapi/models/signature.py +220 -0
  462. fortisapi/models/sms_blacklist.py +178 -0
  463. fortisapi/models/sms_enum.py +47 -0
  464. fortisapi/models/sort.py +132 -0
  465. fortisapi/models/source_enum.py +56 -0
  466. fortisapi/models/stack_enum.py +47 -0
  467. fortisapi/models/status_11.py +131 -0
  468. fortisapi/models/status_3_enum.py +47 -0
  469. fortisapi/models/status_5.py +102 -0
  470. fortisapi/models/status_code_12_enum.py +47 -0
  471. fortisapi/models/status_code_17_enum.py +102 -0
  472. fortisapi/models/status_code_enum.py +50 -0
  473. fortisapi/models/status_enum.py +50 -0
  474. fortisapi/models/status_id_enum.py +47 -0
  475. fortisapi/models/surcharge.py +574 -0
  476. fortisapi/models/surcharge_transaction.py +367 -0
  477. fortisapi/models/suspicious_acc_activity_enum.py +52 -0
  478. fortisapi/models/tag.py +194 -0
  479. fortisapi/models/tag_transaction.py +319 -0
  480. fortisapi/models/tax_exempt_enum.py +61 -0
  481. fortisapi/models/tax_surcharge_config_enum.py +47 -0
  482. fortisapi/models/terminal.py +1245 -0
  483. fortisapi/models/terminal_2.py +1243 -0
  484. fortisapi/models/terminal_application.py +411 -0
  485. fortisapi/models/terminal_cvm.py +293 -0
  486. fortisapi/models/terminal_manufacturer.py +249 -0
  487. fortisapi/models/terminal_manufacturer_code_enum.py +55 -0
  488. fortisapi/models/terminal_router.py +245 -0
  489. fortisapi/models/terminal_timeouts.py +304 -0
  490. fortisapi/models/terminal_timeouts_12.py +314 -0
  491. fortisapi/models/three_ds_req_auth_method_enum.py +154 -0
  492. fortisapi/models/three_ds_req_prior_auth_method_enum.py +123 -0
  493. fortisapi/models/three_ds_requestor.py +345 -0
  494. fortisapi/models/three_ds_requestor_authentication_ind_enum.py +141 -0
  495. fortisapi/models/three_ds_requestor_authentication_info.py +179 -0
  496. fortisapi/models/three_ds_requestor_challenge_ind_enum.py +126 -0
  497. fortisapi/models/three_ds_requestor_dec_req_ind_enum.py +72 -0
  498. fortisapi/models/three_ds_requestor_prior_authentication_info.py +188 -0
  499. fortisapi/models/three_ds_requestor_spc_support_enum.py +49 -0
  500. fortisapi/models/three_ri_ind_enum.py +180 -0
  501. fortisapi/models/tip_percents.py +160 -0
  502. fortisapi/models/trans_char_enum.py +45 -0
  503. fortisapi/models/transaction.py +3196 -0
  504. fortisapi/models/transaction_batch.py +537 -0
  505. fortisapi/models/transaction_batch_settlement.py +202 -0
  506. fortisapi/models/transaction_history.py +246 -0
  507. fortisapi/models/transaction_level_3.py +152 -0
  508. fortisapi/models/transaction_reference.py +298 -0
  509. fortisapi/models/transaction_split.py +221 -0
  510. fortisapi/models/transaction_status_enum.py +88 -0
  511. fortisapi/models/transaction_type_enum.py +68 -0
  512. fortisapi/models/trx_source_code_enum.py +155 -0
  513. fortisapi/models/trx_source_id_enum.py +155 -0
  514. fortisapi/models/type_103_enum.py +44 -0
  515. fortisapi/models/type_105_enum.py +44 -0
  516. fortisapi/models/type_10_enum.py +44 -0
  517. fortisapi/models/type_110_enum.py +44 -0
  518. fortisapi/models/type_114_enum.py +44 -0
  519. fortisapi/models/type_11_enum.py +44 -0
  520. fortisapi/models/type_121_enum.py +44 -0
  521. fortisapi/models/type_123.py +131 -0
  522. fortisapi/models/type_124_enum.py +44 -0
  523. fortisapi/models/type_125_enum.py +44 -0
  524. fortisapi/models/type_126_enum.py +44 -0
  525. fortisapi/models/type_127_enum.py +44 -0
  526. fortisapi/models/type_128_enum.py +44 -0
  527. fortisapi/models/type_134_enum.py +44 -0
  528. fortisapi/models/type_135_enum.py +44 -0
  529. fortisapi/models/type_136_enum.py +44 -0
  530. fortisapi/models/type_15_enum.py +44 -0
  531. fortisapi/models/type_16_enum.py +44 -0
  532. fortisapi/models/type_1_enum.py +44 -0
  533. fortisapi/models/type_20_enum.py +44 -0
  534. fortisapi/models/type_21_enum.py +44 -0
  535. fortisapi/models/type_22_enum.py +44 -0
  536. fortisapi/models/type_23_enum.py +44 -0
  537. fortisapi/models/type_27_enum.py +44 -0
  538. fortisapi/models/type_28_enum.py +44 -0
  539. fortisapi/models/type_29_enum.py +64 -0
  540. fortisapi/models/type_2_enum.py +44 -0
  541. fortisapi/models/type_30_enum.py +44 -0
  542. fortisapi/models/type_31_enum.py +44 -0
  543. fortisapi/models/type_35_enum.py +44 -0
  544. fortisapi/models/type_39_enum.py +44 -0
  545. fortisapi/models/type_3_enum.py +44 -0
  546. fortisapi/models/type_43_enum.py +44 -0
  547. fortisapi/models/type_44_enum.py +44 -0
  548. fortisapi/models/type_45_enum.py +44 -0
  549. fortisapi/models/type_46_enum.py +44 -0
  550. fortisapi/models/type_47_enum.py +44 -0
  551. fortisapi/models/type_48_enum.py +44 -0
  552. fortisapi/models/type_4_enum.py +44 -0
  553. fortisapi/models/type_52_enum.py +44 -0
  554. fortisapi/models/type_53_enum.py +44 -0
  555. fortisapi/models/type_54_enum.py +44 -0
  556. fortisapi/models/type_55_enum.py +44 -0
  557. fortisapi/models/type_59_enum.py +44 -0
  558. fortisapi/models/type_5_enum.py +44 -0
  559. fortisapi/models/type_60_enum.py +44 -0
  560. fortisapi/models/type_61_enum.py +45 -0
  561. fortisapi/models/type_62_enum.py +44 -0
  562. fortisapi/models/type_63_enum.py +91 -0
  563. fortisapi/models/type_64_enum.py +44 -0
  564. fortisapi/models/type_65_enum.py +44 -0
  565. fortisapi/models/type_6_enum.py +44 -0
  566. fortisapi/models/type_70_enum.py +44 -0
  567. fortisapi/models/type_71_enum.py +44 -0
  568. fortisapi/models/type_75_enum.py +44 -0
  569. fortisapi/models/type_79_enum.py +44 -0
  570. fortisapi/models/type_83_enum.py +44 -0
  571. fortisapi/models/type_84_enum.py +44 -0
  572. fortisapi/models/type_88_enum.py +44 -0
  573. fortisapi/models/type_89_enum.py +44 -0
  574. fortisapi/models/type_93_enum.py +44 -0
  575. fortisapi/models/type_94_enum.py +44 -0
  576. fortisapi/models/type_98_enum.py +44 -0
  577. fortisapi/models/type_99_enum.py +44 -0
  578. fortisapi/models/type_enum.py +44 -0
  579. fortisapi/models/type_id_enum.py +59 -0
  580. fortisapi/models/ui_prefs.py +204 -0
  581. fortisapi/models/update_if_exists_enum.py +44 -0
  582. fortisapi/models/user.py +180 -0
  583. fortisapi/models/user_1.py +1197 -0
  584. fortisapi/models/user_9.py +1195 -0
  585. fortisapi/models/user_type_code_enum.py +74 -0
  586. fortisapi/models/v_1_contacts_request.py +685 -0
  587. fortisapi/models/v_1_contacts_request_1.py +707 -0
  588. fortisapi/models/v_1_declined_recurring_transaction_payments_request.py +354 -0
  589. fortisapi/models/v_1_device_terms_request.py +161 -0
  590. fortisapi/models/v_1_elements_ticket_intention_request.py +195 -0
  591. fortisapi/models/v_1_elements_transaction_intention_request.py +591 -0
  592. fortisapi/models/v_1_fullboarding_request.py +827 -0
  593. fortisapi/models/v_1_merchant_threedsecure_authentication_request.py +696 -0
  594. fortisapi/models/v_1_onboarding_request.py +833 -0
  595. fortisapi/models/v_1_paylinks_request.py +723 -0
  596. fortisapi/models/v_1_paylinks_request_1.py +735 -0
  597. fortisapi/models/v_1_public_calculate_surcharge_request.py +527 -0
  598. fortisapi/models/v_1_quick_invoices_request.py +1035 -0
  599. fortisapi/models/v_1_quick_invoices_request_1.py +1070 -0
  600. fortisapi/models/v_1_quick_invoices_transaction_request.py +86 -0
  601. fortisapi/models/v_1_recurrings_defer_payment_request.py +86 -0
  602. fortisapi/models/v_1_recurrings_request.py +742 -0
  603. fortisapi/models/v_1_recurrings_request_1.py +750 -0
  604. fortisapi/models/v_1_recurrings_skip_payment_request.py +86 -0
  605. fortisapi/models/v_1_signatures_request.py +113 -0
  606. fortisapi/models/v_1_tags_request.py +99 -0
  607. fortisapi/models/v_1_tags_request_1.py +130 -0
  608. fortisapi/models/v_1_terminals_request.py +1005 -0
  609. fortisapi/models/v_1_terminals_request_1.py +1112 -0
  610. fortisapi/models/v_1_tickets_request.py +286 -0
  611. fortisapi/models/v_1_tokens_ach_request.py +945 -0
  612. fortisapi/models/v_1_tokens_ach_request_1.py +907 -0
  613. fortisapi/models/v_1_tokens_cc_request.py +1071 -0
  614. fortisapi/models/v_1_tokens_cc_request_1.py +905 -0
  615. fortisapi/models/v_1_tokens_previous_transaction_request.py +858 -0
  616. fortisapi/models/v_1_tokens_terminal_async_request.py +889 -0
  617. fortisapi/models/v_1_tokens_terminal_request.py +889 -0
  618. fortisapi/models/v_1_tokens_ticket_request.py +882 -0
  619. fortisapi/models/v_1_tokens_wallet_request.py +919 -0
  620. fortisapi/models/v_1_transaction_ach_retries_request.py +119 -0
  621. fortisapi/models/v_1_transactions_ach_credit_keyed_request.py +1600 -0
  622. fortisapi/models/v_1_transactions_ach_credit_prev_trxn_request.py +1616 -0
  623. fortisapi/models/v_1_transactions_ach_credit_token_request.py +1660 -0
  624. fortisapi/models/v_1_transactions_ach_debit_keyed_request.py +1600 -0
  625. fortisapi/models/v_1_transactions_ach_debit_prev_trxn_request.py +1616 -0
  626. fortisapi/models/v_1_transactions_ach_debit_token_request.py +1660 -0
  627. fortisapi/models/v_1_transactions_ach_refund_prev_trxn_request.py +1616 -0
  628. fortisapi/models/v_1_transactions_auth_complete_request.py +1519 -0
  629. fortisapi/models/v_1_transactions_auth_increment_request.py +1533 -0
  630. fortisapi/models/v_1_transactions_cash_refund_request.py +1515 -0
  631. fortisapi/models/v_1_transactions_cash_sale_request.py +1489 -0
  632. fortisapi/models/v_1_transactions_cc_auth_only_keyed_request.py +2164 -0
  633. fortisapi/models/v_1_transactions_cc_auth_only_prev_trxn_request.py +2124 -0
  634. fortisapi/models/v_1_transactions_cc_auth_only_taptopay_request.py +1843 -0
  635. fortisapi/models/v_1_transactions_cc_auth_only_terminal_request.py +2082 -0
  636. fortisapi/models/v_1_transactions_cc_auth_only_ticket_request.py +2050 -0
  637. fortisapi/models/v_1_transactions_cc_auth_only_token_request.py +2129 -0
  638. fortisapi/models/v_1_transactions_cc_auth_only_wallet_request.py +2062 -0
  639. fortisapi/models/v_1_transactions_cc_avs_only_keyed_request.py +2175 -0
  640. fortisapi/models/v_1_transactions_cc_avs_only_prev_trxn_request.py +2124 -0
  641. fortisapi/models/v_1_transactions_cc_avs_only_swiped_request.py +2086 -0
  642. fortisapi/models/v_1_transactions_cc_avs_only_terminal_request.py +2093 -0
  643. fortisapi/models/v_1_transactions_cc_avs_only_ticket_request.py +2061 -0
  644. fortisapi/models/v_1_transactions_cc_avs_only_token_request.py +2140 -0
  645. fortisapi/models/v_1_transactions_cc_avs_only_wallet_request.py +2073 -0
  646. fortisapi/models/v_1_transactions_cc_balance_inquiry_keyed_request.py +2176 -0
  647. fortisapi/models/v_1_transactions_cc_balance_inquiry_prev_trxn_request.py +2125 -0
  648. fortisapi/models/v_1_transactions_cc_balance_inquiry_swiped_request.py +2087 -0
  649. fortisapi/models/v_1_transactions_cc_balance_inquiry_terminal_request.py +2094 -0
  650. fortisapi/models/v_1_transactions_cc_balance_inquiry_ticket_request.py +2062 -0
  651. fortisapi/models/v_1_transactions_cc_balance_inquiry_token_request.py +2141 -0
  652. fortisapi/models/v_1_transactions_cc_balance_inquiry_wallet_request.py +2074 -0
  653. fortisapi/models/v_1_transactions_cc_refund_keyed_request.py +2218 -0
  654. fortisapi/models/v_1_transactions_cc_refund_prev_trxn_request.py +2124 -0
  655. fortisapi/models/v_1_transactions_cc_refund_taptopay_request.py +1869 -0
  656. fortisapi/models/v_1_transactions_cc_refund_terminal_request.py +2082 -0
  657. fortisapi/models/v_1_transactions_cc_refund_ticket_request.py +2050 -0
  658. fortisapi/models/v_1_transactions_cc_refund_token_request.py +2129 -0
  659. fortisapi/models/v_1_transactions_cc_refund_wallet_request.py +2062 -0
  660. fortisapi/models/v_1_transactions_cc_sale_keyed_request.py +2164 -0
  661. fortisapi/models/v_1_transactions_cc_sale_prev_trxn_request.py +2124 -0
  662. fortisapi/models/v_1_transactions_cc_sale_taptopay_request.py +1843 -0
  663. fortisapi/models/v_1_transactions_cc_sale_terminal_request.py +2082 -0
  664. fortisapi/models/v_1_transactions_cc_sale_ticket_request.py +2050 -0
  665. fortisapi/models/v_1_transactions_cc_sale_token_request.py +2129 -0
  666. fortisapi/models/v_1_transactions_cc_sale_wallet_request.py +2062 -0
  667. fortisapi/models/v_1_transactions_ebt_voucher_clear_refund_keyed_request.py +2190 -0
  668. fortisapi/models/v_1_transactions_ebt_voucher_clear_sale_keyed_request.py +2190 -0
  669. fortisapi/models/v_1_transactions_level_3_master_card_request.py +91 -0
  670. fortisapi/models/v_1_transactions_level_3_visa_request.py +91 -0
  671. fortisapi/models/v_1_transactions_partial_reversal_request.py +1462 -0
  672. fortisapi/models/v_1_transactions_refund_request.py +1448 -0
  673. fortisapi/models/v_1_transactions_tip_adjust_request.py +1973 -0
  674. fortisapi/models/v_1_transactions_void_request.py +130 -0
  675. fortisapi/models/v_1_wallet_provider_apple_pay_validate_merchant_request.py +127 -0
  676. fortisapi/models/v_1_wallet_provider_merchant_details_request.py +87 -0
  677. fortisapi/models/v_1_webhooks_apm_onboarding_request.py +421 -0
  678. fortisapi/models/v_1_webhooks_apm_onboarding_request_1.py +494 -0
  679. fortisapi/models/v_1_webhooks_batch_request.py +410 -0
  680. fortisapi/models/v_1_webhooks_batch_request_1.py +494 -0
  681. fortisapi/models/v_1_webhooks_contact_request.py +421 -0
  682. fortisapi/models/v_1_webhooks_contact_request_1.py +494 -0
  683. fortisapi/models/v_1_webhooks_transaction_request.py +410 -0
  684. fortisapi/models/v_1_webhooks_transaction_request_1.py +494 -0
  685. fortisapi/models/values_4_enum.py +59 -0
  686. fortisapi/models/values_50_enum.py +59 -0
  687. fortisapi/models/values_51_enum.py +62 -0
  688. fortisapi/models/values_58_enum.py +59 -0
  689. fortisapi/models/values_5_enum.py +59 -0
  690. fortisapi/models/values_6_enum.py +59 -0
  691. fortisapi/models/values_7_enum.py +59 -0
  692. fortisapi/models/values_99_enum.py +45 -0
  693. fortisapi/models/values_enum.py +51 -0
  694. fortisapi/models/wallet_provider_enum.py +47 -0
  695. fortisapi/models/wallet_type_enum.py +86 -0
  696. fortisapi/models/work_phone.py +130 -0
  697. fortisapi/utilities/__init__.py +6 -0
  698. fortisapi/utilities/file_wrapper.py +45 -0
  699. fortisapi/utilities/union_type_lookup.py +436 -0
@@ -0,0 +1,100 @@
1
+
2
+ """
3
+ fortisapi
4
+
5
+ This file was automatically generated by APIMATIC v3.0 (
6
+ https://www.apimatic.io ).
7
+ """
8
+
9
+ import os
10
+
11
+ from apimatic_core.authentication.header_auth import HeaderAuth
12
+
13
+
14
+ class DeveloperId(HeaderAuth):
15
+ """
16
+ An authentication handler that applies `CustomHeaderAuthentication` to
17
+ outgoing requests. It constructs the required credential values and integrates
18
+ with the core authentication framework.
19
+ """
20
+
21
+ @property
22
+ def error_message(self):
23
+ """Return reason about the authentication failure."""
24
+ return "DeveloperId: developer_id is undefined."
25
+
26
+ def __init__(self, auth_model):
27
+ """
28
+ Initialize the authentication handler with credential data.
29
+
30
+ Args:
31
+ auth_model: The credentials object used to generate the authorization
32
+ header.
33
+
34
+ """
35
+ auth_params = {}
36
+ if auth_model is not None \
37
+ and auth_model.developer_id is not None:
38
+ auth_params["developer-id"] = auth_model.developer_id
39
+ super().__init__(auth_params=auth_params)
40
+
41
+
42
+ class DeveloperIdCredentials:
43
+ """
44
+ A model for authentication credentials. Provides simple validation,
45
+ cloning support, and optional construction from environment variables.
46
+ Suitable as a pattern for other auth models.
47
+ """
48
+
49
+ @property
50
+ def developer_id(self):
51
+ """
52
+ Developer ID.
53
+ """
54
+ return self._developer_id
55
+
56
+ def __init__(self, developer_id):
57
+ """
58
+ Initialize the credentials.
59
+
60
+ Args:
61
+ developer_id: The developer_id property value to set.
62
+
63
+ Raises:
64
+ ValueError: If any required value is missing.
65
+
66
+ """
67
+ if developer_id is None:
68
+ raise ValueError("developer_id cannot be None")
69
+ self._developer_id = developer_id
70
+
71
+ def clone_with(self, developer_id=None):
72
+ """
73
+ Return a new instance with optional value overrides.
74
+
75
+ Args:
76
+ developer_id: The developer_id property value to set.
77
+
78
+ """
79
+ return DeveloperIdCredentials(developer_id or self.developer_id)
80
+
81
+ @classmethod
82
+ def from_environment(cls):
83
+ """
84
+ Create credentials from environment variables, if available.
85
+
86
+ Returns:
87
+ A credentials instance or ``None`` if values are missing.
88
+
89
+ """
90
+ developer_id = os.getenv(
91
+ "DEVELOPER_ID_DEVELOPER_ID",
92
+ None,
93
+ )
94
+
95
+ if (developer_id is None):
96
+ return None
97
+
98
+ return cls(
99
+ developer_id=developer_id,
100
+ )
@@ -0,0 +1,100 @@
1
+
2
+ """
3
+ fortisapi
4
+
5
+ This file was automatically generated by APIMATIC v3.0 (
6
+ https://www.apimatic.io ).
7
+ """
8
+
9
+ import os
10
+
11
+ from apimatic_core.authentication.header_auth import HeaderAuth
12
+
13
+
14
+ class UserApiKey(HeaderAuth):
15
+ """
16
+ An authentication handler that applies `CustomHeaderAuthentication` to
17
+ outgoing requests. It constructs the required credential values and integrates
18
+ with the core authentication framework.
19
+ """
20
+
21
+ @property
22
+ def error_message(self):
23
+ """Return reason about the authentication failure."""
24
+ return "UserApiKey: user_api_key is undefined."
25
+
26
+ def __init__(self, auth_model):
27
+ """
28
+ Initialize the authentication handler with credential data.
29
+
30
+ Args:
31
+ auth_model: The credentials object used to generate the authorization
32
+ header.
33
+
34
+ """
35
+ auth_params = {}
36
+ if auth_model is not None \
37
+ and auth_model.user_api_key is not None:
38
+ auth_params["user-api-key"] = auth_model.user_api_key
39
+ super().__init__(auth_params=auth_params)
40
+
41
+
42
+ class UserApiKeyCredentials:
43
+ """
44
+ A model for authentication credentials. Provides simple validation,
45
+ cloning support, and optional construction from environment variables.
46
+ Suitable as a pattern for other auth models.
47
+ """
48
+
49
+ @property
50
+ def user_api_key(self):
51
+ """
52
+ User API Key.
53
+ """
54
+ return self._user_api_key
55
+
56
+ def __init__(self, user_api_key):
57
+ """
58
+ Initialize the credentials.
59
+
60
+ Args:
61
+ user_api_key: The user_api_key property value to set.
62
+
63
+ Raises:
64
+ ValueError: If any required value is missing.
65
+
66
+ """
67
+ if user_api_key is None:
68
+ raise ValueError("user_api_key cannot be None")
69
+ self._user_api_key = user_api_key
70
+
71
+ def clone_with(self, user_api_key=None):
72
+ """
73
+ Return a new instance with optional value overrides.
74
+
75
+ Args:
76
+ user_api_key: The user_api_key property value to set.
77
+
78
+ """
79
+ return UserApiKeyCredentials(user_api_key or self.user_api_key)
80
+
81
+ @classmethod
82
+ def from_environment(cls):
83
+ """
84
+ Create credentials from environment variables, if available.
85
+
86
+ Returns:
87
+ A credentials instance or ``None`` if values are missing.
88
+
89
+ """
90
+ user_api_key = os.getenv(
91
+ "USER_API_KEY_USER_API_KEY",
92
+ None,
93
+ )
94
+
95
+ if (user_api_key is None):
96
+ return None
97
+
98
+ return cls(
99
+ user_api_key=user_api_key,
100
+ )
@@ -0,0 +1,100 @@
1
+
2
+ """
3
+ fortisapi
4
+
5
+ This file was automatically generated by APIMATIC v3.0 (
6
+ https://www.apimatic.io ).
7
+ """
8
+
9
+ import os
10
+
11
+ from apimatic_core.authentication.header_auth import HeaderAuth
12
+
13
+
14
+ class UserId(HeaderAuth):
15
+ """
16
+ An authentication handler that applies `CustomHeaderAuthentication` to
17
+ outgoing requests. It constructs the required credential values and integrates
18
+ with the core authentication framework.
19
+ """
20
+
21
+ @property
22
+ def error_message(self):
23
+ """Return reason about the authentication failure."""
24
+ return "UserId: user_id is undefined."
25
+
26
+ def __init__(self, auth_model):
27
+ """
28
+ Initialize the authentication handler with credential data.
29
+
30
+ Args:
31
+ auth_model: The credentials object used to generate the authorization
32
+ header.
33
+
34
+ """
35
+ auth_params = {}
36
+ if auth_model is not None \
37
+ and auth_model.user_id is not None:
38
+ auth_params["user-id"] = auth_model.user_id
39
+ super().__init__(auth_params=auth_params)
40
+
41
+
42
+ class UserIdCredentials:
43
+ """
44
+ A model for authentication credentials. Provides simple validation,
45
+ cloning support, and optional construction from environment variables.
46
+ Suitable as a pattern for other auth models.
47
+ """
48
+
49
+ @property
50
+ def user_id(self):
51
+ """
52
+ User ID.
53
+ """
54
+ return self._user_id
55
+
56
+ def __init__(self, user_id):
57
+ """
58
+ Initialize the credentials.
59
+
60
+ Args:
61
+ user_id: The user_id property value to set.
62
+
63
+ Raises:
64
+ ValueError: If any required value is missing.
65
+
66
+ """
67
+ if user_id is None:
68
+ raise ValueError("user_id cannot be None")
69
+ self._user_id = user_id
70
+
71
+ def clone_with(self, user_id=None):
72
+ """
73
+ Return a new instance with optional value overrides.
74
+
75
+ Args:
76
+ user_id: The user_id property value to set.
77
+
78
+ """
79
+ return UserIdCredentials(user_id or self.user_id)
80
+
81
+ @classmethod
82
+ def from_environment(cls):
83
+ """
84
+ Create credentials from environment variables, if available.
85
+
86
+ Returns:
87
+ A credentials instance or ``None`` if values are missing.
88
+
89
+ """
90
+ user_id = os.getenv(
91
+ "USER_ID_USER_ID",
92
+ None,
93
+ )
94
+
95
+ if (user_id is None):
96
+ return None
97
+
98
+ return cls(
99
+ user_id=user_id,
100
+ )
@@ -0,0 +1,20 @@
1
+
2
+ """
3
+ fortisapi
4
+
5
+ This file was automatically generated by APIMATIC v3.0 (
6
+ https://www.apimatic.io ).
7
+ """
8
+
9
+ from apimatic_core.http.http_callback import HttpCallBack as CoreHttpCallback
10
+
11
+
12
+ class HttpCallBack(CoreHttpCallback):
13
+ """
14
+ An interface for the callback to be called before and after the
15
+ HTTP call for an endpoint is made.
16
+
17
+ This class should not be instantiated but should be used as a base class
18
+ for HttpCallBack classes.
19
+
20
+ """
@@ -0,0 +1,23 @@
1
+ """
2
+ fortisapi
3
+
4
+ This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
5
+ """
6
+ from abc import ABC
7
+
8
+ from apimatic_core_interfaces.client.http_client_provider import (
9
+ HttpClientProvider as CoreHttpClientProvider,
10
+ )
11
+
12
+
13
+ class HttpClientProvider(CoreHttpClientProvider, ABC):
14
+ """
15
+ Defines a contract for providing HTTP client configuration.
16
+
17
+ Classes implementing this interface are expected to supply a configured
18
+ HTTP session and timeout value that will be used by the SDK's internal
19
+ HTTP layer when making network requests.
20
+
21
+ This allows developers to inject their own custom HTTP clients while
22
+ maintaining compatibility with the SDK's request/response handling.
23
+ """
@@ -0,0 +1,25 @@
1
+
2
+ """
3
+ fortisapi
4
+
5
+ This file was automatically generated by APIMATIC v3.0 (
6
+ https://www.apimatic.io ).
7
+ """
8
+
9
+ from apimatic_core_interfaces.types.http_method_enum import (
10
+ HttpMethodEnum as CoreHttpMethodEnum,
11
+ )
12
+
13
+
14
+ class HttpMethodEnum(CoreHttpMethodEnum):
15
+ """
16
+ Enumeration of an HTTP Method
17
+
18
+ Attributes:
19
+ GET: A GET Request
20
+ POST: A POST Request
21
+ PUT: A PUT Request
22
+ PATCH: A PATCH Request
23
+ DELETE: A DELETE Request
24
+
25
+ """
@@ -0,0 +1,55 @@
1
+
2
+ """
3
+ fortisapi
4
+
5
+ This file was automatically generated by APIMATIC v3.0 (
6
+ https://www.apimatic.io ).
7
+ """
8
+
9
+ from apimatic_core.http.request.http_request import HttpRequest as CoreHttpRequest
10
+
11
+
12
+ class HttpRequest(CoreHttpRequest):
13
+ """
14
+ Represent an HTTP request to be sent to the server.
15
+
16
+ Encapsulates request details such as the HTTP method, target URL, headers,
17
+ query parameters, body parameters, and any files included with the request.
18
+
19
+ Attributes:
20
+ http_method: The HTTP method to use for the request.
21
+ query_url (str): The URL to which the request will be sent.
22
+ headers (dict[str, str] | None): Headers to include with the request.
23
+ query_parameters (dict[str, str] | None): Query parameters appended
24
+ to the request URL.
25
+ parameters (dict[str, str] | None): Form or body parameters sent
26
+ with the request.
27
+ files (dict | None): Files to be sent with the request.
28
+
29
+ """
30
+
31
+ def __init__(self,
32
+ http_method,
33
+ query_url,
34
+ headers=None,
35
+ query_parameters=None,
36
+ parameters=None,
37
+ files=None):
38
+ """
39
+ Initialize an HttpRequest instance.
40
+
41
+ Args:
42
+ http_method: The HTTP method to use for the request.
43
+ query_url: The URL to which the request will be sent.
44
+ headers: Headers to include with the request.
45
+ query_parameters: Query parameters appended to the request URL.
46
+ parameters: Form or body parameters sent with the request.
47
+ files: Files to be sent with the request.
48
+
49
+ """
50
+ super().__init__(http_method,
51
+ query_url,
52
+ headers,
53
+ query_parameters,
54
+ parameters,
55
+ files)
@@ -0,0 +1,45 @@
1
+
2
+ """
3
+ fortisapi
4
+
5
+ This file was automatically generated by APIMATIC v3.0 (
6
+ https://www.apimatic.io ).
7
+ """
8
+
9
+ from apimatic_core.http.response.http_response import HttpResponse as CoreHttpResponse
10
+
11
+
12
+ class HttpResponse(CoreHttpResponse):
13
+ """
14
+ Represent an HTTP response returned by the server.
15
+
16
+ Stores response metadata such as status code, reason phrase, headers, and
17
+ the raw response body, along with the originating request.
18
+
19
+ Attributes:
20
+ status_code (int): The HTTP status code returned by the server.
21
+ reason_phrase (str): The reason phrase associated with the status code.
22
+ headers (dict[str, str]): Response headers as key-value pairs.
23
+ text (str): The raw response body as a string.
24
+ request: The request object that resulted in this response.
25
+
26
+ """
27
+
28
+ def __init__(self,
29
+ status_code,
30
+ reason_phrase,
31
+ headers,
32
+ text,
33
+ request):
34
+ """
35
+ Initialize an HttpResponse instance.
36
+
37
+ Args:
38
+ status_code: The HTTP status code returned by the server.
39
+ reason_phrase: The reason phrase associated with the status code.
40
+ headers: Response headers as key-value pairs.
41
+ text: The raw response body as a string.
42
+ request: The request object that resulted in this response.
43
+
44
+ """
45
+ super().__init__(status_code, reason_phrase, headers, text, request)
@@ -0,0 +1,50 @@
1
+ """
2
+ fortisapi
3
+
4
+ This file was automatically generated by APIMATIC v3.0 (
5
+ https://www.apimatic.io ).
6
+ """
7
+
8
+ import os
9
+ from typing import Optional
10
+
11
+ from apimatic_core.http.configurations.proxy_settings import (
12
+ ProxySettings as CoreProxySettings,
13
+ )
14
+
15
+
16
+ class ProxySettings(CoreProxySettings):
17
+ """A simple data model for configuring HTTP(S) proxy settings."""
18
+
19
+ @classmethod
20
+ def from_environment(cls) -> Optional["ProxySettings"]:
21
+ """
22
+ Create an instance of this class using environment-based configuration.
23
+
24
+ This method attempts to construct and return an instance using relevant
25
+ environment variables, if available. If the required configuration is
26
+ not present, it may return `None` to indicate that no valid instance
27
+ could be created.
28
+
29
+ Returns:
30
+ Optional[cls]: A configured instance of this class, or `None` if
31
+ configuration data is missing or invalid.
32
+
33
+ """
34
+ address = os.getenv("PROXY_ADDRESS", None)
35
+ if not address:
36
+ return None
37
+
38
+ port = os.getenv("PROXY_PORT", None)
39
+ if port is not None:
40
+ try:
41
+ port = int(port)
42
+ except (TypeError, ValueError):
43
+ port = None
44
+
45
+ return cls(
46
+ address=address,
47
+ port=port,
48
+ username=os.getenv("PROXY_USERNAME", None),
49
+ password=os.getenv("PROXY_PASSWORD", None),
50
+ )