brevo-python 4.0.1__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 (843) hide show
  1. brevo/__init__.py +2253 -0
  2. brevo/account/__init__.py +79 -0
  3. brevo/account/client.py +317 -0
  4. brevo/account/raw_client.py +341 -0
  5. brevo/account/types/__init__.py +77 -0
  6. brevo/account/types/get_account_activity_response.py +24 -0
  7. brevo/account/types/get_account_activity_response_logs_item.py +45 -0
  8. brevo/account/types/get_account_response.py +85 -0
  9. brevo/account/types/get_account_response_address.py +43 -0
  10. brevo/account/types/get_account_response_date_time_preferences.py +38 -0
  11. brevo/account/types/get_account_response_marketing_automation.py +29 -0
  12. brevo/account/types/get_account_response_plan_item.py +53 -0
  13. brevo/account/types/get_account_response_plan_item_type.py +5 -0
  14. brevo/account/types/get_account_response_plan_verticals_item.py +63 -0
  15. brevo/account/types/get_account_response_plan_verticals_item_plan_category.py +5 -0
  16. brevo/account/types/get_account_response_plan_verticals_item_status.py +5 -0
  17. brevo/account/types/get_account_response_plan_verticals_item_users.py +35 -0
  18. brevo/account/types/get_account_response_relay.py +34 -0
  19. brevo/account/types/get_account_response_relay_data.py +40 -0
  20. brevo/balance/__init__.py +139 -0
  21. brevo/balance/client.py +2589 -0
  22. brevo/balance/raw_client.py +4538 -0
  23. brevo/balance/types/__init__.py +169 -0
  24. brevo/balance/types/create_balance_limit_request_constraint_type.py +5 -0
  25. brevo/balance/types/create_balance_limit_request_duration_unit.py +5 -0
  26. brevo/balance/types/create_balance_limit_request_transaction_type.py +5 -0
  27. brevo/balance/types/create_balance_order_response.py +96 -0
  28. brevo/balance/types/get_balance_definition_list_request_sort.py +5 -0
  29. brevo/balance/types/get_balance_definition_list_request_sort_field.py +5 -0
  30. brevo/balance/types/get_balance_definition_list_request_version.py +5 -0
  31. brevo/balance/types/get_balance_definition_list_response.py +24 -0
  32. brevo/balance/types/get_balance_definition_request_version.py +5 -0
  33. brevo/balance/types/get_balance_limit_request_version.py +5 -0
  34. brevo/balance/types/get_contact_balances_response.py +30 -0
  35. brevo/balance/types/get_contact_balances_response_balances_item.py +33 -0
  36. brevo/balance/types/get_loyalty_balance_programs_pid_transaction_history_request_sort.py +5 -0
  37. brevo/balance/types/get_loyalty_balance_programs_pid_transaction_history_request_sort_field.py +7 -0
  38. brevo/balance/types/get_loyalty_balance_programs_pid_transaction_history_response.py +57 -0
  39. brevo/balance/types/get_loyalty_balance_programs_pid_transaction_history_response_transaction_history_item.py +77 -0
  40. brevo/balance/types/get_subscription_balances_response.py +21 -0
  41. brevo/balance/types/get_subscription_balances_response_balance_item.py +30 -0
  42. brevo/balance/types/post_loyalty_balance_programs_pid_balance_definitions_request_balance_availability_duration_modifier.py +7 -0
  43. brevo/balance/types/post_loyalty_balance_programs_pid_balance_definitions_request_balance_availability_duration_unit.py +7 -0
  44. brevo/balance/types/post_loyalty_balance_programs_pid_balance_definitions_request_balance_option_amount_overtaking_strategy.py +7 -0
  45. brevo/balance/types/post_loyalty_balance_programs_pid_balance_definitions_request_balance_option_credit_rounding.py +7 -0
  46. brevo/balance/types/post_loyalty_balance_programs_pid_balance_definitions_request_balance_option_debit_rounding.py +7 -0
  47. brevo/balance/types/post_loyalty_balance_programs_pid_balance_definitions_request_unit.py +26 -0
  48. brevo/balance/types/post_loyalty_balance_programs_pid_subscriptions_cid_balances_response.py +66 -0
  49. brevo/balance/types/update_balance_definition_request_balance_availability_duration_modifier.py +7 -0
  50. brevo/balance/types/update_balance_definition_request_balance_availability_duration_unit.py +7 -0
  51. brevo/balance/types/update_balance_definition_request_balance_option_amount_overtaking_strategy.py +7 -0
  52. brevo/balance/types/update_balance_definition_request_balance_option_credit_rounding.py +7 -0
  53. brevo/balance/types/update_balance_definition_request_balance_option_debit_rounding.py +7 -0
  54. brevo/balance/types/update_balance_definition_request_unit.py +26 -0
  55. brevo/balance/types/update_balance_limit_request_constraint_type.py +5 -0
  56. brevo/balance/types/update_balance_limit_request_duration_unit.py +5 -0
  57. brevo/balance/types/update_balance_limit_request_transaction_type.py +5 -0
  58. brevo/client.py +773 -0
  59. brevo/companies/__init__.py +61 -0
  60. brevo/companies/client.py +994 -0
  61. brevo/companies/raw_client.py +1285 -0
  62. brevo/companies/types/__init__.py +59 -0
  63. brevo/companies/types/get_companies_request_sort.py +5 -0
  64. brevo/companies/types/get_companies_response.py +28 -0
  65. brevo/companies/types/get_crm_attributes_companies_response_item.py +40 -0
  66. brevo/companies/types/post_companies_import_response.py +26 -0
  67. brevo/companies/types/post_companies_response.py +27 -0
  68. brevo/companies/types/post_crm_attributes_request_attribute_type.py +7 -0
  69. brevo/companies/types/post_crm_attributes_request_object_type.py +5 -0
  70. brevo/companies/types/post_crm_attributes_response.py +23 -0
  71. brevo/contacts/__init__.py +289 -0
  72. brevo/contacts/client.py +3298 -0
  73. brevo/contacts/raw_client.py +4614 -0
  74. brevo/contacts/types/__init__.py +309 -0
  75. brevo/contacts/types/add_contact_to_list_request_body.py +11 -0
  76. brevo/contacts/types/add_contact_to_list_request_body_emails.py +23 -0
  77. brevo/contacts/types/add_contact_to_list_request_body_ext_ids.py +29 -0
  78. brevo/contacts/types/add_contact_to_list_request_body_ids.py +23 -0
  79. brevo/contacts/types/create_attribute_request_attribute_category.py +7 -0
  80. brevo/contacts/types/create_attribute_request_enumeration_item.py +28 -0
  81. brevo/contacts/types/create_attribute_request_type.py +7 -0
  82. brevo/contacts/types/create_contact_request_attributes_value.py +5 -0
  83. brevo/contacts/types/create_contact_response.py +23 -0
  84. brevo/contacts/types/create_doi_contact_request_attributes_value.py +5 -0
  85. brevo/contacts/types/create_folder_response.py +23 -0
  86. brevo/contacts/types/create_list_response.py +23 -0
  87. brevo/contacts/types/delete_attribute_request_attribute_category.py +7 -0
  88. brevo/contacts/types/delete_contact_request_identifier.py +5 -0
  89. brevo/contacts/types/delete_contact_request_identifier_type.py +7 -0
  90. brevo/contacts/types/get_attributes_response.py +24 -0
  91. brevo/contacts/types/get_attributes_response_attributes_item.py +57 -0
  92. brevo/contacts/types/get_attributes_response_attributes_item_category.py +7 -0
  93. brevo/contacts/types/get_attributes_response_attributes_item_enumeration_item.py +28 -0
  94. brevo/contacts/types/get_attributes_response_attributes_item_type.py +7 -0
  95. brevo/contacts/types/get_contact_info_request_identifier.py +5 -0
  96. brevo/contacts/types/get_contact_info_request_identifier_type.py +7 -0
  97. brevo/contacts/types/get_contact_info_response.py +80 -0
  98. brevo/contacts/types/get_contact_info_response_attributes.py +22 -0
  99. brevo/contacts/types/get_contact_info_response_statistics.py +86 -0
  100. brevo/contacts/types/get_contact_info_response_statistics_clicked_item.py +33 -0
  101. brevo/contacts/types/get_contact_info_response_statistics_clicked_item_links_item.py +40 -0
  102. brevo/contacts/types/get_contact_info_response_statistics_complaints_item.py +31 -0
  103. brevo/contacts/types/get_contact_info_response_statistics_delivered_item.py +31 -0
  104. brevo/contacts/types/get_contact_info_response_statistics_hard_bounces_item.py +31 -0
  105. brevo/contacts/types/get_contact_info_response_statistics_messages_sent_item.py +31 -0
  106. brevo/contacts/types/get_contact_info_response_statistics_opened_item.py +40 -0
  107. brevo/contacts/types/get_contact_info_response_statistics_soft_bounces_item.py +31 -0
  108. brevo/contacts/types/get_contact_info_response_statistics_transac_attributes_item.py +18 -0
  109. brevo/contacts/types/get_contact_info_response_statistics_unsubscriptions.py +43 -0
  110. brevo/contacts/types/get_contact_info_response_statistics_unsubscriptions_admin_unsubscription_item.py +30 -0
  111. brevo/contacts/types/get_contact_info_response_statistics_unsubscriptions_user_unsubscription_item.py +35 -0
  112. brevo/contacts/types/get_contact_stats_request_identifier.py +5 -0
  113. brevo/contacts/types/get_contact_stats_response.py +59 -0
  114. brevo/contacts/types/get_contact_stats_response_clicked_item.py +28 -0
  115. brevo/contacts/types/get_contact_stats_response_clicked_item_links_item.py +40 -0
  116. brevo/contacts/types/get_contact_stats_response_complaints_item.py +31 -0
  117. brevo/contacts/types/get_contact_stats_response_delivered_item.py +31 -0
  118. brevo/contacts/types/get_contact_stats_response_hard_bounces_item.py +31 -0
  119. brevo/contacts/types/get_contact_stats_response_messages_sent_item.py +31 -0
  120. brevo/contacts/types/get_contact_stats_response_opened_item.py +40 -0
  121. brevo/contacts/types/get_contact_stats_response_soft_bounces_item.py +31 -0
  122. brevo/contacts/types/get_contact_stats_response_transac_attributes_item.py +31 -0
  123. brevo/contacts/types/get_contact_stats_response_unsubscriptions.py +39 -0
  124. brevo/contacts/types/get_contact_stats_response_unsubscriptions_admin_unsubscription_item.py +30 -0
  125. brevo/contacts/types/get_contact_stats_response_unsubscriptions_user_unsubscription_item.py +35 -0
  126. brevo/contacts/types/get_contacts_from_list_request_sort.py +5 -0
  127. brevo/contacts/types/get_contacts_request_sort.py +5 -0
  128. brevo/contacts/types/get_folder_lists_request_sort.py +5 -0
  129. brevo/contacts/types/get_folder_lists_response.py +26 -0
  130. brevo/contacts/types/get_folders_request_sort.py +5 -0
  131. brevo/contacts/types/get_folders_response.py +26 -0
  132. brevo/contacts/types/get_list_response.py +68 -0
  133. brevo/contacts/types/get_list_response_campaign_stats_item.py +26 -0
  134. brevo/contacts/types/get_lists_request_sort.py +5 -0
  135. brevo/contacts/types/get_lists_response.py +29 -0
  136. brevo/contacts/types/get_lists_response_lists_item.py +49 -0
  137. brevo/contacts/types/get_segments_request_sort.py +5 -0
  138. brevo/contacts/types/get_segments_response.py +29 -0
  139. brevo/contacts/types/get_segments_response_segments_item.py +41 -0
  140. brevo/contacts/types/import_contacts_request_json_body_item.py +25 -0
  141. brevo/contacts/types/import_contacts_request_new_list.py +41 -0
  142. brevo/contacts/types/import_contacts_response.py +26 -0
  143. brevo/contacts/types/remove_contact_from_list_request_body.py +15 -0
  144. brevo/contacts/types/remove_contact_from_list_request_body_all.py +29 -0
  145. brevo/contacts/types/remove_contact_from_list_request_body_emails.py +23 -0
  146. brevo/contacts/types/remove_contact_from_list_request_body_ext_ids.py +29 -0
  147. brevo/contacts/types/remove_contact_from_list_request_body_ids.py +23 -0
  148. brevo/contacts/types/request_contact_export_request_custom_contact_filter.py +90 -0
  149. brevo/contacts/types/request_contact_export_request_custom_contact_filter_action_for_contacts.py +7 -0
  150. brevo/contacts/types/request_contact_export_request_custom_contact_filter_action_for_email_campaigns.py +8 -0
  151. brevo/contacts/types/request_contact_export_request_custom_contact_filter_action_for_sms_campaigns.py +7 -0
  152. brevo/contacts/types/request_contact_export_response.py +26 -0
  153. brevo/contacts/types/update_attribute_request_attribute_category.py +7 -0
  154. brevo/contacts/types/update_attribute_request_enumeration_item.py +28 -0
  155. brevo/contacts/types/update_batch_contacts_request_contacts_item.py +80 -0
  156. brevo/contacts/types/update_contact_request_attributes_value.py +5 -0
  157. brevo/contacts/types/update_contact_request_identifier.py +5 -0
  158. brevo/contacts/types/update_contact_request_identifier_type.py +7 -0
  159. brevo/conversations/__init__.py +34 -0
  160. brevo/conversations/client.py +912 -0
  161. brevo/conversations/raw_client.py +1328 -0
  162. brevo/conversations/types/__init__.py +36 -0
  163. brevo/conversations/types/put_conversations_visitor_group_response.py +31 -0
  164. brevo/core/__init__.py +125 -0
  165. brevo/core/api_error.py +23 -0
  166. brevo/core/client_wrapper.py +100 -0
  167. brevo/core/datetime_utils.py +28 -0
  168. brevo/core/file.py +67 -0
  169. brevo/core/force_multipart.py +18 -0
  170. brevo/core/http_client.py +776 -0
  171. brevo/core/http_response.py +59 -0
  172. brevo/core/http_sse/__init__.py +42 -0
  173. brevo/core/http_sse/_api.py +112 -0
  174. brevo/core/http_sse/_decoders.py +61 -0
  175. brevo/core/http_sse/_exceptions.py +7 -0
  176. brevo/core/http_sse/_models.py +17 -0
  177. brevo/core/jsonable_encoder.py +108 -0
  178. brevo/core/logging.py +107 -0
  179. brevo/core/pydantic_utilities.py +577 -0
  180. brevo/core/query_encoder.py +58 -0
  181. brevo/core/remove_none_from_dict.py +11 -0
  182. brevo/core/request_options.py +35 -0
  183. brevo/core/serialization.py +276 -0
  184. brevo/core/unchecked_base_model.py +376 -0
  185. brevo/coupons/__init__.py +49 -0
  186. brevo/coupons/client.py +550 -0
  187. brevo/coupons/raw_client.py +839 -0
  188. brevo/coupons/types/__init__.py +47 -0
  189. brevo/coupons/types/create_coupon_collection_response.py +23 -0
  190. brevo/coupons/types/get_coupon_collections_request_sort.py +5 -0
  191. brevo/coupons/types/get_coupon_collections_request_sort_by.py +7 -0
  192. brevo/coupons/types/update_coupon_collection_response.py +35 -0
  193. brevo/custom_objects/__init__.py +139 -0
  194. brevo/custom_objects/client.py +437 -0
  195. brevo/custom_objects/raw_client.py +711 -0
  196. brevo/custom_objects/types/__init__.py +177 -0
  197. brevo/custom_objects/types/batch_delete_object_records_request_identifiers.py +10 -0
  198. brevo/custom_objects/types/batch_delete_object_records_request_identifiers_ext_ids.py +23 -0
  199. brevo/custom_objects/types/batch_delete_object_records_request_identifiers_ids.py +23 -0
  200. brevo/custom_objects/types/batch_delete_object_records_response.py +27 -0
  201. brevo/custom_objects/types/getrecords_request_association.py +5 -0
  202. brevo/custom_objects/types/getrecords_request_sort.py +5 -0
  203. brevo/custom_objects/types/getrecords_response.py +26 -0
  204. brevo/custom_objects/types/getrecords_response_records_item.py +51 -0
  205. brevo/custom_objects/types/getrecords_response_records_item_associations_item.py +10 -0
  206. brevo/custom_objects/types/getrecords_response_records_item_associations_item_one.py +28 -0
  207. brevo/custom_objects/types/getrecords_response_records_item_associations_item_one_records_item.py +15 -0
  208. brevo/custom_objects/types/getrecords_response_records_item_associations_item_one_records_item_one.py +28 -0
  209. brevo/custom_objects/types/getrecords_response_records_item_associations_item_one_records_item_one_identifiers.py +27 -0
  210. brevo/custom_objects/types/getrecords_response_records_item_associations_item_one_records_item_zero.py +28 -0
  211. brevo/custom_objects/types/getrecords_response_records_item_associations_item_one_records_item_zero_identifiers.py +27 -0
  212. brevo/custom_objects/types/getrecords_response_records_item_associations_item_zero.py +28 -0
  213. brevo/custom_objects/types/getrecords_response_records_item_associations_item_zero_records_item.py +15 -0
  214. brevo/custom_objects/types/getrecords_response_records_item_associations_item_zero_records_item_one.py +28 -0
  215. brevo/custom_objects/types/getrecords_response_records_item_associations_item_zero_records_item_one_identifiers.py +27 -0
  216. brevo/custom_objects/types/getrecords_response_records_item_associations_item_zero_records_item_zero.py +28 -0
  217. brevo/custom_objects/types/getrecords_response_records_item_associations_item_zero_records_item_zero_identifiers.py +27 -0
  218. brevo/custom_objects/types/getrecords_response_records_item_identifiers.py +32 -0
  219. brevo/custom_objects/types/upsertrecords_request_records_item.py +31 -0
  220. brevo/custom_objects/types/upsertrecords_request_records_item_associations_item.py +12 -0
  221. brevo/custom_objects/types/upsertrecords_request_records_item_associations_item_one.py +28 -0
  222. brevo/custom_objects/types/upsertrecords_request_records_item_associations_item_one_records_item.py +15 -0
  223. brevo/custom_objects/types/upsertrecords_request_records_item_associations_item_one_records_item_one.py +20 -0
  224. brevo/custom_objects/types/upsertrecords_request_records_item_associations_item_one_records_item_zero.py +28 -0
  225. brevo/custom_objects/types/upsertrecords_request_records_item_associations_item_one_records_item_zero_identifiers.py +32 -0
  226. brevo/custom_objects/types/upsertrecords_request_records_item_associations_item_zero.py +28 -0
  227. brevo/custom_objects/types/upsertrecords_request_records_item_associations_item_zero_records_item.py +23 -0
  228. brevo/custom_objects/types/upsertrecords_request_records_item_associations_item_zero_records_item_identifiers.py +28 -0
  229. brevo/custom_objects/types/upsertrecords_request_records_item_identifiers.py +32 -0
  230. brevo/custom_objects/types/upsertrecords_response.py +29 -0
  231. brevo/deals/__init__.py +52 -0
  232. brevo/deals/client.py +1013 -0
  233. brevo/deals/raw_client.py +1326 -0
  234. brevo/deals/types/__init__.py +50 -0
  235. brevo/deals/types/get_crm_attributes_deals_response_item.py +40 -0
  236. brevo/deals/types/get_crm_deals_request_sort.py +5 -0
  237. brevo/deals/types/get_crm_deals_response.py +28 -0
  238. brevo/deals/types/post_crm_deals_import_response.py +26 -0
  239. brevo/deals/types/post_crm_deals_response.py +27 -0
  240. brevo/domains/__init__.py +79 -0
  241. brevo/domains/client.py +506 -0
  242. brevo/domains/raw_client.py +698 -0
  243. brevo/domains/types/__init__.py +83 -0
  244. brevo/domains/types/authenticate_domain_response.py +28 -0
  245. brevo/domains/types/create_domain_response.py +44 -0
  246. brevo/domains/types/create_domain_response_dns_records.py +40 -0
  247. brevo/domains/types/create_domain_response_dns_records_brevo_code.py +42 -0
  248. brevo/domains/types/create_domain_response_dns_records_dkim_record.py +42 -0
  249. brevo/domains/types/create_domain_response_dns_records_dmarc_record.py +42 -0
  250. brevo/domains/types/get_domain_configuration_response.py +41 -0
  251. brevo/domains/types/get_domain_configuration_response_dns_records.py +44 -0
  252. brevo/domains/types/get_domain_configuration_response_dns_records_brevo_code.py +42 -0
  253. brevo/domains/types/get_domain_configuration_response_dns_records_dkim_record.py +42 -0
  254. brevo/domains/types/get_domain_configuration_response_dns_records_dmarc_record.py +42 -0
  255. brevo/domains/types/get_domains_response.py +39 -0
  256. brevo/domains/types/get_domains_response_domains_item.py +56 -0
  257. brevo/domains/types/get_domains_response_domains_item_creator.py +41 -0
  258. brevo/ecommerce/__init__.py +112 -0
  259. brevo/ecommerce/client.py +2176 -0
  260. brevo/ecommerce/raw_client.py +2895 -0
  261. brevo/ecommerce/types/__init__.py +124 -0
  262. brevo/ecommerce/types/create_batch_order_response.py +28 -0
  263. brevo/ecommerce/types/create_product_alert_request_contact_identifiers.py +33 -0
  264. brevo/ecommerce/types/create_update_batch_category_request_categories_item.py +48 -0
  265. brevo/ecommerce/types/create_update_batch_category_response.py +31 -0
  266. brevo/ecommerce/types/create_update_batch_products_request_products_item.py +89 -0
  267. brevo/ecommerce/types/create_update_batch_products_request_products_item_meta_info_value.py +5 -0
  268. brevo/ecommerce/types/create_update_batch_products_response.py +31 -0
  269. brevo/ecommerce/types/create_update_category_response.py +23 -0
  270. brevo/ecommerce/types/create_update_product_request_meta_info_value.py +5 -0
  271. brevo/ecommerce/types/create_update_product_response.py +23 -0
  272. brevo/ecommerce/types/get_categories_request_sort.py +5 -0
  273. brevo/ecommerce/types/get_categories_response.py +25 -0
  274. brevo/ecommerce/types/get_ecommerce_attribution_metrics_conversion_source_conversion_source_id_request_conversion_source.py +7 -0
  275. brevo/ecommerce/types/get_ecommerce_attribution_metrics_conversion_source_conversion_source_id_response.py +40 -0
  276. brevo/ecommerce/types/get_ecommerce_attribution_metrics_conversion_source_conversion_source_id_response_conversion_source.py +7 -0
  277. brevo/ecommerce/types/get_ecommerce_attribution_metrics_response.py +30 -0
  278. brevo/ecommerce/types/get_ecommerce_attribution_metrics_response_totals.py +32 -0
  279. brevo/ecommerce/types/get_ecommerce_attribution_products_conversion_source_conversion_source_id_request_conversion_source.py +7 -0
  280. brevo/ecommerce/types/get_ecommerce_attribution_products_conversion_source_conversion_source_id_response.py +28 -0
  281. brevo/ecommerce/types/get_ecommerce_attribution_products_conversion_source_conversion_source_id_response_products_item.py +33 -0
  282. brevo/ecommerce/types/get_ecommerce_config_display_currency_response.py +23 -0
  283. brevo/ecommerce/types/get_orders_request_sort.py +5 -0
  284. brevo/ecommerce/types/get_products_request_sort.py +5 -0
  285. brevo/ecommerce/types/get_products_response.py +26 -0
  286. brevo/ecommerce/types/set_config_display_currency_response.py +23 -0
  287. brevo/email_campaigns/__init__.py +139 -0
  288. brevo/email_campaigns/client.py +1864 -0
  289. brevo/email_campaigns/raw_client.py +2472 -0
  290. brevo/email_campaigns/types/__init__.py +141 -0
  291. brevo/email_campaigns/types/create_email_campaign_request_email_expiration_date.py +33 -0
  292. brevo/email_campaigns/types/create_email_campaign_request_email_expiration_date_unit.py +5 -0
  293. brevo/email_campaigns/types/create_email_campaign_request_recipients.py +52 -0
  294. brevo/email_campaigns/types/create_email_campaign_request_sender.py +37 -0
  295. brevo/email_campaigns/types/create_email_campaign_request_winner_criteria.py +5 -0
  296. brevo/email_campaigns/types/create_email_campaign_response.py +23 -0
  297. brevo/email_campaigns/types/email_export_recipients_request_recipients_type.py +10 -0
  298. brevo/email_campaigns/types/email_export_recipients_response.py +26 -0
  299. brevo/email_campaigns/types/get_ab_test_campaign_result_response.py +64 -0
  300. brevo/email_campaigns/types/get_ab_test_campaign_result_response_clicked_links.py +28 -0
  301. brevo/email_campaigns/types/get_ab_test_campaign_result_response_statistics.py +32 -0
  302. brevo/email_campaigns/types/get_ab_test_campaign_result_response_winning_criteria.py +5 -0
  303. brevo/email_campaigns/types/get_ab_test_campaign_result_response_winning_version.py +7 -0
  304. brevo/email_campaigns/types/get_email_campaign_request_statistics.py +7 -0
  305. brevo/email_campaigns/types/get_email_campaign_response.py +234 -0
  306. brevo/email_campaigns/types/get_email_campaign_response_sender.py +33 -0
  307. brevo/email_campaigns/types/get_email_campaign_response_status.py +7 -0
  308. brevo/email_campaigns/types/get_email_campaign_response_type.py +5 -0
  309. brevo/email_campaigns/types/get_email_campaigns_request_sort.py +5 -0
  310. brevo/email_campaigns/types/get_email_campaigns_request_statistics.py +7 -0
  311. brevo/email_campaigns/types/get_email_campaigns_request_status.py +7 -0
  312. brevo/email_campaigns/types/get_email_campaigns_request_type.py +5 -0
  313. brevo/email_campaigns/types/get_email_campaigns_response.py +25 -0
  314. brevo/email_campaigns/types/get_email_campaigns_response_campaigns_item.py +234 -0
  315. brevo/email_campaigns/types/get_email_campaigns_response_campaigns_item_sender.py +33 -0
  316. brevo/email_campaigns/types/get_email_campaigns_response_campaigns_item_status.py +7 -0
  317. brevo/email_campaigns/types/get_email_campaigns_response_campaigns_item_type.py +5 -0
  318. brevo/email_campaigns/types/get_shared_template_url_response.py +29 -0
  319. brevo/email_campaigns/types/update_email_campaign_request_email_expiration_date.py +33 -0
  320. brevo/email_campaigns/types/update_email_campaign_request_email_expiration_date_unit.py +5 -0
  321. brevo/email_campaigns/types/update_email_campaign_request_recipients.py +53 -0
  322. brevo/email_campaigns/types/update_email_campaign_request_sender.py +37 -0
  323. brevo/email_campaigns/types/update_email_campaign_request_winner_criteria.py +5 -0
  324. brevo/email_campaigns/types/upload_image_to_gallery_response.py +23 -0
  325. brevo/environment.py +7 -0
  326. brevo/errors/__init__.py +80 -0
  327. brevo/errors/bad_request_error.py +10 -0
  328. brevo/errors/conflict_error.py +11 -0
  329. brevo/errors/expectation_failed_error.py +11 -0
  330. brevo/errors/failed_dependency_error.py +10 -0
  331. brevo/errors/forbidden_error.py +10 -0
  332. brevo/errors/internal_server_error.py +10 -0
  333. brevo/errors/method_not_allowed_error.py +11 -0
  334. brevo/errors/not_found_error.py +10 -0
  335. brevo/errors/payment_required_error.py +11 -0
  336. brevo/errors/precondition_failed_error.py +11 -0
  337. brevo/errors/too_early_error.py +11 -0
  338. brevo/errors/too_many_requests_error.py +11 -0
  339. brevo/errors/unauthorized_error.py +10 -0
  340. brevo/errors/unprocessable_entity_error.py +11 -0
  341. brevo/errors/unsupported_media_type_error.py +11 -0
  342. brevo/event/__init__.py +52 -0
  343. brevo/event/client.py +184 -0
  344. brevo/event/raw_client.py +230 -0
  345. brevo/event/types/__init__.py +50 -0
  346. brevo/event/types/create_event_request_contact_properties_value.py +5 -0
  347. brevo/event/types/create_event_request_event_properties_value.py +5 -0
  348. brevo/event/types/create_event_request_identifiers.py +52 -0
  349. brevo/event/types/create_event_request_object.py +33 -0
  350. brevo/event/types/create_event_request_object_identifiers.py +32 -0
  351. brevo/external_feeds/__init__.py +79 -0
  352. brevo/external_feeds/client.py +915 -0
  353. brevo/external_feeds/raw_client.py +1087 -0
  354. brevo/external_feeds/types/__init__.py +77 -0
  355. brevo/external_feeds/types/create_external_feed_request_auth_type.py +5 -0
  356. brevo/external_feeds/types/create_external_feed_request_headers_item.py +28 -0
  357. brevo/external_feeds/types/create_external_feed_response.py +23 -0
  358. brevo/external_feeds/types/get_all_external_feeds_request_auth_type.py +5 -0
  359. brevo/external_feeds/types/get_all_external_feeds_request_sort.py +5 -0
  360. brevo/external_feeds/types/get_all_external_feeds_response.py +29 -0
  361. brevo/external_feeds/types/get_all_external_feeds_response_feeds_item.py +96 -0
  362. brevo/external_feeds/types/get_all_external_feeds_response_feeds_item_auth_type.py +5 -0
  363. brevo/external_feeds/types/get_all_external_feeds_response_feeds_item_headers_item.py +28 -0
  364. brevo/external_feeds/types/get_external_feed_by_uuid_response.py +105 -0
  365. brevo/external_feeds/types/get_external_feed_by_uuid_response_auth_type.py +5 -0
  366. brevo/external_feeds/types/get_external_feed_by_uuid_response_headers_item.py +28 -0
  367. brevo/external_feeds/types/update_external_feed_request_auth_type.py +5 -0
  368. brevo/external_feeds/types/update_external_feed_request_headers_item.py +28 -0
  369. brevo/files/__init__.py +38 -0
  370. brevo/files/client.py +479 -0
  371. brevo/files/raw_client.py +675 -0
  372. brevo/files/types/__init__.py +40 -0
  373. brevo/files/types/get_crm_files_id_response.py +30 -0
  374. brevo/files/types/get_crm_files_request_entity.py +5 -0
  375. brevo/files/types/get_crm_files_request_sort.py +5 -0
  376. brevo/inbound_parsing/__init__.py +58 -0
  377. brevo/inbound_parsing/client.py +323 -0
  378. brevo/inbound_parsing/raw_client.py +420 -0
  379. brevo/inbound_parsing/types/__init__.py +60 -0
  380. brevo/inbound_parsing/types/get_inbound_email_events_by_uuid_response.py +72 -0
  381. brevo/inbound_parsing/types/get_inbound_email_events_by_uuid_response_attachments_item.py +40 -0
  382. brevo/inbound_parsing/types/get_inbound_email_events_by_uuid_response_logs_item.py +30 -0
  383. brevo/inbound_parsing/types/get_inbound_email_events_by_uuid_response_logs_item_type.py +7 -0
  384. brevo/inbound_parsing/types/get_inbound_email_events_request_sort.py +5 -0
  385. brevo/inbound_parsing/types/get_inbound_email_events_response.py +21 -0
  386. brevo/inbound_parsing/types/get_inbound_email_events_response_events_item.py +42 -0
  387. brevo/master_account/__init__.py +202 -0
  388. brevo/master_account/client.py +2757 -0
  389. brevo/master_account/raw_client.py +3351 -0
  390. brevo/master_account/types/__init__.py +244 -0
  391. brevo/master_account/types/get_corporate_group_id_response.py +31 -0
  392. brevo/master_account/types/get_corporate_group_id_response_group.py +35 -0
  393. brevo/master_account/types/get_corporate_group_id_response_sub_accounts_item.py +35 -0
  394. brevo/master_account/types/get_corporate_group_id_response_users_item.py +36 -0
  395. brevo/master_account/types/get_corporate_invited_users_list_response.py +24 -0
  396. brevo/master_account/types/get_corporate_invited_users_list_response_users_item.py +50 -0
  397. brevo/master_account/types/get_corporate_invited_users_list_response_users_item_feature_access.py +69 -0
  398. brevo/master_account/types/get_corporate_invited_users_list_response_users_item_groups.py +32 -0
  399. brevo/master_account/types/get_corporate_ip_response_item.py +22 -0
  400. brevo/master_account/types/get_corporate_master_account_response.py +57 -0
  401. brevo/master_account/types/get_corporate_master_account_response_billing_info.py +48 -0
  402. brevo/master_account/types/get_corporate_master_account_response_billing_info_address.py +50 -0
  403. brevo/master_account/types/get_corporate_master_account_response_billing_info_name.py +35 -0
  404. brevo/master_account/types/get_corporate_master_account_response_plan_info.py +63 -0
  405. brevo/master_account/types/get_corporate_master_account_response_plan_info_features_item.py +62 -0
  406. brevo/master_account/types/get_corporate_master_account_response_plan_info_plan_period.py +5 -0
  407. brevo/master_account/types/get_corporate_sub_account_id_response.py +48 -0
  408. brevo/master_account/types/get_corporate_sub_account_id_response_groups_item.py +28 -0
  409. brevo/master_account/types/get_corporate_sub_account_id_response_plan_info.py +42 -0
  410. brevo/master_account/types/get_corporate_sub_account_id_response_plan_info_credits.py +65 -0
  411. brevo/master_account/types/get_corporate_sub_account_id_response_plan_info_credits_emails.py +32 -0
  412. brevo/master_account/types/get_corporate_sub_account_id_response_plan_info_credits_external_feeds.py +33 -0
  413. brevo/master_account/types/get_corporate_sub_account_id_response_plan_info_credits_sms.py +32 -0
  414. brevo/master_account/types/get_corporate_sub_account_id_response_plan_info_credits_whatsapp.py +32 -0
  415. brevo/master_account/types/get_corporate_sub_account_id_response_plan_info_credits_wp_subscribers.py +32 -0
  416. brevo/master_account/types/get_corporate_sub_account_id_response_plan_info_features.py +58 -0
  417. brevo/master_account/types/get_corporate_sub_account_id_response_plan_info_features_inbox.py +32 -0
  418. brevo/master_account/types/get_corporate_sub_account_id_response_plan_info_features_landing_page.py +32 -0
  419. brevo/master_account/types/get_corporate_sub_account_id_response_plan_info_features_sales_users.py +33 -0
  420. brevo/master_account/types/get_corporate_sub_account_id_response_plan_info_features_users.py +32 -0
  421. brevo/master_account/types/get_corporate_sub_account_response.py +32 -0
  422. brevo/master_account/types/get_corporate_sub_account_response_sub_accounts_item.py +48 -0
  423. brevo/master_account/types/get_corporate_sub_account_response_sub_accounts_item_groups_item.py +28 -0
  424. brevo/master_account/types/get_corporate_user_permission_response.py +40 -0
  425. brevo/master_account/types/get_corporate_user_permission_response_feature_access.py +62 -0
  426. brevo/master_account/types/get_corporate_user_permission_response_groups_item.py +32 -0
  427. brevo/master_account/types/get_sub_account_groups_response_item.py +30 -0
  428. brevo/master_account/types/invite_admin_user_request_privileges_item.py +38 -0
  429. brevo/master_account/types/invite_admin_user_request_privileges_item_feature.py +18 -0
  430. brevo/master_account/types/invite_admin_user_request_privileges_item_permissions_item.py +7 -0
  431. brevo/master_account/types/invite_admin_user_response.py +20 -0
  432. brevo/master_account/types/post_corporate_group_response.py +20 -0
  433. brevo/master_account/types/post_corporate_sub_account_key_response.py +28 -0
  434. brevo/master_account/types/post_corporate_sub_account_request_language.py +5 -0
  435. brevo/master_account/types/post_corporate_sub_account_response.py +23 -0
  436. brevo/master_account/types/post_corporate_sub_account_sso_token_request_target.py +17 -0
  437. brevo/master_account/types/put_corporate_sub_account_id_plan_request_credits.py +59 -0
  438. brevo/master_account/types/put_corporate_sub_account_id_plan_request_features.py +44 -0
  439. brevo/master_account/types/put_corporate_sub_accounts_plan_request_credits.py +59 -0
  440. brevo/master_account/types/put_corporate_sub_accounts_plan_request_features.py +39 -0
  441. brevo/master_account/types/put_corporate_user_email_permissions_request_privileges_item.py +42 -0
  442. brevo/master_account/types/put_corporate_user_email_permissions_request_privileges_item_feature.py +18 -0
  443. brevo/master_account/types/put_corporate_user_email_permissions_request_privileges_item_permissions_item.py +10 -0
  444. brevo/master_account/types/put_corporate_user_invitation_action_email_request_action.py +5 -0
  445. brevo/master_account/types/put_corporate_user_invitation_action_email_response.py +23 -0
  446. brevo/notes/__init__.py +38 -0
  447. brevo/notes/client.py +548 -0
  448. brevo/notes/raw_client.py +766 -0
  449. brevo/notes/types/__init__.py +40 -0
  450. brevo/notes/types/get_crm_notes_request_entity.py +5 -0
  451. brevo/notes/types/get_crm_notes_request_sort.py +5 -0
  452. brevo/notes/types/post_crm_notes_response.py +27 -0
  453. brevo/payments/__init__.py +38 -0
  454. brevo/payments/client.py +315 -0
  455. brevo/payments/raw_client.py +532 -0
  456. brevo/payments/types/__init__.py +40 -0
  457. brevo/payments/types/create_payment_request_response.py +28 -0
  458. brevo/payments/types/get_payment_request_response.py +47 -0
  459. brevo/payments/types/get_payment_request_response_status.py +5 -0
  460. brevo/process/__init__.py +79 -0
  461. brevo/process/client.py +304 -0
  462. brevo/process/raw_client.py +372 -0
  463. brevo/process/types/__init__.py +77 -0
  464. brevo/process/types/get_process_response.py +62 -0
  465. brevo/process/types/get_process_response_info.py +36 -0
  466. brevo/process/types/get_process_response_info_export.py +32 -0
  467. brevo/process/types/get_process_response_info_import.py +57 -0
  468. brevo/process/types/get_process_response_name.py +16 -0
  469. brevo/process/types/get_process_response_status.py +7 -0
  470. brevo/process/types/get_processes_request_sort.py +5 -0
  471. brevo/process/types/get_processes_response.py +29 -0
  472. brevo/process/types/get_processes_response_processes_item.py +62 -0
  473. brevo/process/types/get_processes_response_processes_item_info.py +36 -0
  474. brevo/process/types/get_processes_response_processes_item_info_export.py +32 -0
  475. brevo/process/types/get_processes_response_processes_item_info_import.py +57 -0
  476. brevo/process/types/get_processes_response_processes_item_name.py +16 -0
  477. brevo/process/types/get_processes_response_processes_item_status.py +7 -0
  478. brevo/program/__init__.py +67 -0
  479. brevo/program/client.py +1128 -0
  480. brevo/program/raw_client.py +2526 -0
  481. brevo/program/types/__init__.py +67 -0
  482. brevo/program/types/get_lp_list_request_sort_field.py +5 -0
  483. brevo/program/types/get_lp_list_response.py +24 -0
  484. brevo/program/types/get_parameter_subscription_info_response.py +44 -0
  485. brevo/program/types/get_parameter_subscription_info_response_balance.py +41 -0
  486. brevo/program/types/get_parameter_subscription_info_response_balance_balances_item.py +30 -0
  487. brevo/program/types/get_parameter_subscription_info_response_members_item.py +36 -0
  488. brevo/program/types/get_parameter_subscription_info_response_reward_item.py +66 -0
  489. brevo/program/types/get_parameter_subscription_info_response_tier_item.py +56 -0
  490. brevo/program/types/subscribe_member_to_a_subscription_response.py +46 -0
  491. brevo/program/types/subscribe_to_loyalty_program_response.py +56 -0
  492. brevo/py.typed +0 -0
  493. brevo/reward/__init__.py +115 -0
  494. brevo/reward/client.py +1285 -0
  495. brevo/reward/raw_client.py +2564 -0
  496. brevo/reward/types/__init__.py +139 -0
  497. brevo/reward/types/create_reward_response.py +64 -0
  498. brevo/reward/types/create_voucher_response.py +76 -0
  499. brevo/reward/types/get_code_count_response.py +23 -0
  500. brevo/reward/types/get_loyalty_offer_programs_pid_offers_request_version.py +5 -0
  501. brevo/reward/types/get_loyalty_offer_programs_pid_offers_response.py +34 -0
  502. brevo/reward/types/get_loyalty_offer_programs_pid_offers_response_items_item.py +67 -0
  503. brevo/reward/types/get_loyalty_offer_programs_pid_rewards_rid_request_version.py +5 -0
  504. brevo/reward/types/get_loyalty_offer_programs_pid_rewards_rid_response.py +269 -0
  505. brevo/reward/types/get_loyalty_offer_programs_pid_rewards_rid_response_expiration_modifier.py +7 -0
  506. brevo/reward/types/get_loyalty_offer_programs_pid_rewards_rid_response_generator.py +52 -0
  507. brevo/reward/types/get_loyalty_offer_programs_pid_rewards_rid_response_limits_item.py +68 -0
  508. brevo/reward/types/get_loyalty_offer_programs_pid_rewards_rid_response_products_item.py +40 -0
  509. brevo/reward/types/get_loyalty_offer_programs_pid_rewards_rid_response_reward_configs.py +33 -0
  510. brevo/reward/types/get_loyalty_offer_programs_pid_rewards_rid_response_rule.py +101 -0
  511. brevo/reward/types/get_loyalty_offer_programs_pid_rewards_rid_response_rule_event.py +28 -0
  512. brevo/reward/types/get_loyalty_offer_programs_pid_rewards_rid_response_rule_results_item.py +43 -0
  513. brevo/reward/types/get_loyalty_offer_programs_pid_rewards_rid_response_rule_results_item_parameters_item.py +37 -0
  514. brevo/reward/types/get_loyalty_offer_programs_pid_vouchers_request_sort.py +5 -0
  515. brevo/reward/types/get_loyalty_offer_programs_pid_vouchers_request_sort_field.py +5 -0
  516. brevo/reward/types/get_loyalty_offer_programs_pid_vouchers_response.py +49 -0
  517. brevo/reward/types/get_loyalty_offer_programs_pid_vouchers_response_contact_rewards_item.py +70 -0
  518. brevo/reward/types/redeem_voucher_request_order.py +85 -0
  519. brevo/reward/types/redeem_voucher_request_order_billing.py +55 -0
  520. brevo/reward/types/redeem_voucher_request_order_identifiers.py +28 -0
  521. brevo/reward/types/redeem_voucher_request_order_products_item.py +46 -0
  522. brevo/reward/types/validate_reward_response.py +23 -0
  523. brevo/senders/__init__.py +67 -0
  524. brevo/senders/client.py +808 -0
  525. brevo/senders/raw_client.py +1089 -0
  526. brevo/senders/types/__init__.py +65 -0
  527. brevo/senders/types/create_sender_request_ips_item.py +36 -0
  528. brevo/senders/types/create_sender_response.py +42 -0
  529. brevo/senders/types/get_ips_from_sender_response.py +25 -0
  530. brevo/senders/types/get_ips_from_sender_response_ips_item.py +38 -0
  531. brevo/senders/types/get_ips_response.py +25 -0
  532. brevo/senders/types/get_ips_response_ips_item.py +38 -0
  533. brevo/senders/types/get_senders_response.py +24 -0
  534. brevo/senders/types/get_senders_response_senders_item.py +46 -0
  535. brevo/senders/types/get_senders_response_senders_item_ips_item.py +33 -0
  536. brevo/senders/types/update_sender_request_ips_item.py +36 -0
  537. brevo/sms_campaigns/__init__.py +73 -0
  538. brevo/sms_campaigns/client.py +1078 -0
  539. brevo/sms_campaigns/raw_client.py +1501 -0
  540. brevo/sms_campaigns/types/__init__.py +71 -0
  541. brevo/sms_campaigns/types/create_sms_campaign_request_recipients.py +33 -0
  542. brevo/sms_campaigns/types/create_sms_campaign_response.py +23 -0
  543. brevo/sms_campaigns/types/get_sms_campaign_response.py +74 -0
  544. brevo/sms_campaigns/types/get_sms_campaign_response_status.py +7 -0
  545. brevo/sms_campaigns/types/get_sms_campaigns_request_sort.py +5 -0
  546. brevo/sms_campaigns/types/get_sms_campaigns_request_status.py +7 -0
  547. brevo/sms_campaigns/types/get_sms_campaigns_response.py +25 -0
  548. brevo/sms_campaigns/types/get_sms_campaigns_response_campaigns_item.py +74 -0
  549. brevo/sms_campaigns/types/get_sms_campaigns_response_campaigns_item_status.py +7 -0
  550. brevo/sms_campaigns/types/request_sms_recipient_export_request_recipients_type.py +7 -0
  551. brevo/sms_campaigns/types/request_sms_recipient_export_response.py +26 -0
  552. brevo/sms_campaigns/types/update_sms_campaign_request_recipients.py +33 -0
  553. brevo/sms_templates/__init__.py +49 -0
  554. brevo/sms_templates/client.py +133 -0
  555. brevo/sms_templates/raw_client.py +151 -0
  556. brevo/sms_templates/types/__init__.py +47 -0
  557. brevo/sms_templates/types/get_sms_templates_request_sort.py +5 -0
  558. brevo/sms_templates/types/get_sms_templates_response.py +26 -0
  559. brevo/sms_templates/types/get_sms_templates_response_templates_item.py +86 -0
  560. brevo/sms_templates/types/get_sms_templates_response_templates_item_compliance.py +37 -0
  561. brevo/tasks/__init__.py +55 -0
  562. brevo/tasks/client.py +814 -0
  563. brevo/tasks/raw_client.py +992 -0
  564. brevo/tasks/types/__init__.py +53 -0
  565. brevo/tasks/types/get_crm_tasks_request_filter_date.py +5 -0
  566. brevo/tasks/types/get_crm_tasks_request_filter_status.py +5 -0
  567. brevo/tasks/types/get_crm_tasks_request_sort.py +5 -0
  568. brevo/tasks/types/get_crm_tasks_response.py +28 -0
  569. brevo/tasks/types/get_crm_tasktypes_response.py +32 -0
  570. brevo/tasks/types/post_crm_tasks_response.py +27 -0
  571. brevo/tier/__init__.py +79 -0
  572. brevo/tier/client.py +1144 -0
  573. brevo/tier/raw_client.py +2360 -0
  574. brevo/tier/types/__init__.py +79 -0
  575. brevo/tier/types/add_subscription_to_tier_response.py +53 -0
  576. brevo/tier/types/create_tier_for_tier_group_request_access_conditions_item.py +31 -0
  577. brevo/tier/types/create_tier_for_tier_group_request_tier_rewards_item.py +26 -0
  578. brevo/tier/types/create_tier_group_request_downgrade_strategy.py +7 -0
  579. brevo/tier/types/create_tier_group_request_upgrade_strategy.py +7 -0
  580. brevo/tier/types/get_list_of_tier_groups_request_version.py +5 -0
  581. brevo/tier/types/get_list_of_tier_groups_response.py +21 -0
  582. brevo/tier/types/get_loyalty_program_tier_request_version.py +5 -0
  583. brevo/tier/types/get_loyalty_program_tier_response.py +21 -0
  584. brevo/tier/types/get_tier_group_request_version.py +5 -0
  585. brevo/tier/types/update_tier_group_request_downgrade_strategy.py +7 -0
  586. brevo/tier/types/update_tier_group_request_upgrade_strategy.py +7 -0
  587. brevo/tier/types/update_tier_request_access_conditions_item.py +31 -0
  588. brevo/tier/types/update_tier_request_tier_rewards_item.py +26 -0
  589. brevo/transactional_emails/__init__.py +175 -0
  590. brevo/transactional_emails/client.py +2544 -0
  591. brevo/transactional_emails/raw_client.py +3240 -0
  592. brevo/transactional_emails/types/__init__.py +189 -0
  593. brevo/transactional_emails/types/create_smtp_template_request_sender.py +37 -0
  594. brevo/transactional_emails/types/create_smtp_template_response.py +23 -0
  595. brevo/transactional_emails/types/get_aggregated_smtp_report_response.py +85 -0
  596. brevo/transactional_emails/types/get_blocked_domains_response.py +23 -0
  597. brevo/transactional_emails/types/get_email_event_report_request_event.py +23 -0
  598. brevo/transactional_emails/types/get_email_event_report_request_sort.py +5 -0
  599. brevo/transactional_emails/types/get_email_event_report_response.py +21 -0
  600. brevo/transactional_emails/types/get_email_event_report_response_events_item.py +79 -0
  601. brevo/transactional_emails/types/get_email_event_report_response_events_item_event.py +23 -0
  602. brevo/transactional_emails/types/get_scheduled_email_by_id_request_sort.py +5 -0
  603. brevo/transactional_emails/types/get_scheduled_email_by_id_request_status.py +5 -0
  604. brevo/transactional_emails/types/get_scheduled_email_by_id_response.py +10 -0
  605. brevo/transactional_emails/types/get_scheduled_email_by_id_response_batches.py +25 -0
  606. brevo/transactional_emails/types/get_scheduled_email_by_id_response_batches_batches_item.py +39 -0
  607. brevo/transactional_emails/types/get_scheduled_email_by_id_response_batches_batches_item_status.py +7 -0
  608. brevo/transactional_emails/types/get_scheduled_email_by_id_response_created_at.py +37 -0
  609. brevo/transactional_emails/types/get_scheduled_email_by_id_response_created_at_status.py +7 -0
  610. brevo/transactional_emails/types/get_smtp_report_request_sort.py +5 -0
  611. brevo/transactional_emails/types/get_smtp_report_response.py +21 -0
  612. brevo/transactional_emails/types/get_smtp_report_response_reports_item.py +86 -0
  613. brevo/transactional_emails/types/get_smtp_templates_request_sort.py +5 -0
  614. brevo/transactional_emails/types/get_smtp_templates_response.py +26 -0
  615. brevo/transactional_emails/types/get_transac_blocked_contacts_request_sort.py +5 -0
  616. brevo/transactional_emails/types/get_transac_blocked_contacts_response.py +25 -0
  617. brevo/transactional_emails/types/get_transac_blocked_contacts_response_contacts_item.py +44 -0
  618. brevo/transactional_emails/types/get_transac_blocked_contacts_response_contacts_item_reason.py +35 -0
  619. brevo/transactional_emails/types/get_transac_blocked_contacts_response_contacts_item_reason_code.py +15 -0
  620. brevo/transactional_emails/types/get_transac_email_content_response.py +57 -0
  621. brevo/transactional_emails/types/get_transac_email_content_response_events_item.py +28 -0
  622. brevo/transactional_emails/types/get_transac_emails_list_request_sort.py +5 -0
  623. brevo/transactional_emails/types/get_transac_emails_list_response.py +34 -0
  624. brevo/transactional_emails/types/get_transac_emails_list_response_transactional_emails_item.py +61 -0
  625. brevo/transactional_emails/types/post_preview_smtp_email_templates_response.py +49 -0
  626. brevo/transactional_emails/types/send_transac_email_request_attachment_item.py +33 -0
  627. brevo/transactional_emails/types/send_transac_email_request_bcc_item.py +28 -0
  628. brevo/transactional_emails/types/send_transac_email_request_cc_item.py +28 -0
  629. brevo/transactional_emails/types/send_transac_email_request_message_versions_item.py +73 -0
  630. brevo/transactional_emails/types/send_transac_email_request_message_versions_item_bcc_item.py +28 -0
  631. brevo/transactional_emails/types/send_transac_email_request_message_versions_item_cc_item.py +28 -0
  632. brevo/transactional_emails/types/send_transac_email_request_message_versions_item_reply_to.py +32 -0
  633. brevo/transactional_emails/types/send_transac_email_request_message_versions_item_to_item.py +28 -0
  634. brevo/transactional_emails/types/send_transac_email_request_reply_to.py +32 -0
  635. brevo/transactional_emails/types/send_transac_email_request_sender.py +37 -0
  636. brevo/transactional_emails/types/send_transac_email_request_to_item.py +28 -0
  637. brevo/transactional_emails/types/send_transac_email_response.py +29 -0
  638. brevo/transactional_emails/types/update_smtp_template_request_sender.py +37 -0
  639. brevo/transactional_sms/__init__.py +70 -0
  640. brevo/transactional_sms/client.py +726 -0
  641. brevo/transactional_sms/raw_client.py +913 -0
  642. brevo/transactional_sms/types/__init__.py +68 -0
  643. brevo/transactional_sms/types/get_sms_events_request_event.py +20 -0
  644. brevo/transactional_sms/types/get_sms_events_request_sort.py +5 -0
  645. brevo/transactional_sms/types/get_sms_events_response.py +21 -0
  646. brevo/transactional_sms/types/get_sms_events_response_events_item.py +52 -0
  647. brevo/transactional_sms/types/get_sms_events_response_events_item_event.py +20 -0
  648. brevo/transactional_sms/types/get_transac_aggregated_sms_report_response.py +75 -0
  649. brevo/transactional_sms/types/get_transac_sms_report_request_sort.py +5 -0
  650. brevo/transactional_sms/types/get_transac_sms_report_response.py +21 -0
  651. brevo/transactional_sms/types/get_transac_sms_report_response_reports_item.py +76 -0
  652. brevo/transactional_sms/types/send_async_transactional_sms_response.py +22 -0
  653. brevo/transactional_sms/types/send_transac_sms_response.py +38 -0
  654. brevo/transactional_whats_app/__init__.py +64 -0
  655. brevo/transactional_whats_app/client.py +283 -0
  656. brevo/transactional_whats_app/raw_client.py +326 -0
  657. brevo/transactional_whats_app/types/__init__.py +62 -0
  658. brevo/transactional_whats_app/types/get_whatsapp_event_report_request_event.py +7 -0
  659. brevo/transactional_whats_app/types/get_whatsapp_event_report_request_sort.py +5 -0
  660. brevo/transactional_whats_app/types/get_whatsapp_event_report_response.py +21 -0
  661. brevo/transactional_whats_app/types/get_whatsapp_event_report_response_events_item.py +65 -0
  662. brevo/transactional_whats_app/types/get_whatsapp_event_report_response_events_item_event.py +7 -0
  663. brevo/transactional_whats_app/types/send_whatsapp_message_request.py +8 -0
  664. brevo/transactional_whats_app/types/send_whatsapp_message_request_params.py +41 -0
  665. brevo/transactional_whats_app/types/send_whatsapp_message_request_text.py +35 -0
  666. brevo/transactional_whats_app/types/send_whatsapp_message_response.py +26 -0
  667. brevo/types/__init__.py +373 -0
  668. brevo/types/ab_test_version_clicks.py +7 -0
  669. brevo/types/ab_test_version_clicks_item.py +35 -0
  670. brevo/types/ab_test_version_stats.py +35 -0
  671. brevo/types/bad_request_error_body.py +29 -0
  672. brevo/types/bad_request_error_body_code.py +45 -0
  673. brevo/types/balance_definition.py +139 -0
  674. brevo/types/balance_definition_balance_availability_duration_modifier.py +7 -0
  675. brevo/types/balance_limit.py +78 -0
  676. brevo/types/cart.py +38 -0
  677. brevo/types/company.py +45 -0
  678. brevo/types/configuration.py +30 -0
  679. brevo/types/contact_error_model.py +34 -0
  680. brevo/types/contact_error_model_code.py +16 -0
  681. brevo/types/conversations_message.py +187 -0
  682. brevo/types/conversations_message_attachments_item.py +50 -0
  683. brevo/types/conversations_message_bcc_item.py +21 -0
  684. brevo/types/conversations_message_cc_item.py +21 -0
  685. brevo/types/conversations_message_file.py +46 -0
  686. brevo/types/conversations_message_file_image_info.py +39 -0
  687. brevo/types/conversations_message_forwarded_to_source_status.py +29 -0
  688. brevo/types/conversations_message_from.py +25 -0
  689. brevo/types/conversations_message_reply_to.py +25 -0
  690. brevo/types/conversations_message_to_item.py +21 -0
  691. brevo/types/conversations_message_type.py +5 -0
  692. brevo/types/conversion_source_metrics.py +35 -0
  693. brevo/types/conversion_source_metrics_conversion_source.py +7 -0
  694. brevo/types/create_update_folder.py +23 -0
  695. brevo/types/deal.py +45 -0
  696. brevo/types/error_model.py +28 -0
  697. brevo/types/file_data.py +60 -0
  698. brevo/types/forbidden_error_body.py +29 -0
  699. brevo/types/forbidden_error_body_code.py +45 -0
  700. brevo/types/get_campaign_recipients.py +25 -0
  701. brevo/types/get_campaign_stats.py +130 -0
  702. brevo/types/get_category_details.py +54 -0
  703. brevo/types/get_contact_details.py +75 -0
  704. brevo/types/get_contact_details_attributes.py +22 -0
  705. brevo/types/get_contacts.py +25 -0
  706. brevo/types/get_coupon_collection.py +75 -0
  707. brevo/types/get_device_browser_stats.py +44 -0
  708. brevo/types/get_extended_campaign_overview.py +230 -0
  709. brevo/types/get_extended_campaign_overview_sender.py +33 -0
  710. brevo/types/get_extended_campaign_overview_status.py +7 -0
  711. brevo/types/get_extended_campaign_overview_type.py +5 -0
  712. brevo/types/get_extended_campaign_stats.py +63 -0
  713. brevo/types/get_extended_campaign_stats_links_stats.py +22 -0
  714. brevo/types/get_extended_campaign_stats_stats_by_device.py +39 -0
  715. brevo/types/get_folder.py +46 -0
  716. brevo/types/get_list.py +46 -0
  717. brevo/types/get_product_details.py +115 -0
  718. brevo/types/get_sms_campaign_overview.py +69 -0
  719. brevo/types/get_sms_campaign_overview_status.py +7 -0
  720. brevo/types/get_sms_campaign_stats.py +55 -0
  721. brevo/types/get_smtp_template_overview.py +93 -0
  722. brevo/types/get_smtp_template_overview_sender.py +33 -0
  723. brevo/types/get_sso_token.py +23 -0
  724. brevo/types/get_webhook.py +74 -0
  725. brevo/types/get_webhook_channel.py +5 -0
  726. brevo/types/get_webhook_type.py +5 -0
  727. brevo/types/inviteuser.py +31 -0
  728. brevo/types/inviteuser_privileges_item.py +34 -0
  729. brevo/types/inviteuser_privileges_item_feature.py +24 -0
  730. brevo/types/inviteuser_privileges_item_permissions_item.py +39 -0
  731. brevo/types/loyalty_program.py +82 -0
  732. brevo/types/loyalty_program_state.py +5 -0
  733. brevo/types/node_response.py +63 -0
  734. brevo/types/not_found_error_body.py +29 -0
  735. brevo/types/not_found_error_body_code.py +45 -0
  736. brevo/types/note.py +61 -0
  737. brevo/types/note_data.py +44 -0
  738. brevo/types/notification.py +32 -0
  739. brevo/types/order.py +85 -0
  740. brevo/types/order_billing.py +66 -0
  741. brevo/types/order_identifiers.py +42 -0
  742. brevo/types/order_meta_info_value.py +5 -0
  743. brevo/types/order_products_item.py +43 -0
  744. brevo/types/pipeline.py +38 -0
  745. brevo/types/pipeline_stages_item.py +32 -0
  746. brevo/types/pipelines.py +7 -0
  747. brevo/types/post_contact_info.py +21 -0
  748. brevo/types/post_contact_info_contacts.py +37 -0
  749. brevo/types/post_contact_info_contacts_failure.py +5 -0
  750. brevo/types/post_contact_info_contacts_success.py +5 -0
  751. brevo/types/post_send_failed.py +46 -0
  752. brevo/types/redeem.py +92 -0
  753. brevo/types/rule_condition_response.py +52 -0
  754. brevo/types/send_report.py +30 -0
  755. brevo/types/send_report_email.py +32 -0
  756. brevo/types/send_report_language.py +5 -0
  757. brevo/types/send_test_email.py +29 -0
  758. brevo/types/send_transac_sms.py +66 -0
  759. brevo/types/send_transac_sms_tag.py +28 -0
  760. brevo/types/send_transac_sms_tag_field.py +5 -0
  761. brevo/types/send_transac_sms_type.py +5 -0
  762. brevo/types/task.py +55 -0
  763. brevo/types/task_reminder.py +39 -0
  764. brevo/types/task_reminder_types_item.py +5 -0
  765. brevo/types/task_reminder_unit.py +5 -0
  766. brevo/types/tier.py +63 -0
  767. brevo/types/tier_access_conditions_item.py +38 -0
  768. brevo/types/tier_group.py +70 -0
  769. brevo/types/tier_group_downgrade_strategy.py +7 -0
  770. brevo/types/tier_group_upgrade_strategy.py +7 -0
  771. brevo/types/tier_tier_rewards_item.py +33 -0
  772. brevo/types/transaction.py +110 -0
  773. brevo/types/unauthorized_error_body.py +29 -0
  774. brevo/types/unauthorized_error_body_code.py +45 -0
  775. brevo/types/update_campaign_status.py +28 -0
  776. brevo/types/update_campaign_status_status.py +8 -0
  777. brevo/types/value_response.py +67 -0
  778. brevo/types/variables_items.py +22 -0
  779. brevo/types/whatsapp_camp_stats.py +26 -0
  780. brevo/user/__init__.py +67 -0
  781. brevo/user/client.py +806 -0
  782. brevo/user/raw_client.py +977 -0
  783. brevo/user/types/__init__.py +67 -0
  784. brevo/user/types/edit_user_permission_response.py +33 -0
  785. brevo/user/types/get_invited_users_list_response.py +24 -0
  786. brevo/user/types/get_invited_users_list_response_users_item.py +39 -0
  787. brevo/user/types/get_invited_users_list_response_users_item_feature_access.py +37 -0
  788. brevo/user/types/get_user_permission_response.py +38 -0
  789. brevo/user/types/get_user_permission_response_privileges_item.py +21 -0
  790. brevo/user/types/inviteuser_response.py +28 -0
  791. brevo/user/types/put_revoke_user_permission_response.py +28 -0
  792. brevo/user/types/putresendcancelinvitation_request_action.py +5 -0
  793. brevo/user/types/putresendcancelinvitation_response.py +28 -0
  794. brevo/version.py +3 -0
  795. brevo/webhooks/__init__.py +82 -0
  796. brevo/webhooks/client.py +982 -0
  797. brevo/webhooks/raw_client.py +1211 -0
  798. brevo/webhooks/types/__init__.py +80 -0
  799. brevo/webhooks/types/create_webhook_request_auth.py +32 -0
  800. brevo/webhooks/types/create_webhook_request_channel.py +5 -0
  801. brevo/webhooks/types/create_webhook_request_events_item.py +26 -0
  802. brevo/webhooks/types/create_webhook_request_headers_item.py +28 -0
  803. brevo/webhooks/types/create_webhook_request_type.py +5 -0
  804. brevo/webhooks/types/create_webhook_response.py +23 -0
  805. brevo/webhooks/types/export_webhooks_history_request_event.py +26 -0
  806. brevo/webhooks/types/export_webhooks_history_request_type.py +5 -0
  807. brevo/webhooks/types/export_webhooks_history_response.py +26 -0
  808. brevo/webhooks/types/get_webhooks_request_sort.py +5 -0
  809. brevo/webhooks/types/get_webhooks_request_type.py +5 -0
  810. brevo/webhooks/types/get_webhooks_response.py +21 -0
  811. brevo/webhooks/types/update_webhook_request_auth.py +32 -0
  812. brevo/webhooks/types/update_webhook_request_events_item.py +26 -0
  813. brevo/webhooks/types/update_webhook_request_headers_item.py +28 -0
  814. brevo/whats_app_campaigns/__init__.py +106 -0
  815. brevo/whats_app_campaigns/client.py +1064 -0
  816. brevo/whats_app_campaigns/raw_client.py +1311 -0
  817. brevo/whats_app_campaigns/types/__init__.py +110 -0
  818. brevo/whats_app_campaigns/types/create_whats_app_campaign_request_recipients.py +41 -0
  819. brevo/whats_app_campaigns/types/create_whats_app_campaign_response.py +23 -0
  820. brevo/whats_app_campaigns/types/create_whats_app_template_request_category.py +5 -0
  821. brevo/whats_app_campaigns/types/create_whats_app_template_request_source.py +5 -0
  822. brevo/whats_app_campaigns/types/create_whats_app_template_response.py +23 -0
  823. brevo/whats_app_campaigns/types/get_whats_app_campaign_response.py +69 -0
  824. brevo/whats_app_campaigns/types/get_whats_app_campaign_response_campaign_status.py +7 -0
  825. brevo/whats_app_campaigns/types/get_whats_app_campaign_response_template.py +61 -0
  826. brevo/whats_app_campaigns/types/get_whats_app_campaign_response_template_components_item.py +21 -0
  827. brevo/whats_app_campaigns/types/get_whats_app_campaigns_request_sort.py +5 -0
  828. brevo/whats_app_campaigns/types/get_whats_app_campaigns_response.py +25 -0
  829. brevo/whats_app_campaigns/types/get_whats_app_campaigns_response_campaigns_item.py +84 -0
  830. brevo/whats_app_campaigns/types/get_whats_app_campaigns_response_campaigns_item_campaign_status.py +7 -0
  831. brevo/whats_app_campaigns/types/get_whats_app_config_response.py +63 -0
  832. brevo/whats_app_campaigns/types/get_whats_app_config_response_phone_number_name_status.py +7 -0
  833. brevo/whats_app_campaigns/types/get_whats_app_config_response_phone_number_quality.py +5 -0
  834. brevo/whats_app_campaigns/types/get_whats_app_config_response_whatsapp_business_account_status.py +7 -0
  835. brevo/whats_app_campaigns/types/get_whats_app_templates_request_sort.py +5 -0
  836. brevo/whats_app_campaigns/types/get_whats_app_templates_request_source.py +5 -0
  837. brevo/whats_app_campaigns/types/get_whats_app_templates_response.py +26 -0
  838. brevo/whats_app_campaigns/types/get_whats_app_templates_response_templates_item.py +65 -0
  839. brevo/whats_app_campaigns/types/update_whats_app_campaign_request_campaign_status.py +5 -0
  840. brevo/whats_app_campaigns/types/update_whats_app_campaign_request_recipients.py +41 -0
  841. brevo_python-4.0.1.dist-info/METADATA +1072 -0
  842. brevo_python-4.0.1.dist-info/RECORD +843 -0
  843. brevo_python-4.0.1.dist-info/WHEEL +4 -0
@@ -0,0 +1,1285 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import json
4
+ import typing
5
+ from json.decoder import JSONDecodeError
6
+
7
+ from .. import core
8
+ from ..core.api_error import ApiError
9
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
10
+ from ..core.http_response import AsyncHttpResponse, HttpResponse
11
+ from ..core.jsonable_encoder import jsonable_encoder
12
+ from ..core.request_options import RequestOptions
13
+ from ..core.unchecked_base_model import construct_type
14
+ from ..errors.bad_request_error import BadRequestError
15
+ from ..errors.not_found_error import NotFoundError
16
+ from ..types.company import Company
17
+ from .types.get_companies_request_sort import GetCompaniesRequestSort
18
+ from .types.get_companies_response import GetCompaniesResponse
19
+ from .types.get_crm_attributes_companies_response_item import GetCrmAttributesCompaniesResponseItem
20
+ from .types.post_companies_import_response import PostCompaniesImportResponse
21
+ from .types.post_companies_response import PostCompaniesResponse
22
+ from .types.post_crm_attributes_request_attribute_type import PostCrmAttributesRequestAttributeType
23
+ from .types.post_crm_attributes_request_object_type import PostCrmAttributesRequestObjectType
24
+ from .types.post_crm_attributes_response import PostCrmAttributesResponse
25
+
26
+ # this is used as the default value for optional parameters
27
+ OMIT = typing.cast(typing.Any, ...)
28
+
29
+
30
+ class RawCompaniesClient:
31
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
32
+ self._client_wrapper = client_wrapper
33
+
34
+ def get_all_companies(
35
+ self,
36
+ *,
37
+ filters: typing.Optional[str] = None,
38
+ linked_contacts_ids: typing.Optional[int] = None,
39
+ linked_deals_ids: typing.Optional[str] = None,
40
+ modified_since: typing.Optional[str] = None,
41
+ created_since: typing.Optional[str] = None,
42
+ page: typing.Optional[int] = None,
43
+ limit: typing.Optional[int] = None,
44
+ sort: typing.Optional[GetCompaniesRequestSort] = None,
45
+ sort_by: typing.Optional[str] = None,
46
+ request_options: typing.Optional[RequestOptions] = None,
47
+ ) -> HttpResponse[GetCompaniesResponse]:
48
+ """
49
+ Parameters
50
+ ----------
51
+ filters : typing.Optional[str]
52
+ Filter by attrbutes. If you have filter for owner on your side please send it as {"attributes.owner":"6299dcf3874a14eacbc65c46"}
53
+
54
+ linked_contacts_ids : typing.Optional[int]
55
+ Filter by linked contacts ids
56
+
57
+ linked_deals_ids : typing.Optional[str]
58
+ Filter by linked Deals ids
59
+
60
+ modified_since : typing.Optional[str]
61
+ Filter (urlencoded) the contacts modified after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). Prefer to pass your timezone in date-time format for accurate result.
62
+
63
+ created_since : typing.Optional[str]
64
+ Filter (urlencoded) the contacts created after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). Prefer to pass your timezone in date-time format for accurate result.
65
+
66
+ page : typing.Optional[int]
67
+ Index of the first document of the page
68
+
69
+ limit : typing.Optional[int]
70
+ Number of documents per page
71
+
72
+ sort : typing.Optional[GetCompaniesRequestSort]
73
+ Sort the results in the ascending/descending order. Default order is **descending** by creation if `sort` is not passed
74
+
75
+ sort_by : typing.Optional[str]
76
+ The field used to sort field names.
77
+
78
+ request_options : typing.Optional[RequestOptions]
79
+ Request-specific configuration.
80
+
81
+ Returns
82
+ -------
83
+ HttpResponse[GetCompaniesResponse]
84
+ Returns companies list with filters
85
+ """
86
+ _response = self._client_wrapper.httpx_client.request(
87
+ "companies",
88
+ method="GET",
89
+ params={
90
+ "filters": filters,
91
+ "linkedContactsIds": linked_contacts_ids,
92
+ "linkedDealsIds": linked_deals_ids,
93
+ "modifiedSince": modified_since,
94
+ "createdSince": created_since,
95
+ "page": page,
96
+ "limit": limit,
97
+ "sort": sort,
98
+ "sortBy": sort_by,
99
+ },
100
+ request_options=request_options,
101
+ )
102
+ try:
103
+ if 200 <= _response.status_code < 300:
104
+ _data = typing.cast(
105
+ GetCompaniesResponse,
106
+ construct_type(
107
+ type_=GetCompaniesResponse, # type: ignore
108
+ object_=_response.json(),
109
+ ),
110
+ )
111
+ return HttpResponse(response=_response, data=_data)
112
+ if _response.status_code == 400:
113
+ raise BadRequestError(
114
+ headers=dict(_response.headers),
115
+ body=typing.cast(
116
+ typing.Any,
117
+ construct_type(
118
+ type_=typing.Any, # type: ignore
119
+ object_=_response.json(),
120
+ ),
121
+ ),
122
+ )
123
+ _response_json = _response.json()
124
+ except JSONDecodeError:
125
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
126
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
127
+
128
+ def create_a_company(
129
+ self,
130
+ *,
131
+ name: str,
132
+ attributes: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
133
+ country_code: typing.Optional[int] = OMIT,
134
+ linked_contacts_ids: typing.Optional[typing.Sequence[int]] = OMIT,
135
+ linked_deals_ids: typing.Optional[typing.Sequence[str]] = OMIT,
136
+ request_options: typing.Optional[RequestOptions] = None,
137
+ ) -> HttpResponse[PostCompaniesResponse]:
138
+ """
139
+ Parameters
140
+ ----------
141
+ name : str
142
+ Name of company
143
+
144
+ attributes : typing.Optional[typing.Dict[str, typing.Any]]
145
+ Attributes for company creation
146
+
147
+ country_code : typing.Optional[int]
148
+ Country code if phone_number is passed in attributes.
149
+
150
+ linked_contacts_ids : typing.Optional[typing.Sequence[int]]
151
+ Contact ids to be linked with company
152
+
153
+ linked_deals_ids : typing.Optional[typing.Sequence[str]]
154
+ Deal ids to be linked with company
155
+
156
+ request_options : typing.Optional[RequestOptions]
157
+ Request-specific configuration.
158
+
159
+ Returns
160
+ -------
161
+ HttpResponse[PostCompaniesResponse]
162
+ Created new Company
163
+ """
164
+ _response = self._client_wrapper.httpx_client.request(
165
+ "companies",
166
+ method="POST",
167
+ json={
168
+ "attributes": attributes,
169
+ "countryCode": country_code,
170
+ "linkedContactsIds": linked_contacts_ids,
171
+ "linkedDealsIds": linked_deals_ids,
172
+ "name": name,
173
+ },
174
+ headers={
175
+ "content-type": "application/json",
176
+ },
177
+ request_options=request_options,
178
+ omit=OMIT,
179
+ )
180
+ try:
181
+ if 200 <= _response.status_code < 300:
182
+ _data = typing.cast(
183
+ PostCompaniesResponse,
184
+ construct_type(
185
+ type_=PostCompaniesResponse, # type: ignore
186
+ object_=_response.json(),
187
+ ),
188
+ )
189
+ return HttpResponse(response=_response, data=_data)
190
+ if _response.status_code == 400:
191
+ raise BadRequestError(
192
+ headers=dict(_response.headers),
193
+ body=typing.cast(
194
+ typing.Any,
195
+ construct_type(
196
+ type_=typing.Any, # type: ignore
197
+ object_=_response.json(),
198
+ ),
199
+ ),
200
+ )
201
+ _response_json = _response.json()
202
+ except JSONDecodeError:
203
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
204
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
205
+
206
+ def import_companies_creation_and_updation(
207
+ self,
208
+ *,
209
+ file: typing.Optional[core.File] = OMIT,
210
+ mapping: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
211
+ request_options: typing.Optional[RequestOptions] = None,
212
+ ) -> HttpResponse[PostCompaniesImportResponse]:
213
+ """
214
+ Import companies from a CSV file with mapping options.
215
+
216
+ Parameters
217
+ ----------
218
+ file : typing.Optional[core.File]
219
+ See core.File for more documentation
220
+
221
+ mapping : typing.Optional[typing.Dict[str, typing.Any]]
222
+ The mapping options in JSON format. Here is an example of the JSON structure: ```json {
223
+ "link_entities": true, // Determines whether to link related entities during the import process
224
+ "unlink_entities": false, // Determines whether to unlink related entities during the import process
225
+ "update_existing_records": true, // Determines whether to update based on company ID or treat every row as create
226
+ "unset_empty_attributes": false // Determines whether to unset a specific attribute during update if the values input is blank
227
+ } ```
228
+
229
+ request_options : typing.Optional[RequestOptions]
230
+ Request-specific configuration.
231
+
232
+ Returns
233
+ -------
234
+ HttpResponse[PostCompaniesImportResponse]
235
+ Successfully imported companies
236
+ """
237
+ _response = self._client_wrapper.httpx_client.request(
238
+ "companies/import",
239
+ method="POST",
240
+ data={
241
+ "mapping": json.dumps(jsonable_encoder(mapping)),
242
+ },
243
+ files={
244
+ **({"file": file} if file is not None else {}),
245
+ },
246
+ request_options=request_options,
247
+ omit=OMIT,
248
+ force_multipart=True,
249
+ )
250
+ try:
251
+ if 200 <= _response.status_code < 300:
252
+ _data = typing.cast(
253
+ PostCompaniesImportResponse,
254
+ construct_type(
255
+ type_=PostCompaniesImportResponse, # type: ignore
256
+ object_=_response.json(),
257
+ ),
258
+ )
259
+ return HttpResponse(response=_response, data=_data)
260
+ if _response.status_code == 400:
261
+ raise BadRequestError(
262
+ headers=dict(_response.headers),
263
+ body=typing.cast(
264
+ typing.Any,
265
+ construct_type(
266
+ type_=typing.Any, # type: ignore
267
+ object_=_response.json(),
268
+ ),
269
+ ),
270
+ )
271
+ _response_json = _response.json()
272
+ except JSONDecodeError:
273
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
274
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
275
+
276
+ def link_and_unlink_company_with_contact_and_deal(
277
+ self,
278
+ id: str,
279
+ *,
280
+ link_contact_ids: typing.Optional[typing.Sequence[int]] = OMIT,
281
+ link_deals_ids: typing.Optional[typing.Sequence[str]] = OMIT,
282
+ unlink_contact_ids: typing.Optional[typing.Sequence[int]] = OMIT,
283
+ unlink_deals_ids: typing.Optional[typing.Sequence[str]] = OMIT,
284
+ request_options: typing.Optional[RequestOptions] = None,
285
+ ) -> HttpResponse[None]:
286
+ """
287
+ Parameters
288
+ ----------
289
+ id : str
290
+
291
+ link_contact_ids : typing.Optional[typing.Sequence[int]]
292
+ Contact ids for contacts to be linked with company
293
+
294
+ link_deals_ids : typing.Optional[typing.Sequence[str]]
295
+ Deal ids for deals to be linked with company
296
+
297
+ unlink_contact_ids : typing.Optional[typing.Sequence[int]]
298
+ Contact ids for contacts to be unlinked from company
299
+
300
+ unlink_deals_ids : typing.Optional[typing.Sequence[str]]
301
+ Deal ids for deals to be unlinked from company
302
+
303
+ request_options : typing.Optional[RequestOptions]
304
+ Request-specific configuration.
305
+
306
+ Returns
307
+ -------
308
+ HttpResponse[None]
309
+ """
310
+ _response = self._client_wrapper.httpx_client.request(
311
+ f"companies/link-unlink/{jsonable_encoder(id)}",
312
+ method="PATCH",
313
+ json={
314
+ "linkContactIds": link_contact_ids,
315
+ "linkDealsIds": link_deals_ids,
316
+ "unlinkContactIds": unlink_contact_ids,
317
+ "unlinkDealsIds": unlink_deals_ids,
318
+ },
319
+ headers={
320
+ "content-type": "application/json",
321
+ },
322
+ request_options=request_options,
323
+ omit=OMIT,
324
+ )
325
+ try:
326
+ if 200 <= _response.status_code < 300:
327
+ return HttpResponse(response=_response, data=None)
328
+ if _response.status_code == 400:
329
+ raise BadRequestError(
330
+ headers=dict(_response.headers),
331
+ body=typing.cast(
332
+ typing.Any,
333
+ construct_type(
334
+ type_=typing.Any, # type: ignore
335
+ object_=_response.json(),
336
+ ),
337
+ ),
338
+ )
339
+ _response_json = _response.json()
340
+ except JSONDecodeError:
341
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
342
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
343
+
344
+ def get_a_company(
345
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
346
+ ) -> HttpResponse[Company]:
347
+ """
348
+ Parameters
349
+ ----------
350
+ id : str
351
+ Get Company Details
352
+
353
+ request_options : typing.Optional[RequestOptions]
354
+ Request-specific configuration.
355
+
356
+ Returns
357
+ -------
358
+ HttpResponse[Company]
359
+ Returns the Company
360
+ """
361
+ _response = self._client_wrapper.httpx_client.request(
362
+ f"companies/{jsonable_encoder(id)}",
363
+ method="GET",
364
+ request_options=request_options,
365
+ )
366
+ try:
367
+ if 200 <= _response.status_code < 300:
368
+ _data = typing.cast(
369
+ Company,
370
+ construct_type(
371
+ type_=Company, # type: ignore
372
+ object_=_response.json(),
373
+ ),
374
+ )
375
+ return HttpResponse(response=_response, data=_data)
376
+ if _response.status_code == 400:
377
+ raise BadRequestError(
378
+ headers=dict(_response.headers),
379
+ body=typing.cast(
380
+ typing.Any,
381
+ construct_type(
382
+ type_=typing.Any, # type: ignore
383
+ object_=_response.json(),
384
+ ),
385
+ ),
386
+ )
387
+ if _response.status_code == 404:
388
+ raise NotFoundError(
389
+ headers=dict(_response.headers),
390
+ body=typing.cast(
391
+ typing.Any,
392
+ construct_type(
393
+ type_=typing.Any, # type: ignore
394
+ object_=_response.json(),
395
+ ),
396
+ ),
397
+ )
398
+ _response_json = _response.json()
399
+ except JSONDecodeError:
400
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
401
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
402
+
403
+ def delete_a_company(
404
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
405
+ ) -> HttpResponse[None]:
406
+ """
407
+ Parameters
408
+ ----------
409
+ id : str
410
+ Company ID to delete
411
+
412
+ request_options : typing.Optional[RequestOptions]
413
+ Request-specific configuration.
414
+
415
+ Returns
416
+ -------
417
+ HttpResponse[None]
418
+ """
419
+ _response = self._client_wrapper.httpx_client.request(
420
+ f"companies/{jsonable_encoder(id)}",
421
+ method="DELETE",
422
+ request_options=request_options,
423
+ )
424
+ try:
425
+ if 200 <= _response.status_code < 300:
426
+ return HttpResponse(response=_response, data=None)
427
+ if _response.status_code == 400:
428
+ raise BadRequestError(
429
+ headers=dict(_response.headers),
430
+ body=typing.cast(
431
+ typing.Any,
432
+ construct_type(
433
+ type_=typing.Any, # type: ignore
434
+ object_=_response.json(),
435
+ ),
436
+ ),
437
+ )
438
+ if _response.status_code == 404:
439
+ raise NotFoundError(
440
+ headers=dict(_response.headers),
441
+ body=typing.cast(
442
+ typing.Any,
443
+ construct_type(
444
+ type_=typing.Any, # type: ignore
445
+ object_=_response.json(),
446
+ ),
447
+ ),
448
+ )
449
+ _response_json = _response.json()
450
+ except JSONDecodeError:
451
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
452
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
453
+
454
+ def update_a_company(
455
+ self,
456
+ id: str,
457
+ *,
458
+ attributes: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
459
+ country_code: typing.Optional[int] = OMIT,
460
+ linked_contacts_ids: typing.Optional[typing.Sequence[int]] = OMIT,
461
+ linked_deals_ids: typing.Optional[typing.Sequence[str]] = OMIT,
462
+ name: typing.Optional[str] = OMIT,
463
+ request_options: typing.Optional[RequestOptions] = None,
464
+ ) -> HttpResponse[Company]:
465
+ """
466
+ Parameters
467
+ ----------
468
+ id : str
469
+
470
+ attributes : typing.Optional[typing.Dict[str, typing.Any]]
471
+ Attributes for company update
472
+
473
+ country_code : typing.Optional[int]
474
+ Country code if phone_number is passed in attributes.
475
+
476
+ linked_contacts_ids : typing.Optional[typing.Sequence[int]]
477
+ Warning - Using PATCH on linkedContactIds replaces the list of linked contacts. Omitted IDs will be removed.
478
+
479
+ linked_deals_ids : typing.Optional[typing.Sequence[str]]
480
+ Warning - Using PATCH on linkedDealsIds replaces the list of linked contacts. Omitted IDs will be removed.
481
+
482
+ name : typing.Optional[str]
483
+ Name of company
484
+
485
+ request_options : typing.Optional[RequestOptions]
486
+ Request-specific configuration.
487
+
488
+ Returns
489
+ -------
490
+ HttpResponse[Company]
491
+ Company updated successfully
492
+ """
493
+ _response = self._client_wrapper.httpx_client.request(
494
+ f"companies/{jsonable_encoder(id)}",
495
+ method="PATCH",
496
+ json={
497
+ "attributes": attributes,
498
+ "countryCode": country_code,
499
+ "linkedContactsIds": linked_contacts_ids,
500
+ "linkedDealsIds": linked_deals_ids,
501
+ "name": name,
502
+ },
503
+ headers={
504
+ "content-type": "application/json",
505
+ },
506
+ request_options=request_options,
507
+ omit=OMIT,
508
+ )
509
+ try:
510
+ if 200 <= _response.status_code < 300:
511
+ _data = typing.cast(
512
+ Company,
513
+ construct_type(
514
+ type_=Company, # type: ignore
515
+ object_=_response.json(),
516
+ ),
517
+ )
518
+ return HttpResponse(response=_response, data=_data)
519
+ if _response.status_code == 400:
520
+ raise BadRequestError(
521
+ headers=dict(_response.headers),
522
+ body=typing.cast(
523
+ typing.Any,
524
+ construct_type(
525
+ type_=typing.Any, # type: ignore
526
+ object_=_response.json(),
527
+ ),
528
+ ),
529
+ )
530
+ if _response.status_code == 404:
531
+ raise NotFoundError(
532
+ headers=dict(_response.headers),
533
+ body=typing.cast(
534
+ typing.Any,
535
+ construct_type(
536
+ type_=typing.Any, # type: ignore
537
+ object_=_response.json(),
538
+ ),
539
+ ),
540
+ )
541
+ _response_json = _response.json()
542
+ except JSONDecodeError:
543
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
544
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
545
+
546
+ def create_a_company_deal_attribute(
547
+ self,
548
+ *,
549
+ attribute_type: PostCrmAttributesRequestAttributeType,
550
+ label: str,
551
+ object_type: PostCrmAttributesRequestObjectType,
552
+ description: typing.Optional[str] = OMIT,
553
+ options_labels: typing.Optional[typing.Sequence[str]] = OMIT,
554
+ request_options: typing.Optional[RequestOptions] = None,
555
+ ) -> HttpResponse[PostCrmAttributesResponse]:
556
+ """
557
+ Parameters
558
+ ----------
559
+ attribute_type : PostCrmAttributesRequestAttributeType
560
+ The type of attribute (must be one of the defined enums)
561
+
562
+ label : str
563
+ The label for the attribute (max 50 characters, cannot be empty)
564
+
565
+ object_type : PostCrmAttributesRequestObjectType
566
+ The type of object the attribute belongs to (prefilled with `companies`, mandatory)
567
+
568
+ description : typing.Optional[str]
569
+ A description of the attribute
570
+
571
+ options_labels : typing.Optional[typing.Sequence[str]]
572
+ Options for multi-choice or single-select attributes
573
+
574
+ request_options : typing.Optional[RequestOptions]
575
+ Request-specific configuration.
576
+
577
+ Returns
578
+ -------
579
+ HttpResponse[PostCrmAttributesResponse]
580
+ Created new attribute
581
+ """
582
+ _response = self._client_wrapper.httpx_client.request(
583
+ "crm/attributes",
584
+ method="POST",
585
+ json={
586
+ "attributeType": attribute_type,
587
+ "description": description,
588
+ "label": label,
589
+ "objectType": object_type,
590
+ "optionsLabels": options_labels,
591
+ },
592
+ headers={
593
+ "content-type": "application/json",
594
+ },
595
+ request_options=request_options,
596
+ omit=OMIT,
597
+ )
598
+ try:
599
+ if 200 <= _response.status_code < 300:
600
+ _data = typing.cast(
601
+ PostCrmAttributesResponse,
602
+ construct_type(
603
+ type_=PostCrmAttributesResponse, # type: ignore
604
+ object_=_response.json(),
605
+ ),
606
+ )
607
+ return HttpResponse(response=_response, data=_data)
608
+ if _response.status_code == 400:
609
+ raise BadRequestError(
610
+ headers=dict(_response.headers),
611
+ body=typing.cast(
612
+ typing.Any,
613
+ construct_type(
614
+ type_=typing.Any, # type: ignore
615
+ object_=_response.json(),
616
+ ),
617
+ ),
618
+ )
619
+ _response_json = _response.json()
620
+ except JSONDecodeError:
621
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
622
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
623
+
624
+ def get_company_attributes(
625
+ self, *, request_options: typing.Optional[RequestOptions] = None
626
+ ) -> HttpResponse[typing.List[GetCrmAttributesCompaniesResponseItem]]:
627
+ """
628
+ Parameters
629
+ ----------
630
+ request_options : typing.Optional[RequestOptions]
631
+ Request-specific configuration.
632
+
633
+ Returns
634
+ -------
635
+ HttpResponse[typing.List[GetCrmAttributesCompaniesResponseItem]]
636
+ Returns list of company attributes
637
+ """
638
+ _response = self._client_wrapper.httpx_client.request(
639
+ "crm/attributes/companies",
640
+ method="GET",
641
+ request_options=request_options,
642
+ )
643
+ try:
644
+ if 200 <= _response.status_code < 300:
645
+ _data = typing.cast(
646
+ typing.List[GetCrmAttributesCompaniesResponseItem],
647
+ construct_type(
648
+ type_=typing.List[GetCrmAttributesCompaniesResponseItem], # type: ignore
649
+ object_=_response.json(),
650
+ ),
651
+ )
652
+ return HttpResponse(response=_response, data=_data)
653
+ _response_json = _response.json()
654
+ except JSONDecodeError:
655
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
656
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
657
+
658
+
659
+ class AsyncRawCompaniesClient:
660
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
661
+ self._client_wrapper = client_wrapper
662
+
663
+ async def get_all_companies(
664
+ self,
665
+ *,
666
+ filters: typing.Optional[str] = None,
667
+ linked_contacts_ids: typing.Optional[int] = None,
668
+ linked_deals_ids: typing.Optional[str] = None,
669
+ modified_since: typing.Optional[str] = None,
670
+ created_since: typing.Optional[str] = None,
671
+ page: typing.Optional[int] = None,
672
+ limit: typing.Optional[int] = None,
673
+ sort: typing.Optional[GetCompaniesRequestSort] = None,
674
+ sort_by: typing.Optional[str] = None,
675
+ request_options: typing.Optional[RequestOptions] = None,
676
+ ) -> AsyncHttpResponse[GetCompaniesResponse]:
677
+ """
678
+ Parameters
679
+ ----------
680
+ filters : typing.Optional[str]
681
+ Filter by attrbutes. If you have filter for owner on your side please send it as {"attributes.owner":"6299dcf3874a14eacbc65c46"}
682
+
683
+ linked_contacts_ids : typing.Optional[int]
684
+ Filter by linked contacts ids
685
+
686
+ linked_deals_ids : typing.Optional[str]
687
+ Filter by linked Deals ids
688
+
689
+ modified_since : typing.Optional[str]
690
+ Filter (urlencoded) the contacts modified after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). Prefer to pass your timezone in date-time format for accurate result.
691
+
692
+ created_since : typing.Optional[str]
693
+ Filter (urlencoded) the contacts created after a given UTC date-time (YYYY-MM-DDTHH:mm:ss.SSSZ). Prefer to pass your timezone in date-time format for accurate result.
694
+
695
+ page : typing.Optional[int]
696
+ Index of the first document of the page
697
+
698
+ limit : typing.Optional[int]
699
+ Number of documents per page
700
+
701
+ sort : typing.Optional[GetCompaniesRequestSort]
702
+ Sort the results in the ascending/descending order. Default order is **descending** by creation if `sort` is not passed
703
+
704
+ sort_by : typing.Optional[str]
705
+ The field used to sort field names.
706
+
707
+ request_options : typing.Optional[RequestOptions]
708
+ Request-specific configuration.
709
+
710
+ Returns
711
+ -------
712
+ AsyncHttpResponse[GetCompaniesResponse]
713
+ Returns companies list with filters
714
+ """
715
+ _response = await self._client_wrapper.httpx_client.request(
716
+ "companies",
717
+ method="GET",
718
+ params={
719
+ "filters": filters,
720
+ "linkedContactsIds": linked_contacts_ids,
721
+ "linkedDealsIds": linked_deals_ids,
722
+ "modifiedSince": modified_since,
723
+ "createdSince": created_since,
724
+ "page": page,
725
+ "limit": limit,
726
+ "sort": sort,
727
+ "sortBy": sort_by,
728
+ },
729
+ request_options=request_options,
730
+ )
731
+ try:
732
+ if 200 <= _response.status_code < 300:
733
+ _data = typing.cast(
734
+ GetCompaniesResponse,
735
+ construct_type(
736
+ type_=GetCompaniesResponse, # type: ignore
737
+ object_=_response.json(),
738
+ ),
739
+ )
740
+ return AsyncHttpResponse(response=_response, data=_data)
741
+ if _response.status_code == 400:
742
+ raise BadRequestError(
743
+ headers=dict(_response.headers),
744
+ body=typing.cast(
745
+ typing.Any,
746
+ construct_type(
747
+ type_=typing.Any, # type: ignore
748
+ object_=_response.json(),
749
+ ),
750
+ ),
751
+ )
752
+ _response_json = _response.json()
753
+ except JSONDecodeError:
754
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
755
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
756
+
757
+ async def create_a_company(
758
+ self,
759
+ *,
760
+ name: str,
761
+ attributes: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
762
+ country_code: typing.Optional[int] = OMIT,
763
+ linked_contacts_ids: typing.Optional[typing.Sequence[int]] = OMIT,
764
+ linked_deals_ids: typing.Optional[typing.Sequence[str]] = OMIT,
765
+ request_options: typing.Optional[RequestOptions] = None,
766
+ ) -> AsyncHttpResponse[PostCompaniesResponse]:
767
+ """
768
+ Parameters
769
+ ----------
770
+ name : str
771
+ Name of company
772
+
773
+ attributes : typing.Optional[typing.Dict[str, typing.Any]]
774
+ Attributes for company creation
775
+
776
+ country_code : typing.Optional[int]
777
+ Country code if phone_number is passed in attributes.
778
+
779
+ linked_contacts_ids : typing.Optional[typing.Sequence[int]]
780
+ Contact ids to be linked with company
781
+
782
+ linked_deals_ids : typing.Optional[typing.Sequence[str]]
783
+ Deal ids to be linked with company
784
+
785
+ request_options : typing.Optional[RequestOptions]
786
+ Request-specific configuration.
787
+
788
+ Returns
789
+ -------
790
+ AsyncHttpResponse[PostCompaniesResponse]
791
+ Created new Company
792
+ """
793
+ _response = await self._client_wrapper.httpx_client.request(
794
+ "companies",
795
+ method="POST",
796
+ json={
797
+ "attributes": attributes,
798
+ "countryCode": country_code,
799
+ "linkedContactsIds": linked_contacts_ids,
800
+ "linkedDealsIds": linked_deals_ids,
801
+ "name": name,
802
+ },
803
+ headers={
804
+ "content-type": "application/json",
805
+ },
806
+ request_options=request_options,
807
+ omit=OMIT,
808
+ )
809
+ try:
810
+ if 200 <= _response.status_code < 300:
811
+ _data = typing.cast(
812
+ PostCompaniesResponse,
813
+ construct_type(
814
+ type_=PostCompaniesResponse, # type: ignore
815
+ object_=_response.json(),
816
+ ),
817
+ )
818
+ return AsyncHttpResponse(response=_response, data=_data)
819
+ if _response.status_code == 400:
820
+ raise BadRequestError(
821
+ headers=dict(_response.headers),
822
+ body=typing.cast(
823
+ typing.Any,
824
+ construct_type(
825
+ type_=typing.Any, # type: ignore
826
+ object_=_response.json(),
827
+ ),
828
+ ),
829
+ )
830
+ _response_json = _response.json()
831
+ except JSONDecodeError:
832
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
833
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
834
+
835
+ async def import_companies_creation_and_updation(
836
+ self,
837
+ *,
838
+ file: typing.Optional[core.File] = OMIT,
839
+ mapping: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
840
+ request_options: typing.Optional[RequestOptions] = None,
841
+ ) -> AsyncHttpResponse[PostCompaniesImportResponse]:
842
+ """
843
+ Import companies from a CSV file with mapping options.
844
+
845
+ Parameters
846
+ ----------
847
+ file : typing.Optional[core.File]
848
+ See core.File for more documentation
849
+
850
+ mapping : typing.Optional[typing.Dict[str, typing.Any]]
851
+ The mapping options in JSON format. Here is an example of the JSON structure: ```json {
852
+ "link_entities": true, // Determines whether to link related entities during the import process
853
+ "unlink_entities": false, // Determines whether to unlink related entities during the import process
854
+ "update_existing_records": true, // Determines whether to update based on company ID or treat every row as create
855
+ "unset_empty_attributes": false // Determines whether to unset a specific attribute during update if the values input is blank
856
+ } ```
857
+
858
+ request_options : typing.Optional[RequestOptions]
859
+ Request-specific configuration.
860
+
861
+ Returns
862
+ -------
863
+ AsyncHttpResponse[PostCompaniesImportResponse]
864
+ Successfully imported companies
865
+ """
866
+ _response = await self._client_wrapper.httpx_client.request(
867
+ "companies/import",
868
+ method="POST",
869
+ data={
870
+ "mapping": json.dumps(jsonable_encoder(mapping)),
871
+ },
872
+ files={
873
+ **({"file": file} if file is not None else {}),
874
+ },
875
+ request_options=request_options,
876
+ omit=OMIT,
877
+ force_multipart=True,
878
+ )
879
+ try:
880
+ if 200 <= _response.status_code < 300:
881
+ _data = typing.cast(
882
+ PostCompaniesImportResponse,
883
+ construct_type(
884
+ type_=PostCompaniesImportResponse, # type: ignore
885
+ object_=_response.json(),
886
+ ),
887
+ )
888
+ return AsyncHttpResponse(response=_response, data=_data)
889
+ if _response.status_code == 400:
890
+ raise BadRequestError(
891
+ headers=dict(_response.headers),
892
+ body=typing.cast(
893
+ typing.Any,
894
+ construct_type(
895
+ type_=typing.Any, # type: ignore
896
+ object_=_response.json(),
897
+ ),
898
+ ),
899
+ )
900
+ _response_json = _response.json()
901
+ except JSONDecodeError:
902
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
903
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
904
+
905
+ async def link_and_unlink_company_with_contact_and_deal(
906
+ self,
907
+ id: str,
908
+ *,
909
+ link_contact_ids: typing.Optional[typing.Sequence[int]] = OMIT,
910
+ link_deals_ids: typing.Optional[typing.Sequence[str]] = OMIT,
911
+ unlink_contact_ids: typing.Optional[typing.Sequence[int]] = OMIT,
912
+ unlink_deals_ids: typing.Optional[typing.Sequence[str]] = OMIT,
913
+ request_options: typing.Optional[RequestOptions] = None,
914
+ ) -> AsyncHttpResponse[None]:
915
+ """
916
+ Parameters
917
+ ----------
918
+ id : str
919
+
920
+ link_contact_ids : typing.Optional[typing.Sequence[int]]
921
+ Contact ids for contacts to be linked with company
922
+
923
+ link_deals_ids : typing.Optional[typing.Sequence[str]]
924
+ Deal ids for deals to be linked with company
925
+
926
+ unlink_contact_ids : typing.Optional[typing.Sequence[int]]
927
+ Contact ids for contacts to be unlinked from company
928
+
929
+ unlink_deals_ids : typing.Optional[typing.Sequence[str]]
930
+ Deal ids for deals to be unlinked from company
931
+
932
+ request_options : typing.Optional[RequestOptions]
933
+ Request-specific configuration.
934
+
935
+ Returns
936
+ -------
937
+ AsyncHttpResponse[None]
938
+ """
939
+ _response = await self._client_wrapper.httpx_client.request(
940
+ f"companies/link-unlink/{jsonable_encoder(id)}",
941
+ method="PATCH",
942
+ json={
943
+ "linkContactIds": link_contact_ids,
944
+ "linkDealsIds": link_deals_ids,
945
+ "unlinkContactIds": unlink_contact_ids,
946
+ "unlinkDealsIds": unlink_deals_ids,
947
+ },
948
+ headers={
949
+ "content-type": "application/json",
950
+ },
951
+ request_options=request_options,
952
+ omit=OMIT,
953
+ )
954
+ try:
955
+ if 200 <= _response.status_code < 300:
956
+ return AsyncHttpResponse(response=_response, data=None)
957
+ if _response.status_code == 400:
958
+ raise BadRequestError(
959
+ headers=dict(_response.headers),
960
+ body=typing.cast(
961
+ typing.Any,
962
+ construct_type(
963
+ type_=typing.Any, # type: ignore
964
+ object_=_response.json(),
965
+ ),
966
+ ),
967
+ )
968
+ _response_json = _response.json()
969
+ except JSONDecodeError:
970
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
971
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
972
+
973
+ async def get_a_company(
974
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
975
+ ) -> AsyncHttpResponse[Company]:
976
+ """
977
+ Parameters
978
+ ----------
979
+ id : str
980
+ Get Company Details
981
+
982
+ request_options : typing.Optional[RequestOptions]
983
+ Request-specific configuration.
984
+
985
+ Returns
986
+ -------
987
+ AsyncHttpResponse[Company]
988
+ Returns the Company
989
+ """
990
+ _response = await self._client_wrapper.httpx_client.request(
991
+ f"companies/{jsonable_encoder(id)}",
992
+ method="GET",
993
+ request_options=request_options,
994
+ )
995
+ try:
996
+ if 200 <= _response.status_code < 300:
997
+ _data = typing.cast(
998
+ Company,
999
+ construct_type(
1000
+ type_=Company, # type: ignore
1001
+ object_=_response.json(),
1002
+ ),
1003
+ )
1004
+ return AsyncHttpResponse(response=_response, data=_data)
1005
+ if _response.status_code == 400:
1006
+ raise BadRequestError(
1007
+ headers=dict(_response.headers),
1008
+ body=typing.cast(
1009
+ typing.Any,
1010
+ construct_type(
1011
+ type_=typing.Any, # type: ignore
1012
+ object_=_response.json(),
1013
+ ),
1014
+ ),
1015
+ )
1016
+ if _response.status_code == 404:
1017
+ raise NotFoundError(
1018
+ headers=dict(_response.headers),
1019
+ body=typing.cast(
1020
+ typing.Any,
1021
+ construct_type(
1022
+ type_=typing.Any, # type: ignore
1023
+ object_=_response.json(),
1024
+ ),
1025
+ ),
1026
+ )
1027
+ _response_json = _response.json()
1028
+ except JSONDecodeError:
1029
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1030
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
1031
+
1032
+ async def delete_a_company(
1033
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
1034
+ ) -> AsyncHttpResponse[None]:
1035
+ """
1036
+ Parameters
1037
+ ----------
1038
+ id : str
1039
+ Company ID to delete
1040
+
1041
+ request_options : typing.Optional[RequestOptions]
1042
+ Request-specific configuration.
1043
+
1044
+ Returns
1045
+ -------
1046
+ AsyncHttpResponse[None]
1047
+ """
1048
+ _response = await self._client_wrapper.httpx_client.request(
1049
+ f"companies/{jsonable_encoder(id)}",
1050
+ method="DELETE",
1051
+ request_options=request_options,
1052
+ )
1053
+ try:
1054
+ if 200 <= _response.status_code < 300:
1055
+ return AsyncHttpResponse(response=_response, data=None)
1056
+ if _response.status_code == 400:
1057
+ raise BadRequestError(
1058
+ headers=dict(_response.headers),
1059
+ body=typing.cast(
1060
+ typing.Any,
1061
+ construct_type(
1062
+ type_=typing.Any, # type: ignore
1063
+ object_=_response.json(),
1064
+ ),
1065
+ ),
1066
+ )
1067
+ if _response.status_code == 404:
1068
+ raise NotFoundError(
1069
+ headers=dict(_response.headers),
1070
+ body=typing.cast(
1071
+ typing.Any,
1072
+ construct_type(
1073
+ type_=typing.Any, # type: ignore
1074
+ object_=_response.json(),
1075
+ ),
1076
+ ),
1077
+ )
1078
+ _response_json = _response.json()
1079
+ except JSONDecodeError:
1080
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1081
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
1082
+
1083
+ async def update_a_company(
1084
+ self,
1085
+ id: str,
1086
+ *,
1087
+ attributes: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
1088
+ country_code: typing.Optional[int] = OMIT,
1089
+ linked_contacts_ids: typing.Optional[typing.Sequence[int]] = OMIT,
1090
+ linked_deals_ids: typing.Optional[typing.Sequence[str]] = OMIT,
1091
+ name: typing.Optional[str] = OMIT,
1092
+ request_options: typing.Optional[RequestOptions] = None,
1093
+ ) -> AsyncHttpResponse[Company]:
1094
+ """
1095
+ Parameters
1096
+ ----------
1097
+ id : str
1098
+
1099
+ attributes : typing.Optional[typing.Dict[str, typing.Any]]
1100
+ Attributes for company update
1101
+
1102
+ country_code : typing.Optional[int]
1103
+ Country code if phone_number is passed in attributes.
1104
+
1105
+ linked_contacts_ids : typing.Optional[typing.Sequence[int]]
1106
+ Warning - Using PATCH on linkedContactIds replaces the list of linked contacts. Omitted IDs will be removed.
1107
+
1108
+ linked_deals_ids : typing.Optional[typing.Sequence[str]]
1109
+ Warning - Using PATCH on linkedDealsIds replaces the list of linked contacts. Omitted IDs will be removed.
1110
+
1111
+ name : typing.Optional[str]
1112
+ Name of company
1113
+
1114
+ request_options : typing.Optional[RequestOptions]
1115
+ Request-specific configuration.
1116
+
1117
+ Returns
1118
+ -------
1119
+ AsyncHttpResponse[Company]
1120
+ Company updated successfully
1121
+ """
1122
+ _response = await self._client_wrapper.httpx_client.request(
1123
+ f"companies/{jsonable_encoder(id)}",
1124
+ method="PATCH",
1125
+ json={
1126
+ "attributes": attributes,
1127
+ "countryCode": country_code,
1128
+ "linkedContactsIds": linked_contacts_ids,
1129
+ "linkedDealsIds": linked_deals_ids,
1130
+ "name": name,
1131
+ },
1132
+ headers={
1133
+ "content-type": "application/json",
1134
+ },
1135
+ request_options=request_options,
1136
+ omit=OMIT,
1137
+ )
1138
+ try:
1139
+ if 200 <= _response.status_code < 300:
1140
+ _data = typing.cast(
1141
+ Company,
1142
+ construct_type(
1143
+ type_=Company, # type: ignore
1144
+ object_=_response.json(),
1145
+ ),
1146
+ )
1147
+ return AsyncHttpResponse(response=_response, data=_data)
1148
+ if _response.status_code == 400:
1149
+ raise BadRequestError(
1150
+ headers=dict(_response.headers),
1151
+ body=typing.cast(
1152
+ typing.Any,
1153
+ construct_type(
1154
+ type_=typing.Any, # type: ignore
1155
+ object_=_response.json(),
1156
+ ),
1157
+ ),
1158
+ )
1159
+ if _response.status_code == 404:
1160
+ raise NotFoundError(
1161
+ headers=dict(_response.headers),
1162
+ body=typing.cast(
1163
+ typing.Any,
1164
+ construct_type(
1165
+ type_=typing.Any, # type: ignore
1166
+ object_=_response.json(),
1167
+ ),
1168
+ ),
1169
+ )
1170
+ _response_json = _response.json()
1171
+ except JSONDecodeError:
1172
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1173
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
1174
+
1175
+ async def create_a_company_deal_attribute(
1176
+ self,
1177
+ *,
1178
+ attribute_type: PostCrmAttributesRequestAttributeType,
1179
+ label: str,
1180
+ object_type: PostCrmAttributesRequestObjectType,
1181
+ description: typing.Optional[str] = OMIT,
1182
+ options_labels: typing.Optional[typing.Sequence[str]] = OMIT,
1183
+ request_options: typing.Optional[RequestOptions] = None,
1184
+ ) -> AsyncHttpResponse[PostCrmAttributesResponse]:
1185
+ """
1186
+ Parameters
1187
+ ----------
1188
+ attribute_type : PostCrmAttributesRequestAttributeType
1189
+ The type of attribute (must be one of the defined enums)
1190
+
1191
+ label : str
1192
+ The label for the attribute (max 50 characters, cannot be empty)
1193
+
1194
+ object_type : PostCrmAttributesRequestObjectType
1195
+ The type of object the attribute belongs to (prefilled with `companies`, mandatory)
1196
+
1197
+ description : typing.Optional[str]
1198
+ A description of the attribute
1199
+
1200
+ options_labels : typing.Optional[typing.Sequence[str]]
1201
+ Options for multi-choice or single-select attributes
1202
+
1203
+ request_options : typing.Optional[RequestOptions]
1204
+ Request-specific configuration.
1205
+
1206
+ Returns
1207
+ -------
1208
+ AsyncHttpResponse[PostCrmAttributesResponse]
1209
+ Created new attribute
1210
+ """
1211
+ _response = await self._client_wrapper.httpx_client.request(
1212
+ "crm/attributes",
1213
+ method="POST",
1214
+ json={
1215
+ "attributeType": attribute_type,
1216
+ "description": description,
1217
+ "label": label,
1218
+ "objectType": object_type,
1219
+ "optionsLabels": options_labels,
1220
+ },
1221
+ headers={
1222
+ "content-type": "application/json",
1223
+ },
1224
+ request_options=request_options,
1225
+ omit=OMIT,
1226
+ )
1227
+ try:
1228
+ if 200 <= _response.status_code < 300:
1229
+ _data = typing.cast(
1230
+ PostCrmAttributesResponse,
1231
+ construct_type(
1232
+ type_=PostCrmAttributesResponse, # type: ignore
1233
+ object_=_response.json(),
1234
+ ),
1235
+ )
1236
+ return AsyncHttpResponse(response=_response, data=_data)
1237
+ if _response.status_code == 400:
1238
+ raise BadRequestError(
1239
+ headers=dict(_response.headers),
1240
+ body=typing.cast(
1241
+ typing.Any,
1242
+ construct_type(
1243
+ type_=typing.Any, # type: ignore
1244
+ object_=_response.json(),
1245
+ ),
1246
+ ),
1247
+ )
1248
+ _response_json = _response.json()
1249
+ except JSONDecodeError:
1250
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1251
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
1252
+
1253
+ async def get_company_attributes(
1254
+ self, *, request_options: typing.Optional[RequestOptions] = None
1255
+ ) -> AsyncHttpResponse[typing.List[GetCrmAttributesCompaniesResponseItem]]:
1256
+ """
1257
+ Parameters
1258
+ ----------
1259
+ request_options : typing.Optional[RequestOptions]
1260
+ Request-specific configuration.
1261
+
1262
+ Returns
1263
+ -------
1264
+ AsyncHttpResponse[typing.List[GetCrmAttributesCompaniesResponseItem]]
1265
+ Returns list of company attributes
1266
+ """
1267
+ _response = await self._client_wrapper.httpx_client.request(
1268
+ "crm/attributes/companies",
1269
+ method="GET",
1270
+ request_options=request_options,
1271
+ )
1272
+ try:
1273
+ if 200 <= _response.status_code < 300:
1274
+ _data = typing.cast(
1275
+ typing.List[GetCrmAttributesCompaniesResponseItem],
1276
+ construct_type(
1277
+ type_=typing.List[GetCrmAttributesCompaniesResponseItem], # type: ignore
1278
+ object_=_response.json(),
1279
+ ),
1280
+ )
1281
+ return AsyncHttpResponse(response=_response, data=_data)
1282
+ _response_json = _response.json()
1283
+ except JSONDecodeError:
1284
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
1285
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)