helo-email-sdk 1.0.0.pre.beta.1

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 (129) hide show
  1. checksums.yaml +7 -0
  2. data/lib/helo/api_error.rb +23 -0
  3. data/lib/helo/apis/activity.rb +24 -0
  4. data/lib/helo/apis/broadcasts.rb +30 -0
  5. data/lib/helo/apis/channels.rb +35 -0
  6. data/lib/helo/apis/domains.rb +45 -0
  7. data/lib/helo/apis/sending.rb +43 -0
  8. data/lib/helo/apis/statistics.rb +25 -0
  9. data/lib/helo/apis/suppressions.rb +25 -0
  10. data/lib/helo/apis/webhooks.rb +40 -0
  11. data/lib/helo/client.rb +20 -0
  12. data/lib/helo/configuration.rb +9 -0
  13. data/lib/helo/core/api.rb +22 -0
  14. data/lib/helo/core/api_error.rb +23 -0
  15. data/lib/helo/core/array_type.rb +32 -0
  16. data/lib/helo/core/client.rb +75 -0
  17. data/lib/helo/core/configuration.rb +18 -0
  18. data/lib/helo/core/model.rb +129 -0
  19. data/lib/helo/core/model_type.rb +32 -0
  20. data/lib/helo/enums/attachment_disposition.rb +12 -0
  21. data/lib/helo/enums/broadcast_status.rb +14 -0
  22. data/lib/helo/enums/delivery_type.rb +12 -0
  23. data/lib/helo/enums/dns_record_status.rb +14 -0
  24. data/lib/helo/enums/dns_record_type.rb +12 -0
  25. data/lib/helo/enums/event_type.rb +19 -0
  26. data/lib/helo/enums/mail_type.rb +12 -0
  27. data/lib/helo/enums/suppression_reason.rb +14 -0
  28. data/lib/helo/enums/webhook_event.rb +19 -0
  29. data/lib/helo/models/accepted_webhook_payload.rb +17 -0
  30. data/lib/helo/models/activity_event.rb +19 -0
  31. data/lib/helo/models/activity_list_events_request.rb +20 -0
  32. data/lib/helo/models/activity_list_messages_request.rb +19 -0
  33. data/lib/helo/models/activity_mail_address.rb +10 -0
  34. data/lib/helo/models/attachment.rb +13 -0
  35. data/lib/helo/models/bounced_webhook_payload.rb +18 -0
  36. data/lib/helo/models/broadcast_content.rb +15 -0
  37. data/lib/helo/models/broadcast_content_attachment.rb +11 -0
  38. data/lib/helo/models/broadcast_content_template.rb +11 -0
  39. data/lib/helo/models/broadcast_details_response.rb +19 -0
  40. data/lib/helo/models/broadcast_failure_response.rb +12 -0
  41. data/lib/helo/models/broadcast_response.rb +14 -0
  42. data/lib/helo/models/broadcast_statistics.rb +15 -0
  43. data/lib/helo/models/broadcast_tracking.rb +10 -0
  44. data/lib/helo/models/broadcasts_list_failures_request.rb +11 -0
  45. data/lib/helo/models/broadcasts_list_request.rb +14 -0
  46. data/lib/helo/models/broadcasts_list_suppressions_request.rb +11 -0
  47. data/lib/helo/models/channel_basic_response.rb +12 -0
  48. data/lib/helo/models/channel_details_response.rb +14 -0
  49. data/lib/helo/models/channel_tracking.rb +10 -0
  50. data/lib/helo/models/channels_list_request.rb +14 -0
  51. data/lib/helo/models/clicked_webhook_payload.rb +18 -0
  52. data/lib/helo/models/complained_webhook_payload.rb +18 -0
  53. data/lib/helo/models/create_channel_request.rb +11 -0
  54. data/lib/helo/models/create_channel_tracking.rb +10 -0
  55. data/lib/helo/models/create_domain_request.rb +10 -0
  56. data/lib/helo/models/create_suppressions_request.rb +11 -0
  57. data/lib/helo/models/create_suppressions_response.rb +9 -0
  58. data/lib/helo/models/create_webhook_request.rb +13 -0
  59. data/lib/helo/models/delivered_webhook_payload.rb +18 -0
  60. data/lib/helo/models/delivery_stats.rb +15 -0
  61. data/lib/helo/models/dns_record_response.rb +13 -0
  62. data/lib/helo/models/dns_records_response.rb +13 -0
  63. data/lib/helo/models/domain_channel_response.rb +12 -0
  64. data/lib/helo/models/domain_response.rb +13 -0
  65. data/lib/helo/models/domain_with_dns_response.rb +14 -0
  66. data/lib/helo/models/domains_list_request.rb +13 -0
  67. data/lib/helo/models/error_response.rb +16 -0
  68. data/lib/helo/models/mail_address.rb +10 -0
  69. data/lib/helo/models/message.rb +17 -0
  70. data/lib/helo/models/message_details_response.rb +30 -0
  71. data/lib/helo/models/message_details_response_attachment.rb +11 -0
  72. data/lib/helo/models/message_details_response_event.rb +12 -0
  73. data/lib/helo/models/message_details_response_tracking.rb +10 -0
  74. data/lib/helo/models/opened_webhook_payload.rb +18 -0
  75. data/lib/helo/models/paginated_events_response.rb +11 -0
  76. data/lib/helo/models/paginated_messages_response.rb +11 -0
  77. data/lib/helo/models/paginated_response_of_broadcast.rb +10 -0
  78. data/lib/helo/models/paginated_response_of_broadcast_failure.rb +10 -0
  79. data/lib/helo/models/paginated_response_of_broadcast_suppression.rb +10 -0
  80. data/lib/helo/models/paginated_response_of_domain_response.rb +10 -0
  81. data/lib/helo/models/paginated_response_of_suppression_response.rb +10 -0
  82. data/lib/helo/models/pagination_result_of_channel_basic_response.rb +10 -0
  83. data/lib/helo/models/pagination_result_of_webhook_response.rb +10 -0
  84. data/lib/helo/models/processed_webhook_payload.rb +17 -0
  85. data/lib/helo/models/recipient_event_fields.rb +10 -0
  86. data/lib/helo/models/recipient_headers.rb +11 -0
  87. data/lib/helo/models/remove_suppression_result.rb +11 -0
  88. data/lib/helo/models/remove_suppressions_request.rb +11 -0
  89. data/lib/helo/models/remove_suppressions_response.rb +9 -0
  90. data/lib/helo/models/resubscribed_webhook_payload.rb +18 -0
  91. data/lib/helo/models/send_broadcast_request.rb +17 -0
  92. data/lib/helo/models/send_broadcast_request_message.rb +15 -0
  93. data/lib/helo/models/send_broadcast_request_template.rb +13 -0
  94. data/lib/helo/models/send_broadcast_request_tracking.rb +10 -0
  95. data/lib/helo/models/send_broadcast_response.rb +10 -0
  96. data/lib/helo/models/send_message_accepted_response.rb +11 -0
  97. data/lib/helo/models/send_message_batch_request.rb +9 -0
  98. data/lib/helo/models/send_message_batch_response.rb +9 -0
  99. data/lib/helo/models/send_message_failed_response.rb +11 -0
  100. data/lib/helo/models/send_message_request.rb +22 -0
  101. data/lib/helo/models/send_message_request_template.rb +13 -0
  102. data/lib/helo/models/send_message_request_tracking.rb +10 -0
  103. data/lib/helo/models/send_message_response.rb +8 -0
  104. data/lib/helo/models/statistics_daily_response.rb +9 -0
  105. data/lib/helo/models/statistics_daily_response_result.rb +11 -0
  106. data/lib/helo/models/statistics_hourly_response.rb +9 -0
  107. data/lib/helo/models/statistics_hourly_response_result.rb +11 -0
  108. data/lib/helo/models/statistics_retrieve_daily_request.rb +14 -0
  109. data/lib/helo/models/statistics_retrieve_hourly_request.rb +13 -0
  110. data/lib/helo/models/statistics_retrieve_totals_request.rb +13 -0
  111. data/lib/helo/models/statistics_totals_response.rb +10 -0
  112. data/lib/helo/models/suppression_response.rb +11 -0
  113. data/lib/helo/models/suppression_result.rb +11 -0
  114. data/lib/helo/models/suppressions_list_request.rb +15 -0
  115. data/lib/helo/models/unsubscribed_webhook_payload.rb +18 -0
  116. data/lib/helo/models/update_channel_request.rb +11 -0
  117. data/lib/helo/models/update_channel_tracking.rb +10 -0
  118. data/lib/helo/models/update_domain_request.rb +9 -0
  119. data/lib/helo/models/update_webhook_request.rb +13 -0
  120. data/lib/helo/models/validation_error.rb +9 -0
  121. data/lib/helo/models/webhook_header.rb +10 -0
  122. data/lib/helo/models/webhook_last_response.rb +11 -0
  123. data/lib/helo/models/webhook_payload_common.rb +15 -0
  124. data/lib/helo/models/webhook_response.rb +16 -0
  125. data/lib/helo/models/webhooks_list_request.rb +12 -0
  126. data/lib/helo/version.rb +5 -0
  127. data/lib/helo-email-sdk.rb +3 -0
  128. data/lib/helo.rb +35 -0
  129. metadata +239 -0
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class DomainChannelResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :id, :string, key: "id"
8
+ api_attribute :name, :string, key: "name"
9
+ api_attribute :delivery_type, :string, key: "deliveryType"
10
+ api_attribute :deleted, :boolean, key: "deleted"
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class DomainResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :id, :string, key: "id"
8
+ api_attribute :created_at, :datetime, key: "createdAt"
9
+ api_attribute :name, :string, key: "name"
10
+ api_attribute :verified, :boolean, key: "verified"
11
+ api_attribute :channels, Helo::Core::ArrayType.new("Helo::DomainChannelResponse"), key: "channels"
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class DomainWithDnsResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :id, :string, key: "id"
8
+ api_attribute :created_at, :datetime, key: "createdAt"
9
+ api_attribute :name, :string, key: "name"
10
+ api_attribute :verified, :boolean, key: "verified"
11
+ api_attribute :channels, Helo::Core::ArrayType.new("Helo::DomainChannelResponse"), key: "channels"
12
+ api_attribute :dns_records, Helo::Core::ModelType.new("Helo::DnsRecordsResponse"), key: "dnsRecords"
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ # Generated request model for query parameters
5
+ class DomainsListRequest
6
+ include Helo::Core::Model
7
+
8
+ api_attribute :limit, :integer, key: "limit"
9
+ api_attribute :offset, :integer, key: "offset"
10
+ api_attribute :name, :string, key: "name"
11
+ api_attribute :channel_ids, key: "channelIds", explode: false
12
+ end
13
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class ErrorResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :type, :string, key: "type"
8
+ api_attribute :title, :string, key: "title"
9
+ api_attribute :instance, :string, key: "instance"
10
+ api_attribute :status, :integer, key: "status"
11
+ api_attribute :code, :string, key: "code"
12
+ api_attribute :detail, :string, key: "detail"
13
+ api_attribute :request_id, :string, key: "requestId"
14
+ api_attribute :errors, key: "errors"
15
+ end
16
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class MailAddress
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :email, :string, key: "email"
8
+ api_attribute :name, :string, key: "name"
9
+ end
10
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class Message
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :message_id, :string, key: "messageId"
8
+ api_attribute :channel_id, :string, key: "channelId"
9
+ api_attribute :timestamp, :datetime, key: "timestamp"
10
+ api_attribute :mail_type, :string, key: "mailType"
11
+ api_attribute :mail_source, :string, key: "mailSource"
12
+ api_attribute :delivery_type, :string, key: "deliveryType"
13
+ api_attribute :status, :string, key: "status"
14
+ api_attribute :subject, :string, key: "subject"
15
+ api_attribute :recipients, key: "recipients"
16
+ end
17
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class MessageDetailsResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :message_id, :string, key: "messageId"
8
+ api_attribute :channel_id, :string, key: "channelId"
9
+ api_attribute :timestamp, :datetime, key: "timestamp"
10
+ api_attribute :mail_type, :string, key: "mailType"
11
+ api_attribute :mail_source, :string, key: "mailSource"
12
+ api_attribute :delivery_type, :string, key: "deliveryType"
13
+ api_attribute :status, :string, key: "status"
14
+ api_attribute :subject, :string, key: "subject"
15
+ api_attribute :from, Helo::Core::ModelType.new("Helo::ActivityMailAddress"), key: "from"
16
+ api_attribute :to, Helo::Core::ArrayType.new("Helo::ActivityMailAddress"), key: "to"
17
+ api_attribute :cc, Helo::Core::ArrayType.new("Helo::ActivityMailAddress"), key: "cc"
18
+ api_attribute :bcc, Helo::Core::ArrayType.new("Helo::ActivityMailAddress"), key: "bcc"
19
+ api_attribute :reply_to, Helo::Core::ArrayType.new("Helo::ActivityMailAddress"), key: "replyTo"
20
+ api_attribute :text, :string, key: "text"
21
+ api_attribute :html, :string, key: "html"
22
+ api_attribute :body, :string, key: "body"
23
+ api_attribute :tags, key: "tags"
24
+ api_attribute :headers, key: "headers"
25
+ api_attribute :metadata, key: "metadata"
26
+ api_attribute :attachments, Helo::Core::ArrayType.new("Helo::MessageDetailsResponseAttachment"), key: "attachments"
27
+ api_attribute :tracking, Helo::Core::ModelType.new("Helo::MessageDetailsResponseTracking"), key: "tracking"
28
+ api_attribute :events, Helo::Core::ArrayType.new("Helo::MessageDetailsResponseEvent"), key: "events"
29
+ end
30
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class MessageDetailsResponseAttachment
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :file_name, :string, key: "fileName"
8
+ api_attribute :disposition, :string, key: "disposition"
9
+ api_attribute :size, :float, key: "size"
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class MessageDetailsResponseEvent
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :event_type, :string, key: "eventType"
8
+ api_attribute :timestamp, :datetime, key: "timestamp"
9
+ api_attribute :recipients, key: "recipients"
10
+ api_attribute :details, key: "details"
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class MessageDetailsResponseTracking
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :links, :boolean, key: "links"
8
+ api_attribute :opens, :boolean, key: "opens"
9
+ end
10
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class OpenedWebhookPayload
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :event_type, :string, key: "eventType"
8
+ api_attribute :recipient, :string, key: "recipient"
9
+ api_attribute :details, :string, key: "details"
10
+ api_attribute :timestamp, :datetime, key: "timestamp"
11
+ api_attribute :message_id, :string, key: "messageId"
12
+ api_attribute :channel_id, :string, key: "channelId"
13
+ api_attribute :mail_type, :string, key: "mailType"
14
+ api_attribute :subject, :string, key: "subject"
15
+ api_attribute :tags, key: "tags"
16
+ api_attribute :metadata, key: "metadata"
17
+ end
18
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class PaginatedEventsResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :after, :integer, key: "after"
8
+ api_attribute :total_count, :float, key: "totalCount"
9
+ api_attribute :results, Helo::Core::ArrayType.new("Helo::ActivityEvent"), key: "results"
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class PaginatedMessagesResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :after, :integer, key: "after"
8
+ api_attribute :total_count, :float, key: "totalCount"
9
+ api_attribute :results, Helo::Core::ArrayType.new("Helo::Message"), key: "results"
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class PaginatedResponseOfBroadcast
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :total_count, :integer, key: "totalCount"
8
+ api_attribute :results, Helo::Core::ArrayType.new("Helo::BroadcastResponse"), key: "results"
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class PaginatedResponseOfBroadcastFailure
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :total_count, :integer, key: "totalCount"
8
+ api_attribute :results, Helo::Core::ArrayType.new("Helo::BroadcastFailureResponse"), key: "results"
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class PaginatedResponseOfBroadcastSuppression
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :total_count, :integer, key: "totalCount"
8
+ api_attribute :results, key: "results"
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class PaginatedResponseOfDomainResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :total_count, :integer, key: "totalCount"
8
+ api_attribute :results, Helo::Core::ArrayType.new("Helo::DomainResponse"), key: "results"
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class PaginatedResponseOfSuppressionResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :total_count, :integer, key: "totalCount"
8
+ api_attribute :results, Helo::Core::ArrayType.new("Helo::SuppressionResponse"), key: "results"
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class PaginationResultOfChannelBasicResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :results, Helo::Core::ArrayType.new("Helo::ChannelBasicResponse"), key: "results"
8
+ api_attribute :total_count, :integer, key: "totalCount"
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class PaginationResultOfWebhookResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :results, Helo::Core::ArrayType.new("Helo::WebhookResponse"), key: "results"
8
+ api_attribute :total_count, :integer, key: "totalCount"
9
+ end
10
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class ProcessedWebhookPayload
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :event_type, :string, key: "eventType"
8
+ api_attribute :recipients, key: "recipients"
9
+ api_attribute :timestamp, :datetime, key: "timestamp"
10
+ api_attribute :message_id, :string, key: "messageId"
11
+ api_attribute :channel_id, :string, key: "channelId"
12
+ api_attribute :mail_type, :string, key: "mailType"
13
+ api_attribute :subject, :string, key: "subject"
14
+ api_attribute :tags, key: "tags"
15
+ api_attribute :metadata, key: "metadata"
16
+ end
17
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class RecipientEventFields
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :recipient, :string, key: "recipient"
8
+ api_attribute :details, :string, key: "details"
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class RecipientHeaders
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :to, Helo::Core::ArrayType.new("Helo::MailAddress"), key: "to"
8
+ api_attribute :cc, Helo::Core::ArrayType.new("Helo::MailAddress"), key: "cc"
9
+ api_attribute :bcc, Helo::Core::ArrayType.new("Helo::MailAddress"), key: "bcc"
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class RemoveSuppressionResult
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :email, :string, key: "email"
8
+ api_attribute :success, :boolean, key: "success"
9
+ api_attribute :message, :string, key: "message"
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class RemoveSuppressionsRequest
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :channel_id, :string, key: "channelId"
8
+ api_attribute :mail_type, :string, key: "mailType"
9
+ api_attribute :emails, key: "emails"
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class RemoveSuppressionsResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :results, Helo::Core::ArrayType.new("Helo::RemoveSuppressionResult"), key: "results"
8
+ end
9
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class ResubscribedWebhookPayload
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :event_type, :string, key: "eventType"
8
+ api_attribute :recipient, :string, key: "recipient"
9
+ api_attribute :details, :string, key: "details"
10
+ api_attribute :timestamp, :datetime, key: "timestamp"
11
+ api_attribute :message_id, :string, key: "messageId"
12
+ api_attribute :channel_id, :string, key: "channelId"
13
+ api_attribute :mail_type, :string, key: "mailType"
14
+ api_attribute :subject, :string, key: "subject"
15
+ api_attribute :tags, key: "tags"
16
+ api_attribute :metadata, key: "metadata"
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class SendBroadcastRequest
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :from, Helo::Core::ModelType.new("Helo::MailAddress"), key: "from"
8
+ api_attribute :reply_to, Helo::Core::ArrayType.new("Helo::MailAddress"), key: "replyTo"
9
+ api_attribute :template, Helo::Core::ModelType.new("Helo::SendBroadcastRequestTemplate"), key: "template"
10
+ api_attribute :tracking, Helo::Core::ModelType.new("Helo::SendBroadcastRequestTracking"), key: "tracking"
11
+ api_attribute :attachments, Helo::Core::ArrayType.new("Helo::Attachment"), key: "attachments"
12
+ api_attribute :tags, key: "tags"
13
+ api_attribute :headers, key: "headers"
14
+ api_attribute :metadata, key: "metadata"
15
+ api_attribute :messages, Helo::Core::ArrayType.new("Helo::SendBroadcastRequestMessage"), key: "messages"
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class SendBroadcastRequestMessage
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :to, Helo::Core::ArrayType.new("Helo::MailAddress"), key: "to"
8
+ api_attribute :cc, Helo::Core::ArrayType.new("Helo::MailAddress"), key: "cc"
9
+ api_attribute :bcc, Helo::Core::ArrayType.new("Helo::MailAddress"), key: "bcc"
10
+ api_attribute :tags, key: "tags"
11
+ api_attribute :headers, key: "headers"
12
+ api_attribute :metadata, key: "metadata"
13
+ api_attribute :data, key: "data"
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class SendBroadcastRequestTemplate
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :subject, :string, key: "subject"
8
+ api_attribute :html, :string, key: "html"
9
+ api_attribute :text, :string, key: "text"
10
+ api_attribute :inline_styles, :boolean, key: "inlineStyles"
11
+ api_attribute :data, key: "data"
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class SendBroadcastRequestTracking
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :opens, :boolean, key: "opens"
8
+ api_attribute :links, :boolean, key: "links"
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class SendBroadcastResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :status, :string, key: "status"
8
+ api_attribute :broadcast_id, :string, key: "broadcastId"
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class SendMessageAcceptedResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :status, :string, key: "status"
8
+ api_attribute :message_id, :string, key: "messageId"
9
+ api_attribute :suppressions, key: "suppressions"
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class SendMessageBatchRequest
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :requests, Helo::Core::ArrayType.new("Helo::SendMessageRequest"), key: "requests"
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class SendMessageBatchResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :responses, Helo::Core::ArrayType.new("Helo::SendMessageResponse"), key: "responses"
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class SendMessageFailedResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :status, :string, key: "status"
8
+ api_attribute :error_code, :string, key: "errorCode"
9
+ api_attribute :error_message, :string, key: "errorMessage"
10
+ end
11
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class SendMessageRequest
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :from, Helo::Core::ModelType.new("Helo::MailAddress"), key: "from"
8
+ api_attribute :to, Helo::Core::ArrayType.new("Helo::MailAddress"), key: "to"
9
+ api_attribute :cc, Helo::Core::ArrayType.new("Helo::MailAddress"), key: "cc"
10
+ api_attribute :bcc, Helo::Core::ArrayType.new("Helo::MailAddress"), key: "bcc"
11
+ api_attribute :reply_to, Helo::Core::ArrayType.new("Helo::MailAddress"), key: "replyTo"
12
+ api_attribute :subject, :string, key: "subject"
13
+ api_attribute :html, :string, key: "html"
14
+ api_attribute :text, :string, key: "text"
15
+ api_attribute :template, Helo::Core::ModelType.new("Helo::SendMessageRequestTemplate"), key: "template"
16
+ api_attribute :tracking, Helo::Core::ModelType.new("Helo::SendMessageRequestTracking"), key: "tracking"
17
+ api_attribute :attachments, Helo::Core::ArrayType.new("Helo::Attachment"), key: "attachments"
18
+ api_attribute :tags, key: "tags"
19
+ api_attribute :headers, key: "headers"
20
+ api_attribute :metadata, key: "metadata"
21
+ end
22
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class SendMessageRequestTemplate
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :subject, :string, key: "subject"
8
+ api_attribute :html, :string, key: "html"
9
+ api_attribute :text, :string, key: "text"
10
+ api_attribute :inline_styles, :boolean, key: "inlineStyles"
11
+ api_attribute :data, key: "data"
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class SendMessageRequestTracking
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :opens, :boolean, key: "opens"
8
+ api_attribute :links, :boolean, key: "links"
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class SendMessageResponse
5
+ include Helo::Core::Model
6
+
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class StatisticsDailyResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :results, Helo::Core::ArrayType.new("Helo::StatisticsDailyResponseResult"), key: "results"
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class StatisticsDailyResponseResult
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :timestamp, :date, key: "timestamp"
8
+ api_attribute :transactional, Helo::Core::ModelType.new("Helo::DeliveryStats"), key: "transactional"
9
+ api_attribute :broadcast, Helo::Core::ModelType.new("Helo::DeliveryStats"), key: "broadcast"
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class StatisticsHourlyResponse
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :results, Helo::Core::ArrayType.new("Helo::StatisticsHourlyResponseResult"), key: "results"
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ class StatisticsHourlyResponseResult
5
+ include Helo::Core::Model
6
+
7
+ api_attribute :timestamp, :datetime, key: "timestamp"
8
+ api_attribute :transactional, Helo::Core::ModelType.new("Helo::DeliveryStats"), key: "transactional"
9
+ api_attribute :broadcast, Helo::Core::ModelType.new("Helo::DeliveryStats"), key: "broadcast"
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Helo
4
+ # Generated request model for query parameters
5
+ class StatisticsRetrieveDailyRequest
6
+ include Helo::Core::Model
7
+
8
+ api_attribute :channel_id, :string, key: "channelId"
9
+ api_attribute :from, :date, key: "from"
10
+ api_attribute :to, :date, key: "to"
11
+ api_attribute :tags, key: "tags", explode: false
12
+ api_attribute :timezone, :string, key: "timezone"
13
+ end
14
+ end