ElasticEmail 4.0.23 → 4.0.25

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 (261) hide show
  1. checksums.yaml +4 -4
  2. data/ElasticEmail.gemspec +2 -1
  3. data/README.md +28 -4
  4. data/VERSION +1 -1
  5. data/docs/CampaignOptions.md +4 -0
  6. data/docs/CampaignTemplate.md +2 -2
  7. data/docs/CampaignsApi.md +71 -0
  8. data/docs/CertificateValidationStatus.md +15 -0
  9. data/docs/DomainData.md +54 -0
  10. data/docs/DomainDetail.md +52 -0
  11. data/docs/{TemplateScopeType.md → DomainOwner.md} +2 -2
  12. data/docs/DomainPayload.md +20 -0
  13. data/docs/DomainUpdatePayload.md +24 -0
  14. data/docs/DomainsApi.md +583 -0
  15. data/docs/EmailContent.md +2 -2
  16. data/docs/EmailJobFailedStatus.md +24 -0
  17. data/docs/EmailJobStatus.md +56 -0
  18. data/docs/EmailMessageData.md +1 -1
  19. data/docs/EmailStatus.md +3 -1
  20. data/docs/EmailTransactionalMessageData.md +1 -1
  21. data/docs/EmailValidationResult.md +2 -2
  22. data/docs/EmailsApi.md +98 -4
  23. data/docs/EmailsPayload.md +1 -1
  24. data/docs/ListPayload.md +1 -1
  25. data/docs/ListsApi.md +78 -0
  26. data/docs/MergeEmailPayload.md +1 -1
  27. data/docs/{ContactHistEventType.md → MessageCategoryEnum.md} +2 -2
  28. data/docs/TrackingType.md +15 -0
  29. data/docs/TrackingValidationStatus.md +15 -0
  30. data/lib/ElasticEmail/api/campaigns_api.rb +62 -1
  31. data/lib/ElasticEmail/api/contacts_api.rb +1 -1
  32. data/lib/ElasticEmail/api/domains_api.rb +545 -0
  33. data/lib/ElasticEmail/api/emails_api.rb +96 -3
  34. data/lib/ElasticEmail/api/events_api.rb +1 -1
  35. data/lib/ElasticEmail/api/files_api.rb +1 -1
  36. data/lib/ElasticEmail/api/inbound_route_api.rb +1 -1
  37. data/lib/ElasticEmail/api/lists_api.rb +70 -1
  38. data/lib/ElasticEmail/api/security_api.rb +1 -1
  39. data/lib/ElasticEmail/api/segments_api.rb +1 -1
  40. data/lib/ElasticEmail/api/statistics_api.rb +1 -1
  41. data/lib/ElasticEmail/api/sub_accounts_api.rb +1 -1
  42. data/lib/ElasticEmail/api/suppressions_api.rb +1 -1
  43. data/lib/ElasticEmail/api/templates_api.rb +1 -1
  44. data/lib/ElasticEmail/api/verifications_api.rb +1 -1
  45. data/lib/ElasticEmail/api_client.rb +23 -21
  46. data/lib/ElasticEmail/api_error.rb +1 -1
  47. data/lib/ElasticEmail/configuration.rb +18 -10
  48. data/lib/ElasticEmail/models/access_level.rb +4 -3
  49. data/lib/ElasticEmail/models/account_status_enum.rb +1 -1
  50. data/lib/ElasticEmail/models/api_key.rb +14 -19
  51. data/lib/ElasticEmail/models/api_key_payload.rb +18 -19
  52. data/lib/ElasticEmail/models/body_content_type.rb +1 -1
  53. data/lib/ElasticEmail/models/body_part.rb +14 -19
  54. data/lib/ElasticEmail/models/campaign.rb +18 -19
  55. data/lib/ElasticEmail/models/campaign_options.rb +35 -20
  56. data/lib/ElasticEmail/models/campaign_recipient.rb +14 -19
  57. data/lib/ElasticEmail/models/campaign_status.rb +1 -1
  58. data/lib/ElasticEmail/models/campaign_template.rb +21 -19
  59. data/lib/ElasticEmail/models/certificate_validation_status.rb +42 -0
  60. data/lib/ElasticEmail/models/channel_log_status_summary.rb +14 -19
  61. data/lib/ElasticEmail/models/compression_format.rb +1 -1
  62. data/lib/ElasticEmail/models/consent_data.rb +14 -19
  63. data/lib/ElasticEmail/models/consent_tracking.rb +1 -1
  64. data/lib/ElasticEmail/models/contact.rb +14 -19
  65. data/lib/ElasticEmail/models/contact_activity.rb +14 -19
  66. data/lib/ElasticEmail/models/contact_payload.rb +16 -19
  67. data/lib/ElasticEmail/models/contact_source.rb +1 -1
  68. data/lib/ElasticEmail/models/contact_status.rb +1 -1
  69. data/lib/ElasticEmail/models/contact_update_payload.rb +14 -19
  70. data/lib/ElasticEmail/models/contacts_list.rb +14 -19
  71. data/lib/ElasticEmail/models/delivery_optimization_type.rb +1 -1
  72. data/lib/ElasticEmail/models/domain_data.rb +417 -0
  73. data/lib/ElasticEmail/models/domain_detail.rb +407 -0
  74. data/lib/ElasticEmail/models/domain_owner.rb +40 -0
  75. data/lib/ElasticEmail/models/domain_payload.rb +224 -0
  76. data/lib/ElasticEmail/models/{contact_history.rb → domain_update_payload.rb} +63 -79
  77. data/lib/ElasticEmail/models/email_content.rb +21 -19
  78. data/lib/ElasticEmail/models/email_data.rb +14 -19
  79. data/lib/ElasticEmail/models/email_job_failed_status.rb +242 -0
  80. data/lib/ElasticEmail/models/email_job_status.rb +415 -0
  81. data/lib/ElasticEmail/models/email_message_data.rb +23 -19
  82. data/lib/ElasticEmail/models/email_predicted_validation_status.rb +1 -1
  83. data/lib/ElasticEmail/models/email_recipient.rb +16 -19
  84. data/lib/ElasticEmail/models/email_send.rb +14 -19
  85. data/lib/ElasticEmail/models/email_status.rb +29 -23
  86. data/lib/ElasticEmail/models/email_transactional_message_data.rb +23 -19
  87. data/lib/ElasticEmail/models/email_validation_result.rb +16 -20
  88. data/lib/ElasticEmail/models/email_validation_status.rb +1 -1
  89. data/lib/ElasticEmail/models/email_view.rb +14 -19
  90. data/lib/ElasticEmail/models/emails_payload.rb +14 -19
  91. data/lib/ElasticEmail/models/encoding_type.rb +1 -1
  92. data/lib/ElasticEmail/models/event_type.rb +1 -1
  93. data/lib/ElasticEmail/models/events_order_by.rb +1 -1
  94. data/lib/ElasticEmail/models/export_file_formats.rb +1 -1
  95. data/lib/ElasticEmail/models/export_link.rb +14 -19
  96. data/lib/ElasticEmail/models/export_status.rb +1 -1
  97. data/lib/ElasticEmail/models/file_info.rb +14 -19
  98. data/lib/ElasticEmail/models/file_payload.rb +16 -19
  99. data/lib/ElasticEmail/models/file_upload_result.rb +14 -19
  100. data/lib/ElasticEmail/models/inbound_payload.rb +18 -19
  101. data/lib/ElasticEmail/models/inbound_route.rb +14 -19
  102. data/lib/ElasticEmail/models/inbound_route_action_type.rb +1 -1
  103. data/lib/ElasticEmail/models/inbound_route_filter_type.rb +1 -1
  104. data/lib/ElasticEmail/models/list_payload.rb +16 -19
  105. data/lib/ElasticEmail/models/list_update_payload.rb +14 -19
  106. data/lib/ElasticEmail/models/log_job_status.rb +1 -1
  107. data/lib/ElasticEmail/models/log_status_summary.rb +14 -19
  108. data/lib/ElasticEmail/models/merge_email_payload.rb +23 -19
  109. data/lib/ElasticEmail/models/message_attachment.rb +18 -19
  110. data/lib/ElasticEmail/models/message_category.rb +1 -1
  111. data/lib/ElasticEmail/models/message_category_enum.rb +55 -0
  112. data/lib/ElasticEmail/models/new_api_key.rb +14 -19
  113. data/lib/ElasticEmail/models/new_smtp_credentials.rb +14 -19
  114. data/lib/ElasticEmail/models/options.rb +16 -19
  115. data/lib/ElasticEmail/models/recipient_event.rb +14 -19
  116. data/lib/ElasticEmail/models/segment.rb +14 -19
  117. data/lib/ElasticEmail/models/segment_payload.rb +18 -19
  118. data/lib/ElasticEmail/models/smtp_credentials.rb +14 -19
  119. data/lib/ElasticEmail/models/smtp_credentials_payload.rb +16 -19
  120. data/lib/ElasticEmail/models/sort_order_item.rb +18 -19
  121. data/lib/ElasticEmail/models/split_optimization_type.rb +1 -1
  122. data/lib/ElasticEmail/models/split_options.rb +14 -19
  123. data/lib/ElasticEmail/models/sub_account_info.rb +14 -19
  124. data/lib/ElasticEmail/models/subaccount_email_credits_payload.rb +16 -19
  125. data/lib/ElasticEmail/models/subaccount_email_settings.rb +14 -19
  126. data/lib/ElasticEmail/models/subaccount_email_settings_payload.rb +14 -19
  127. data/lib/ElasticEmail/models/subaccount_payload.rb +18 -19
  128. data/lib/ElasticEmail/models/subaccount_settings_info.rb +14 -19
  129. data/lib/ElasticEmail/models/subaccount_settings_info_payload.rb +14 -19
  130. data/lib/ElasticEmail/models/suppression.rb +14 -19
  131. data/lib/ElasticEmail/models/template.rb +14 -19
  132. data/lib/ElasticEmail/models/template_payload.rb +16 -19
  133. data/lib/ElasticEmail/models/template_scope.rb +1 -1
  134. data/lib/ElasticEmail/models/template_type.rb +4 -2
  135. data/lib/ElasticEmail/models/tracking_type.rb +44 -0
  136. data/lib/ElasticEmail/models/tracking_validation_status.rb +42 -0
  137. data/lib/ElasticEmail/models/transactional_recipient.rb +16 -19
  138. data/lib/ElasticEmail/models/utm.rb +14 -19
  139. data/lib/ElasticEmail/models/verification_file_result.rb +14 -19
  140. data/lib/ElasticEmail/models/verification_file_result_details.rb +14 -19
  141. data/lib/ElasticEmail/models/verification_status.rb +1 -1
  142. data/lib/ElasticEmail/version.rb +2 -2
  143. data/lib/ElasticEmail.rb +13 -1
  144. data/spec/api/campaigns_api_spec.rb +19 -7
  145. data/spec/api/contacts_api_spec.rb +12 -25
  146. data/spec/api/domains_api_spec.rb +132 -0
  147. data/spec/api/emails_api_spec.rb +29 -7
  148. data/spec/api/events_api_spec.rb +9 -9
  149. data/spec/api/files_api_spec.rb +7 -7
  150. data/spec/api/inbound_route_api_spec.rb +8 -8
  151. data/spec/api/lists_api_spec.rb +23 -9
  152. data/spec/api/security_api_spec.rb +12 -12
  153. data/spec/api/segments_api_spec.rb +7 -7
  154. data/spec/api/statistics_api_spec.rb +7 -7
  155. data/spec/api/sub_accounts_api_spec.rb +8 -8
  156. data/spec/api/suppressions_api_spec.rb +26 -26
  157. data/spec/api/templates_api_spec.rb +7 -7
  158. data/spec/api/verifications_api_spec.rb +30 -18
  159. data/spec/models/access_level_spec.rb +5 -3
  160. data/spec/models/account_status_enum_spec.rb +5 -3
  161. data/spec/models/api_key_payload_spec.rb +10 -8
  162. data/spec/models/api_key_spec.rb +11 -9
  163. data/spec/models/body_content_type_spec.rb +5 -3
  164. data/spec/models/body_part_spec.rb +8 -6
  165. data/spec/models/campaign_options_spec.rb +22 -8
  166. data/spec/models/campaign_recipient_spec.rb +7 -5
  167. data/spec/models/campaign_spec.rb +10 -8
  168. data/spec/models/campaign_status_spec.rb +5 -3
  169. data/spec/models/campaign_template_spec.rb +12 -10
  170. data/spec/{configuration_spec.rb → models/certificate_validation_status_spec.rb} +15 -27
  171. data/spec/models/channel_log_status_summary_spec.rb +19 -17
  172. data/spec/models/compression_format_spec.rb +5 -3
  173. data/spec/models/consent_data_spec.rb +8 -6
  174. data/spec/models/consent_tracking_spec.rb +5 -3
  175. data/spec/models/contact_activity_spec.rb +16 -14
  176. data/spec/models/contact_payload_spec.rb +11 -9
  177. data/spec/models/contact_source_spec.rb +5 -3
  178. data/spec/models/contact_spec.rb +16 -14
  179. data/spec/models/contact_status_spec.rb +5 -3
  180. data/spec/models/contact_update_payload_spec.rb +8 -6
  181. data/spec/models/contacts_list_spec.rb +9 -7
  182. data/spec/models/delivery_optimization_type_spec.rb +5 -3
  183. data/spec/models/domain_data_spec.rb +144 -0
  184. data/spec/models/domain_detail_spec.rb +138 -0
  185. data/spec/models/domain_owner_spec.rb +30 -0
  186. data/spec/models/domain_payload_spec.rb +42 -0
  187. data/spec/models/domain_update_payload_spec.rb +54 -0
  188. data/spec/models/email_content_spec.rb +22 -14
  189. data/spec/models/email_data_spec.rb +8 -6
  190. data/spec/models/email_job_failed_status_spec.rb +54 -0
  191. data/spec/models/email_job_status_spec.rb +150 -0
  192. data/spec/models/email_message_data_spec.rb +8 -6
  193. data/spec/models/email_predicted_validation_status_spec.rb +4 -2
  194. data/spec/models/email_recipient_spec.rb +7 -5
  195. data/spec/models/email_send_spec.rb +7 -5
  196. data/spec/models/email_status_spec.rb +23 -15
  197. data/spec/models/email_transactional_message_data_spec.rb +8 -6
  198. data/spec/models/email_validation_result_spec.rb +26 -12
  199. data/spec/models/email_validation_status_spec.rb +5 -3
  200. data/spec/models/email_view_spec.rb +8 -6
  201. data/spec/models/emails_payload_spec.rb +7 -5
  202. data/spec/models/encoding_type_spec.rb +5 -3
  203. data/spec/models/event_type_spec.rb +5 -3
  204. data/spec/models/events_order_by_spec.rb +5 -3
  205. data/spec/models/export_file_formats_spec.rb +5 -3
  206. data/spec/models/export_link_spec.rb +7 -5
  207. data/spec/models/export_status_spec.rb +5 -3
  208. data/spec/models/file_info_spec.rb +10 -8
  209. data/spec/models/file_payload_spec.rb +8 -6
  210. data/spec/models/file_upload_result_spec.rb +7 -5
  211. data/spec/models/inbound_payload_spec.rb +11 -9
  212. data/spec/models/inbound_route_action_type_spec.rb +5 -3
  213. data/spec/models/inbound_route_filter_type_spec.rb +5 -3
  214. data/spec/models/inbound_route_spec.rb +12 -10
  215. data/spec/models/list_payload_spec.rb +8 -6
  216. data/spec/models/list_update_payload_spec.rb +7 -5
  217. data/spec/models/log_job_status_spec.rb +5 -3
  218. data/spec/models/log_status_summary_spec.rb +18 -16
  219. data/spec/models/merge_email_payload_spec.rb +8 -6
  220. data/spec/models/message_attachment_spec.rb +14 -6
  221. data/spec/models/message_category_enum_spec.rb +30 -0
  222. data/spec/models/message_category_spec.rb +5 -3
  223. data/spec/models/new_api_key_spec.rb +12 -10
  224. data/spec/models/new_smtp_credentials_spec.rb +12 -10
  225. data/spec/models/options_spec.rb +11 -9
  226. data/spec/models/recipient_event_spec.rb +18 -16
  227. data/spec/models/segment_payload_spec.rb +7 -5
  228. data/spec/models/segment_spec.rb +7 -5
  229. data/spec/models/smtp_credentials_payload_spec.rb +9 -7
  230. data/spec/models/smtp_credentials_spec.rb +11 -9
  231. data/spec/models/sort_order_item_spec.rb +7 -5
  232. data/spec/models/split_optimization_type_spec.rb +5 -3
  233. data/spec/models/split_options_spec.rb +7 -5
  234. data/spec/models/sub_account_info_spec.rb +14 -12
  235. data/spec/models/subaccount_email_credits_payload_spec.rb +7 -5
  236. data/spec/models/subaccount_email_settings_payload_spec.rb +17 -9
  237. data/spec/models/subaccount_email_settings_spec.rb +18 -10
  238. data/spec/models/subaccount_payload_spec.rb +9 -7
  239. data/spec/models/subaccount_settings_info_payload_spec.rb +6 -4
  240. data/spec/models/subaccount_settings_info_spec.rb +6 -4
  241. data/spec/models/suppression_spec.rb +9 -7
  242. data/spec/models/template_payload_spec.rb +9 -7
  243. data/spec/models/template_scope_spec.rb +5 -3
  244. data/spec/models/template_spec.rb +11 -9
  245. data/spec/models/template_type_spec.rb +5 -3
  246. data/spec/models/tracking_type_spec.rb +30 -0
  247. data/spec/models/tracking_validation_status_spec.rb +30 -0
  248. data/spec/models/transactional_recipient_spec.rb +8 -6
  249. data/spec/models/utm_spec.rb +9 -7
  250. data/spec/models/verification_file_result_details_spec.rb +12 -10
  251. data/spec/models/verification_file_result_spec.rb +11 -9
  252. data/spec/models/verification_status_spec.rb +5 -3
  253. data/spec/spec_helper.rb +1 -1
  254. metadata +126 -94
  255. data/docs/ContactHistory.md +0 -30
  256. data/lib/ElasticEmail/models/contact_hist_event_type.rb +0 -49
  257. data/lib/ElasticEmail/models/template_scope_type.rb +0 -38
  258. data/spec/api_client_spec.rb +0 -226
  259. data/spec/models/contact_hist_event_type_spec.rb +0 -28
  260. data/spec/models/contact_history_spec.rb +0 -70
  261. data/spec/models/template_scope_type_spec.rb +0 -28
@@ -1,12 +1,12 @@
1
1
  =begin
2
2
  #Elastic Email REST API
3
3
 
4
- #This API is based on the REST API architecture, allowing the user to easily manage their data with this resource-based approach. Every API call is established on which specific request type (GET, POST, PUT, DELETE) will be used. The API has a limit of 20 concurrent connections and a hard timeout of 600 seconds per request. To start using this API, you will need your Access Token (available <a target=\"_blank\" href=\"https://elasticemail.com/account#/settings/new/manage-api\">here</a>). Remember to keep it safe. Required access levels are listed in the given request’s description. Downloadable library clients can be found in our Github repository <a target=\"_blank\" href=\"https://github.com/ElasticEmail?tab=repositories&q=%22rest+api%22+in%3Areadme\">here</a>
4
+ #This API is based on the REST API architecture, allowing the user to easily manage their data with this resource-based approach. Every API call is established on which specific request type (GET, POST, PUT, DELETE) will be used. The API has a limit of 20 concurrent connections and a hard timeout of 600 seconds per request. To start using this API, you will need your Access Token (available <a target=\"_blank\" href=\"https://app.elasticemail.com/marketing/settings/new/manage-api\">here</a>). Remember to keep it safe. Required access levels are listed in the given request’s description. Downloadable library clients can be found in our Github repository <a target=\"_blank\" href=\"https://github.com/ElasticEmail?tab=repositories&q=%22rest+api%22+in%3Areadme\">here</a>
5
5
 
6
6
  The version of the OpenAPI document: 4.0.0
7
7
  Contact: support@elasticemail.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 6.0.0
9
+ Generator version: 7.5.0
10
10
 
11
11
  =end
12
12
 
@@ -14,37 +14,44 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module ElasticEmail
17
- class ContactHistory
18
- attr_accessor :event_type
17
+ class DomainUpdatePayload
18
+ attr_accessor :certificate_status
19
19
 
20
- # Formatted date of event.
21
- attr_accessor :event_date
20
+ attr_accessor :verp
22
21
 
23
- # Name of channel this event occured on
24
- attr_accessor :channel_name
22
+ attr_accessor :custom_bounces_domain
25
23
 
26
- # Name of template this event occured on
27
- attr_accessor :template_name
24
+ attr_accessor :is_custom_bounces_domain_default
28
25
 
29
- # IP Address of the event.
30
- attr_accessor :ip_address
26
+ class EnumAttributeValidator
27
+ attr_reader :datatype
28
+ attr_reader :allowable_values
31
29
 
32
- # Country of the event.
33
- attr_accessor :country
30
+ def initialize(datatype, allowable_values)
31
+ @allowable_values = allowable_values.map do |value|
32
+ case datatype.to_s
33
+ when /Integer/i
34
+ value.to_i
35
+ when /Float/i
36
+ value.to_f
37
+ else
38
+ value
39
+ end
40
+ end
41
+ end
34
42
 
35
- # Additional information about the event
36
- attr_accessor :data
43
+ def valid?(value)
44
+ !value || allowable_values.include?(value)
45
+ end
46
+ end
37
47
 
38
48
  # Attribute mapping from ruby-style variable name to JSON key.
39
49
  def self.attribute_map
40
50
  {
41
- :'event_type' => :'EventType',
42
- :'event_date' => :'EventDate',
43
- :'channel_name' => :'ChannelName',
44
- :'template_name' => :'TemplateName',
45
- :'ip_address' => :'IPAddress',
46
- :'country' => :'Country',
47
- :'data' => :'Data'
51
+ :'certificate_status' => :'CertificateStatus',
52
+ :'verp' => :'VERP',
53
+ :'custom_bounces_domain' => :'CustomBouncesDomain',
54
+ :'is_custom_bounces_domain_default' => :'IsCustomBouncesDomainDefault'
48
55
  }
49
56
  end
50
57
 
@@ -56,13 +63,10 @@ module ElasticEmail
56
63
  # Attribute type mapping.
57
64
  def self.openapi_types
58
65
  {
59
- :'event_type' => :'ContactHistEventType',
60
- :'event_date' => :'Time',
61
- :'channel_name' => :'String',
62
- :'template_name' => :'String',
63
- :'ip_address' => :'String',
64
- :'country' => :'String',
65
- :'data' => :'String'
66
+ :'certificate_status' => :'CertificateValidationStatus',
67
+ :'verp' => :'Boolean',
68
+ :'custom_bounces_domain' => :'String',
69
+ :'is_custom_bounces_domain_default' => :'Boolean'
66
70
  }
67
71
  end
68
72
 
@@ -76,51 +80,40 @@ module ElasticEmail
76
80
  # @param [Hash] attributes Model attributes in the form of hash
77
81
  def initialize(attributes = {})
78
82
  if (!attributes.is_a?(Hash))
79
- fail ArgumentError, "The input argument (attributes) must be a hash in `ElasticEmail::ContactHistory` initialize method"
83
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ElasticEmail::DomainUpdatePayload` initialize method"
80
84
  end
81
85
 
82
86
  # check to see if the attribute exists and convert string to symbol for hash key
83
87
  attributes = attributes.each_with_object({}) { |(k, v), h|
84
88
  if (!self.class.attribute_map.key?(k.to_sym))
85
- fail ArgumentError, "`#{k}` is not a valid attribute in `ElasticEmail::ContactHistory`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
89
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ElasticEmail::DomainUpdatePayload`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
86
90
  end
87
91
  h[k.to_sym] = v
88
92
  }
89
93
 
90
- if attributes.key?(:'event_type')
91
- self.event_type = attributes[:'event_type']
94
+ if attributes.key?(:'certificate_status')
95
+ self.certificate_status = attributes[:'certificate_status']
92
96
  else
93
- self.event_type = 'Opened'
94
- end
95
-
96
- if attributes.key?(:'event_date')
97
- self.event_date = attributes[:'event_date']
98
- end
99
-
100
- if attributes.key?(:'channel_name')
101
- self.channel_name = attributes[:'channel_name']
97
+ self.certificate_status = 'ErrorOccured'
102
98
  end
103
99
 
104
- if attributes.key?(:'template_name')
105
- self.template_name = attributes[:'template_name']
100
+ if attributes.key?(:'verp')
101
+ self.verp = attributes[:'verp']
106
102
  end
107
103
 
108
- if attributes.key?(:'ip_address')
109
- self.ip_address = attributes[:'ip_address']
104
+ if attributes.key?(:'custom_bounces_domain')
105
+ self.custom_bounces_domain = attributes[:'custom_bounces_domain']
110
106
  end
111
107
 
112
- if attributes.key?(:'country')
113
- self.country = attributes[:'country']
114
- end
115
-
116
- if attributes.key?(:'data')
117
- self.data = attributes[:'data']
108
+ if attributes.key?(:'is_custom_bounces_domain_default')
109
+ self.is_custom_bounces_domain_default = attributes[:'is_custom_bounces_domain_default']
118
110
  end
119
111
  end
120
112
 
121
113
  # Show invalid properties with the reasons. Usually used together with valid?
122
114
  # @return Array for valid properties with the reasons
123
115
  def list_invalid_properties
116
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
124
117
  invalid_properties = Array.new
125
118
  invalid_properties
126
119
  end
@@ -128,6 +121,7 @@ module ElasticEmail
128
121
  # Check to see if the all the properties in the model are valid
129
122
  # @return true if the model is valid
130
123
  def valid?
124
+ warn '[DEPRECATED] the `valid?` method is obsolete'
131
125
  true
132
126
  end
133
127
 
@@ -136,13 +130,10 @@ module ElasticEmail
136
130
  def ==(o)
137
131
  return true if self.equal?(o)
138
132
  self.class == o.class &&
139
- event_type == o.event_type &&
140
- event_date == o.event_date &&
141
- channel_name == o.channel_name &&
142
- template_name == o.template_name &&
143
- ip_address == o.ip_address &&
144
- country == o.country &&
145
- data == o.data
133
+ certificate_status == o.certificate_status &&
134
+ verp == o.verp &&
135
+ custom_bounces_domain == o.custom_bounces_domain &&
136
+ is_custom_bounces_domain_default == o.is_custom_bounces_domain_default
146
137
  end
147
138
 
148
139
  # @see the `==` method
@@ -154,44 +145,37 @@ module ElasticEmail
154
145
  # Calculates hash code according to all attributes.
155
146
  # @return [Integer] Hash code
156
147
  def hash
157
- [event_type, event_date, channel_name, template_name, ip_address, country, data].hash
148
+ [certificate_status, verp, custom_bounces_domain, is_custom_bounces_domain_default].hash
158
149
  end
159
150
 
160
151
  # Builds the object from hash
161
152
  # @param [Hash] attributes Model attributes in the form of hash
162
153
  # @return [Object] Returns the model itself
163
154
  def self.build_from_hash(attributes)
164
- new.build_from_hash(attributes)
165
- end
166
-
167
- # Builds the object from hash
168
- # @param [Hash] attributes Model attributes in the form of hash
169
- # @return [Object] Returns the model itself
170
- def build_from_hash(attributes)
171
155
  return nil unless attributes.is_a?(Hash)
172
156
  attributes = attributes.transform_keys(&:to_sym)
173
- self.class.openapi_types.each_pair do |key, type|
174
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
175
- self.send("#{key}=", nil)
157
+ transformed_hash = {}
158
+ openapi_types.each_pair do |key, type|
159
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
160
+ transformed_hash["#{key}"] = nil
176
161
  elsif type =~ /\AArray<(.*)>/i
177
162
  # check to ensure the input is an array given that the attribute
178
163
  # is documented as an array but the input is not
179
- if attributes[self.class.attribute_map[key]].is_a?(Array)
180
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
164
+ if attributes[attribute_map[key]].is_a?(Array)
165
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
181
166
  end
182
- elsif !attributes[self.class.attribute_map[key]].nil?
183
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
167
+ elsif !attributes[attribute_map[key]].nil?
168
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
184
169
  end
185
170
  end
186
-
187
- self
171
+ new(transformed_hash)
188
172
  end
189
173
 
190
174
  # Deserializes the data based on type
191
175
  # @param string type Data type
192
176
  # @param string value Value to be deserialized
193
177
  # @return [Object] Deserialized data
194
- def _deserialize(type, value)
178
+ def self._deserialize(type, value)
195
179
  case type.to_sym
196
180
  when :Time
197
181
  Time.parse(value)
@@ -226,7 +210,7 @@ module ElasticEmail
226
210
  else # model
227
211
  # models (e.g. Pet) or oneOf
228
212
  klass = ElasticEmail.const_get(type)
229
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
213
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
230
214
  end
231
215
  end
232
216
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 4.0.0
7
7
  Contact: support@elasticemail.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 6.3.0
9
+ Generator version: 7.5.0
10
10
 
11
11
  =end
12
12
 
@@ -147,6 +147,8 @@ module ElasticEmail
147
147
 
148
148
  if attributes.key?(:'from')
149
149
  self.from = attributes[:'from']
150
+ else
151
+ self.from = nil
150
152
  end
151
153
 
152
154
  if attributes.key?(:'reply_to')
@@ -175,13 +177,20 @@ module ElasticEmail
175
177
  # Show invalid properties with the reasons. Usually used together with valid?
176
178
  # @return Array for valid properties with the reasons
177
179
  def list_invalid_properties
180
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
178
181
  invalid_properties = Array.new
182
+ if @from.nil?
183
+ invalid_properties.push('invalid value for "from", from cannot be nil.')
184
+ end
185
+
179
186
  invalid_properties
180
187
  end
181
188
 
182
189
  # Check to see if the all the properties in the model are valid
183
190
  # @return true if the model is valid
184
191
  def valid?
192
+ warn '[DEPRECATED] the `valid?` method is obsolete'
193
+ return false if @from.nil?
185
194
  true
186
195
  end
187
196
 
@@ -220,37 +229,30 @@ module ElasticEmail
220
229
  # @param [Hash] attributes Model attributes in the form of hash
221
230
  # @return [Object] Returns the model itself
222
231
  def self.build_from_hash(attributes)
223
- new.build_from_hash(attributes)
224
- end
225
-
226
- # Builds the object from hash
227
- # @param [Hash] attributes Model attributes in the form of hash
228
- # @return [Object] Returns the model itself
229
- def build_from_hash(attributes)
230
232
  return nil unless attributes.is_a?(Hash)
231
233
  attributes = attributes.transform_keys(&:to_sym)
232
- self.class.openapi_types.each_pair do |key, type|
233
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
234
- self.send("#{key}=", nil)
234
+ transformed_hash = {}
235
+ openapi_types.each_pair do |key, type|
236
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
237
+ transformed_hash["#{key}"] = nil
235
238
  elsif type =~ /\AArray<(.*)>/i
236
239
  # check to ensure the input is an array given that the attribute
237
240
  # is documented as an array but the input is not
238
- if attributes[self.class.attribute_map[key]].is_a?(Array)
239
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
241
+ if attributes[attribute_map[key]].is_a?(Array)
242
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
240
243
  end
241
- elsif !attributes[self.class.attribute_map[key]].nil?
242
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
244
+ elsif !attributes[attribute_map[key]].nil?
245
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
243
246
  end
244
247
  end
245
-
246
- self
248
+ new(transformed_hash)
247
249
  end
248
250
 
249
251
  # Deserializes the data based on type
250
252
  # @param string type Data type
251
253
  # @param string value Value to be deserialized
252
254
  # @return [Object] Deserialized data
253
- def _deserialize(type, value)
255
+ def self._deserialize(type, value)
254
256
  case type.to_sym
255
257
  when :Time
256
258
  Time.parse(value)
@@ -285,7 +287,7 @@ module ElasticEmail
285
287
  else # model
286
288
  # models (e.g. Pet) or oneOf
287
289
  klass = ElasticEmail.const_get(type)
288
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
290
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
289
291
  end
290
292
  end
291
293
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 4.0.0
7
7
  Contact: support@elasticemail.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 6.3.0
9
+ Generator version: 7.5.0
10
10
 
11
11
  =end
12
12
 
@@ -84,6 +84,7 @@ module ElasticEmail
84
84
  # Show invalid properties with the reasons. Usually used together with valid?
85
85
  # @return Array for valid properties with the reasons
86
86
  def list_invalid_properties
87
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
87
88
  invalid_properties = Array.new
88
89
  invalid_properties
89
90
  end
@@ -91,6 +92,7 @@ module ElasticEmail
91
92
  # Check to see if the all the properties in the model are valid
92
93
  # @return true if the model is valid
93
94
  def valid?
95
+ warn '[DEPRECATED] the `valid?` method is obsolete'
94
96
  true
95
97
  end
96
98
 
@@ -120,37 +122,30 @@ module ElasticEmail
120
122
  # @param [Hash] attributes Model attributes in the form of hash
121
123
  # @return [Object] Returns the model itself
122
124
  def self.build_from_hash(attributes)
123
- new.build_from_hash(attributes)
124
- end
125
-
126
- # Builds the object from hash
127
- # @param [Hash] attributes Model attributes in the form of hash
128
- # @return [Object] Returns the model itself
129
- def build_from_hash(attributes)
130
125
  return nil unless attributes.is_a?(Hash)
131
126
  attributes = attributes.transform_keys(&:to_sym)
132
- self.class.openapi_types.each_pair do |key, type|
133
- if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
134
- self.send("#{key}=", nil)
127
+ transformed_hash = {}
128
+ openapi_types.each_pair do |key, type|
129
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
130
+ transformed_hash["#{key}"] = nil
135
131
  elsif type =~ /\AArray<(.*)>/i
136
132
  # check to ensure the input is an array given that the attribute
137
133
  # is documented as an array but the input is not
138
- if attributes[self.class.attribute_map[key]].is_a?(Array)
139
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
134
+ if attributes[attribute_map[key]].is_a?(Array)
135
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
140
136
  end
141
- elsif !attributes[self.class.attribute_map[key]].nil?
142
- self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
137
+ elsif !attributes[attribute_map[key]].nil?
138
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
143
139
  end
144
140
  end
145
-
146
- self
141
+ new(transformed_hash)
147
142
  end
148
143
 
149
144
  # Deserializes the data based on type
150
145
  # @param string type Data type
151
146
  # @param string value Value to be deserialized
152
147
  # @return [Object] Deserialized data
153
- def _deserialize(type, value)
148
+ def self._deserialize(type, value)
154
149
  case type.to_sym
155
150
  when :Time
156
151
  Time.parse(value)
@@ -185,7 +180,7 @@ module ElasticEmail
185
180
  else # model
186
181
  # models (e.g. Pet) or oneOf
187
182
  klass = ElasticEmail.const_get(type)
188
- klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
183
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
189
184
  end
190
185
  end
191
186
 
@@ -0,0 +1,242 @@
1
+ =begin
2
+ #Elastic Email REST API
3
+
4
+ #This API is based on the REST API architecture, allowing the user to easily manage their data with this resource-based approach. Every API call is established on which specific request type (GET, POST, PUT, DELETE) will be used. The API has a limit of 20 concurrent connections and a hard timeout of 600 seconds per request. To start using this API, you will need your Access Token (available <a target=\"_blank\" href=\"https://app.elasticemail.com/marketing/settings/new/manage-api\">here</a>). Remember to keep it safe. Required access levels are listed in the given request’s description. Downloadable library clients can be found in our Github repository <a target=\"_blank\" href=\"https://github.com/ElasticEmail?tab=repositories&q=%22rest+api%22+in%3Areadme\">here</a>
5
+
6
+ The version of the OpenAPI document: 4.0.0
7
+ Contact: support@elasticemail.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.5.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module ElasticEmail
17
+ class EmailJobFailedStatus
18
+ attr_accessor :address
19
+
20
+ attr_accessor :error
21
+
22
+ # RFC Error code
23
+ attr_accessor :error_code
24
+
25
+ attr_accessor :category
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'address' => :'Address',
31
+ :'error' => :'Error',
32
+ :'error_code' => :'ErrorCode',
33
+ :'category' => :'Category'
34
+ }
35
+ end
36
+
37
+ # Returns all the JSON keys this model knows about
38
+ def self.acceptable_attributes
39
+ attribute_map.values
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ def self.openapi_types
44
+ {
45
+ :'address' => :'String',
46
+ :'error' => :'String',
47
+ :'error_code' => :'Integer',
48
+ :'category' => :'String'
49
+ }
50
+ end
51
+
52
+ # List of attributes with nullable: true
53
+ def self.openapi_nullable
54
+ Set.new([
55
+ ])
56
+ end
57
+
58
+ # Initializes the object
59
+ # @param [Hash] attributes Model attributes in the form of hash
60
+ def initialize(attributes = {})
61
+ if (!attributes.is_a?(Hash))
62
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ElasticEmail::EmailJobFailedStatus` initialize method"
63
+ end
64
+
65
+ # check to see if the attribute exists and convert string to symbol for hash key
66
+ attributes = attributes.each_with_object({}) { |(k, v), h|
67
+ if (!self.class.attribute_map.key?(k.to_sym))
68
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ElasticEmail::EmailJobFailedStatus`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
69
+ end
70
+ h[k.to_sym] = v
71
+ }
72
+
73
+ if attributes.key?(:'address')
74
+ self.address = attributes[:'address']
75
+ end
76
+
77
+ if attributes.key?(:'error')
78
+ self.error = attributes[:'error']
79
+ end
80
+
81
+ if attributes.key?(:'error_code')
82
+ self.error_code = attributes[:'error_code']
83
+ end
84
+
85
+ if attributes.key?(:'category')
86
+ self.category = attributes[:'category']
87
+ end
88
+ end
89
+
90
+ # Show invalid properties with the reasons. Usually used together with valid?
91
+ # @return Array for valid properties with the reasons
92
+ def list_invalid_properties
93
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
94
+ invalid_properties = Array.new
95
+ invalid_properties
96
+ end
97
+
98
+ # Check to see if the all the properties in the model are valid
99
+ # @return true if the model is valid
100
+ def valid?
101
+ warn '[DEPRECATED] the `valid?` method is obsolete'
102
+ true
103
+ end
104
+
105
+ # Checks equality by comparing each attribute.
106
+ # @param [Object] Object to be compared
107
+ def ==(o)
108
+ return true if self.equal?(o)
109
+ self.class == o.class &&
110
+ address == o.address &&
111
+ error == o.error &&
112
+ error_code == o.error_code &&
113
+ category == o.category
114
+ end
115
+
116
+ # @see the `==` method
117
+ # @param [Object] Object to be compared
118
+ def eql?(o)
119
+ self == o
120
+ end
121
+
122
+ # Calculates hash code according to all attributes.
123
+ # @return [Integer] Hash code
124
+ def hash
125
+ [address, error, error_code, category].hash
126
+ end
127
+
128
+ # Builds the object from hash
129
+ # @param [Hash] attributes Model attributes in the form of hash
130
+ # @return [Object] Returns the model itself
131
+ def self.build_from_hash(attributes)
132
+ return nil unless attributes.is_a?(Hash)
133
+ attributes = attributes.transform_keys(&:to_sym)
134
+ transformed_hash = {}
135
+ openapi_types.each_pair do |key, type|
136
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
137
+ transformed_hash["#{key}"] = nil
138
+ elsif type =~ /\AArray<(.*)>/i
139
+ # check to ensure the input is an array given that the attribute
140
+ # is documented as an array but the input is not
141
+ if attributes[attribute_map[key]].is_a?(Array)
142
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
143
+ end
144
+ elsif !attributes[attribute_map[key]].nil?
145
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
146
+ end
147
+ end
148
+ new(transformed_hash)
149
+ end
150
+
151
+ # Deserializes the data based on type
152
+ # @param string type Data type
153
+ # @param string value Value to be deserialized
154
+ # @return [Object] Deserialized data
155
+ def self._deserialize(type, value)
156
+ case type.to_sym
157
+ when :Time
158
+ Time.parse(value)
159
+ when :Date
160
+ Date.parse(value)
161
+ when :String
162
+ value.to_s
163
+ when :Integer
164
+ value.to_i
165
+ when :Float
166
+ value.to_f
167
+ when :Boolean
168
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
169
+ true
170
+ else
171
+ false
172
+ end
173
+ when :Object
174
+ # generic object (usually a Hash), return directly
175
+ value
176
+ when /\AArray<(?<inner_type>.+)>\z/
177
+ inner_type = Regexp.last_match[:inner_type]
178
+ value.map { |v| _deserialize(inner_type, v) }
179
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
180
+ k_type = Regexp.last_match[:k_type]
181
+ v_type = Regexp.last_match[:v_type]
182
+ {}.tap do |hash|
183
+ value.each do |k, v|
184
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
185
+ end
186
+ end
187
+ else # model
188
+ # models (e.g. Pet) or oneOf
189
+ klass = ElasticEmail.const_get(type)
190
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
191
+ end
192
+ end
193
+
194
+ # Returns the string representation of the object
195
+ # @return [String] String presentation of the object
196
+ def to_s
197
+ to_hash.to_s
198
+ end
199
+
200
+ # to_body is an alias to to_hash (backward compatibility)
201
+ # @return [Hash] Returns the object in the form of hash
202
+ def to_body
203
+ to_hash
204
+ end
205
+
206
+ # Returns the object in the form of hash
207
+ # @return [Hash] Returns the object in the form of hash
208
+ def to_hash
209
+ hash = {}
210
+ self.class.attribute_map.each_pair do |attr, param|
211
+ value = self.send(attr)
212
+ if value.nil?
213
+ is_nullable = self.class.openapi_nullable.include?(attr)
214
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
215
+ end
216
+
217
+ hash[param] = _to_hash(value)
218
+ end
219
+ hash
220
+ end
221
+
222
+ # Outputs non-array value in the form of hash
223
+ # For object, use to_hash. Otherwise, just return the value
224
+ # @param [Object] value Any valid value
225
+ # @return [Hash] Returns the value in the form of hash
226
+ def _to_hash(value)
227
+ if value.is_a?(Array)
228
+ value.compact.map { |v| _to_hash(v) }
229
+ elsif value.is_a?(Hash)
230
+ {}.tap do |hash|
231
+ value.each { |k, v| hash[k] = _to_hash(v) }
232
+ end
233
+ elsif value.respond_to? :to_hash
234
+ value.to_hash
235
+ else
236
+ value
237
+ end
238
+ end
239
+
240
+ end
241
+
242
+ end