pingram 1.0.37 → 1.0.39

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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/lib/pingram/api/library_api.rb +2 -2
  4. data/lib/pingram/api/logs_api.rb +124 -2
  5. data/lib/pingram/api/profile_api.rb +0 -66
  6. data/lib/pingram/api/webhooks_api.rb +4 -4
  7. data/lib/pingram/api_client.rb +1 -1
  8. data/lib/pingram/models/{change_email_request.rb → confirm_change_email_request.rb} +19 -19
  9. data/lib/pingram/models/create_library_request.rb +1 -1
  10. data/lib/pingram/models/get_logs_response_messages_inner.rb +4 -0
  11. data/lib/pingram/models/get_logs_response_messages_inner_attachments_inner.rb +52 -4
  12. data/lib/pingram/models/logs_delivery_status_response.rb +168 -0
  13. data/lib/pingram/models/logs_delivery_status_response_statuses_inner.rb +266 -0
  14. data/lib/pingram/models/logs_get_response_logs_inner.rb +60 -1
  15. data/lib/pingram/models/start_change_email_request.rb +201 -0
  16. data/lib/pingram/models/webhook_endpoint_upsert_request.rb +1 -1
  17. data/lib/pingram/version.rb +1 -1
  18. data/lib/pingram.rb +4 -1
  19. data/vendor/bundle/ruby/3.2.0/cache/date-3.6.0.gem +0 -0
  20. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.6.0/date_core.so +0 -0
  21. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.6.0/gem_make.out +26 -0
  22. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{date-3.5.1 → date-3.6.0}/mkmf.log +55 -2
  23. data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/Makefile +1 -1
  24. data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/date_core.c +293 -77
  25. data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/date_parse.c +14 -4
  26. data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/date_strptime.c +13 -13
  27. data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/extconf.rb +6 -0
  28. data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/lib/date.rb +1 -1
  29. data/vendor/bundle/ruby/3.2.0/gems/date-3.6.0/lib/date_core.so +0 -0
  30. data/vendor/bundle/ruby/3.2.0/specifications/{date-3.5.1.gemspec → date-3.6.0.gemspec} +3 -3
  31. metadata +27 -24
  32. data/vendor/bundle/ruby/3.2.0/cache/date-3.5.1.gem +0 -0
  33. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.5.1/date_core.so +0 -0
  34. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.5.1/gem_make.out +0 -24
  35. data/vendor/bundle/ruby/3.2.0/gems/date-3.5.1/lib/date_core.so +0 -0
  36. /data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{date-3.5.1 → date-3.6.0}/gem.build_complete +0 -0
  37. /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/BSDL +0 -0
  38. /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/COPYING +0 -0
  39. /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/README.md +0 -0
  40. /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/date_strftime.c +0 -0
  41. /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/date_tmx.h +0 -0
  42. /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/prereq.mk +0 -0
  43. /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/zonetab.h +0 -0
  44. /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/zonetab.list +0 -0
@@ -0,0 +1,168 @@
1
+ =begin
2
+ #Pingram
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Pingram
17
+ # Response type for GET /logs/status/{trackingIds}. Unknown tracking ids are omitted. A log that is still ingesting is omitted until it can be read.
18
+ class LogsDeliveryStatusResponse < ApiModelBase
19
+ # Delivery outcomes for the requested tracking ids.
20
+ attr_accessor :statuses
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'statuses' => :'statuses'
26
+ }
27
+ end
28
+
29
+ # Returns attribute mapping this model knows about
30
+ def self.acceptable_attribute_map
31
+ attribute_map
32
+ end
33
+
34
+ # Returns all the JSON keys this model knows about
35
+ def self.acceptable_attributes
36
+ acceptable_attribute_map.values
37
+ end
38
+
39
+ # Attribute type mapping.
40
+ def self.openapi_types
41
+ {
42
+ :'statuses' => :'Array<LogsDeliveryStatusResponseStatusesInner>'
43
+ }
44
+ end
45
+
46
+ # List of attributes with nullable: true
47
+ def self.openapi_nullable
48
+ Set.new([
49
+ ])
50
+ end
51
+
52
+ # Initializes the object
53
+ # @param [Hash] attributes Model attributes in the form of hash
54
+ def initialize(attributes = {})
55
+ if (!attributes.is_a?(Hash))
56
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::LogsDeliveryStatusResponse` initialize method"
57
+ end
58
+
59
+ # check to see if the attribute exists and convert string to symbol for hash key
60
+ acceptable_attribute_map = self.class.acceptable_attribute_map
61
+ attributes = attributes.each_with_object({}) { |(k, v), h|
62
+ if (!acceptable_attribute_map.key?(k.to_sym))
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::LogsDeliveryStatusResponse`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
64
+ end
65
+ h[k.to_sym] = v
66
+ }
67
+
68
+ if attributes.key?(:'statuses')
69
+ if (value = attributes[:'statuses']).is_a?(Array)
70
+ self.statuses = value
71
+ end
72
+ else
73
+ self.statuses = nil
74
+ end
75
+ end
76
+
77
+ # Show invalid properties with the reasons. Usually used together with valid?
78
+ # @return Array for valid properties with the reasons
79
+ def list_invalid_properties
80
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
81
+ invalid_properties = Array.new
82
+ if @statuses.nil?
83
+ invalid_properties.push('invalid value for "statuses", statuses cannot be nil.')
84
+ end
85
+
86
+ invalid_properties
87
+ end
88
+
89
+ # Check to see if the all the properties in the model are valid
90
+ # @return true if the model is valid
91
+ def valid?
92
+ warn '[DEPRECATED] the `valid?` method is obsolete'
93
+ return false if @statuses.nil?
94
+ true
95
+ end
96
+
97
+ # Custom attribute writer method with validation
98
+ # @param [Object] statuses Value to be assigned
99
+ def statuses=(statuses)
100
+ if statuses.nil?
101
+ fail ArgumentError, 'statuses cannot be nil'
102
+ end
103
+
104
+ @statuses = statuses
105
+ end
106
+
107
+ # Checks equality by comparing each attribute.
108
+ # @param [Object] Object to be compared
109
+ def ==(o)
110
+ return true if self.equal?(o)
111
+ self.class == o.class &&
112
+ statuses == o.statuses
113
+ end
114
+
115
+ # @see the `==` method
116
+ # @param [Object] Object to be compared
117
+ def eql?(o)
118
+ self == o
119
+ end
120
+
121
+ # Calculates hash code according to all attributes.
122
+ # @return [Integer] Hash code
123
+ def hash
124
+ [statuses].hash
125
+ end
126
+
127
+ # Builds the object from hash
128
+ # @param [Hash] attributes Model attributes in the form of hash
129
+ # @return [Object] Returns the model itself
130
+ def self.build_from_hash(attributes)
131
+ return nil unless attributes.is_a?(Hash)
132
+ attributes = attributes.transform_keys(&:to_sym)
133
+ transformed_hash = {}
134
+ openapi_types.each_pair do |key, type|
135
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
136
+ transformed_hash["#{key}"] = nil
137
+ elsif type =~ /\AArray<(.*)>/i
138
+ # check to ensure the input is an array given that the attribute
139
+ # is documented as an array but the input is not
140
+ if attributes[attribute_map[key]].is_a?(Array)
141
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
142
+ end
143
+ elsif !attributes[attribute_map[key]].nil?
144
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
145
+ end
146
+ end
147
+ new(transformed_hash)
148
+ end
149
+
150
+ # Returns the object in the form of hash
151
+ # @return [Hash] Returns the object in the form of hash
152
+ def to_hash
153
+ hash = {}
154
+ self.class.attribute_map.each_pair do |attr, param|
155
+ value = self.send(attr)
156
+ if value.nil?
157
+ is_nullable = self.class.openapi_nullable.include?(attr)
158
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
159
+ end
160
+
161
+ hash[param] = _to_hash(value)
162
+ end
163
+ hash
164
+ end
165
+
166
+ end
167
+
168
+ end
@@ -0,0 +1,266 @@
1
+ =begin
2
+ #Pingram
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Pingram
17
+ # One delivery outcome. Fields are limited to the tracking id, channel, status, and the time that status was recorded. `channel` is omitted when the outcome is for the whole request, before a channel was chosen.
18
+ class LogsDeliveryStatusResponseStatusesInner < ApiModelBase
19
+ # Opaque id returned when the notification was accepted.
20
+ attr_accessor :tracking_id
21
+
22
+ # Channel named on a delivery-status row. Email and SMS only. Coarse labels: no address or provider id.
23
+ attr_accessor :channel
24
+
25
+ # Delivery outcome for one request or one channel. These are the same states shown in the dashboard status column.
26
+ attr_accessor :status
27
+
28
+ # ISO 8601 time this outcome was recorded.
29
+ attr_accessor :updated_at
30
+
31
+ class EnumAttributeValidator
32
+ attr_reader :datatype
33
+ attr_reader :allowable_values
34
+
35
+ def initialize(datatype, allowable_values)
36
+ @allowable_values = allowable_values.map do |value|
37
+ case datatype.to_s
38
+ when /Integer/i
39
+ value.to_i
40
+ when /Float/i
41
+ value.to_f
42
+ else
43
+ value
44
+ end
45
+ end
46
+ end
47
+
48
+ def valid?(value)
49
+ !value || allowable_values.include?(value)
50
+ end
51
+ end
52
+
53
+ # Attribute mapping from ruby-style variable name to JSON key.
54
+ def self.attribute_map
55
+ {
56
+ :'tracking_id' => :'trackingId',
57
+ :'channel' => :'channel',
58
+ :'status' => :'status',
59
+ :'updated_at' => :'updatedAt'
60
+ }
61
+ end
62
+
63
+ # Returns attribute mapping this model knows about
64
+ def self.acceptable_attribute_map
65
+ attribute_map
66
+ end
67
+
68
+ # Returns all the JSON keys this model knows about
69
+ def self.acceptable_attributes
70
+ acceptable_attribute_map.values
71
+ end
72
+
73
+ # Attribute type mapping.
74
+ def self.openapi_types
75
+ {
76
+ :'tracking_id' => :'String',
77
+ :'channel' => :'String',
78
+ :'status' => :'String',
79
+ :'updated_at' => :'String'
80
+ }
81
+ end
82
+
83
+ # List of attributes with nullable: true
84
+ def self.openapi_nullable
85
+ Set.new([
86
+ ])
87
+ end
88
+
89
+ # Initializes the object
90
+ # @param [Hash] attributes Model attributes in the form of hash
91
+ def initialize(attributes = {})
92
+ if (!attributes.is_a?(Hash))
93
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Pingram::LogsDeliveryStatusResponseStatusesInner` initialize method"
94
+ end
95
+
96
+ # check to see if the attribute exists and convert string to symbol for hash key
97
+ acceptable_attribute_map = self.class.acceptable_attribute_map
98
+ attributes = attributes.each_with_object({}) { |(k, v), h|
99
+ if (!acceptable_attribute_map.key?(k.to_sym))
100
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Pingram::LogsDeliveryStatusResponseStatusesInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
101
+ end
102
+ h[k.to_sym] = v
103
+ }
104
+
105
+ if attributes.key?(:'tracking_id')
106
+ self.tracking_id = attributes[:'tracking_id']
107
+ else
108
+ self.tracking_id = nil
109
+ end
110
+
111
+ if attributes.key?(:'channel')
112
+ self.channel = attributes[:'channel']
113
+ end
114
+
115
+ if attributes.key?(:'status')
116
+ self.status = attributes[:'status']
117
+ else
118
+ self.status = nil
119
+ end
120
+
121
+ if attributes.key?(:'updated_at')
122
+ self.updated_at = attributes[:'updated_at']
123
+ else
124
+ self.updated_at = nil
125
+ end
126
+ end
127
+
128
+ # Show invalid properties with the reasons. Usually used together with valid?
129
+ # @return Array for valid properties with the reasons
130
+ def list_invalid_properties
131
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
132
+ invalid_properties = Array.new
133
+ if @tracking_id.nil?
134
+ invalid_properties.push('invalid value for "tracking_id", tracking_id cannot be nil.')
135
+ end
136
+
137
+ if @status.nil?
138
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
139
+ end
140
+
141
+ if @updated_at.nil?
142
+ invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.')
143
+ end
144
+
145
+ invalid_properties
146
+ end
147
+
148
+ # Check to see if the all the properties in the model are valid
149
+ # @return true if the model is valid
150
+ def valid?
151
+ warn '[DEPRECATED] the `valid?` method is obsolete'
152
+ return false if @tracking_id.nil?
153
+ channel_validator = EnumAttributeValidator.new('String', ["EMAIL", "SMS"])
154
+ return false unless channel_validator.valid?(@channel)
155
+ return false if @status.nil?
156
+ status_validator = EnumAttributeValidator.new('String', ["PROCESSING", "FAILED", "IGNORED", "SCHEDULED", "UNSCHEDULED", "BATCHED", "SENT", "DELIVERED", "BOUNCED", "COMPLAINT", "THROTTLED", "DEDUPLICATED", "OPENED", "CLICKED", "INBOUND", "AUTO_REPLY"])
157
+ return false unless status_validator.valid?(@status)
158
+ return false if @updated_at.nil?
159
+ true
160
+ end
161
+
162
+ # Custom attribute writer method with validation
163
+ # @param [Object] tracking_id Value to be assigned
164
+ def tracking_id=(tracking_id)
165
+ if tracking_id.nil?
166
+ fail ArgumentError, 'tracking_id cannot be nil'
167
+ end
168
+
169
+ @tracking_id = tracking_id
170
+ end
171
+
172
+ # Custom attribute writer method checking allowed values (enum).
173
+ # @param [Object] channel Object to be assigned
174
+ def channel=(channel)
175
+ validator = EnumAttributeValidator.new('String', ["EMAIL", "SMS"])
176
+ unless validator.valid?(channel)
177
+ fail ArgumentError, "invalid value for \"channel\", must be one of #{validator.allowable_values}."
178
+ end
179
+ @channel = channel
180
+ end
181
+
182
+ # Custom attribute writer method checking allowed values (enum).
183
+ # @param [Object] status Object to be assigned
184
+ def status=(status)
185
+ validator = EnumAttributeValidator.new('String', ["PROCESSING", "FAILED", "IGNORED", "SCHEDULED", "UNSCHEDULED", "BATCHED", "SENT", "DELIVERED", "BOUNCED", "COMPLAINT", "THROTTLED", "DEDUPLICATED", "OPENED", "CLICKED", "INBOUND", "AUTO_REPLY"])
186
+ unless validator.valid?(status)
187
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
188
+ end
189
+ @status = status
190
+ end
191
+
192
+ # Custom attribute writer method with validation
193
+ # @param [Object] updated_at Value to be assigned
194
+ def updated_at=(updated_at)
195
+ if updated_at.nil?
196
+ fail ArgumentError, 'updated_at cannot be nil'
197
+ end
198
+
199
+ @updated_at = updated_at
200
+ end
201
+
202
+ # Checks equality by comparing each attribute.
203
+ # @param [Object] Object to be compared
204
+ def ==(o)
205
+ return true if self.equal?(o)
206
+ self.class == o.class &&
207
+ tracking_id == o.tracking_id &&
208
+ channel == o.channel &&
209
+ status == o.status &&
210
+ updated_at == o.updated_at
211
+ end
212
+
213
+ # @see the `==` method
214
+ # @param [Object] Object to be compared
215
+ def eql?(o)
216
+ self == o
217
+ end
218
+
219
+ # Calculates hash code according to all attributes.
220
+ # @return [Integer] Hash code
221
+ def hash
222
+ [tracking_id, channel, status, updated_at].hash
223
+ end
224
+
225
+ # Builds the object from hash
226
+ # @param [Hash] attributes Model attributes in the form of hash
227
+ # @return [Object] Returns the model itself
228
+ def self.build_from_hash(attributes)
229
+ return nil unless attributes.is_a?(Hash)
230
+ attributes = attributes.transform_keys(&:to_sym)
231
+ transformed_hash = {}
232
+ openapi_types.each_pair do |key, type|
233
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
234
+ transformed_hash["#{key}"] = nil
235
+ elsif type =~ /\AArray<(.*)>/i
236
+ # check to ensure the input is an array given that the attribute
237
+ # is documented as an array but the input is not
238
+ if attributes[attribute_map[key]].is_a?(Array)
239
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
240
+ end
241
+ elsif !attributes[attribute_map[key]].nil?
242
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
243
+ end
244
+ end
245
+ new(transformed_hash)
246
+ end
247
+
248
+ # Returns the object in the form of hash
249
+ # @return [Hash] Returns the object in the form of hash
250
+ def to_hash
251
+ hash = {}
252
+ self.class.attribute_map.each_pair do |attr, param|
253
+ value = self.send(attr)
254
+ if value.nil?
255
+ is_nullable = self.class.openapi_nullable.include?(attr)
256
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
257
+ end
258
+
259
+ hash[param] = _to_hash(value)
260
+ end
261
+ hash
262
+ end
263
+
264
+ end
265
+
266
+ end
@@ -122,42 +122,73 @@ module Pingram
122
122
 
123
123
  attr_accessor :email_clicked_webhook_res
124
124
 
125
+ # When the message was accepted, ISO 8601. Log order and the 30-day resend window use this time.
125
126
  attr_accessor :email_inbound_at
126
127
 
128
+ # Sender email address.
127
129
  attr_accessor :email_inbound_from
128
130
 
131
+ # Sender display name, when the From header includes one.
129
132
  attr_accessor :email_inbound_from_name
130
133
 
134
+ # Comma-separated To header addresses. This is the header, not necessarily the Pingram inbox.
131
135
  attr_accessor :email_inbound_to
132
136
 
137
+ # Comma-separated CC header addresses.
133
138
  attr_accessor :email_inbound_cc
134
139
 
140
+ # Comma-separated BCC header addresses. Often empty because that header is stripped before delivery.
135
141
  attr_accessor :email_inbound_bcc
136
142
 
143
+ # Reply-To header address.
137
144
  attr_accessor :email_inbound_reply_to
138
145
 
146
+ # Address that received the mail. Same value as `matched.email` on the EMAIL_INBOUND webhook, including when that address was only in Cc or Bcc.
139
147
  attr_accessor :email_inbound_inbox
140
148
 
149
+ # Display name of `email_inbound_inbox` when the headers include one. Same value as `matched.name`. Omitted when that address has no display name.
150
+ attr_accessor :email_inbound_to_name
151
+
152
+ # Sender Date header, ISO 8601. Omitted when that header is missing or invalid.
153
+ attr_accessor :email_inbound_sent_at
154
+
155
+ # Key used to resend this inbound email for 30 days.
156
+ attr_accessor :email_inbound_retry_key
157
+
158
+ # User id from the original notification when this mail is a reply to one.
159
+ attr_accessor :email_inbound_user_id
160
+
161
+ # Subject line.
141
162
  attr_accessor :email_inbound_subject
142
163
 
164
+ # Plain-text body.
143
165
  attr_accessor :email_inbound_body_text
144
166
 
167
+ # HTML body. Inline images use `cid:` values that match attachment content IDs on the webhook payload.
145
168
  attr_accessor :email_inbound_body_html
146
169
 
170
+ # True when the message includes at least one attachment.
147
171
  attr_accessor :email_inbound_has_attachments
148
172
 
173
+ # Number of attachments. File bytes are not stored on this log.
149
174
  attr_accessor :email_inbound_attachment_count
150
175
 
176
+ # Message-ID header. Use it to thread later replies.
151
177
  attr_accessor :email_inbound_message_id
152
178
 
179
+ # In-Reply-To header: the Message-ID this mail replies to.
153
180
  attr_accessor :email_inbound_in_reply_to
154
181
 
182
+ # References header: the chain of Message-IDs in the thread.
155
183
  attr_accessor :email_inbound_references
156
184
 
185
+ # True when an EMAIL_INBOUND webhook endpoint returned a 2xx response.
157
186
  attr_accessor :email_inbound_webhook_delivered
158
187
 
188
+ # JSON delivery result for each EMAIL_INBOUND endpoint.
159
189
  attr_accessor :email_inbound_webhook_res
160
190
 
191
+ # How the inbox was matched: `reply` for a reply to a sent notification, `builtin` for a Pingram inbox, or `custom` for a custom domain.
161
192
  attr_accessor :email_inbound_resolution_type
162
193
 
163
194
  attr_accessor :sms_inbound_at
@@ -457,6 +488,10 @@ module Pingram
457
488
  :'email_inbound_bcc' => :'email_inbound_bcc',
458
489
  :'email_inbound_reply_to' => :'email_inbound_reply_to',
459
490
  :'email_inbound_inbox' => :'email_inbound_inbox',
491
+ :'email_inbound_to_name' => :'email_inbound_to_name',
492
+ :'email_inbound_sent_at' => :'email_inbound_sent_at',
493
+ :'email_inbound_retry_key' => :'email_inbound_retry_key',
494
+ :'email_inbound_user_id' => :'email_inbound_user_id',
460
495
  :'email_inbound_subject' => :'email_inbound_subject',
461
496
  :'email_inbound_body_text' => :'email_inbound_body_text',
462
497
  :'email_inbound_body_html' => :'email_inbound_body_html',
@@ -647,6 +682,10 @@ module Pingram
647
682
  :'email_inbound_bcc' => :'String',
648
683
  :'email_inbound_reply_to' => :'String',
649
684
  :'email_inbound_inbox' => :'String',
685
+ :'email_inbound_to_name' => :'String',
686
+ :'email_inbound_sent_at' => :'String',
687
+ :'email_inbound_retry_key' => :'String',
688
+ :'email_inbound_user_id' => :'String',
650
689
  :'email_inbound_subject' => :'String',
651
690
  :'email_inbound_body_text' => :'String',
652
691
  :'email_inbound_body_html' => :'String',
@@ -1033,6 +1072,22 @@ module Pingram
1033
1072
  self.email_inbound_inbox = attributes[:'email_inbound_inbox']
1034
1073
  end
1035
1074
 
1075
+ if attributes.key?(:'email_inbound_to_name')
1076
+ self.email_inbound_to_name = attributes[:'email_inbound_to_name']
1077
+ end
1078
+
1079
+ if attributes.key?(:'email_inbound_sent_at')
1080
+ self.email_inbound_sent_at = attributes[:'email_inbound_sent_at']
1081
+ end
1082
+
1083
+ if attributes.key?(:'email_inbound_retry_key')
1084
+ self.email_inbound_retry_key = attributes[:'email_inbound_retry_key']
1085
+ end
1086
+
1087
+ if attributes.key?(:'email_inbound_user_id')
1088
+ self.email_inbound_user_id = attributes[:'email_inbound_user_id']
1089
+ end
1090
+
1036
1091
  if attributes.key?(:'email_inbound_subject')
1037
1092
  self.email_inbound_subject = attributes[:'email_inbound_subject']
1038
1093
  end
@@ -1897,6 +1952,10 @@ module Pingram
1897
1952
  email_inbound_bcc == o.email_inbound_bcc &&
1898
1953
  email_inbound_reply_to == o.email_inbound_reply_to &&
1899
1954
  email_inbound_inbox == o.email_inbound_inbox &&
1955
+ email_inbound_to_name == o.email_inbound_to_name &&
1956
+ email_inbound_sent_at == o.email_inbound_sent_at &&
1957
+ email_inbound_retry_key == o.email_inbound_retry_key &&
1958
+ email_inbound_user_id == o.email_inbound_user_id &&
1900
1959
  email_inbound_subject == o.email_inbound_subject &&
1901
1960
  email_inbound_body_text == o.email_inbound_body_text &&
1902
1961
  email_inbound_body_html == o.email_inbound_body_html &&
@@ -2021,7 +2080,7 @@ module Pingram
2021
2080
  # Calculates hash code according to all attributes.
2022
2081
  # @return [Integer] Hash code
2023
2082
  def hash
2024
- [received_at, type, env_id, client_id, agent, ip, request, test, tracking_id, account_id, failed_at, failed_code, failed_internal, inapp_sent_at, inapp_sent_after, inapp_delivered_at, inapp_delivered_after, inapp_failed_at, inapp_failed_code, inapp_failed_internal, mobile_push_failed_at, mobile_push_failed_code, mobile_push_failed_token, mobile_push_failed_internal, mobile_push_sent_at, mobile_push_sent_after, mobile_push_sent_token, mobile_push_delivered_at, mobile_push_delivered_after, email_sent_at, email_sent_message_id, email_sent_after, email_preview, email_delivered_at, email_delivered_recipients, email_delivered_after, email_delivered_webhook_res, email_failed_at, email_failed_code, email_failed_recipient, email_failed_diagnostic_code, email_failed_internal, email_failed_webhook_res, email_opened_at, email_opened_user_agent, email_opened_ip, email_opened_webhook_res, email_clicked_at, email_clicked_user_agent, email_clicked_ip, email_clicked_link, email_clicked_link_tags, email_clicked_webhook_res, email_inbound_at, email_inbound_from, email_inbound_from_name, email_inbound_to, email_inbound_cc, email_inbound_bcc, email_inbound_reply_to, email_inbound_inbox, email_inbound_subject, email_inbound_body_text, email_inbound_body_html, email_inbound_has_attachments, email_inbound_attachment_count, email_inbound_message_id, email_inbound_in_reply_to, email_inbound_references, email_inbound_webhook_delivered, email_inbound_webhook_res, email_inbound_resolution_type, sms_inbound_at, sms_inbound_from, sms_inbound_to, sms_inbound_text, sms_inbound_webhook_delivered, sms_inbound_webhook_res, sms_inbound_media, sms_replied_at, sms_replied_to, sms_replied_text, sms_replied_segments, sms_replied_encoding, sms_unsubscribe_at, sms_unsubscribe_from, sms_unsubscribe_keyword, sms_unsubscribe_webhook_delivered, sms_unsubscribe_webhook_res, sms_subscribe_at, sms_subscribe_from, sms_subscribe_keyword, sms_subscribe_webhook_delivered, sms_subscribe_webhook_res, web_push_sent_token, web_push_sent_at, web_push_sent_after, web_push_delivered_at, web_push_delivered_after, web_push_delivered_token, web_push_delivered_internal, web_push_failed_at, web_push_failed_token, web_push_failed_code, web_push_failed_internal, processed_at, ignored, scheduled_for, user_id, user_email, user_number, email_routing, email_routing_reason, sms_routing, sms_routing_reason, web_push_routing, web_push_routing_reason, mobile_push_routing, mobile_push_routing_reason, call_routing, call_routing_reason, inapp_routing, inapp_routing_reason, slack_routing, slack_routing_reason, sms_preview, call_preview, web_push_preview, mobile_push_preview, slack_preview, inapp_preview, slack_sent_at, slack_sent_after, slack_delivered_at, slack_delivered_after, slack_delivered_internal, slack_failed_at, slack_failed_code, slack_failed_internal, call_sent_at, call_sent_after, call_sent_from, call_delivered_at, call_delivered_after, call_delivered_code, call_delivered_cost_internal, call_delivered_cost, call_failed_at, call_failed_code, call_failed_internal, sms_failed_at, sms_failed_code, sms_failed_internal, sms_sent_at, sms_sent_after, sms_sent_from, sms_sent_carrier, sms_sent_line_type, sms_sent_encoding, sms_sent_segments, sms_sent_parts, sms_sent_cost, sms_sent_country, sms_sent_message_id, sms_sent_mms, sms_carrier_cost_internal, sms_carrier_fee_internal, sms_rate_internal, sms_delivered_at, sms_delivered_after, sms_delivered_cost_internal, schedule_updated_at, schedule_updated_to, schedule_deleted_at].hash
2083
+ [received_at, type, env_id, client_id, agent, ip, request, test, tracking_id, account_id, failed_at, failed_code, failed_internal, inapp_sent_at, inapp_sent_after, inapp_delivered_at, inapp_delivered_after, inapp_failed_at, inapp_failed_code, inapp_failed_internal, mobile_push_failed_at, mobile_push_failed_code, mobile_push_failed_token, mobile_push_failed_internal, mobile_push_sent_at, mobile_push_sent_after, mobile_push_sent_token, mobile_push_delivered_at, mobile_push_delivered_after, email_sent_at, email_sent_message_id, email_sent_after, email_preview, email_delivered_at, email_delivered_recipients, email_delivered_after, email_delivered_webhook_res, email_failed_at, email_failed_code, email_failed_recipient, email_failed_diagnostic_code, email_failed_internal, email_failed_webhook_res, email_opened_at, email_opened_user_agent, email_opened_ip, email_opened_webhook_res, email_clicked_at, email_clicked_user_agent, email_clicked_ip, email_clicked_link, email_clicked_link_tags, email_clicked_webhook_res, email_inbound_at, email_inbound_from, email_inbound_from_name, email_inbound_to, email_inbound_cc, email_inbound_bcc, email_inbound_reply_to, email_inbound_inbox, email_inbound_to_name, email_inbound_sent_at, email_inbound_retry_key, email_inbound_user_id, email_inbound_subject, email_inbound_body_text, email_inbound_body_html, email_inbound_has_attachments, email_inbound_attachment_count, email_inbound_message_id, email_inbound_in_reply_to, email_inbound_references, email_inbound_webhook_delivered, email_inbound_webhook_res, email_inbound_resolution_type, sms_inbound_at, sms_inbound_from, sms_inbound_to, sms_inbound_text, sms_inbound_webhook_delivered, sms_inbound_webhook_res, sms_inbound_media, sms_replied_at, sms_replied_to, sms_replied_text, sms_replied_segments, sms_replied_encoding, sms_unsubscribe_at, sms_unsubscribe_from, sms_unsubscribe_keyword, sms_unsubscribe_webhook_delivered, sms_unsubscribe_webhook_res, sms_subscribe_at, sms_subscribe_from, sms_subscribe_keyword, sms_subscribe_webhook_delivered, sms_subscribe_webhook_res, web_push_sent_token, web_push_sent_at, web_push_sent_after, web_push_delivered_at, web_push_delivered_after, web_push_delivered_token, web_push_delivered_internal, web_push_failed_at, web_push_failed_token, web_push_failed_code, web_push_failed_internal, processed_at, ignored, scheduled_for, user_id, user_email, user_number, email_routing, email_routing_reason, sms_routing, sms_routing_reason, web_push_routing, web_push_routing_reason, mobile_push_routing, mobile_push_routing_reason, call_routing, call_routing_reason, inapp_routing, inapp_routing_reason, slack_routing, slack_routing_reason, sms_preview, call_preview, web_push_preview, mobile_push_preview, slack_preview, inapp_preview, slack_sent_at, slack_sent_after, slack_delivered_at, slack_delivered_after, slack_delivered_internal, slack_failed_at, slack_failed_code, slack_failed_internal, call_sent_at, call_sent_after, call_sent_from, call_delivered_at, call_delivered_after, call_delivered_code, call_delivered_cost_internal, call_delivered_cost, call_failed_at, call_failed_code, call_failed_internal, sms_failed_at, sms_failed_code, sms_failed_internal, sms_sent_at, sms_sent_after, sms_sent_from, sms_sent_carrier, sms_sent_line_type, sms_sent_encoding, sms_sent_segments, sms_sent_parts, sms_sent_cost, sms_sent_country, sms_sent_message_id, sms_sent_mms, sms_carrier_cost_internal, sms_carrier_fee_internal, sms_rate_internal, sms_delivered_at, sms_delivered_after, sms_delivered_cost_internal, schedule_updated_at, schedule_updated_to, schedule_deleted_at].hash
2025
2084
  end
2026
2085
 
2027
2086
  # Builds the object from hash