ElasticEmail 4.0.27 → 4.0.29

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 (253) hide show
  1. checksums.yaml +4 -4
  2. data/ElasticEmail.gemspec +1 -1
  3. data/README.md +21 -9
  4. data/VERSION +1 -1
  5. data/docs/CampaignOptions.md +3 -1
  6. data/docs/CampaignTemplate.md +2 -2
  7. data/docs/CampaignsApi.md +73 -0
  8. data/docs/DKIMRecord.md +26 -0
  9. data/docs/DomainData.md +7 -1
  10. data/docs/DomainDetail.md +7 -1
  11. data/docs/EmailContent.md +2 -2
  12. data/docs/MessageAttachment.md +2 -2
  13. data/docs/SecurityApi.md +4 -4
  14. data/docs/SubAccountsApi.md +73 -1
  15. data/docs/Webhook.md +42 -0
  16. data/docs/WebhookApi.md +372 -0
  17. data/docs/WebhookCreatePayload.md +34 -0
  18. data/docs/WebhookUpdatePayload.md +36 -0
  19. data/lib/ElasticEmail/api/campaigns_api.rb +69 -1
  20. data/lib/ElasticEmail/api/contacts_api.rb +1 -1
  21. data/lib/ElasticEmail/api/domains_api.rb +1 -1
  22. data/lib/ElasticEmail/api/emails_api.rb +1 -1
  23. data/lib/ElasticEmail/api/events_api.rb +1 -1
  24. data/lib/ElasticEmail/api/files_api.rb +1 -1
  25. data/lib/ElasticEmail/api/inbound_route_api.rb +1 -1
  26. data/lib/ElasticEmail/api/lists_api.rb +1 -1
  27. data/lib/ElasticEmail/api/security_api.rb +5 -5
  28. data/lib/ElasticEmail/api/segments_api.rb +1 -1
  29. data/lib/ElasticEmail/api/statistics_api.rb +1 -1
  30. data/lib/ElasticEmail/api/sub_accounts_api.rb +66 -3
  31. data/lib/ElasticEmail/api/suppressions_api.rb +1 -1
  32. data/lib/ElasticEmail/api/templates_api.rb +1 -1
  33. data/lib/ElasticEmail/api/verifications_api.rb +1 -1
  34. data/lib/ElasticEmail/api/webhook_api.rb +351 -0
  35. data/lib/ElasticEmail/api_client.rb +8 -9
  36. data/lib/ElasticEmail/api_error.rb +1 -1
  37. data/lib/ElasticEmail/configuration.rb +1 -1
  38. data/lib/ElasticEmail/models/access_level.rb +1 -1
  39. data/lib/ElasticEmail/models/account_status_enum.rb +1 -1
  40. data/lib/ElasticEmail/models/api_key.rb +10 -4
  41. data/lib/ElasticEmail/models/api_key_payload.rb +30 -4
  42. data/lib/ElasticEmail/models/body_content_type.rb +1 -1
  43. data/lib/ElasticEmail/models/body_part.rb +20 -4
  44. data/lib/ElasticEmail/models/campaign.rb +30 -4
  45. data/lib/ElasticEmail/models/campaign_options.rb +25 -8
  46. data/lib/ElasticEmail/models/campaign_recipient.rb +10 -4
  47. data/lib/ElasticEmail/models/campaign_status.rb +1 -1
  48. data/lib/ElasticEmail/models/campaign_template.rb +21 -5
  49. data/lib/ElasticEmail/models/certificate_validation_status.rb +3 -2
  50. data/lib/ElasticEmail/models/channel_log_status_summary.rb +10 -4
  51. data/lib/ElasticEmail/models/compression_format.rb +1 -1
  52. data/lib/ElasticEmail/models/consent_data.rb +10 -4
  53. data/lib/ElasticEmail/models/consent_tracking.rb +1 -1
  54. data/lib/ElasticEmail/models/contact.rb +10 -4
  55. data/lib/ElasticEmail/models/contact_activity.rb +10 -4
  56. data/lib/ElasticEmail/models/contact_payload.rb +20 -4
  57. data/lib/ElasticEmail/models/contact_source.rb +1 -1
  58. data/lib/ElasticEmail/models/contact_status.rb +1 -1
  59. data/lib/ElasticEmail/models/contact_update_payload.rb +10 -4
  60. data/lib/ElasticEmail/models/contacts_list.rb +10 -4
  61. data/lib/ElasticEmail/models/delivery_optimization_type.rb +1 -1
  62. data/lib/ElasticEmail/models/dkim_record.rb +258 -0
  63. data/lib/ElasticEmail/models/domain_data.rb +42 -8
  64. data/lib/ElasticEmail/models/domain_detail.rb +42 -8
  65. data/lib/ElasticEmail/models/domain_owner.rb +1 -1
  66. data/lib/ElasticEmail/models/domain_payload.rb +10 -4
  67. data/lib/ElasticEmail/models/domain_update_payload.rb +10 -4
  68. data/lib/ElasticEmail/models/email_content.rb +21 -5
  69. data/lib/ElasticEmail/models/email_data.rb +10 -4
  70. data/lib/ElasticEmail/models/email_job_failed_status.rb +10 -4
  71. data/lib/ElasticEmail/models/email_job_status.rb +10 -4
  72. data/lib/ElasticEmail/models/email_message_data.rb +30 -4
  73. data/lib/ElasticEmail/models/email_predicted_validation_status.rb +1 -1
  74. data/lib/ElasticEmail/models/email_recipient.rb +20 -4
  75. data/lib/ElasticEmail/models/email_send.rb +10 -4
  76. data/lib/ElasticEmail/models/email_status.rb +10 -4
  77. data/lib/ElasticEmail/models/email_transactional_message_data.rb +30 -4
  78. data/lib/ElasticEmail/models/email_validation_result.rb +10 -4
  79. data/lib/ElasticEmail/models/email_validation_status.rb +1 -1
  80. data/lib/ElasticEmail/models/email_view.rb +10 -4
  81. data/lib/ElasticEmail/models/emails_payload.rb +10 -4
  82. data/lib/ElasticEmail/models/encoding_type.rb +1 -1
  83. data/lib/ElasticEmail/models/event_type.rb +6 -3
  84. data/lib/ElasticEmail/models/events_order_by.rb +1 -1
  85. data/lib/ElasticEmail/models/export_file_formats.rb +1 -1
  86. data/lib/ElasticEmail/models/export_link.rb +10 -4
  87. data/lib/ElasticEmail/models/export_status.rb +1 -1
  88. data/lib/ElasticEmail/models/file_info.rb +10 -4
  89. data/lib/ElasticEmail/models/file_payload.rb +20 -4
  90. data/lib/ElasticEmail/models/file_upload_result.rb +10 -4
  91. data/lib/ElasticEmail/models/inbound_payload.rb +50 -4
  92. data/lib/ElasticEmail/models/inbound_route.rb +10 -4
  93. data/lib/ElasticEmail/models/inbound_route_action_type.rb +1 -1
  94. data/lib/ElasticEmail/models/inbound_route_filter_type.rb +1 -1
  95. data/lib/ElasticEmail/models/list_payload.rb +20 -4
  96. data/lib/ElasticEmail/models/list_update_payload.rb +10 -4
  97. data/lib/ElasticEmail/models/log_job_status.rb +1 -1
  98. data/lib/ElasticEmail/models/log_status_summary.rb +10 -4
  99. data/lib/ElasticEmail/models/merge_email_payload.rb +30 -4
  100. data/lib/ElasticEmail/models/message_attachment.rb +31 -5
  101. data/lib/ElasticEmail/models/message_category.rb +1 -1
  102. data/lib/ElasticEmail/models/message_category_enum.rb +1 -1
  103. data/lib/ElasticEmail/models/new_api_key.rb +10 -4
  104. data/lib/ElasticEmail/models/new_smtp_credentials.rb +10 -4
  105. data/lib/ElasticEmail/models/options.rb +10 -4
  106. data/lib/ElasticEmail/models/recipient_event.rb +10 -4
  107. data/lib/ElasticEmail/models/segment.rb +10 -4
  108. data/lib/ElasticEmail/models/segment_payload.rb +30 -4
  109. data/lib/ElasticEmail/models/smtp_credentials.rb +10 -4
  110. data/lib/ElasticEmail/models/smtp_credentials_payload.rb +20 -4
  111. data/lib/ElasticEmail/models/sort_order_item.rb +30 -4
  112. data/lib/ElasticEmail/models/split_optimization_type.rb +1 -1
  113. data/lib/ElasticEmail/models/split_options.rb +10 -4
  114. data/lib/ElasticEmail/models/sub_account_info.rb +10 -4
  115. data/lib/ElasticEmail/models/subaccount_email_credits_payload.rb +20 -4
  116. data/lib/ElasticEmail/models/subaccount_email_settings.rb +10 -4
  117. data/lib/ElasticEmail/models/subaccount_email_settings_payload.rb +10 -4
  118. data/lib/ElasticEmail/models/subaccount_payload.rb +30 -4
  119. data/lib/ElasticEmail/models/subaccount_settings_info.rb +10 -4
  120. data/lib/ElasticEmail/models/subaccount_settings_info_payload.rb +10 -4
  121. data/lib/ElasticEmail/models/suppression.rb +10 -4
  122. data/lib/ElasticEmail/models/template.rb +10 -4
  123. data/lib/ElasticEmail/models/template_payload.rb +20 -4
  124. data/lib/ElasticEmail/models/template_scope.rb +1 -1
  125. data/lib/ElasticEmail/models/template_type.rb +1 -1
  126. data/lib/ElasticEmail/models/tracking_type.rb +1 -1
  127. data/lib/ElasticEmail/models/tracking_validation_status.rb +1 -1
  128. data/lib/ElasticEmail/models/transactional_recipient.rb +20 -4
  129. data/lib/ElasticEmail/models/utm.rb +10 -4
  130. data/lib/ElasticEmail/models/verification_file_result.rb +10 -4
  131. data/lib/ElasticEmail/models/verification_file_result_details.rb +10 -4
  132. data/lib/ElasticEmail/models/verification_status.rb +1 -1
  133. data/lib/ElasticEmail/models/webhook.rb +336 -0
  134. data/lib/ElasticEmail/models/webhook_create_payload.rb +329 -0
  135. data/lib/ElasticEmail/models/webhook_update_payload.rb +312 -0
  136. data/lib/ElasticEmail/version.rb +2 -2
  137. data/lib/ElasticEmail.rb +6 -1
  138. data/spec/api/campaigns_api_spec.rb +14 -1
  139. data/spec/api/contacts_api_spec.rb +1 -1
  140. data/spec/api/domains_api_spec.rb +1 -1
  141. data/spec/api/emails_api_spec.rb +1 -1
  142. data/spec/api/events_api_spec.rb +1 -1
  143. data/spec/api/files_api_spec.rb +1 -1
  144. data/spec/api/inbound_route_api_spec.rb +1 -1
  145. data/spec/api/lists_api_spec.rb +1 -1
  146. data/spec/api/security_api_spec.rb +3 -3
  147. data/spec/api/segments_api_spec.rb +1 -1
  148. data/spec/api/statistics_api_spec.rb +1 -1
  149. data/spec/api/sub_accounts_api_spec.rb +14 -2
  150. data/spec/api/suppressions_api_spec.rb +1 -1
  151. data/spec/api/templates_api_spec.rb +1 -1
  152. data/spec/api/verifications_api_spec.rb +1 -1
  153. data/spec/api/webhook_api_spec.rb +97 -0
  154. data/spec/models/access_level_spec.rb +1 -1
  155. data/spec/models/account_status_enum_spec.rb +1 -1
  156. data/spec/models/api_key_payload_spec.rb +1 -1
  157. data/spec/models/api_key_spec.rb +1 -1
  158. data/spec/models/body_content_type_spec.rb +1 -1
  159. data/spec/models/body_part_spec.rb +1 -1
  160. data/spec/models/campaign_options_spec.rb +7 -1
  161. data/spec/models/campaign_recipient_spec.rb +1 -1
  162. data/spec/models/campaign_spec.rb +1 -1
  163. data/spec/models/campaign_status_spec.rb +1 -1
  164. data/spec/models/campaign_template_spec.rb +1 -1
  165. data/spec/models/certificate_validation_status_spec.rb +1 -1
  166. data/spec/models/channel_log_status_summary_spec.rb +1 -1
  167. data/spec/models/compression_format_spec.rb +1 -1
  168. data/spec/models/consent_data_spec.rb +1 -1
  169. data/spec/models/consent_tracking_spec.rb +1 -1
  170. data/spec/models/contact_activity_spec.rb +1 -1
  171. data/spec/models/contact_payload_spec.rb +1 -1
  172. data/spec/models/contact_source_spec.rb +1 -1
  173. data/spec/models/contact_spec.rb +1 -1
  174. data/spec/models/contact_status_spec.rb +1 -1
  175. data/spec/models/contact_update_payload_spec.rb +1 -1
  176. data/spec/models/contacts_list_spec.rb +1 -1
  177. data/spec/models/delivery_optimization_type_spec.rb +1 -1
  178. data/spec/models/dkim_record_spec.rb +60 -0
  179. data/spec/models/domain_data_spec.rb +19 -1
  180. data/spec/models/domain_detail_spec.rb +19 -1
  181. data/spec/models/domain_owner_spec.rb +1 -1
  182. data/spec/models/domain_payload_spec.rb +1 -1
  183. data/spec/models/domain_update_payload_spec.rb +1 -1
  184. data/spec/models/email_content_spec.rb +1 -1
  185. data/spec/models/email_data_spec.rb +1 -1
  186. data/spec/models/email_job_failed_status_spec.rb +1 -1
  187. data/spec/models/email_job_status_spec.rb +1 -1
  188. data/spec/models/email_message_data_spec.rb +1 -1
  189. data/spec/models/email_predicted_validation_status_spec.rb +1 -1
  190. data/spec/models/email_recipient_spec.rb +1 -1
  191. data/spec/models/email_send_spec.rb +1 -1
  192. data/spec/models/email_status_spec.rb +1 -1
  193. data/spec/models/email_transactional_message_data_spec.rb +1 -1
  194. data/spec/models/email_validation_result_spec.rb +1 -1
  195. data/spec/models/email_validation_status_spec.rb +1 -1
  196. data/spec/models/email_view_spec.rb +1 -1
  197. data/spec/models/emails_payload_spec.rb +1 -1
  198. data/spec/models/encoding_type_spec.rb +1 -1
  199. data/spec/models/event_type_spec.rb +1 -1
  200. data/spec/models/events_order_by_spec.rb +1 -1
  201. data/spec/models/export_file_formats_spec.rb +1 -1
  202. data/spec/models/export_link_spec.rb +1 -1
  203. data/spec/models/export_status_spec.rb +1 -1
  204. data/spec/models/file_info_spec.rb +1 -1
  205. data/spec/models/file_payload_spec.rb +1 -1
  206. data/spec/models/file_upload_result_spec.rb +1 -1
  207. data/spec/models/inbound_payload_spec.rb +1 -1
  208. data/spec/models/inbound_route_action_type_spec.rb +1 -1
  209. data/spec/models/inbound_route_filter_type_spec.rb +1 -1
  210. data/spec/models/inbound_route_spec.rb +1 -1
  211. data/spec/models/list_payload_spec.rb +1 -1
  212. data/spec/models/list_update_payload_spec.rb +1 -1
  213. data/spec/models/log_job_status_spec.rb +1 -1
  214. data/spec/models/log_status_summary_spec.rb +1 -1
  215. data/spec/models/merge_email_payload_spec.rb +1 -1
  216. data/spec/models/message_attachment_spec.rb +1 -1
  217. data/spec/models/message_category_enum_spec.rb +1 -1
  218. data/spec/models/message_category_spec.rb +1 -1
  219. data/spec/models/new_api_key_spec.rb +1 -1
  220. data/spec/models/new_smtp_credentials_spec.rb +1 -1
  221. data/spec/models/options_spec.rb +1 -1
  222. data/spec/models/recipient_event_spec.rb +1 -1
  223. data/spec/models/segment_payload_spec.rb +1 -1
  224. data/spec/models/segment_spec.rb +1 -1
  225. data/spec/models/smtp_credentials_payload_spec.rb +1 -1
  226. data/spec/models/smtp_credentials_spec.rb +1 -1
  227. data/spec/models/sort_order_item_spec.rb +1 -1
  228. data/spec/models/split_optimization_type_spec.rb +1 -1
  229. data/spec/models/split_options_spec.rb +1 -1
  230. data/spec/models/sub_account_info_spec.rb +1 -1
  231. data/spec/models/subaccount_email_credits_payload_spec.rb +1 -1
  232. data/spec/models/subaccount_email_settings_payload_spec.rb +1 -1
  233. data/spec/models/subaccount_email_settings_spec.rb +1 -1
  234. data/spec/models/subaccount_payload_spec.rb +1 -1
  235. data/spec/models/subaccount_settings_info_payload_spec.rb +1 -1
  236. data/spec/models/subaccount_settings_info_spec.rb +1 -1
  237. data/spec/models/suppression_spec.rb +1 -1
  238. data/spec/models/template_payload_spec.rb +1 -1
  239. data/spec/models/template_scope_spec.rb +1 -1
  240. data/spec/models/template_spec.rb +1 -1
  241. data/spec/models/template_type_spec.rb +1 -1
  242. data/spec/models/tracking_type_spec.rb +1 -1
  243. data/spec/models/tracking_validation_status_spec.rb +1 -1
  244. data/spec/models/transactional_recipient_spec.rb +1 -1
  245. data/spec/models/utm_spec.rb +1 -1
  246. data/spec/models/verification_file_result_details_spec.rb +1 -1
  247. data/spec/models/verification_file_result_spec.rb +1 -1
  248. data/spec/models/verification_status_spec.rb +1 -1
  249. data/spec/models/webhook_create_payload_spec.rb +84 -0
  250. data/spec/models/webhook_spec.rb +108 -0
  251. data/spec/models/webhook_update_payload_spec.rb +90 -0
  252. data/spec/spec_helper.rb +1 -1
  253. metadata +109 -89
@@ -0,0 +1,312 @@
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.14.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module ElasticEmail
17
+ # Update webhook payload
18
+ class WebhookUpdatePayload
19
+ # Filename
20
+ attr_accessor :name
21
+
22
+ # URL of notification.
23
+ attr_accessor :url
24
+
25
+ attr_accessor :notify_once_per_email
26
+
27
+ attr_accessor :notification_for_sent
28
+
29
+ attr_accessor :notification_for_opened
30
+
31
+ attr_accessor :notification_for_clicked
32
+
33
+ attr_accessor :notification_for_unsubscribed
34
+
35
+ attr_accessor :notification_for_abuse_report
36
+
37
+ attr_accessor :notification_for_error
38
+
39
+ attr_accessor :is_enabled
40
+
41
+ # Attribute mapping from ruby-style variable name to JSON key.
42
+ def self.attribute_map
43
+ {
44
+ :'name' => :'Name',
45
+ :'url' => :'URL',
46
+ :'notify_once_per_email' => :'NotifyOncePerEmail',
47
+ :'notification_for_sent' => :'NotificationForSent',
48
+ :'notification_for_opened' => :'NotificationForOpened',
49
+ :'notification_for_clicked' => :'NotificationForClicked',
50
+ :'notification_for_unsubscribed' => :'NotificationForUnsubscribed',
51
+ :'notification_for_abuse_report' => :'NotificationForAbuseReport',
52
+ :'notification_for_error' => :'NotificationForError',
53
+ :'is_enabled' => :'IsEnabled'
54
+ }
55
+ end
56
+
57
+ # Returns attribute mapping this model knows about
58
+ def self.acceptable_attribute_map
59
+ attribute_map
60
+ end
61
+
62
+ # Returns all the JSON keys this model knows about
63
+ def self.acceptable_attributes
64
+ acceptable_attribute_map.values
65
+ end
66
+
67
+ # Attribute type mapping.
68
+ def self.openapi_types
69
+ {
70
+ :'name' => :'String',
71
+ :'url' => :'String',
72
+ :'notify_once_per_email' => :'Boolean',
73
+ :'notification_for_sent' => :'Boolean',
74
+ :'notification_for_opened' => :'Boolean',
75
+ :'notification_for_clicked' => :'Boolean',
76
+ :'notification_for_unsubscribed' => :'Boolean',
77
+ :'notification_for_abuse_report' => :'Boolean',
78
+ :'notification_for_error' => :'Boolean',
79
+ :'is_enabled' => :'Boolean'
80
+ }
81
+ end
82
+
83
+ # List of attributes with nullable: true
84
+ def self.openapi_nullable
85
+ Set.new([
86
+ :'notify_once_per_email',
87
+ :'notification_for_sent',
88
+ :'notification_for_opened',
89
+ :'notification_for_clicked',
90
+ :'notification_for_unsubscribed',
91
+ :'notification_for_abuse_report',
92
+ :'notification_for_error',
93
+ :'is_enabled'
94
+ ])
95
+ end
96
+
97
+ # Initializes the object
98
+ # @param [Hash] attributes Model attributes in the form of hash
99
+ def initialize(attributes = {})
100
+ if (!attributes.is_a?(Hash))
101
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ElasticEmail::WebhookUpdatePayload` initialize method"
102
+ end
103
+
104
+ # check to see if the attribute exists and convert string to symbol for hash key
105
+ acceptable_attribute_map = self.class.acceptable_attribute_map
106
+ attributes = attributes.each_with_object({}) { |(k, v), h|
107
+ if (!acceptable_attribute_map.key?(k.to_sym))
108
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ElasticEmail::WebhookUpdatePayload`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
109
+ end
110
+ h[k.to_sym] = v
111
+ }
112
+
113
+ if attributes.key?(:'name')
114
+ self.name = attributes[:'name']
115
+ end
116
+
117
+ if attributes.key?(:'url')
118
+ self.url = attributes[:'url']
119
+ end
120
+
121
+ if attributes.key?(:'notify_once_per_email')
122
+ self.notify_once_per_email = attributes[:'notify_once_per_email']
123
+ end
124
+
125
+ if attributes.key?(:'notification_for_sent')
126
+ self.notification_for_sent = attributes[:'notification_for_sent']
127
+ end
128
+
129
+ if attributes.key?(:'notification_for_opened')
130
+ self.notification_for_opened = attributes[:'notification_for_opened']
131
+ end
132
+
133
+ if attributes.key?(:'notification_for_clicked')
134
+ self.notification_for_clicked = attributes[:'notification_for_clicked']
135
+ end
136
+
137
+ if attributes.key?(:'notification_for_unsubscribed')
138
+ self.notification_for_unsubscribed = attributes[:'notification_for_unsubscribed']
139
+ end
140
+
141
+ if attributes.key?(:'notification_for_abuse_report')
142
+ self.notification_for_abuse_report = attributes[:'notification_for_abuse_report']
143
+ end
144
+
145
+ if attributes.key?(:'notification_for_error')
146
+ self.notification_for_error = attributes[:'notification_for_error']
147
+ end
148
+
149
+ if attributes.key?(:'is_enabled')
150
+ self.is_enabled = attributes[:'is_enabled']
151
+ end
152
+ end
153
+
154
+ # Show invalid properties with the reasons. Usually used together with valid?
155
+ # @return Array for valid properties with the reasons
156
+ def list_invalid_properties
157
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
158
+ invalid_properties = Array.new
159
+ invalid_properties
160
+ end
161
+
162
+ # Check to see if the all the properties in the model are valid
163
+ # @return true if the model is valid
164
+ def valid?
165
+ warn '[DEPRECATED] the `valid?` method is obsolete'
166
+ true
167
+ end
168
+
169
+ # Checks equality by comparing each attribute.
170
+ # @param [Object] Object to be compared
171
+ def ==(o)
172
+ return true if self.equal?(o)
173
+ self.class == o.class &&
174
+ name == o.name &&
175
+ url == o.url &&
176
+ notify_once_per_email == o.notify_once_per_email &&
177
+ notification_for_sent == o.notification_for_sent &&
178
+ notification_for_opened == o.notification_for_opened &&
179
+ notification_for_clicked == o.notification_for_clicked &&
180
+ notification_for_unsubscribed == o.notification_for_unsubscribed &&
181
+ notification_for_abuse_report == o.notification_for_abuse_report &&
182
+ notification_for_error == o.notification_for_error &&
183
+ is_enabled == o.is_enabled
184
+ end
185
+
186
+ # @see the `==` method
187
+ # @param [Object] Object to be compared
188
+ def eql?(o)
189
+ self == o
190
+ end
191
+
192
+ # Calculates hash code according to all attributes.
193
+ # @return [Integer] Hash code
194
+ def hash
195
+ [name, url, notify_once_per_email, notification_for_sent, notification_for_opened, notification_for_clicked, notification_for_unsubscribed, notification_for_abuse_report, notification_for_error, is_enabled].hash
196
+ end
197
+
198
+ # Builds the object from hash
199
+ # @param [Hash] attributes Model attributes in the form of hash
200
+ # @return [Object] Returns the model itself
201
+ def self.build_from_hash(attributes)
202
+ return nil unless attributes.is_a?(Hash)
203
+ attributes = attributes.transform_keys(&:to_sym)
204
+ transformed_hash = {}
205
+ openapi_types.each_pair do |key, type|
206
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
207
+ transformed_hash["#{key}"] = nil
208
+ elsif type =~ /\AArray<(.*)>/i
209
+ # check to ensure the input is an array given that the attribute
210
+ # is documented as an array but the input is not
211
+ if attributes[attribute_map[key]].is_a?(Array)
212
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
213
+ end
214
+ elsif !attributes[attribute_map[key]].nil?
215
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
216
+ end
217
+ end
218
+ new(transformed_hash)
219
+ end
220
+
221
+ # Deserializes the data based on type
222
+ # @param string type Data type
223
+ # @param string value Value to be deserialized
224
+ # @return [Object] Deserialized data
225
+ def self._deserialize(type, value)
226
+ case type.to_sym
227
+ when :Time
228
+ Time.parse(value)
229
+ when :Date
230
+ Date.parse(value)
231
+ when :String
232
+ value.to_s
233
+ when :Integer
234
+ value.to_i
235
+ when :Float
236
+ value.to_f
237
+ when :Boolean
238
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
239
+ true
240
+ else
241
+ false
242
+ end
243
+ when :Object
244
+ # generic object (usually a Hash), return directly
245
+ value
246
+ when /\AArray<(?<inner_type>.+)>\z/
247
+ inner_type = Regexp.last_match[:inner_type]
248
+ value.map { |v| _deserialize(inner_type, v) }
249
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
250
+ k_type = Regexp.last_match[:k_type]
251
+ v_type = Regexp.last_match[:v_type]
252
+ {}.tap do |hash|
253
+ value.each do |k, v|
254
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
255
+ end
256
+ end
257
+ else # model
258
+ # models (e.g. Pet) or oneOf
259
+ klass = ElasticEmail.const_get(type)
260
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
261
+ end
262
+ end
263
+
264
+ # Returns the string representation of the object
265
+ # @return [String] String presentation of the object
266
+ def to_s
267
+ to_hash.to_s
268
+ end
269
+
270
+ # to_body is an alias to to_hash (backward compatibility)
271
+ # @return [Hash] Returns the object in the form of hash
272
+ def to_body
273
+ to_hash
274
+ end
275
+
276
+ # Returns the object in the form of hash
277
+ # @return [Hash] Returns the object in the form of hash
278
+ def to_hash
279
+ hash = {}
280
+ self.class.attribute_map.each_pair do |attr, param|
281
+ value = self.send(attr)
282
+ if value.nil?
283
+ is_nullable = self.class.openapi_nullable.include?(attr)
284
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
285
+ end
286
+
287
+ hash[param] = _to_hash(value)
288
+ end
289
+ hash
290
+ end
291
+
292
+ # Outputs non-array value in the form of hash
293
+ # For object, use to_hash. Otherwise, just return the value
294
+ # @param [Object] value Any valid value
295
+ # @return [Hash] Returns the value in the form of hash
296
+ def _to_hash(value)
297
+ if value.is_a?(Array)
298
+ value.compact.map { |v| _to_hash(v) }
299
+ elsif value.is_a?(Hash)
300
+ {}.tap do |hash|
301
+ value.each { |k, v| hash[k] = _to_hash(v) }
302
+ end
303
+ elsif value.respond_to? :to_hash
304
+ value.to_hash
305
+ else
306
+ value
307
+ end
308
+ end
309
+
310
+ end
311
+
312
+ end
@@ -6,10 +6,10 @@
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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
13
13
  module ElasticEmail
14
- VERSION = '4.0.27'
14
+ VERSION = '4.0.29'
15
15
  end
data/lib/ElasticEmail.rb CHANGED
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -40,6 +40,7 @@ require 'ElasticEmail/models/contact_source'
40
40
  require 'ElasticEmail/models/contact_status'
41
41
  require 'ElasticEmail/models/contact_update_payload'
42
42
  require 'ElasticEmail/models/contacts_list'
43
+ require 'ElasticEmail/models/dkim_record'
43
44
  require 'ElasticEmail/models/delivery_optimization_type'
44
45
  require 'ElasticEmail/models/domain_data'
45
46
  require 'ElasticEmail/models/domain_detail'
@@ -111,6 +112,9 @@ require 'ElasticEmail/models/utm'
111
112
  require 'ElasticEmail/models/verification_file_result'
112
113
  require 'ElasticEmail/models/verification_file_result_details'
113
114
  require 'ElasticEmail/models/verification_status'
115
+ require 'ElasticEmail/models/webhook'
116
+ require 'ElasticEmail/models/webhook_create_payload'
117
+ require 'ElasticEmail/models/webhook_update_payload'
114
118
 
115
119
  # APIs
116
120
  require 'ElasticEmail/api/campaigns_api'
@@ -128,6 +132,7 @@ require 'ElasticEmail/api/sub_accounts_api'
128
132
  require 'ElasticEmail/api/suppressions_api'
129
133
  require 'ElasticEmail/api/templates_api'
130
134
  require 'ElasticEmail/api/verifications_api'
135
+ require 'ElasticEmail/api/webhook_api'
131
136
 
132
137
  module ElasticEmail
133
138
  class << self
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -32,6 +32,19 @@ describe 'CampaignsApi' do
32
32
  end
33
33
  end
34
34
 
35
+ # unit tests for campaigns_automation_by_name_trigger_post
36
+ # Trigger Automation for Contact
37
+ # Manually trigger an Automation for a contact. Required Access Level: ModifyAutomations
38
+ # @param name
39
+ # @param contact_email
40
+ # @param [Hash] opts the optional parameters
41
+ # @return [nil]
42
+ describe 'campaigns_automation_by_name_trigger_post test' do
43
+ it 'should work' do
44
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
45
+ end
46
+ end
47
+
35
48
  # unit tests for campaigns_by_name_delete
36
49
  # Delete Campaign
37
50
  # Delete the specific campaign. This does not cancel in progress email, see Cancel In Progress. Required Access Level: ModifyCampaigns
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -50,7 +50,7 @@ describe 'SecurityApi' do
50
50
  # Load your existing ApiKey info. Required Access Level: ViewAccessTokens
51
51
  # @param name Name of the ApiKey
52
52
  # @param [Hash] opts the optional parameters
53
- # @option opts [String] :subaccount Email of the subaccount of which ApiKey should be loaded
53
+ # @option opts [String] :subaccount Email of the subaccount of which ApiKey should be loaded. The default API key created for the subaccount has a 48-hour expiration period.
54
54
  # @return [ApiKey]
55
55
  describe 'security_apikeys_by_name_get test' do
56
56
  it 'should work' do
@@ -75,7 +75,7 @@ describe 'SecurityApi' do
75
75
  # List ApiKeys
76
76
  # List all your existing ApiKeys. Required Access Level: ViewAccessTokens
77
77
  # @param [Hash] opts the optional parameters
78
- # @option opts [String] :subaccount Email of the subaccount of which ApiKeys should be loaded
78
+ # @option opts [String] :subaccount Email of the subaccount of which ApiKeys should be loaded. The default API key created for the subaccount has a 48-hour expiration period.
79
79
  # @return [Array<ApiKey>]
80
80
  describe 'security_apikeys_get test' do
81
81
  it 'should work' do
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -32,6 +32,18 @@ describe 'SubAccountsApi' do
32
32
  end
33
33
  end
34
34
 
35
+ # unit tests for subaccounts_by_email_apikey_get
36
+ # Get SubAccount ApiKey
37
+ # Returns API key token for the specified SubAccount. The default API key created for the subaccount has a 48-hour expiration period. Required Access Level: ModifySubAccounts
38
+ # @param email Email address of Sub-Account
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [String]
41
+ describe 'subaccounts_by_email_apikey_get test' do
42
+ it 'should work' do
43
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
44
+ end
45
+ end
46
+
35
47
  # unit tests for subaccounts_by_email_credits_patch
36
48
  # Add, Subtract Email Credits
37
49
  # Update email credits of a subaccount by the given amount. Required Access Level: ModifySubAccounts
@@ -97,7 +109,7 @@ describe 'SubAccountsApi' do
97
109
 
98
110
  # unit tests for subaccounts_post
99
111
  # Add SubAccount
100
- # Add a new SubAccount to your Account. To receive an access token for this SubAccount, make a POST security/apikeys request using the &#39;subaccount&#39; parameter. Required Access Level: ModifySubAccounts
112
+ # Add a new SubAccount to your Account. To receive an access token for this SubAccount, make a POST security/apikeys request using the &#39;subaccount&#39; parameter. The default API key created for the subaccount has a 48-hour expiration period. Required Access Level: ModifySubAccounts
101
113
  # @param subaccount_payload
102
114
  # @param [Hash] opts the optional parameters
103
115
  # @return [SubAccountInfo]
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12
 
@@ -0,0 +1,97 @@
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.14.0
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for ElasticEmail::WebhookApi
17
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
18
+ # Please update as you see appropriate
19
+ describe 'WebhookApi' do
20
+ before do
21
+ # run before each test
22
+ @api_instance = ElasticEmail::WebhookApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of WebhookApi' do
30
+ it 'should create an instance of WebhookApi' do
31
+ expect(@api_instance).to be_instance_of(ElasticEmail::WebhookApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for webhook_by_publicid_delete
36
+ # Delete Webhook
37
+ # Delete the specified notifications webhook. Required Access Level: ModifyWebNotifications
38
+ # @param publicid
39
+ # @param [Hash] opts the optional parameters
40
+ # @return [nil]
41
+ describe 'webhook_by_publicid_delete test' do
42
+ it 'should work' do
43
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
44
+ end
45
+ end
46
+
47
+ # unit tests for webhook_by_publicid_get
48
+ # Load Webhook
49
+ # Load notifications webhook details. Required Access Level: ViewWebNotifications
50
+ # @param publicid
51
+ # @param [Hash] opts the optional parameters
52
+ # @return [Webhook]
53
+ describe 'webhook_by_publicid_get test' do
54
+ it 'should work' do
55
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
56
+ end
57
+ end
58
+
59
+ # unit tests for webhook_by_publicid_put
60
+ # Update Webhook
61
+ # Update notification webhook. Required Access Level: ModifyWebNotifications
62
+ # @param publicid
63
+ # @param webhook_update_payload
64
+ # @param [Hash] opts the optional parameters
65
+ # @return [Webhook]
66
+ describe 'webhook_by_publicid_put test' do
67
+ it 'should work' do
68
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
69
+ end
70
+ end
71
+
72
+ # unit tests for webhook_get
73
+ # Load Webhooks
74
+ # Returns a list of notification webhooks. Required Access Level: ViewWebNotifications
75
+ # @param [Hash] opts the optional parameters
76
+ # @option opts [Integer] :limit Maximum number of returned items.
77
+ # @option opts [Integer] :offset How many items should be returned ahead.
78
+ # @return [Array<Webhook>]
79
+ describe 'webhook_get test' do
80
+ it 'should work' do
81
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
82
+ end
83
+ end
84
+
85
+ # unit tests for webhook_post
86
+ # Add Webhook
87
+ # Add a notification webhook. Required Access Level: ModifyWebNotifications
88
+ # @param webhook_create_payload
89
+ # @param [Hash] opts the optional parameters
90
+ # @return [Webhook]
91
+ describe 'webhook_post test' do
92
+ it 'should work' do
93
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
94
+ end
95
+ end
96
+
97
+ end
@@ -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
- Generator version: 7.11.0
9
+ Generator version: 7.14.0
10
10
 
11
11
  =end
12
12