late-sdk 0.0.682 → 0.0.684

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 476de2764b955cb602604845141be530e2aab850ad9bd0c915ca75b0e9efbe2e
4
- data.tar.gz: 74cde0d1a14ca577510cb7bf6d4c4b461225344ef35e62a1858c6afbb7032063
3
+ metadata.gz: 550c3cc0463ec0c6089af0d3420e1fe04d7dfb626bdde7b1c87f9054664ff307
4
+ data.tar.gz: 49a3a122c78e25747c39fb4452ac951593a126e65d7bf224f6ec2c3553539437
5
5
  SHA512:
6
- metadata.gz: '08b9195fc96cf88dffe2b1aa174b79ea05837c1cebc4bd1780030e4f954a221c44355b97fb4ad2aa79727e3463bb001824cec92f28c92ad8acd3fa0c54acdc89'
7
- data.tar.gz: b15379bd7f9ba352a9111b1cf0fd6879dae8977a94abd6fff5106999b8f3e995472df58d5380a7b3691acade63db3f107edef472ba2d1a0c55d3b37cb400cb07
6
+ metadata.gz: 11a79538fcdf3db3151b79737d8cfcc1a4612d7ea9807a23e422c5ac7739c81d0cd773421b70b83d3a243ca5a5ef6558d6777410a8201cce3a6c8d4a8eaeeecc
7
+ data.tar.gz: 032edb43b2fbe1aa7a96b64f051767b7f3a3342defa6b17aee08c2371f711b82838bf334dbc192550a934a6e5412c1e6ac2ac9c1a68de5a73dae42dfab41c427
data/README.md CHANGED
@@ -1435,6 +1435,8 @@ Class | Method | HTTP request | Description
1435
1435
  - [Zernio::ListCalls200Response](docs/ListCalls200Response.md)
1436
1436
  - [Zernio::ListCalls200ResponseCallsInner](docs/ListCalls200ResponseCallsInner.md)
1437
1437
  - [Zernio::ListCommentAutomationLogs200Response](docs/ListCommentAutomationLogs200Response.md)
1438
+ - [Zernio::ListCommentAutomationLogs200ResponseMisses](docs/ListCommentAutomationLogs200ResponseMisses.md)
1439
+ - [Zernio::ListCommentAutomationLogs200ResponseMissesSamplesInner](docs/ListCommentAutomationLogs200ResponseMissesSamplesInner.md)
1438
1440
  - [Zernio::ListCommentAutomations200Response](docs/ListCommentAutomations200Response.md)
1439
1441
  - [Zernio::ListCommentAutomations200ResponseAutomationsInner](docs/ListCommentAutomations200ResponseAutomationsInner.md)
1440
1442
  - [Zernio::ListCommentAutomations200ResponseAutomationsInnerStats](docs/ListCommentAutomations200ResponseAutomationsInnerStats.md)
@@ -7,6 +7,7 @@
7
7
  | **success** | **Boolean** | | [optional] |
8
8
  | **logs** | [**Array<GetCommentAutomation200ResponseLogsInner>**](GetCommentAutomation200ResponseLogsInner.md) | | [optional] |
9
9
  | **pagination** | [**ListContacts200ResponsePagination**](ListContacts200ResponsePagination.md) | | [optional] |
10
+ | **misses** | [**ListCommentAutomationLogs200ResponseMisses**](ListCommentAutomationLogs200ResponseMisses.md) | | [optional] |
10
11
 
11
12
  ## Example
12
13
 
@@ -16,7 +17,8 @@ require 'zernio-sdk'
16
17
  instance = Zernio::ListCommentAutomationLogs200Response.new(
17
18
  success: null,
18
19
  logs: null,
19
- pagination: null
20
+ pagination: null,
21
+ misses: null
20
22
  )
21
23
  ```
22
24
 
@@ -0,0 +1,22 @@
1
+ # Zernio::ListCommentAutomationLogs200ResponseMisses
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **total** | **Integer** | Number of non-matching comments in the retention window | [optional] |
8
+ | **retention_days** | **Integer** | How many days of non-matching comments the total covers | [optional] |
9
+ | **samples** | [**Array<ListCommentAutomationLogs200ResponseMissesSamplesInner>**](ListCommentAutomationLogs200ResponseMissesSamplesInner.md) | A few of the most recent non-matching comments, for diagnosing a keyword setup. | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'zernio-sdk'
15
+
16
+ instance = Zernio::ListCommentAutomationLogs200ResponseMisses.new(
17
+ total: null,
18
+ retention_days: null,
19
+ samples: null
20
+ )
21
+ ```
22
+
@@ -0,0 +1,24 @@
1
+ # Zernio::ListCommentAutomationLogs200ResponseMissesSamplesInner
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **comment_text** | **String** | | [optional] |
8
+ | **commenter_name** | **String** | | [optional] |
9
+ | **excluded_by** | **String** | Set when an exclusion keyword vetoed an otherwise matching comment | [optional] |
10
+ | **at** | **Time** | | [optional] |
11
+
12
+ ## Example
13
+
14
+ ```ruby
15
+ require 'zernio-sdk'
16
+
17
+ instance = Zernio::ListCommentAutomationLogs200ResponseMissesSamplesInner.new(
18
+ comment_text: null,
19
+ commenter_name: null,
20
+ excluded_by: null,
21
+ at: null
22
+ )
23
+ ```
24
+
@@ -5,6 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **name** | **String** | | [optional] |
8
+ | **trigger** | **String** | What fires the automation. Changing it detaches the automation from its bound post or story (a post id and a story id are different objects), unless this same request sets a new binding. 'story_reply' is Instagram only. | [optional] |
8
9
  | **keywords** | **Array<String>** | | [optional] |
9
10
  | **match_mode** | **String** | How a keyword is compared with the comment. 'contains' (default) matches anywhere, even inside another word (keyword 'app' fires on 'happy'). 'word' matches the keyword only as a standalone word. 'exact' requires the whole comment to be exactly the keyword. | [optional] |
10
11
  | **exclude_keywords** | **Array<String>** | Comments containing one of these never trigger the automation, even when a trigger keyword also matches. Compared using the same matchMode. | [optional] |
@@ -25,6 +26,7 @@ require 'zernio-sdk'
25
26
 
26
27
  instance = Zernio::UpdateCommentAutomationRequest.new(
27
28
  name: null,
29
+ trigger: null,
28
30
  keywords: null,
29
31
  match_mode: null,
30
32
  exclude_keywords: null,
@@ -246,6 +246,18 @@ module Zernio
246
246
  if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status'])
247
247
  fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}"
248
248
  end
249
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 200
250
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling CommentAutomationsApi.list_comment_automation_logs, must be smaller than or equal to 200.'
251
+ end
252
+
253
+ if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1
254
+ fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling CommentAutomationsApi.list_comment_automation_logs, must be greater than or equal to 1.'
255
+ end
256
+
257
+ if @api_client.config.client_side_validation && !opts[:'skip'].nil? && opts[:'skip'] < 0
258
+ fail ArgumentError, 'invalid value for "opts[:"skip"]" when calling CommentAutomationsApi.list_comment_automation_logs, must be greater than or equal to 0.'
259
+ end
260
+
249
261
  # resource path
250
262
  local_var_path = '/v1/comment-automations/{automationId}/logs'.sub('{' + 'automationId' + '}', CGI.escape(automation_id.to_s))
251
263
 
@@ -21,12 +21,15 @@ module Zernio
21
21
 
22
22
  attr_accessor :pagination
23
23
 
24
+ attr_accessor :misses
25
+
24
26
  # Attribute mapping from ruby-style variable name to JSON key.
25
27
  def self.attribute_map
26
28
  {
27
29
  :'success' => :'success',
28
30
  :'logs' => :'logs',
29
- :'pagination' => :'pagination'
31
+ :'pagination' => :'pagination',
32
+ :'misses' => :'misses'
30
33
  }
31
34
  end
32
35
 
@@ -45,7 +48,8 @@ module Zernio
45
48
  {
46
49
  :'success' => :'Boolean',
47
50
  :'logs' => :'Array<GetCommentAutomation200ResponseLogsInner>',
48
- :'pagination' => :'ListContacts200ResponsePagination'
51
+ :'pagination' => :'ListContacts200ResponsePagination',
52
+ :'misses' => :'ListCommentAutomationLogs200ResponseMisses'
49
53
  }
50
54
  end
51
55
 
@@ -84,6 +88,10 @@ module Zernio
84
88
  if attributes.key?(:'pagination')
85
89
  self.pagination = attributes[:'pagination']
86
90
  end
91
+
92
+ if attributes.key?(:'misses')
93
+ self.misses = attributes[:'misses']
94
+ end
87
95
  end
88
96
 
89
97
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -108,7 +116,8 @@ module Zernio
108
116
  self.class == o.class &&
109
117
  success == o.success &&
110
118
  logs == o.logs &&
111
- pagination == o.pagination
119
+ pagination == o.pagination &&
120
+ misses == o.misses
112
121
  end
113
122
 
114
123
  # @see the `==` method
@@ -120,7 +129,7 @@ module Zernio
120
129
  # Calculates hash code according to all attributes.
121
130
  # @return [Integer] Hash code
122
131
  def hash
123
- [success, logs, pagination].hash
132
+ [success, logs, pagination, misses].hash
124
133
  end
125
134
 
126
135
  # Builds the object from hash
@@ -0,0 +1,171 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
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 Zernio
17
+ # Comments that reached this automation but matched none of its keywords. These produce no log entry, so this is the only signal that a keyword is catching nothing. Retained for a short window, then dropped.
18
+ class ListCommentAutomationLogs200ResponseMisses < ApiModelBase
19
+ # Number of non-matching comments in the retention window
20
+ attr_accessor :total
21
+
22
+ # How many days of non-matching comments the total covers
23
+ attr_accessor :retention_days
24
+
25
+ # A few of the most recent non-matching comments, for diagnosing a keyword setup.
26
+ attr_accessor :samples
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+ :'total' => :'total',
32
+ :'retention_days' => :'retentionDays',
33
+ :'samples' => :'samples'
34
+ }
35
+ end
36
+
37
+ # Returns attribute mapping this model knows about
38
+ def self.acceptable_attribute_map
39
+ attribute_map
40
+ end
41
+
42
+ # Returns all the JSON keys this model knows about
43
+ def self.acceptable_attributes
44
+ acceptable_attribute_map.values
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ def self.openapi_types
49
+ {
50
+ :'total' => :'Integer',
51
+ :'retention_days' => :'Integer',
52
+ :'samples' => :'Array<ListCommentAutomationLogs200ResponseMissesSamplesInner>'
53
+ }
54
+ end
55
+
56
+ # List of attributes with nullable: true
57
+ def self.openapi_nullable
58
+ Set.new([
59
+ ])
60
+ end
61
+
62
+ # Initializes the object
63
+ # @param [Hash] attributes Model attributes in the form of hash
64
+ def initialize(attributes = {})
65
+ if (!attributes.is_a?(Hash))
66
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::ListCommentAutomationLogs200ResponseMisses` initialize method"
67
+ end
68
+
69
+ # check to see if the attribute exists and convert string to symbol for hash key
70
+ acceptable_attribute_map = self.class.acceptable_attribute_map
71
+ attributes = attributes.each_with_object({}) { |(k, v), h|
72
+ if (!acceptable_attribute_map.key?(k.to_sym))
73
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::ListCommentAutomationLogs200ResponseMisses`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
74
+ end
75
+ h[k.to_sym] = v
76
+ }
77
+
78
+ if attributes.key?(:'total')
79
+ self.total = attributes[:'total']
80
+ end
81
+
82
+ if attributes.key?(:'retention_days')
83
+ self.retention_days = attributes[:'retention_days']
84
+ end
85
+
86
+ if attributes.key?(:'samples')
87
+ if (value = attributes[:'samples']).is_a?(Array)
88
+ self.samples = value
89
+ end
90
+ end
91
+ end
92
+
93
+ # Show invalid properties with the reasons. Usually used together with valid?
94
+ # @return Array for valid properties with the reasons
95
+ def list_invalid_properties
96
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
97
+ invalid_properties = Array.new
98
+ invalid_properties
99
+ end
100
+
101
+ # Check to see if the all the properties in the model are valid
102
+ # @return true if the model is valid
103
+ def valid?
104
+ warn '[DEPRECATED] the `valid?` method is obsolete'
105
+ true
106
+ end
107
+
108
+ # Checks equality by comparing each attribute.
109
+ # @param [Object] Object to be compared
110
+ def ==(o)
111
+ return true if self.equal?(o)
112
+ self.class == o.class &&
113
+ total == o.total &&
114
+ retention_days == o.retention_days &&
115
+ samples == o.samples
116
+ end
117
+
118
+ # @see the `==` method
119
+ # @param [Object] Object to be compared
120
+ def eql?(o)
121
+ self == o
122
+ end
123
+
124
+ # Calculates hash code according to all attributes.
125
+ # @return [Integer] Hash code
126
+ def hash
127
+ [total, retention_days, samples].hash
128
+ end
129
+
130
+ # Builds the object from hash
131
+ # @param [Hash] attributes Model attributes in the form of hash
132
+ # @return [Object] Returns the model itself
133
+ def self.build_from_hash(attributes)
134
+ return nil unless attributes.is_a?(Hash)
135
+ attributes = attributes.transform_keys(&:to_sym)
136
+ transformed_hash = {}
137
+ openapi_types.each_pair do |key, type|
138
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
139
+ transformed_hash["#{key}"] = nil
140
+ elsif type =~ /\AArray<(.*)>/i
141
+ # check to ensure the input is an array given that the attribute
142
+ # is documented as an array but the input is not
143
+ if attributes[attribute_map[key]].is_a?(Array)
144
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
145
+ end
146
+ elsif !attributes[attribute_map[key]].nil?
147
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
148
+ end
149
+ end
150
+ new(transformed_hash)
151
+ end
152
+
153
+ # Returns the object in the form of hash
154
+ # @return [Hash] Returns the object in the form of hash
155
+ def to_hash
156
+ hash = {}
157
+ self.class.attribute_map.each_pair do |attr, param|
158
+ value = self.send(attr)
159
+ if value.nil?
160
+ is_nullable = self.class.openapi_nullable.include?(attr)
161
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
162
+ end
163
+
164
+ hash[param] = _to_hash(value)
165
+ end
166
+ hash
167
+ end
168
+
169
+ end
170
+
171
+ end
@@ -0,0 +1,175 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
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 Zernio
17
+ class ListCommentAutomationLogs200ResponseMissesSamplesInner < ApiModelBase
18
+ attr_accessor :comment_text
19
+
20
+ attr_accessor :commenter_name
21
+
22
+ # Set when an exclusion keyword vetoed an otherwise matching comment
23
+ attr_accessor :excluded_by
24
+
25
+ attr_accessor :at
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'comment_text' => :'commentText',
31
+ :'commenter_name' => :'commenterName',
32
+ :'excluded_by' => :'excludedBy',
33
+ :'at' => :'at'
34
+ }
35
+ end
36
+
37
+ # Returns attribute mapping this model knows about
38
+ def self.acceptable_attribute_map
39
+ attribute_map
40
+ end
41
+
42
+ # Returns all the JSON keys this model knows about
43
+ def self.acceptable_attributes
44
+ acceptable_attribute_map.values
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ def self.openapi_types
49
+ {
50
+ :'comment_text' => :'String',
51
+ :'commenter_name' => :'String',
52
+ :'excluded_by' => :'String',
53
+ :'at' => :'Time'
54
+ }
55
+ end
56
+
57
+ # List of attributes with nullable: true
58
+ def self.openapi_nullable
59
+ Set.new([
60
+ ])
61
+ end
62
+
63
+ # Initializes the object
64
+ # @param [Hash] attributes Model attributes in the form of hash
65
+ def initialize(attributes = {})
66
+ if (!attributes.is_a?(Hash))
67
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::ListCommentAutomationLogs200ResponseMissesSamplesInner` initialize method"
68
+ end
69
+
70
+ # check to see if the attribute exists and convert string to symbol for hash key
71
+ acceptable_attribute_map = self.class.acceptable_attribute_map
72
+ attributes = attributes.each_with_object({}) { |(k, v), h|
73
+ if (!acceptable_attribute_map.key?(k.to_sym))
74
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::ListCommentAutomationLogs200ResponseMissesSamplesInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
75
+ end
76
+ h[k.to_sym] = v
77
+ }
78
+
79
+ if attributes.key?(:'comment_text')
80
+ self.comment_text = attributes[:'comment_text']
81
+ end
82
+
83
+ if attributes.key?(:'commenter_name')
84
+ self.commenter_name = attributes[:'commenter_name']
85
+ end
86
+
87
+ if attributes.key?(:'excluded_by')
88
+ self.excluded_by = attributes[:'excluded_by']
89
+ end
90
+
91
+ if attributes.key?(:'at')
92
+ self.at = attributes[:'at']
93
+ end
94
+ end
95
+
96
+ # Show invalid properties with the reasons. Usually used together with valid?
97
+ # @return Array for valid properties with the reasons
98
+ def list_invalid_properties
99
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
100
+ invalid_properties = Array.new
101
+ invalid_properties
102
+ end
103
+
104
+ # Check to see if the all the properties in the model are valid
105
+ # @return true if the model is valid
106
+ def valid?
107
+ warn '[DEPRECATED] the `valid?` method is obsolete'
108
+ true
109
+ end
110
+
111
+ # Checks equality by comparing each attribute.
112
+ # @param [Object] Object to be compared
113
+ def ==(o)
114
+ return true if self.equal?(o)
115
+ self.class == o.class &&
116
+ comment_text == o.comment_text &&
117
+ commenter_name == o.commenter_name &&
118
+ excluded_by == o.excluded_by &&
119
+ at == o.at
120
+ end
121
+
122
+ # @see the `==` method
123
+ # @param [Object] Object to be compared
124
+ def eql?(o)
125
+ self == o
126
+ end
127
+
128
+ # Calculates hash code according to all attributes.
129
+ # @return [Integer] Hash code
130
+ def hash
131
+ [comment_text, commenter_name, excluded_by, at].hash
132
+ end
133
+
134
+ # Builds the object from hash
135
+ # @param [Hash] attributes Model attributes in the form of hash
136
+ # @return [Object] Returns the model itself
137
+ def self.build_from_hash(attributes)
138
+ return nil unless attributes.is_a?(Hash)
139
+ attributes = attributes.transform_keys(&:to_sym)
140
+ transformed_hash = {}
141
+ openapi_types.each_pair do |key, type|
142
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
143
+ transformed_hash["#{key}"] = nil
144
+ elsif type =~ /\AArray<(.*)>/i
145
+ # check to ensure the input is an array given that the attribute
146
+ # is documented as an array but the input is not
147
+ if attributes[attribute_map[key]].is_a?(Array)
148
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
149
+ end
150
+ elsif !attributes[attribute_map[key]].nil?
151
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
152
+ end
153
+ end
154
+ new(transformed_hash)
155
+ end
156
+
157
+ # Returns the object in the form of hash
158
+ # @return [Hash] Returns the object in the form of hash
159
+ def to_hash
160
+ hash = {}
161
+ self.class.attribute_map.each_pair do |attr, param|
162
+ value = self.send(attr)
163
+ if value.nil?
164
+ is_nullable = self.class.openapi_nullable.include?(attr)
165
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
166
+ end
167
+
168
+ hash[param] = _to_hash(value)
169
+ end
170
+ hash
171
+ end
172
+
173
+ end
174
+
175
+ end
@@ -17,6 +17,9 @@ module Zernio
17
17
  class UpdateCommentAutomationRequest < ApiModelBase
18
18
  attr_accessor :name
19
19
 
20
+ # What fires the automation. Changing it detaches the automation from its bound post or story (a post id and a story id are different objects), unless this same request sets a new binding. 'story_reply' is Instagram only.
21
+ attr_accessor :trigger
22
+
20
23
  attr_accessor :keywords
21
24
 
22
25
  # How a keyword is compared with the comment. 'contains' (default) matches anywhere, even inside another word (keyword 'app' fires on 'happy'). 'word' matches the keyword only as a standalone word. 'exact' requires the whole comment to be exactly the keyword.
@@ -75,6 +78,7 @@ module Zernio
75
78
  def self.attribute_map
76
79
  {
77
80
  :'name' => :'name',
81
+ :'trigger' => :'trigger',
78
82
  :'keywords' => :'keywords',
79
83
  :'match_mode' => :'matchMode',
80
84
  :'exclude_keywords' => :'excludeKeywords',
@@ -104,6 +108,7 @@ module Zernio
104
108
  def self.openapi_types
105
109
  {
106
110
  :'name' => :'String',
111
+ :'trigger' => :'String',
107
112
  :'keywords' => :'Array<String>',
108
113
  :'match_mode' => :'String',
109
114
  :'exclude_keywords' => :'Array<String>',
@@ -145,6 +150,10 @@ module Zernio
145
150
  self.name = attributes[:'name']
146
151
  end
147
152
 
153
+ if attributes.key?(:'trigger')
154
+ self.trigger = attributes[:'trigger']
155
+ end
156
+
148
157
  if attributes.key?(:'keywords')
149
158
  if (value = attributes[:'keywords']).is_a?(Array)
150
159
  self.keywords = value
@@ -228,6 +237,8 @@ module Zernio
228
237
  # @return true if the model is valid
229
238
  def valid?
230
239
  warn '[DEPRECATED] the `valid?` method is obsolete'
240
+ trigger_validator = EnumAttributeValidator.new('String', ["comment", "story_reply"])
241
+ return false unless trigger_validator.valid?(@trigger)
231
242
  match_mode_validator = EnumAttributeValidator.new('String', ["exact", "contains", "word"])
232
243
  return false unless match_mode_validator.valid?(@match_mode)
233
244
  return false if !@buttons.nil? && @buttons.length > 3
@@ -236,6 +247,16 @@ module Zernio
236
247
  true
237
248
  end
238
249
 
250
+ # Custom attribute writer method checking allowed values (enum).
251
+ # @param [Object] trigger Object to be assigned
252
+ def trigger=(trigger)
253
+ validator = EnumAttributeValidator.new('String', ["comment", "story_reply"])
254
+ unless validator.valid?(trigger)
255
+ fail ArgumentError, "invalid value for \"trigger\", must be one of #{validator.allowable_values}."
256
+ end
257
+ @trigger = trigger
258
+ end
259
+
239
260
  # Custom attribute writer method checking allowed values (enum).
240
261
  # @param [Object] match_mode Object to be assigned
241
262
  def match_mode=(match_mode)
@@ -294,6 +315,7 @@ module Zernio
294
315
  return true if self.equal?(o)
295
316
  self.class == o.class &&
296
317
  name == o.name &&
318
+ trigger == o.trigger &&
297
319
  keywords == o.keywords &&
298
320
  match_mode == o.match_mode &&
299
321
  exclude_keywords == o.exclude_keywords &&
@@ -317,7 +339,7 @@ module Zernio
317
339
  # Calculates hash code according to all attributes.
318
340
  # @return [Integer] Hash code
319
341
  def hash
320
- [name, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, is_active].hash
342
+ [name, trigger, keywords, match_mode, exclude_keywords, typo_tolerance, dm_message, buttons, comment_reply, dm_message_variations, comment_reply_variations, link_tracking, click_tag, is_active].hash
321
343
  end
322
344
 
323
345
  # Builds the object from hash
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Zernio
14
- VERSION = '0.0.682'
14
+ VERSION = '0.0.684'
15
15
  end
data/lib/zernio-sdk.rb CHANGED
@@ -842,6 +842,8 @@ require 'zernio-sdk/models/list_broadcasts200_response_broadcasts_inner'
842
842
  require 'zernio-sdk/models/list_calls200_response'
843
843
  require 'zernio-sdk/models/list_calls200_response_calls_inner'
844
844
  require 'zernio-sdk/models/list_comment_automation_logs200_response'
845
+ require 'zernio-sdk/models/list_comment_automation_logs200_response_misses'
846
+ require 'zernio-sdk/models/list_comment_automation_logs200_response_misses_samples_inner'
845
847
  require 'zernio-sdk/models/list_comment_automations200_response'
846
848
  require 'zernio-sdk/models/list_comment_automations200_response_automations_inner'
847
849
  require 'zernio-sdk/models/list_comment_automations200_response_automations_inner_stats'
data/openapi.yaml CHANGED
@@ -35930,6 +35930,7 @@ paths:
35930
35930
  type: object
35931
35931
  properties:
35932
35932
  name: { type: string }
35933
+ trigger: { type: string, enum: [comment, story_reply], description: "What fires the automation. Changing it detaches the automation from its bound post or story (a post id and a story id are different objects), unless this same request sets a new binding. 'story_reply' is Instagram only." }
35933
35934
  keywords: { type: array, items: { type: string } }
35934
35935
  matchMode: { type: string, enum: [exact, contains, word], description: "How a keyword is compared with the comment. 'contains' (default) matches anywhere, even inside another word (keyword 'app' fires on 'happy'). 'word' matches the keyword only as a standalone word. 'exact' requires the whole comment to be exactly the keyword." }
35935
35936
  excludeKeywords: { type: array, items: { type: string }, description: "Comments containing one of these never trigger the automation, even when a trigger keyword also matches. Compared using the same matchMode." }
@@ -36011,8 +36012,8 @@ paths:
36011
36012
  parameters:
36012
36013
  - { name: automationId, in: path, required: true, schema: { type: string } }
36013
36014
  - { name: status, in: query, schema: { type: string, enum: [sent, failed, skipped] }, description: Filter by result status }
36014
- - { name: limit, in: query, schema: { type: integer, default: 50 } }
36015
- - { name: skip, in: query, schema: { type: integer, default: 0 } }
36015
+ - { name: limit, in: query, schema: { type: integer, default: 50, minimum: 1, maximum: 200 } }
36016
+ - { name: skip, in: query, schema: { type: integer, default: 0, minimum: 0 } }
36016
36017
  responses:
36017
36018
  '200':
36018
36019
  description: Trigger logs with pagination
@@ -36044,6 +36045,23 @@ paths:
36044
36045
  limit: { type: integer }
36045
36046
  skip: { type: integer }
36046
36047
  hasMore: { type: boolean }
36048
+ misses:
36049
+ type: object
36050
+ description: "Comments that reached this automation but matched none of its keywords. These produce no log entry, so this is the only signal that a keyword is catching nothing. Retained for a short window, then dropped."
36051
+ properties:
36052
+ total: { type: integer, description: Number of non-matching comments in the retention window }
36053
+ retentionDays: { type: integer, description: How many days of non-matching comments the total covers }
36054
+ samples:
36055
+ type: array
36056
+ description: A few of the most recent non-matching comments, for diagnosing a keyword setup.
36057
+ items:
36058
+ type: object
36059
+ properties:
36060
+ commentText: { type: string }
36061
+ commenterName: { type: string }
36062
+ excludedBy: { type: string, description: Set when an exclusion keyword vetoed an otherwise matching comment }
36063
+ at: { type: string, format: date-time }
36064
+ '400': { $ref: '#/components/responses/BadRequest' }
36047
36065
  '401': { $ref: '#/components/responses/Unauthorized' }
36048
36066
  '404': { $ref: '#/components/responses/NotFound' }
36049
36067
 
@@ -0,0 +1,54 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for Zernio::ListCommentAutomationLogs200ResponseMissesSamplesInner
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe Zernio::ListCommentAutomationLogs200ResponseMissesSamplesInner do
21
+ #let(:instance) { Zernio::ListCommentAutomationLogs200ResponseMissesSamplesInner.new }
22
+
23
+ describe 'test an instance of ListCommentAutomationLogs200ResponseMissesSamplesInner' do
24
+ it 'should create an instance of ListCommentAutomationLogs200ResponseMissesSamplesInner' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(Zernio::ListCommentAutomationLogs200ResponseMissesSamplesInner)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "comment_text"' do
31
+ it 'should work' do
32
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
+ end
34
+ end
35
+
36
+ describe 'test attribute "commenter_name"' do
37
+ it 'should work' do
38
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
39
+ end
40
+ end
41
+
42
+ describe 'test attribute "excluded_by"' do
43
+ it 'should work' do
44
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
45
+ end
46
+ end
47
+
48
+ describe 'test attribute "at"' do
49
+ it 'should work' do
50
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
51
+ end
52
+ end
53
+
54
+ end
@@ -0,0 +1,48 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for Zernio::ListCommentAutomationLogs200ResponseMisses
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe Zernio::ListCommentAutomationLogs200ResponseMisses do
21
+ #let(:instance) { Zernio::ListCommentAutomationLogs200ResponseMisses.new }
22
+
23
+ describe 'test an instance of ListCommentAutomationLogs200ResponseMisses' do
24
+ it 'should create an instance of ListCommentAutomationLogs200ResponseMisses' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(Zernio::ListCommentAutomationLogs200ResponseMisses)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "total"' do
31
+ it 'should work' do
32
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
+ end
34
+ end
35
+
36
+ describe 'test attribute "retention_days"' do
37
+ it 'should work' do
38
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
39
+ end
40
+ end
41
+
42
+ describe 'test attribute "samples"' do
43
+ it 'should work' do
44
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
45
+ end
46
+ end
47
+
48
+ end
@@ -45,4 +45,10 @@ describe Zernio::ListCommentAutomationLogs200Response do
45
45
  end
46
46
  end
47
47
 
48
+ describe 'test attribute "misses"' do
49
+ it 'should work' do
50
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
51
+ end
52
+ end
53
+
48
54
  end
@@ -33,6 +33,16 @@ describe Zernio::UpdateCommentAutomationRequest do
33
33
  end
34
34
  end
35
35
 
36
+ describe 'test attribute "trigger"' do
37
+ it 'should work' do
38
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
39
+ # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["comment", "story_reply"])
40
+ # validator.allowable_values.each do |value|
41
+ # expect { instance.trigger = value }.not_to raise_error
42
+ # end
43
+ end
44
+ end
45
+
36
46
  describe 'test attribute "keywords"' do
37
47
  it 'should work' do
38
48
  # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: late-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.682
4
+ version: 0.0.684
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI-Generator
@@ -921,6 +921,8 @@ files:
921
921
  - docs/ListCalls200Response.md
922
922
  - docs/ListCalls200ResponseCallsInner.md
923
923
  - docs/ListCommentAutomationLogs200Response.md
924
+ - docs/ListCommentAutomationLogs200ResponseMisses.md
925
+ - docs/ListCommentAutomationLogs200ResponseMissesSamplesInner.md
924
926
  - docs/ListCommentAutomations200Response.md
925
927
  - docs/ListCommentAutomations200ResponseAutomationsInner.md
926
928
  - docs/ListCommentAutomations200ResponseAutomationsInnerStats.md
@@ -2599,6 +2601,8 @@ files:
2599
2601
  - lib/zernio-sdk/models/list_calls200_response.rb
2600
2602
  - lib/zernio-sdk/models/list_calls200_response_calls_inner.rb
2601
2603
  - lib/zernio-sdk/models/list_comment_automation_logs200_response.rb
2604
+ - lib/zernio-sdk/models/list_comment_automation_logs200_response_misses.rb
2605
+ - lib/zernio-sdk/models/list_comment_automation_logs200_response_misses_samples_inner.rb
2602
2606
  - lib/zernio-sdk/models/list_comment_automations200_response.rb
2603
2607
  - lib/zernio-sdk/models/list_comment_automations200_response_automations_inner.rb
2604
2608
  - lib/zernio-sdk/models/list_comment_automations200_response_automations_inner_stats.rb
@@ -4239,6 +4243,8 @@ files:
4239
4243
  - spec/models/list_broadcasts200_response_spec.rb
4240
4244
  - spec/models/list_calls200_response_calls_inner_spec.rb
4241
4245
  - spec/models/list_calls200_response_spec.rb
4246
+ - spec/models/list_comment_automation_logs200_response_misses_samples_inner_spec.rb
4247
+ - spec/models/list_comment_automation_logs200_response_misses_spec.rb
4242
4248
  - spec/models/list_comment_automation_logs200_response_spec.rb
4243
4249
  - spec/models/list_comment_automations200_response_automations_inner_spec.rb
4244
4250
  - spec/models/list_comment_automations200_response_automations_inner_stats_spec.rb
@@ -4991,7 +4997,7 @@ files:
4991
4997
  - spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
4992
4998
  - spec/models/you_tube_video_retention_response_spec.rb
4993
4999
  - spec/spec_helper.rb
4994
- - zernio-sdk-0.0.682.gem
5000
+ - zernio-sdk-0.0.684.gem
4995
5001
  - zernio-sdk.gemspec
4996
5002
  homepage: https://openapi-generator.tech
4997
5003
  licenses:
@@ -5300,6 +5306,7 @@ test_files:
5300
5306
  - spec/models/connect_whats_app_credentials200_response_account_spec.rb
5301
5307
  - spec/models/get_inbox_heatmap200_response_buckets_inner_spec.rb
5302
5308
  - spec/models/user_spec.rb
5309
+ - spec/models/list_comment_automation_logs200_response_misses_spec.rb
5303
5310
  - spec/models/get_whats_app_templates200_response_templates_inner_spec.rb
5304
5311
  - spec/models/create_rf_prediction_request_spec.rb
5305
5312
  - spec/models/get_voice_call_estimate200_response_breakdown_spec.rb
@@ -6031,6 +6038,7 @@ test_files:
6031
6038
  - spec/models/update_contact_request_spec.rb
6032
6039
  - spec/models/google_business_platform_data_event_schedule_end_time_spec.rb
6033
6040
  - spec/models/list_ads_business_centers200_response_spec.rb
6041
+ - spec/models/list_comment_automation_logs200_response_misses_samples_inner_spec.rb
6034
6042
  - spec/models/instagram_platform_data_spec.rb
6035
6043
  - spec/models/schedule_broadcast200_response_broadcast_spec.rb
6036
6044
  - spec/models/create_comment_automation200_response_spec.rb
Binary file