late-sdk 0.0.67 → 0.0.69

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 (101) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +63 -0
  3. data/docs/AddBroadcastRecipientsRequest.md +20 -0
  4. data/docs/BroadcastsApi.md +699 -0
  5. data/docs/BulkCreateContactsRequest.md +24 -0
  6. data/docs/BulkCreateContactsRequestContactsInner.md +28 -0
  7. data/docs/CommentAutomationsApi.md +428 -0
  8. data/docs/ContactsApi.md +500 -0
  9. data/docs/CreateBroadcastRequest.md +32 -0
  10. data/docs/CreateBroadcastRequestMessage.md +20 -0
  11. data/docs/CreateBroadcastRequestMessageAttachmentsInner.md +22 -0
  12. data/docs/CreateBroadcastRequestSegmentFilters.md +20 -0
  13. data/docs/CreateBroadcastRequestTemplate.md +22 -0
  14. data/docs/CreateCommentAutomationRequest.md +36 -0
  15. data/docs/CreateContactRequest.md +38 -0
  16. data/docs/CreateCustomFieldRequest.md +26 -0
  17. data/docs/CreateSequenceRequest.md +32 -0
  18. data/docs/CreateSequenceRequestStepsInner.md +24 -0
  19. data/docs/CreateSequenceRequestStepsInnerMessage.md +18 -0
  20. data/docs/CustomFieldsApi.md +419 -0
  21. data/docs/EnrollContactsRequest.md +20 -0
  22. data/docs/ListCommentAutomations200Response.md +20 -0
  23. data/docs/ListCommentAutomations200ResponseAutomationsInner.md +42 -0
  24. data/docs/ListCommentAutomations200ResponseAutomationsInnerStats.md +24 -0
  25. data/docs/ScheduleBroadcastRequest.md +18 -0
  26. data/docs/SequencesApi.md +697 -0
  27. data/docs/SetContactFieldValueRequest.md +18 -0
  28. data/docs/TwitterPlatformData.md +3 -1
  29. data/docs/TwitterPlatformDataPoll.md +20 -0
  30. data/docs/UpdateCommentAutomationRequest.md +28 -0
  31. data/docs/UpdateContactRequest.md +32 -0
  32. data/docs/UpdateCustomFieldRequest.md +20 -0
  33. data/docs/WhatsAppApi.md +25 -25
  34. data/lib/late-sdk/api/broadcasts_api.rb +689 -0
  35. data/lib/late-sdk/api/comment_automations_api.rb +420 -0
  36. data/lib/late-sdk/api/contacts_api.rb +503 -0
  37. data/lib/late-sdk/api/custom_fields_api.rb +424 -0
  38. data/lib/late-sdk/api/sequences_api.rb +681 -0
  39. data/lib/late-sdk/api/whats_app_api.rb +50 -50
  40. data/lib/late-sdk/models/add_broadcast_recipients_request.rb +160 -0
  41. data/lib/late-sdk/models/bulk_create_contacts_request.rb +253 -0
  42. data/lib/late-sdk/models/bulk_create_contacts_request_contacts_inner.rb +228 -0
  43. data/lib/late-sdk/models/create_broadcast_request.rb +302 -0
  44. data/lib/late-sdk/models/create_broadcast_request_message.rb +158 -0
  45. data/lib/late-sdk/models/create_broadcast_request_message_attachments_inner.rb +165 -0
  46. data/lib/late-sdk/models/create_broadcast_request_segment_filters.rb +158 -0
  47. data/lib/late-sdk/models/create_broadcast_request_template.rb +168 -0
  48. data/lib/late-sdk/models/create_comment_automation_request.rb +359 -0
  49. data/lib/late-sdk/models/create_contact_request.rb +276 -0
  50. data/lib/late-sdk/models/create_custom_field_request.rb +262 -0
  51. data/lib/late-sdk/models/create_sequence_request.rb +308 -0
  52. data/lib/late-sdk/models/create_sequence_request_steps_inner.rb +208 -0
  53. data/lib/late-sdk/models/create_sequence_request_steps_inner_message.rb +147 -0
  54. data/lib/late-sdk/models/enroll_contacts_request.rb +178 -0
  55. data/lib/late-sdk/models/list_comment_automations200_response.rb +158 -0
  56. data/lib/late-sdk/models/list_comment_automations200_response_automations_inner.rb +303 -0
  57. data/lib/late-sdk/models/list_comment_automations200_response_automations_inner_stats.rb +174 -0
  58. data/lib/late-sdk/models/schedule_broadcast_request.rb +164 -0
  59. data/lib/late-sdk/models/set_contact_field_value_request.rb +150 -0
  60. data/lib/late-sdk/models/twitter_platform_data.rb +13 -4
  61. data/lib/late-sdk/models/twitter_platform_data_poll.rb +231 -0
  62. data/lib/late-sdk/models/update_comment_automation_request.rb +228 -0
  63. data/lib/late-sdk/models/update_contact_request.rb +212 -0
  64. data/lib/late-sdk/models/update_custom_field_request.rb +158 -0
  65. data/lib/late-sdk/version.rb +1 -1
  66. data/lib/late-sdk.rb +29 -0
  67. data/openapi.yaml +830 -13
  68. data/spec/api/broadcasts_api_spec.rb +154 -0
  69. data/spec/api/comment_automations_api_spec.rb +108 -0
  70. data/spec/api/contacts_api_spec.rb +122 -0
  71. data/spec/api/custom_fields_api_spec.rb +105 -0
  72. data/spec/api/sequences_api_spec.rb +153 -0
  73. data/spec/api/whats_app_api_spec.rb +25 -25
  74. data/spec/models/add_broadcast_recipients_request_spec.rb +42 -0
  75. data/spec/models/bulk_create_contacts_request_contacts_inner_spec.rb +66 -0
  76. data/spec/models/bulk_create_contacts_request_spec.rb +54 -0
  77. data/spec/models/create_broadcast_request_message_attachments_inner_spec.rb +48 -0
  78. data/spec/models/create_broadcast_request_message_spec.rb +42 -0
  79. data/spec/models/create_broadcast_request_segment_filters_spec.rb +42 -0
  80. data/spec/models/create_broadcast_request_spec.rb +82 -0
  81. data/spec/models/create_broadcast_request_template_spec.rb +48 -0
  82. data/spec/models/create_comment_automation_request_spec.rb +94 -0
  83. data/spec/models/create_contact_request_spec.rb +96 -0
  84. data/spec/models/create_custom_field_request_spec.rb +64 -0
  85. data/spec/models/create_sequence_request_spec.rb +82 -0
  86. data/spec/models/create_sequence_request_steps_inner_message_spec.rb +36 -0
  87. data/spec/models/create_sequence_request_steps_inner_spec.rb +54 -0
  88. data/spec/models/enroll_contacts_request_spec.rb +42 -0
  89. data/spec/models/list_comment_automations200_response_automations_inner_spec.rb +116 -0
  90. data/spec/models/list_comment_automations200_response_automations_inner_stats_spec.rb +54 -0
  91. data/spec/models/list_comment_automations200_response_spec.rb +42 -0
  92. data/spec/models/schedule_broadcast_request_spec.rb +36 -0
  93. data/spec/models/set_contact_field_value_request_spec.rb +36 -0
  94. data/spec/models/twitter_platform_data_poll_spec.rb +42 -0
  95. data/spec/models/twitter_platform_data_spec.rb +6 -0
  96. data/spec/models/update_comment_automation_request_spec.rb +70 -0
  97. data/spec/models/update_contact_request_spec.rb +78 -0
  98. data/spec/models/update_custom_field_request_spec.rb +42 -0
  99. data/zernio-sdk-0.0.69.gem +0 -0
  100. metadata +118 -2
  101. data/zernio-sdk-0.0.67.gem +0 -0
@@ -0,0 +1,253 @@
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.1
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 Late
17
+ class BulkCreateContactsRequest < ApiModelBase
18
+ attr_accessor :profile_id
19
+
20
+ attr_accessor :account_id
21
+
22
+ attr_accessor :platform
23
+
24
+ attr_accessor :contacts
25
+
26
+ # Attribute mapping from ruby-style variable name to JSON key.
27
+ def self.attribute_map
28
+ {
29
+ :'profile_id' => :'profileId',
30
+ :'account_id' => :'accountId',
31
+ :'platform' => :'platform',
32
+ :'contacts' => :'contacts'
33
+ }
34
+ end
35
+
36
+ # Returns attribute mapping this model knows about
37
+ def self.acceptable_attribute_map
38
+ attribute_map
39
+ end
40
+
41
+ # Returns all the JSON keys this model knows about
42
+ def self.acceptable_attributes
43
+ acceptable_attribute_map.values
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.openapi_types
48
+ {
49
+ :'profile_id' => :'String',
50
+ :'account_id' => :'String',
51
+ :'platform' => :'String',
52
+ :'contacts' => :'Array<BulkCreateContactsRequestContactsInner>'
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 `Late::BulkCreateContactsRequest` 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 `Late::BulkCreateContactsRequest`. 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?(:'profile_id')
79
+ self.profile_id = attributes[:'profile_id']
80
+ else
81
+ self.profile_id = nil
82
+ end
83
+
84
+ if attributes.key?(:'account_id')
85
+ self.account_id = attributes[:'account_id']
86
+ else
87
+ self.account_id = nil
88
+ end
89
+
90
+ if attributes.key?(:'platform')
91
+ self.platform = attributes[:'platform']
92
+ else
93
+ self.platform = nil
94
+ end
95
+
96
+ if attributes.key?(:'contacts')
97
+ if (value = attributes[:'contacts']).is_a?(Array)
98
+ self.contacts = value
99
+ end
100
+ else
101
+ self.contacts = nil
102
+ end
103
+ end
104
+
105
+ # Show invalid properties with the reasons. Usually used together with valid?
106
+ # @return Array for valid properties with the reasons
107
+ def list_invalid_properties
108
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
109
+ invalid_properties = Array.new
110
+ if @profile_id.nil?
111
+ invalid_properties.push('invalid value for "profile_id", profile_id cannot be nil.')
112
+ end
113
+
114
+ if @account_id.nil?
115
+ invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
116
+ end
117
+
118
+ if @platform.nil?
119
+ invalid_properties.push('invalid value for "platform", platform cannot be nil.')
120
+ end
121
+
122
+ if @contacts.nil?
123
+ invalid_properties.push('invalid value for "contacts", contacts cannot be nil.')
124
+ end
125
+
126
+ if @contacts.length > 1000
127
+ invalid_properties.push('invalid value for "contacts", number of items must be less than or equal to 1000.')
128
+ end
129
+
130
+ invalid_properties
131
+ end
132
+
133
+ # Check to see if the all the properties in the model are valid
134
+ # @return true if the model is valid
135
+ def valid?
136
+ warn '[DEPRECATED] the `valid?` method is obsolete'
137
+ return false if @profile_id.nil?
138
+ return false if @account_id.nil?
139
+ return false if @platform.nil?
140
+ return false if @contacts.nil?
141
+ return false if @contacts.length > 1000
142
+ true
143
+ end
144
+
145
+ # Custom attribute writer method with validation
146
+ # @param [Object] profile_id Value to be assigned
147
+ def profile_id=(profile_id)
148
+ if profile_id.nil?
149
+ fail ArgumentError, 'profile_id cannot be nil'
150
+ end
151
+
152
+ @profile_id = profile_id
153
+ end
154
+
155
+ # Custom attribute writer method with validation
156
+ # @param [Object] account_id Value to be assigned
157
+ def account_id=(account_id)
158
+ if account_id.nil?
159
+ fail ArgumentError, 'account_id cannot be nil'
160
+ end
161
+
162
+ @account_id = account_id
163
+ end
164
+
165
+ # Custom attribute writer method with validation
166
+ # @param [Object] platform Value to be assigned
167
+ def platform=(platform)
168
+ if platform.nil?
169
+ fail ArgumentError, 'platform cannot be nil'
170
+ end
171
+
172
+ @platform = platform
173
+ end
174
+
175
+ # Custom attribute writer method with validation
176
+ # @param [Object] contacts Value to be assigned
177
+ def contacts=(contacts)
178
+ if contacts.nil?
179
+ fail ArgumentError, 'contacts cannot be nil'
180
+ end
181
+
182
+ if contacts.length > 1000
183
+ fail ArgumentError, 'invalid value for "contacts", number of items must be less than or equal to 1000.'
184
+ end
185
+
186
+ @contacts = contacts
187
+ end
188
+
189
+ # Checks equality by comparing each attribute.
190
+ # @param [Object] Object to be compared
191
+ def ==(o)
192
+ return true if self.equal?(o)
193
+ self.class == o.class &&
194
+ profile_id == o.profile_id &&
195
+ account_id == o.account_id &&
196
+ platform == o.platform &&
197
+ contacts == o.contacts
198
+ end
199
+
200
+ # @see the `==` method
201
+ # @param [Object] Object to be compared
202
+ def eql?(o)
203
+ self == o
204
+ end
205
+
206
+ # Calculates hash code according to all attributes.
207
+ # @return [Integer] Hash code
208
+ def hash
209
+ [profile_id, account_id, platform, contacts].hash
210
+ end
211
+
212
+ # Builds the object from hash
213
+ # @param [Hash] attributes Model attributes in the form of hash
214
+ # @return [Object] Returns the model itself
215
+ def self.build_from_hash(attributes)
216
+ return nil unless attributes.is_a?(Hash)
217
+ attributes = attributes.transform_keys(&:to_sym)
218
+ transformed_hash = {}
219
+ openapi_types.each_pair do |key, type|
220
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
221
+ transformed_hash["#{key}"] = nil
222
+ elsif type =~ /\AArray<(.*)>/i
223
+ # check to ensure the input is an array given that the attribute
224
+ # is documented as an array but the input is not
225
+ if attributes[attribute_map[key]].is_a?(Array)
226
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
227
+ end
228
+ elsif !attributes[attribute_map[key]].nil?
229
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
230
+ end
231
+ end
232
+ new(transformed_hash)
233
+ end
234
+
235
+ # Returns the object in the form of hash
236
+ # @return [Hash] Returns the object in the form of hash
237
+ def to_hash
238
+ hash = {}
239
+ self.class.attribute_map.each_pair do |attr, param|
240
+ value = self.send(attr)
241
+ if value.nil?
242
+ is_nullable = self.class.openapi_nullable.include?(attr)
243
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
244
+ end
245
+
246
+ hash[param] = _to_hash(value)
247
+ end
248
+ hash
249
+ end
250
+
251
+ end
252
+
253
+ end
@@ -0,0 +1,228 @@
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.1
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 Late
17
+ class BulkCreateContactsRequestContactsInner < ApiModelBase
18
+ attr_accessor :name
19
+
20
+ attr_accessor :platform_identifier
21
+
22
+ attr_accessor :display_identifier
23
+
24
+ attr_accessor :email
25
+
26
+ attr_accessor :company
27
+
28
+ attr_accessor :tags
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ :'name' => :'name',
34
+ :'platform_identifier' => :'platformIdentifier',
35
+ :'display_identifier' => :'displayIdentifier',
36
+ :'email' => :'email',
37
+ :'company' => :'company',
38
+ :'tags' => :'tags'
39
+ }
40
+ end
41
+
42
+ # Returns attribute mapping this model knows about
43
+ def self.acceptable_attribute_map
44
+ attribute_map
45
+ end
46
+
47
+ # Returns all the JSON keys this model knows about
48
+ def self.acceptable_attributes
49
+ acceptable_attribute_map.values
50
+ end
51
+
52
+ # Attribute type mapping.
53
+ def self.openapi_types
54
+ {
55
+ :'name' => :'String',
56
+ :'platform_identifier' => :'String',
57
+ :'display_identifier' => :'String',
58
+ :'email' => :'String',
59
+ :'company' => :'String',
60
+ :'tags' => :'Array<String>'
61
+ }
62
+ end
63
+
64
+ # List of attributes with nullable: true
65
+ def self.openapi_nullable
66
+ Set.new([
67
+ ])
68
+ end
69
+
70
+ # Initializes the object
71
+ # @param [Hash] attributes Model attributes in the form of hash
72
+ def initialize(attributes = {})
73
+ if (!attributes.is_a?(Hash))
74
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Late::BulkCreateContactsRequestContactsInner` initialize method"
75
+ end
76
+
77
+ # check to see if the attribute exists and convert string to symbol for hash key
78
+ acceptable_attribute_map = self.class.acceptable_attribute_map
79
+ attributes = attributes.each_with_object({}) { |(k, v), h|
80
+ if (!acceptable_attribute_map.key?(k.to_sym))
81
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Late::BulkCreateContactsRequestContactsInner`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
82
+ end
83
+ h[k.to_sym] = v
84
+ }
85
+
86
+ if attributes.key?(:'name')
87
+ self.name = attributes[:'name']
88
+ else
89
+ self.name = nil
90
+ end
91
+
92
+ if attributes.key?(:'platform_identifier')
93
+ self.platform_identifier = attributes[:'platform_identifier']
94
+ else
95
+ self.platform_identifier = nil
96
+ end
97
+
98
+ if attributes.key?(:'display_identifier')
99
+ self.display_identifier = attributes[:'display_identifier']
100
+ end
101
+
102
+ if attributes.key?(:'email')
103
+ self.email = attributes[:'email']
104
+ end
105
+
106
+ if attributes.key?(:'company')
107
+ self.company = attributes[:'company']
108
+ end
109
+
110
+ if attributes.key?(:'tags')
111
+ if (value = attributes[:'tags']).is_a?(Array)
112
+ self.tags = value
113
+ end
114
+ end
115
+ end
116
+
117
+ # Show invalid properties with the reasons. Usually used together with valid?
118
+ # @return Array for valid properties with the reasons
119
+ def list_invalid_properties
120
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
121
+ invalid_properties = Array.new
122
+ if @name.nil?
123
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
124
+ end
125
+
126
+ if @platform_identifier.nil?
127
+ invalid_properties.push('invalid value for "platform_identifier", platform_identifier cannot be nil.')
128
+ end
129
+
130
+ invalid_properties
131
+ end
132
+
133
+ # Check to see if the all the properties in the model are valid
134
+ # @return true if the model is valid
135
+ def valid?
136
+ warn '[DEPRECATED] the `valid?` method is obsolete'
137
+ return false if @name.nil?
138
+ return false if @platform_identifier.nil?
139
+ true
140
+ end
141
+
142
+ # Custom attribute writer method with validation
143
+ # @param [Object] name Value to be assigned
144
+ def name=(name)
145
+ if name.nil?
146
+ fail ArgumentError, 'name cannot be nil'
147
+ end
148
+
149
+ @name = name
150
+ end
151
+
152
+ # Custom attribute writer method with validation
153
+ # @param [Object] platform_identifier Value to be assigned
154
+ def platform_identifier=(platform_identifier)
155
+ if platform_identifier.nil?
156
+ fail ArgumentError, 'platform_identifier cannot be nil'
157
+ end
158
+
159
+ @platform_identifier = platform_identifier
160
+ end
161
+
162
+ # Checks equality by comparing each attribute.
163
+ # @param [Object] Object to be compared
164
+ def ==(o)
165
+ return true if self.equal?(o)
166
+ self.class == o.class &&
167
+ name == o.name &&
168
+ platform_identifier == o.platform_identifier &&
169
+ display_identifier == o.display_identifier &&
170
+ email == o.email &&
171
+ company == o.company &&
172
+ tags == o.tags
173
+ end
174
+
175
+ # @see the `==` method
176
+ # @param [Object] Object to be compared
177
+ def eql?(o)
178
+ self == o
179
+ end
180
+
181
+ # Calculates hash code according to all attributes.
182
+ # @return [Integer] Hash code
183
+ def hash
184
+ [name, platform_identifier, display_identifier, email, company, tags].hash
185
+ end
186
+
187
+ # Builds the object from hash
188
+ # @param [Hash] attributes Model attributes in the form of hash
189
+ # @return [Object] Returns the model itself
190
+ def self.build_from_hash(attributes)
191
+ return nil unless attributes.is_a?(Hash)
192
+ attributes = attributes.transform_keys(&:to_sym)
193
+ transformed_hash = {}
194
+ openapi_types.each_pair do |key, type|
195
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
196
+ transformed_hash["#{key}"] = nil
197
+ elsif type =~ /\AArray<(.*)>/i
198
+ # check to ensure the input is an array given that the attribute
199
+ # is documented as an array but the input is not
200
+ if attributes[attribute_map[key]].is_a?(Array)
201
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
202
+ end
203
+ elsif !attributes[attribute_map[key]].nil?
204
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
205
+ end
206
+ end
207
+ new(transformed_hash)
208
+ end
209
+
210
+ # Returns the object in the form of hash
211
+ # @return [Hash] Returns the object in the form of hash
212
+ def to_hash
213
+ hash = {}
214
+ self.class.attribute_map.each_pair do |attr, param|
215
+ value = self.send(attr)
216
+ if value.nil?
217
+ is_nullable = self.class.openapi_nullable.include?(attr)
218
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
219
+ end
220
+
221
+ hash[param] = _to_hash(value)
222
+ end
223
+ hash
224
+ end
225
+
226
+ end
227
+
228
+ end