brevo 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +56 -4
  3. data/docs/Body.md +2 -3
  4. data/docs/Body1.md +2 -3
  5. data/docs/Body10.md +10 -4
  6. data/docs/Body11.md +6 -1
  7. data/docs/Body12.md +1 -4
  8. data/docs/Body13.md +11 -0
  9. data/docs/Body14.md +8 -0
  10. data/docs/Body15.md +11 -0
  11. data/docs/Body2.md +1 -4
  12. data/docs/Body3.md +3 -2
  13. data/docs/Body4.md +3 -2
  14. data/docs/Body5.md +4 -4
  15. data/docs/Body6.md +2 -11
  16. data/docs/Body7.md +2 -10
  17. data/docs/Body8.md +4 -6
  18. data/docs/Body9.md +11 -1
  19. data/docs/CompaniesApi.md +8 -8
  20. data/docs/ContactsApi.md +14 -4
  21. data/docs/ConversationsApi.md +10 -10
  22. data/docs/ConversionSourceMetrics.md +12 -0
  23. data/docs/ConversionSourceProduct.md +15 -0
  24. data/docs/CorporateGroupDetailsResponse.md +10 -0
  25. data/docs/CorporateGroupDetailsResponseGroup.md +10 -0
  26. data/docs/CorporateGroupDetailsResponseSubaccounts.md +10 -0
  27. data/docs/CorporateGroupDetailsResponseUsers.md +10 -0
  28. data/docs/CouponsApi.md +12 -9
  29. data/docs/CreateContact.md +1 -1
  30. data/docs/CreateCouponCollection.md +5 -2
  31. data/docs/CreateDomainModel.md +1 -0
  32. data/docs/CreateDomainModelDnsRecords.md +1 -0
  33. data/docs/CreateWebhook.md +3 -0
  34. data/docs/CreateWhatsAppTemplate.md +1 -0
  35. data/docs/DealsApi.md +10 -10
  36. data/docs/EcommerceApi.md +261 -2
  37. data/docs/EmailCampaignsApi.md +1 -3
  38. data/docs/Event.md +12 -0
  39. data/docs/EventIdentifiers.md +12 -0
  40. data/docs/EventsApi.md +67 -0
  41. data/docs/ExportWebhooksHistory.md +2 -1
  42. data/docs/ExternalFeedsApi.md +2 -2
  43. data/docs/GetContactDetails.md +1 -1
  44. data/docs/GetCorporateInvitedUsersList.md +8 -0
  45. data/docs/GetCorporateInvitedUsersListFeatureAccess.md +11 -0
  46. data/docs/GetCorporateInvitedUsersListGroups.md +9 -0
  47. data/docs/GetCorporateInvitedUsersListUsers.md +12 -0
  48. data/docs/GetCorporateUserPermission.md +11 -0
  49. data/docs/GetCorporateUserPermissionFeatureAccess.md +11 -0
  50. data/docs/GetCorporateUserPermissionGroups.md +9 -0
  51. data/docs/GetCouponCollection.md +9 -6
  52. data/docs/GetExtendedContactDetails.md +1 -1
  53. data/docs/GetOrders.md +9 -0
  54. data/docs/GetWebhook.md +3 -0
  55. data/docs/GetWebhookAuth.md +9 -0
  56. data/docs/GetWebhookHeaders.md +9 -0
  57. data/docs/InlineResponse200.md +1 -1
  58. data/docs/InlineResponse2001.md +2 -3
  59. data/docs/InlineResponse2002.md +8 -0
  60. data/docs/InlineResponse2003.md +10 -0
  61. data/docs/InlineResponse201.md +1 -1
  62. data/docs/InlineResponse2011.md +1 -1
  63. data/docs/InlineResponse2012.md +1 -1
  64. data/docs/InlineResponse2013.md +1 -1
  65. data/docs/InlineResponse2014.md +1 -1
  66. data/docs/InlineResponse2015.md +8 -0
  67. data/docs/InviteAdminUser.md +11 -0
  68. data/docs/InviteAdminUserPrivileges.md +9 -0
  69. data/docs/Inviteuser.md +10 -0
  70. data/docs/InviteuserPrivileges.md +9 -0
  71. data/docs/MasterAccountApi.md +828 -117
  72. data/docs/MasterDetailsResponsePlanInfoFeatures.md +2 -0
  73. data/docs/OrderBatch.md +1 -0
  74. data/docs/PutRevokeUserPermission.md +8 -0
  75. data/docs/Putresendcancelinvitation.md +8 -0
  76. data/docs/RequestContactImport.md +1 -0
  77. data/docs/SendSmtpEmail.md +18 -19
  78. data/docs/SendSmtpEmailMessageVersions.md +2 -0
  79. data/docs/SendWhatsappMessage.md +1 -0
  80. data/docs/SsoTokenRequestCorporate.md +8 -0
  81. data/docs/SubAccountAppsToggleRequest.md +1 -1
  82. data/docs/SubAccountUpdatePlanRequestFeatures.md +2 -2
  83. data/docs/TasksApi.md +8 -8
  84. data/docs/TransactionalEmailsApi.md +7 -7
  85. data/docs/TransactionalWhatsAppApi.md +2 -2
  86. data/docs/UpdateContact.md +1 -1
  87. data/docs/UpdateCouponCollection.md +4 -1
  88. data/docs/UpdateWebhook.md +3 -0
  89. data/docs/UserApi.md +239 -0
  90. data/docs/WebhooksApi.md +4 -4
  91. data/docs/WhatsAppCampaignsApi.md +3 -1
  92. data/lib/brevo/api/companies_api.rb +3 -3
  93. data/lib/brevo/api/contacts_api.rb +14 -2
  94. data/lib/brevo/api/conversations_api.rb +2 -2
  95. data/lib/brevo/api/coupons_api.rb +15 -16
  96. data/lib/brevo/api/deals_api.rb +5 -5
  97. data/lib/brevo/api/ecommerce_api.rb +250 -0
  98. data/lib/brevo/api/email_campaigns_api.rb +0 -3
  99. data/lib/brevo/api/events_api.rb +86 -0
  100. data/lib/brevo/api/external_feeds_api.rb +3 -3
  101. data/lib/brevo/api/master_account_api.rb +652 -4
  102. data/lib/brevo/api/tasks_api.rb +5 -5
  103. data/lib/brevo/api/transactional_emails_api.rb +11 -11
  104. data/lib/brevo/api/transactional_whats_app_api.rb +3 -3
  105. data/lib/brevo/api/user_api.rb +222 -0
  106. data/lib/brevo/api/webhooks_api.rb +4 -4
  107. data/lib/brevo/api/whats_app_campaigns_api.rb +6 -0
  108. data/lib/brevo/models/body.rb +20 -28
  109. data/lib/brevo/models/body_1.rb +22 -25
  110. data/lib/brevo/models/body_10.rb +95 -39
  111. data/lib/brevo/models/body_11.rb +60 -5
  112. data/lib/brevo/models/body_12.rb +13 -38
  113. data/lib/brevo/models/body_13.rb +225 -0
  114. data/lib/brevo/models/body_14.rb +190 -0
  115. data/lib/brevo/models/body_15.rb +215 -0
  116. data/lib/brevo/models/body_2.rb +14 -45
  117. data/lib/brevo/models/body_3.rb +16 -6
  118. data/lib/brevo/models/body_4.rb +16 -6
  119. data/lib/brevo/models/body_5.rb +19 -19
  120. data/lib/brevo/models/body_6.rb +9 -129
  121. data/lib/brevo/models/body_7.rb +9 -95
  122. data/lib/brevo/models/body_8.rb +37 -59
  123. data/lib/brevo/models/body_9.rb +141 -11
  124. data/lib/brevo/models/conversion_source_metrics.rb +279 -0
  125. data/lib/brevo/models/conversion_source_product.rb +252 -0
  126. data/lib/brevo/models/corporate_group_details_response.rb +206 -0
  127. data/lib/brevo/models/corporate_group_details_response_group.rb +205 -0
  128. data/lib/brevo/models/corporate_group_details_response_subaccounts.rb +205 -0
  129. data/lib/brevo/models/corporate_group_details_response_users.rb +205 -0
  130. data/lib/brevo/models/create_contact.rb +1 -1
  131. data/lib/brevo/models/create_coupon_collection.rb +37 -7
  132. data/lib/brevo/models/create_domain_model.rb +11 -1
  133. data/lib/brevo/models/create_domain_model_dns_records.rb +13 -4
  134. data/lib/brevo/models/create_webhook.rb +35 -4
  135. data/lib/brevo/models/create_whats_app_template.rb +28 -6
  136. data/lib/brevo/models/event.rb +234 -0
  137. data/lib/brevo/models/event_identifiers.rb +236 -0
  138. data/lib/brevo/models/export_webhooks_history.rb +31 -4
  139. data/lib/brevo/models/get_contact_details.rb +0 -5
  140. data/lib/brevo/models/get_corporate_invited_users_list.rb +187 -0
  141. data/lib/brevo/models/get_corporate_invited_users_list_feature_access.rb +224 -0
  142. data/lib/brevo/models/get_corporate_invited_users_list_groups.rb +196 -0
  143. data/lib/brevo/models/get_corporate_invited_users_list_users.rb +248 -0
  144. data/lib/brevo/models/get_corporate_user_permission.rb +236 -0
  145. data/lib/brevo/models/get_corporate_user_permission_feature_access.rb +224 -0
  146. data/lib/brevo/models/get_corporate_user_permission_groups.rb +196 -0
  147. data/lib/brevo/models/get_coupon_collection.rb +40 -10
  148. data/lib/brevo/models/get_extended_contact_details.rb +0 -5
  149. data/lib/brevo/models/get_orders.rb +196 -0
  150. data/lib/brevo/models/get_webhook.rb +35 -4
  151. data/lib/brevo/models/get_webhook_auth.rb +196 -0
  152. data/lib/brevo/models/get_webhook_headers.rb +195 -0
  153. data/lib/brevo/models/inline_response_200.rb +7 -14
  154. data/lib/brevo/models/inline_response_200_1.rb +9 -34
  155. data/lib/brevo/models/inline_response_200_2.rb +191 -0
  156. data/lib/brevo/models/inline_response_200_3.rb +215 -0
  157. data/lib/brevo/models/inline_response_201.rb +0 -7
  158. data/lib/brevo/models/inline_response_201_1.rb +2 -2
  159. data/lib/brevo/models/inline_response_201_2.rb +2 -1
  160. data/lib/brevo/models/inline_response_201_3.rb +11 -11
  161. data/lib/brevo/models/inline_response_201_4.rb +11 -11
  162. data/lib/brevo/models/inline_response_201_5.rb +190 -0
  163. data/lib/brevo/models/invite_admin_user.rb +233 -0
  164. data/lib/brevo/models/invite_admin_user_privileges.rb +232 -0
  165. data/lib/brevo/models/inviteuser.rb +221 -0
  166. data/lib/brevo/models/inviteuser_privileges.rb +232 -0
  167. data/lib/brevo/models/master_details_response_plan_info_features.rb +21 -1
  168. data/lib/brevo/models/order_batch.rb +16 -4
  169. data/lib/brevo/models/put_revoke_user_permission.rb +191 -0
  170. data/lib/brevo/models/putresendcancelinvitation.rb +191 -0
  171. data/lib/brevo/models/request_contact_import.rb +13 -1
  172. data/lib/brevo/models/send_smtp_email_message_versions.rb +24 -4
  173. data/lib/brevo/models/send_whatsapp_message.rb +11 -1
  174. data/lib/brevo/models/sso_token_request_corporate.rb +190 -0
  175. data/lib/brevo/models/sub_account_apps_toggle_request.rb +1 -1
  176. data/lib/brevo/models/sub_account_details_response_plan_info_features_inbox.rb +1 -1
  177. data/lib/brevo/models/sub_account_details_response_plan_info_features_landing_page.rb +1 -1
  178. data/lib/brevo/models/sub_account_update_plan_request_features.rb +2 -2
  179. data/lib/brevo/models/update_contact.rb +1 -1
  180. data/lib/brevo/models/update_coupon_collection.rb +34 -9
  181. data/lib/brevo/models/update_webhook.rb +35 -4
  182. data/lib/brevo/version.rb +1 -1
  183. data/lib/brevo.rb +32 -0
  184. data/spec/api/companies_api_spec.rb +1 -1
  185. data/spec/api/contacts_api_spec.rb +5 -1
  186. data/spec/api/conversations_api_spec.rb +1 -1
  187. data/spec/api/coupons_api_spec.rb +4 -3
  188. data/spec/api/deals_api_spec.rb +2 -2
  189. data/spec/api/ecommerce_api_spec.rb +57 -0
  190. data/spec/api/email_campaigns_api_spec.rb +0 -1
  191. data/spec/api/events_api_spec.rb +47 -0
  192. data/spec/api/external_feeds_api_spec.rb +1 -1
  193. data/spec/api/master_account_api_spec.rb +145 -1
  194. data/spec/api/tasks_api_spec.rb +2 -2
  195. data/spec/api/transactional_emails_api_spec.rb +3 -3
  196. data/spec/api/transactional_whats_app_api_spec.rb +1 -1
  197. data/spec/api/user_api_spec.rb +47 -0
  198. data/spec/api/webhooks_api_spec.rb +2 -2
  199. data/spec/api/whats_app_campaigns_api_spec.rb +1 -0
  200. data/spec/models/body_10_spec.rb +40 -4
  201. data/spec/models/body_11_spec.rb +30 -0
  202. data/spec/models/body_12_spec.rb +1 -19
  203. data/spec/models/body_13_spec.rb +59 -0
  204. data/spec/models/body_14_spec.rb +41 -0
  205. data/spec/models/body_15_spec.rb +59 -0
  206. data/spec/models/body_1_spec.rb +2 -8
  207. data/spec/models/body_2_spec.rb +1 -19
  208. data/spec/models/body_3_spec.rb +6 -0
  209. data/spec/models/body_4_spec.rb +6 -0
  210. data/spec/models/body_5_spec.rb +2 -2
  211. data/spec/models/body_6_spec.rb +1 -55
  212. data/spec/models/body_7_spec.rb +1 -49
  213. data/spec/models/body_8_spec.rb +4 -16
  214. data/spec/models/body_9_spec.rb +61 -1
  215. data/spec/models/body_spec.rb +2 -8
  216. data/spec/models/conversion_source_metrics_spec.rb +69 -0
  217. data/spec/models/conversion_source_product_spec.rb +83 -0
  218. data/spec/models/corporate_group_details_response_group_spec.rb +53 -0
  219. data/spec/models/corporate_group_details_response_spec.rb +53 -0
  220. data/spec/models/corporate_group_details_response_subaccounts_spec.rb +53 -0
  221. data/spec/models/corporate_group_details_response_users_spec.rb +53 -0
  222. data/spec/models/create_coupon_collection_spec.rb +18 -0
  223. data/spec/models/create_domain_model_dns_records_spec.rb +6 -0
  224. data/spec/models/create_domain_model_spec.rb +6 -0
  225. data/spec/models/create_webhook_spec.rb +18 -0
  226. data/spec/models/create_whats_app_template_spec.rb +11 -1
  227. data/spec/models/event_identifiers_spec.rb +65 -0
  228. data/spec/models/event_spec.rb +65 -0
  229. data/spec/models/export_webhooks_history_spec.rb +11 -1
  230. data/spec/models/get_corporate_invited_users_list_feature_access_spec.rb +59 -0
  231. data/spec/models/get_corporate_invited_users_list_groups_spec.rb +47 -0
  232. data/spec/models/get_corporate_invited_users_list_spec.rb +41 -0
  233. data/spec/models/get_corporate_invited_users_list_users_spec.rb +65 -0
  234. data/spec/models/get_corporate_user_permission_feature_access_spec.rb +59 -0
  235. data/spec/models/get_corporate_user_permission_groups_spec.rb +47 -0
  236. data/spec/models/get_corporate_user_permission_spec.rb +59 -0
  237. data/spec/models/get_coupon_collection_spec.rb +18 -0
  238. data/spec/models/get_orders_spec.rb +47 -0
  239. data/spec/models/get_webhook_auth_spec.rb +47 -0
  240. data/spec/models/get_webhook_headers_spec.rb +47 -0
  241. data/spec/models/get_webhook_spec.rb +18 -0
  242. data/spec/models/inline_response_200_1_spec.rb +1 -7
  243. data/spec/models/inline_response_200_2_spec.rb +41 -0
  244. data/spec/models/inline_response_200_3_spec.rb +53 -0
  245. data/spec/models/inline_response_200_spec.rb +1 -1
  246. data/spec/models/inline_response_201_3_spec.rb +1 -1
  247. data/spec/models/inline_response_201_4_spec.rb +1 -1
  248. data/spec/models/inline_response_201_5_spec.rb +41 -0
  249. data/spec/models/invite_admin_user_privileges_spec.rb +55 -0
  250. data/spec/models/invite_admin_user_spec.rb +59 -0
  251. data/spec/models/inviteuser_privileges_spec.rb +55 -0
  252. data/spec/models/inviteuser_spec.rb +53 -0
  253. data/spec/models/master_details_response_plan_info_features_spec.rb +12 -0
  254. data/spec/models/order_batch_spec.rb +6 -0
  255. data/spec/models/put_revoke_user_permission_spec.rb +41 -0
  256. data/spec/models/putresendcancelinvitation_spec.rb +41 -0
  257. data/spec/models/request_contact_import_spec.rb +6 -0
  258. data/spec/models/send_smtp_email_message_versions_spec.rb +12 -0
  259. data/spec/models/send_whatsapp_message_spec.rb +6 -0
  260. data/spec/models/sso_token_request_corporate_spec.rb +41 -0
  261. data/spec/models/update_coupon_collection_spec.rb +18 -0
  262. data/spec/models/update_webhook_spec.rb +18 -0
  263. metadata +152 -24
@@ -14,20 +14,69 @@ require 'date'
14
14
 
15
15
  module Brevo
16
16
  class Body9
17
- # edited message text
18
- attr_accessor :text
17
+ # Name of task
18
+ attr_accessor :name
19
+
20
+ # Duration of task in milliseconds [1 minute = 60000 ms]
21
+ attr_accessor :duration
22
+
23
+ # Id for type of task e.g Call / Email / Meeting etc.
24
+ attr_accessor :task_type_id
25
+
26
+ # Task due date and time
27
+ attr_accessor :date
28
+
29
+ # Notes added to a task
30
+ attr_accessor :notes
31
+
32
+ # Task marked as done
33
+ attr_accessor :done
34
+
35
+ # To assign a task to a user you can use either the account email or ID.
36
+ attr_accessor :assign_to_id
37
+
38
+ # Contact ids for contacts linked to this task
39
+ attr_accessor :contacts_ids
40
+
41
+ # Deal ids for deals a task is linked to
42
+ attr_accessor :deals_ids
43
+
44
+ # Companies ids for companies a task is linked to
45
+ attr_accessor :companies_ids
46
+
47
+ attr_accessor :reminder
19
48
 
20
49
  # Attribute mapping from ruby-style variable name to JSON key.
21
50
  def self.attribute_map
22
51
  {
23
- :'text' => :'text'
52
+ :'name' => :'name',
53
+ :'duration' => :'duration',
54
+ :'task_type_id' => :'taskTypeId',
55
+ :'date' => :'date',
56
+ :'notes' => :'notes',
57
+ :'done' => :'done',
58
+ :'assign_to_id' => :'assignToId',
59
+ :'contacts_ids' => :'contactsIds',
60
+ :'deals_ids' => :'dealsIds',
61
+ :'companies_ids' => :'companiesIds',
62
+ :'reminder' => :'reminder'
24
63
  }
25
64
  end
26
65
 
27
66
  # Attribute type mapping.
28
67
  def self.swagger_types
29
68
  {
30
- :'text' => :'String'
69
+ :'name' => :'String',
70
+ :'duration' => :'Integer',
71
+ :'task_type_id' => :'String',
72
+ :'date' => :'DateTime',
73
+ :'notes' => :'String',
74
+ :'done' => :'BOOLEAN',
75
+ :'assign_to_id' => :'String',
76
+ :'contacts_ids' => :'Array<Integer>',
77
+ :'deals_ids' => :'Array<String>',
78
+ :'companies_ids' => :'Array<String>',
79
+ :'reminder' => :'TaskReminder'
31
80
  }
32
81
  end
33
82
 
@@ -39,8 +88,54 @@ module Brevo
39
88
  # convert string to symbol for hash key
40
89
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
41
90
 
42
- if attributes.has_key?(:'text')
43
- self.text = attributes[:'text']
91
+ if attributes.has_key?(:'name')
92
+ self.name = attributes[:'name']
93
+ end
94
+
95
+ if attributes.has_key?(:'duration')
96
+ self.duration = attributes[:'duration']
97
+ end
98
+
99
+ if attributes.has_key?(:'taskTypeId')
100
+ self.task_type_id = attributes[:'taskTypeId']
101
+ end
102
+
103
+ if attributes.has_key?(:'date')
104
+ self.date = attributes[:'date']
105
+ end
106
+
107
+ if attributes.has_key?(:'notes')
108
+ self.notes = attributes[:'notes']
109
+ end
110
+
111
+ if attributes.has_key?(:'done')
112
+ self.done = attributes[:'done']
113
+ end
114
+
115
+ if attributes.has_key?(:'assignToId')
116
+ self.assign_to_id = attributes[:'assignToId']
117
+ end
118
+
119
+ if attributes.has_key?(:'contactsIds')
120
+ if (value = attributes[:'contactsIds']).is_a?(Array)
121
+ self.contacts_ids = value
122
+ end
123
+ end
124
+
125
+ if attributes.has_key?(:'dealsIds')
126
+ if (value = attributes[:'dealsIds']).is_a?(Array)
127
+ self.deals_ids = value
128
+ end
129
+ end
130
+
131
+ if attributes.has_key?(:'companiesIds')
132
+ if (value = attributes[:'companiesIds']).is_a?(Array)
133
+ self.companies_ids = value
134
+ end
135
+ end
136
+
137
+ if attributes.has_key?(:'reminder')
138
+ self.reminder = attributes[:'reminder']
44
139
  end
45
140
  end
46
141
 
@@ -48,8 +143,20 @@ module Brevo
48
143
  # @return Array for valid properties with the reasons
49
144
  def list_invalid_properties
50
145
  invalid_properties = Array.new
51
- if @text.nil?
52
- invalid_properties.push('invalid value for "text", text cannot be nil.')
146
+ if @name.nil?
147
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
148
+ end
149
+
150
+ if !@duration.nil? && @duration < 0
151
+ invalid_properties.push('invalid value for "duration", must be greater than or equal to 0.')
152
+ end
153
+
154
+ if @task_type_id.nil?
155
+ invalid_properties.push('invalid value for "task_type_id", task_type_id cannot be nil.')
156
+ end
157
+
158
+ if @date.nil?
159
+ invalid_properties.push('invalid value for "date", date cannot be nil.')
53
160
  end
54
161
 
55
162
  invalid_properties
@@ -58,16 +165,39 @@ module Brevo
58
165
  # Check to see if the all the properties in the model are valid
59
166
  # @return true if the model is valid
60
167
  def valid?
61
- return false if @text.nil?
168
+ return false if @name.nil?
169
+ return false if !@duration.nil? && @duration < 0
170
+ return false if @task_type_id.nil?
171
+ return false if @date.nil?
62
172
  true
63
173
  end
64
174
 
175
+ # Custom attribute writer method with validation
176
+ # @param [Object] duration Value to be assigned
177
+ def duration=(duration)
178
+ if !duration.nil? && duration < 0
179
+ fail ArgumentError, 'invalid value for "duration", must be greater than or equal to 0.'
180
+ end
181
+
182
+ @duration = duration
183
+ end
184
+
65
185
  # Checks equality by comparing each attribute.
66
186
  # @param [Object] Object to be compared
67
187
  def ==(o)
68
188
  return true if self.equal?(o)
69
189
  self.class == o.class &&
70
- text == o.text
190
+ name == o.name &&
191
+ duration == o.duration &&
192
+ task_type_id == o.task_type_id &&
193
+ date == o.date &&
194
+ notes == o.notes &&
195
+ done == o.done &&
196
+ assign_to_id == o.assign_to_id &&
197
+ contacts_ids == o.contacts_ids &&
198
+ deals_ids == o.deals_ids &&
199
+ companies_ids == o.companies_ids &&
200
+ reminder == o.reminder
71
201
  end
72
202
 
73
203
  # @see the `==` method
@@ -79,7 +209,7 @@ module Brevo
79
209
  # Calculates hash code according to all attributes.
80
210
  # @return [Fixnum] Hash code
81
211
  def hash
82
- [text].hash
212
+ [name, duration, task_type_id, date, notes, done, assign_to_id, contacts_ids, deals_ids, companies_ids, reminder].hash
83
213
  end
84
214
 
85
215
  # Builds the object from hash
@@ -0,0 +1,279 @@
1
+ =begin
2
+ #Brevo API
3
+
4
+ #Brevo provide a RESTFul API that can be used with any languages. With this API, you will be able to : - Manage your campaigns and get the statistics - Manage your contacts - Send transactional Emails and SMS - and much more... You can download our wrappers at https://github.com/orgs/brevo **Possible responses** | Code | Message | | :-------------: | ------------- | | 200 | OK. Successful Request | | 201 | OK. Successful Creation | | 202 | OK. Request accepted | | 204 | OK. Successful Update/Deletion | | 400 | Error. Bad Request | | 401 | Error. Authentication Needed | | 402 | Error. Not enough credit, plan upgrade needed | | 403 | Error. Permission denied | | 404 | Error. Object does not exist | | 405 | Error. Method not allowed | | 406 | Error. Not Acceptable |
5
+
6
+ OpenAPI spec version: 3.0.0
7
+ Contact: contact@brevo.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.19
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module Brevo
16
+ class ConversionSourceMetrics
17
+ attr_accessor :id
18
+
19
+ attr_accessor :conversion_source
20
+
21
+ attr_accessor :orders_count
22
+
23
+ attr_accessor :revenue
24
+
25
+ attr_accessor :average_basket
26
+
27
+ class EnumAttributeValidator
28
+ attr_reader :datatype
29
+ attr_reader :allowable_values
30
+
31
+ def initialize(datatype, allowable_values)
32
+ @allowable_values = allowable_values.map do |value|
33
+ case datatype.to_s
34
+ when /Integer/i
35
+ value.to_i
36
+ when /Float/i
37
+ value.to_f
38
+ else
39
+ value
40
+ end
41
+ end
42
+ end
43
+
44
+ def valid?(value)
45
+ !value || allowable_values.include?(value)
46
+ end
47
+ end
48
+
49
+ # Attribute mapping from ruby-style variable name to JSON key.
50
+ def self.attribute_map
51
+ {
52
+ :'id' => :'id',
53
+ :'conversion_source' => :'conversionSource',
54
+ :'orders_count' => :'ordersCount',
55
+ :'revenue' => :'revenue',
56
+ :'average_basket' => :'averageBasket'
57
+ }
58
+ end
59
+
60
+ # Attribute type mapping.
61
+ def self.swagger_types
62
+ {
63
+ :'id' => :'Float',
64
+ :'conversion_source' => :'String',
65
+ :'orders_count' => :'Float',
66
+ :'revenue' => :'Float',
67
+ :'average_basket' => :'Float'
68
+ }
69
+ end
70
+
71
+ # Initializes the object
72
+ # @param [Hash] attributes Model attributes in the form of hash
73
+ def initialize(attributes = {})
74
+ return unless attributes.is_a?(Hash)
75
+
76
+ # convert string to symbol for hash key
77
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
78
+
79
+ if attributes.has_key?(:'id')
80
+ self.id = attributes[:'id']
81
+ end
82
+
83
+ if attributes.has_key?(:'conversionSource')
84
+ self.conversion_source = attributes[:'conversionSource']
85
+ end
86
+
87
+ if attributes.has_key?(:'ordersCount')
88
+ self.orders_count = attributes[:'ordersCount']
89
+ end
90
+
91
+ if attributes.has_key?(:'revenue')
92
+ self.revenue = attributes[:'revenue']
93
+ end
94
+
95
+ if attributes.has_key?(:'averageBasket')
96
+ self.average_basket = attributes[:'averageBasket']
97
+ end
98
+ end
99
+
100
+ # Show invalid properties with the reasons. Usually used together with valid?
101
+ # @return Array for valid properties with the reasons
102
+ def list_invalid_properties
103
+ invalid_properties = Array.new
104
+ if @id.nil?
105
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
106
+ end
107
+
108
+ if @conversion_source.nil?
109
+ invalid_properties.push('invalid value for "conversion_source", conversion_source cannot be nil.')
110
+ end
111
+
112
+ if @orders_count.nil?
113
+ invalid_properties.push('invalid value for "orders_count", orders_count cannot be nil.')
114
+ end
115
+
116
+ if @revenue.nil?
117
+ invalid_properties.push('invalid value for "revenue", revenue cannot be nil.')
118
+ end
119
+
120
+ if @average_basket.nil?
121
+ invalid_properties.push('invalid value for "average_basket", average_basket cannot be nil.')
122
+ end
123
+
124
+ invalid_properties
125
+ end
126
+
127
+ # Check to see if the all the properties in the model are valid
128
+ # @return true if the model is valid
129
+ def valid?
130
+ return false if @id.nil?
131
+ return false if @conversion_source.nil?
132
+ conversion_source_validator = EnumAttributeValidator.new('String', ['email_campaign'])
133
+ return false unless conversion_source_validator.valid?(@conversion_source)
134
+ return false if @orders_count.nil?
135
+ return false if @revenue.nil?
136
+ return false if @average_basket.nil?
137
+ true
138
+ end
139
+
140
+ # Custom attribute writer method checking allowed values (enum).
141
+ # @param [Object] conversion_source Object to be assigned
142
+ def conversion_source=(conversion_source)
143
+ validator = EnumAttributeValidator.new('String', ['email_campaign'])
144
+ unless validator.valid?(conversion_source)
145
+ fail ArgumentError, 'invalid value for "conversion_source", must be one of #{validator.allowable_values}.'
146
+ end
147
+ @conversion_source = conversion_source
148
+ end
149
+
150
+ # Checks equality by comparing each attribute.
151
+ # @param [Object] Object to be compared
152
+ def ==(o)
153
+ return true if self.equal?(o)
154
+ self.class == o.class &&
155
+ id == o.id &&
156
+ conversion_source == o.conversion_source &&
157
+ orders_count == o.orders_count &&
158
+ revenue == o.revenue &&
159
+ average_basket == o.average_basket
160
+ end
161
+
162
+ # @see the `==` method
163
+ # @param [Object] Object to be compared
164
+ def eql?(o)
165
+ self == o
166
+ end
167
+
168
+ # Calculates hash code according to all attributes.
169
+ # @return [Fixnum] Hash code
170
+ def hash
171
+ [id, conversion_source, orders_count, revenue, average_basket].hash
172
+ end
173
+
174
+ # Builds the object from hash
175
+ # @param [Hash] attributes Model attributes in the form of hash
176
+ # @return [Object] Returns the model itself
177
+ def build_from_hash(attributes)
178
+ return nil unless attributes.is_a?(Hash)
179
+ self.class.swagger_types.each_pair do |key, type|
180
+ if type =~ /\AArray<(.*)>/i
181
+ # check to ensure the input is an array given that the attribute
182
+ # is documented as an array but the input is not
183
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
184
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
185
+ end
186
+ elsif !attributes[self.class.attribute_map[key]].nil?
187
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
188
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
189
+ end
190
+
191
+ self
192
+ end
193
+
194
+ # Deserializes the data based on type
195
+ # @param string type Data type
196
+ # @param string value Value to be deserialized
197
+ # @return [Object] Deserialized data
198
+ def _deserialize(type, value)
199
+ case type.to_sym
200
+ when :DateTime
201
+ DateTime.parse(value)
202
+ when :Date
203
+ Date.parse(value)
204
+ when :String
205
+ value.to_s
206
+ when :Integer
207
+ value.to_i
208
+ when :Float
209
+ value.to_f
210
+ when :BOOLEAN
211
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
212
+ true
213
+ else
214
+ false
215
+ end
216
+ when :Object
217
+ # generic object (usually a Hash), return directly
218
+ value
219
+ when /\AArray<(?<inner_type>.+)>\z/
220
+ inner_type = Regexp.last_match[:inner_type]
221
+ value.map { |v| _deserialize(inner_type, v) }
222
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
223
+ k_type = Regexp.last_match[:k_type]
224
+ v_type = Regexp.last_match[:v_type]
225
+ {}.tap do |hash|
226
+ value.each do |k, v|
227
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
228
+ end
229
+ end
230
+ else # model
231
+ temp_model = Brevo.const_get(type).new
232
+ temp_model.build_from_hash(value)
233
+ end
234
+ end
235
+
236
+ # Returns the string representation of the object
237
+ # @return [String] String presentation of the object
238
+ def to_s
239
+ to_hash.to_s
240
+ end
241
+
242
+ # to_body is an alias to to_hash (backward compatibility)
243
+ # @return [Hash] Returns the object in the form of hash
244
+ def to_body
245
+ to_hash
246
+ end
247
+
248
+ # Returns the object in the form of hash
249
+ # @return [Hash] Returns the object in the form of hash
250
+ def to_hash
251
+ hash = {}
252
+ self.class.attribute_map.each_pair do |attr, param|
253
+ value = self.send(attr)
254
+ next if value.nil?
255
+ hash[param] = _to_hash(value)
256
+ end
257
+ hash
258
+ end
259
+
260
+ # Outputs non-array value in the form of hash
261
+ # For object, use to_hash. Otherwise, just return the value
262
+ # @param [Object] value Any valid value
263
+ # @return [Hash] Returns the value in the form of hash
264
+ def _to_hash(value)
265
+ if value.is_a?(Array)
266
+ value.compact.map { |v| _to_hash(v) }
267
+ elsif value.is_a?(Hash)
268
+ {}.tap do |hash|
269
+ value.each { |k, v| hash[k] = _to_hash(v) }
270
+ end
271
+ elsif value.respond_to? :to_hash
272
+ value.to_hash
273
+ else
274
+ value
275
+ end
276
+ end
277
+
278
+ end
279
+ end