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.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/lib/pingram/api/library_api.rb +2 -2
- data/lib/pingram/api/logs_api.rb +124 -2
- data/lib/pingram/api/profile_api.rb +0 -66
- data/lib/pingram/api/webhooks_api.rb +4 -4
- data/lib/pingram/api_client.rb +1 -1
- data/lib/pingram/models/{change_email_request.rb → confirm_change_email_request.rb} +19 -19
- data/lib/pingram/models/create_library_request.rb +1 -1
- data/lib/pingram/models/get_logs_response_messages_inner.rb +4 -0
- data/lib/pingram/models/get_logs_response_messages_inner_attachments_inner.rb +52 -4
- data/lib/pingram/models/logs_delivery_status_response.rb +168 -0
- data/lib/pingram/models/logs_delivery_status_response_statuses_inner.rb +266 -0
- data/lib/pingram/models/logs_get_response_logs_inner.rb +60 -1
- data/lib/pingram/models/start_change_email_request.rb +201 -0
- data/lib/pingram/models/webhook_endpoint_upsert_request.rb +1 -1
- data/lib/pingram/version.rb +1 -1
- data/lib/pingram.rb +4 -1
- data/vendor/bundle/ruby/3.2.0/cache/date-3.6.0.gem +0 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.6.0/date_core.so +0 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.6.0/gem_make.out +26 -0
- 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
- data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/Makefile +1 -1
- data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/date_core.c +293 -77
- data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/date_parse.c +14 -4
- data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/date_strptime.c +13 -13
- data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/extconf.rb +6 -0
- data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/lib/date.rb +1 -1
- data/vendor/bundle/ruby/3.2.0/gems/date-3.6.0/lib/date_core.so +0 -0
- data/vendor/bundle/ruby/3.2.0/specifications/{date-3.5.1.gemspec → date-3.6.0.gemspec} +3 -3
- metadata +27 -24
- data/vendor/bundle/ruby/3.2.0/cache/date-3.5.1.gem +0 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.5.1/date_core.so +0 -0
- data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.5.1/gem_make.out +0 -24
- data/vendor/bundle/ruby/3.2.0/gems/date-3.5.1/lib/date_core.so +0 -0
- /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
- /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/BSDL +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/COPYING +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/README.md +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/date_strftime.c +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/date_tmx.h +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/prereq.mk +0 -0
- /data/vendor/bundle/ruby/3.2.0/gems/{date-3.5.1 → date-3.6.0}/ext/date/zonetab.h +0 -0
- /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
|