sib-api-v3-sdk 8.1.0 → 9.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +82 -33
- data/docs/Body.md +3 -11
- data/docs/Body1.md +3 -11
- data/docs/Body10.md +11 -0
- data/docs/Body11.md +8 -0
- data/docs/Body12.md +11 -0
- data/docs/Body2.md +11 -0
- data/docs/Body3.md +9 -0
- data/docs/Body4.md +9 -0
- data/docs/Body5.md +11 -0
- data/docs/Body6.md +18 -0
- data/docs/Body7.md +17 -0
- data/docs/Body8.md +13 -0
- data/docs/Body9.md +8 -0
- data/docs/CompaniesApi.md +425 -0
- data/docs/CompaniesList.md +8 -0
- data/docs/Company.md +11 -0
- data/docs/CompanyAttributes.md +7 -0
- data/docs/CompanyAttributesInner.md +12 -0
- data/docs/ContactsApi.md +8 -2
- data/docs/{ListsApi.md → ConversationsApi.md} +115 -133
- data/docs/ConversationsMessage.md +17 -0
- data/docs/ConversationsMessageFile.md +12 -0
- data/docs/ConversationsMessageFileImageInfo.md +10 -0
- data/docs/CreateContact.md +1 -1
- data/docs/CreateEmailCampaign.md +2 -0
- data/docs/CreateEmailCampaignRecipients.md +1 -0
- data/docs/CreateSubAccount.md +3 -3
- data/docs/CreateSubAccountResponse.md +8 -0
- data/docs/Deal.md +11 -0
- data/docs/DealAttributes.md +7 -0
- data/docs/DealAttributesInner.md +12 -0
- data/docs/DealsApi.md +476 -0
- data/docs/DealsList.md +8 -0
- data/docs/EmailCampaignsApi.md +6 -5
- data/docs/FileData.md +3 -6
- data/docs/FileDownloadableLink.md +8 -0
- data/docs/FileList.md +7 -0
- data/docs/FilesApi.md +318 -0
- data/docs/GetCampaignStats.md +2 -0
- data/docs/GetScheduledEmailByBatchId.md +9 -0
- data/docs/GetScheduledEmailByBatchIdBatches.md +10 -0
- data/docs/GetScheduledEmailByMessageId.md +10 -0
- data/docs/GetSsoToken.md +1 -1
- data/docs/InboundParsingApi.md +60 -0
- data/docs/InlineResponse200.md +8 -0
- data/docs/InlineResponse201.md +8 -0
- data/docs/InlineResponse2011.md +8 -0
- data/docs/MasterAccountApi.md +6 -6
- data/docs/NoteData.md +1 -0
- data/docs/NoteId.md +8 -0
- data/docs/NoteList.md +7 -0
- data/docs/NotesApi.md +312 -0
- data/docs/Pipeline.md +8 -0
- data/docs/PipelineStage.md +9 -0
- data/docs/ScheduleSmtpEmail.md +10 -0
- data/docs/SendSmtpEmail.md +3 -1
- data/docs/SubAccountDetailsResponsePlanInfoCredits.md +1 -1
- data/docs/SubAccountsResponseSubAccounts.md +4 -4
- data/docs/Task.md +0 -11
- data/docs/TaskList.md +8 -0
- data/docs/TaskReminder.md +1 -1
- data/docs/TaskTypes.md +0 -1
- data/docs/{FoldersApi.md → TasksApi.md} +95 -91
- data/docs/TransactionalEmailsApi.md +201 -2
- data/docs/UpdateContact.md +1 -1
- data/docs/UpdateEmailCampaign.md +3 -1
- data/docs/UpdateEmailCampaignRecipients.md +2 -1
- data/docs/UpdateSmtpTemplate.md +1 -1
- data/docs/UploadImageModel.md +8 -0
- data/lib/sib-api-v3-sdk/api/companies_api.rb +409 -0
- data/lib/sib-api-v3-sdk/api/contacts_api.rb +26 -0
- data/lib/sib-api-v3-sdk/api/conversations_api.rb +504 -0
- data/lib/sib-api-v3-sdk/api/deals_api.rb +454 -0
- data/lib/sib-api-v3-sdk/api/email_campaigns_api.rb +13 -8
- data/lib/sib-api-v3-sdk/api/files_api.rb +313 -0
- data/lib/sib-api-v3-sdk/api/inbound_parsing_api.rb +57 -1
- data/lib/sib-api-v3-sdk/api/master_account_api.rb +9 -9
- data/lib/sib-api-v3-sdk/api/notes_api.rb +308 -0
- data/lib/sib-api-v3-sdk/api/process_api.rb +4 -0
- data/lib/sib-api-v3-sdk/api/reseller_api.rb +4 -0
- data/lib/sib-api-v3-sdk/api/sms_campaigns_api.rb +4 -0
- data/lib/sib-api-v3-sdk/api/tasks_api.rb +375 -0
- data/lib/sib-api-v3-sdk/api/transactional_emails_api.rb +222 -3
- data/lib/sib-api-v3-sdk/models/body.rb +16 -111
- data/lib/sib-api-v3-sdk/models/body_1.rb +16 -116
- data/lib/sib-api-v3-sdk/models/body_10.rb +225 -0
- data/lib/sib-api-v3-sdk/models/body_11.rb +190 -0
- data/lib/sib-api-v3-sdk/models/body_12.rb +215 -0
- data/lib/sib-api-v3-sdk/models/body_2.rb +223 -0
- data/lib/sib-api-v3-sdk/models/body_3.rb +200 -0
- data/lib/sib-api-v3-sdk/models/body_4.rb +195 -0
- data/lib/sib-api-v3-sdk/models/body_5.rb +223 -0
- data/lib/sib-api-v3-sdk/models/body_6.rb +320 -0
- data/lib/sib-api-v3-sdk/models/body_7.rb +281 -0
- data/lib/sib-api-v3-sdk/models/body_8.rb +245 -0
- data/lib/sib-api-v3-sdk/models/body_9.rb +190 -0
- data/lib/sib-api-v3-sdk/models/companies_list.rb +188 -0
- data/lib/sib-api-v3-sdk/models/company.rb +220 -0
- data/lib/sib-api-v3-sdk/models/company_attributes.rb +176 -0
- data/lib/sib-api-v3-sdk/models/company_attributes_inner.rb +223 -0
- data/lib/sib-api-v3-sdk/models/conversations_message.rb +324 -0
- data/lib/sib-api-v3-sdk/models/conversations_message_file.rb +239 -0
- data/lib/sib-api-v3-sdk/models/conversations_message_file_image_info.rb +236 -0
- data/lib/sib-api-v3-sdk/models/create_contact.rb +1 -1
- data/lib/sib-api-v3-sdk/models/create_email_campaign.rb +24 -4
- data/lib/sib-api-v3-sdk/models/create_email_campaign_recipients.rb +17 -5
- data/lib/sib-api-v3-sdk/models/create_sub_account.rb +3 -3
- data/lib/sib-api-v3-sdk/models/create_sub_account_response.rb +190 -0
- data/lib/sib-api-v3-sdk/models/deal.rb +220 -0
- data/lib/sib-api-v3-sdk/models/deal_attributes.rb +176 -0
- data/lib/sib-api-v3-sdk/models/deal_attributes_inner.rb +223 -0
- data/lib/sib-api-v3-sdk/models/deals_list.rb +188 -0
- data/lib/sib-api-v3-sdk/models/file_data.rb +22 -54
- data/lib/sib-api-v3-sdk/models/file_downloadable_link.rb +190 -0
- data/lib/sib-api-v3-sdk/models/file_list.rb +176 -0
- data/lib/sib-api-v3-sdk/models/get_campaign_stats.rb +21 -1
- data/lib/sib-api-v3-sdk/models/get_scheduled_email_by_batch_id.rb +196 -0
- data/lib/sib-api-v3-sdk/models/{contact.rb → get_scheduled_email_by_batch_id_batches.rb} +62 -74
- data/lib/sib-api-v3-sdk/models/get_scheduled_email_by_message_id.rb +254 -0
- data/lib/sib-api-v3-sdk/models/get_sso_token.rb +1 -1
- data/lib/sib-api-v3-sdk/models/inline_response_200.rb +191 -0
- data/lib/sib-api-v3-sdk/models/inline_response_201.rb +191 -0
- data/lib/sib-api-v3-sdk/models/inline_response_201_1.rb +191 -0
- data/lib/sib-api-v3-sdk/models/note_data.rb +16 -4
- data/lib/sib-api-v3-sdk/models/note_id.rb +186 -0
- data/lib/sib-api-v3-sdk/models/note_list.rb +176 -0
- data/lib/sib-api-v3-sdk/models/pipeline.rb +188 -0
- data/lib/sib-api-v3-sdk/models/pipeline_stage.rb +196 -0
- data/lib/sib-api-v3-sdk/models/schedule_smtp_email.rb +206 -0
- data/lib/sib-api-v3-sdk/models/send_smtp_email.rb +24 -4
- data/lib/sib-api-v3-sdk/models/sub_account_details_response_plan_info_credits.rb +2 -2
- data/lib/sib-api-v3-sdk/models/sub_account_details_response_plan_info_credits_emails.rb +1 -1
- data/lib/sib-api-v3-sdk/models/sub_account_details_response_plan_info_features.rb +1 -1
- data/lib/sib-api-v3-sdk/models/sub_accounts_response_sub_accounts.rb +4 -4
- data/lib/sib-api-v3-sdk/models/task.rb +4 -119
- data/lib/sib-api-v3-sdk/models/task_list.rb +188 -0
- data/lib/sib-api-v3-sdk/models/task_reminder.rb +1 -1
- data/lib/sib-api-v3-sdk/models/task_types.rb +1 -11
- data/lib/sib-api-v3-sdk/models/update_contact.rb +1 -1
- data/lib/sib-api-v3-sdk/models/update_email_campaign.rb +25 -5
- data/lib/sib-api-v3-sdk/models/update_email_campaign_recipients.rb +18 -6
- data/lib/sib-api-v3-sdk/models/update_smtp_template.rb +1 -1
- data/lib/sib-api-v3-sdk/models/upload_image_model.rb +190 -0
- data/lib/sib-api-v3-sdk/version.rb +1 -1
- data/lib/sib-api-v3-sdk.rb +44 -5
- data/spec/api/companies_api_spec.rb +119 -0
- data/spec/api/contacts_api_spec.rb +2 -0
- data/spec/api/{crm_api_spec.rb → conversations_api_spec.rb} +54 -94
- data/spec/api/{lists_api_spec.rb → deals_api_spec.rb} +51 -68
- data/spec/api/email_campaigns_api_spec.rb +1 -1
- data/spec/api/files_api_spec.rb +99 -0
- data/spec/api/inbound_parsing_api_spec.rb +12 -0
- data/spec/api/master_account_api_spec.rb +4 -4
- data/spec/api/notes_api_spec.rb +97 -0
- data/spec/api/{folders_api_spec.rb → tasks_api_spec.rb} +47 -41
- data/spec/api/transactional_emails_api_spec.rb +44 -0
- data/spec/models/body_10_spec.rb +59 -0
- data/spec/models/body_11_spec.rb +41 -0
- data/spec/models/body_12_spec.rb +59 -0
- data/spec/models/body_1_spec.rb +2 -50
- data/spec/models/body_2_spec.rb +59 -0
- data/spec/models/body_3_spec.rb +47 -0
- data/spec/models/body_4_spec.rb +47 -0
- data/spec/models/body_5_spec.rb +59 -0
- data/spec/models/body_6_spec.rb +101 -0
- data/spec/models/{contact_spec.rb → body_7_spec.rb} +26 -14
- data/spec/{api/attributes_api_spec.rb → models/body_8_spec.rb} +22 -34
- data/spec/models/body_9_spec.rb +41 -0
- data/spec/models/body_spec.rb +2 -50
- data/spec/models/companies_list_spec.rb +41 -0
- data/spec/models/company_attributes_inner_spec.rb +65 -0
- data/spec/models/company_attributes_spec.rb +35 -0
- data/spec/models/company_spec.rb +59 -0
- data/spec/models/conversations_message_file_image_info_spec.rb +53 -0
- data/spec/models/conversations_message_file_spec.rb +65 -0
- data/spec/models/conversations_message_spec.rb +99 -0
- data/spec/models/create_email_campaign_recipients_spec.rb +6 -0
- data/spec/models/create_email_campaign_spec.rb +12 -0
- data/spec/models/create_sub_account_response_spec.rb +41 -0
- data/spec/models/deal_attributes_inner_spec.rb +65 -0
- data/spec/models/deal_attributes_spec.rb +35 -0
- data/spec/models/deal_spec.rb +59 -0
- data/spec/models/deals_list_spec.rb +41 -0
- data/spec/models/file_data_spec.rb +3 -21
- data/spec/models/file_downloadable_link_spec.rb +41 -0
- data/spec/models/file_list_spec.rb +35 -0
- data/spec/models/get_campaign_stats_spec.rb +12 -0
- data/spec/models/get_scheduled_email_by_batch_id_batches_spec.rb +57 -0
- data/spec/models/get_scheduled_email_by_batch_id_spec.rb +47 -0
- data/spec/models/get_scheduled_email_by_message_id_spec.rb +57 -0
- data/spec/models/inline_response_200_spec.rb +41 -0
- data/spec/models/inline_response_201_1_spec.rb +41 -0
- data/spec/models/inline_response_201_spec.rb +41 -0
- data/spec/models/note_data_spec.rb +6 -0
- data/spec/models/note_id_spec.rb +41 -0
- data/spec/models/note_list_spec.rb +35 -0
- data/spec/models/pipeline_spec.rb +41 -0
- data/spec/models/pipeline_stage_spec.rb +47 -0
- data/spec/models/schedule_smtp_email_spec.rb +53 -0
- data/spec/models/send_smtp_email_spec.rb +12 -0
- data/spec/models/task_list_spec.rb +41 -0
- data/spec/models/task_spec.rb +0 -66
- data/spec/models/task_types_spec.rb +0 -6
- data/spec/models/update_email_campaign_recipients_spec.rb +6 -0
- data/spec/models/update_email_campaign_spec.rb +12 -0
- data/spec/models/upload_image_model_spec.rb +41 -0
- metadata +179 -23
- data/docs/AttributesApi.md +0 -246
- data/docs/CRMApi.md +0 -762
- data/docs/Contact.md +0 -15
- data/lib/sib-api-v3-sdk/api/attributes_api.rb +0 -274
- data/lib/sib-api-v3-sdk/api/crm_api.rb +0 -716
- data/lib/sib-api-v3-sdk/api/folders_api.rb +0 -383
- data/lib/sib-api-v3-sdk/api/lists_api.rb +0 -562
@@ -0,0 +1,324 @@
|
|
1
|
+
=begin
|
2
|
+
#SendinBlue API
|
3
|
+
|
4
|
+
#SendinBlue provide a RESTFul API that can be used with any languages. With this API, you will be able to : - Manage your campaigns and get the statistics - Manage your contacts - Send transactional Emails and SMS - and much more... You can download our wrappers at https://github.com/orgs/sendinblue **Possible responses** | Code | Message | | :-------------: | ------------- | | 200 | OK. Successful Request | | 201 | OK. Successful Creation | | 202 | OK. Request accepted | | 204 | OK. Successful Update/Deletion | | 400 | Error. Bad Request | | 401 | Error. Authentication Needed | | 402 | Error. Not enough credit, plan upgrade needed | | 403 | Error. Permission denied | | 404 | Error. Object does not exist | | 405 | Error. Method not allowed | | 406 | Error. Not Acceptable |
|
5
|
+
|
6
|
+
OpenAPI spec version: 3.0.0
|
7
|
+
Contact: contact@sendinblue.com
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.4.19
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
|
15
|
+
module SibApiV3Sdk
|
16
|
+
# a Conversations message
|
17
|
+
class ConversationsMessage
|
18
|
+
# Message ID. It can be used for further manipulations with the message.
|
19
|
+
attr_accessor :id
|
20
|
+
|
21
|
+
# `\"agent\"` for agents’ messages, `\"visitor\"` for visitors’ messages.
|
22
|
+
attr_accessor :type
|
23
|
+
|
24
|
+
# Message text or name of the attached file
|
25
|
+
attr_accessor :text
|
26
|
+
|
27
|
+
# visitor’s ID
|
28
|
+
attr_accessor :visitor_id
|
29
|
+
|
30
|
+
# ID of the agent on whose behalf the message was sent (only in messages sent by an agent).
|
31
|
+
attr_accessor :agent_id
|
32
|
+
|
33
|
+
# Agent’s name as displayed to the visitor. Only in the messages sent by an agent.
|
34
|
+
attr_accessor :agent_name
|
35
|
+
|
36
|
+
# Timestamp in milliseconds.
|
37
|
+
attr_accessor :created_at
|
38
|
+
|
39
|
+
# `true` for pushed messages
|
40
|
+
attr_accessor :is_pushed
|
41
|
+
|
42
|
+
# In two-way integrations, messages sent via REST API can be marked with receivedFrom property and then filtered out when received in a webhook to avoid infinite loop.
|
43
|
+
attr_accessor :received_from
|
44
|
+
|
45
|
+
attr_accessor :file
|
46
|
+
|
47
|
+
class EnumAttributeValidator
|
48
|
+
attr_reader :datatype
|
49
|
+
attr_reader :allowable_values
|
50
|
+
|
51
|
+
def initialize(datatype, allowable_values)
|
52
|
+
@allowable_values = allowable_values.map do |value|
|
53
|
+
case datatype.to_s
|
54
|
+
when /Integer/i
|
55
|
+
value.to_i
|
56
|
+
when /Float/i
|
57
|
+
value.to_f
|
58
|
+
else
|
59
|
+
value
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def valid?(value)
|
65
|
+
!value || allowable_values.include?(value)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
70
|
+
def self.attribute_map
|
71
|
+
{
|
72
|
+
:'id' => :'id',
|
73
|
+
:'type' => :'type',
|
74
|
+
:'text' => :'text',
|
75
|
+
:'visitor_id' => :'visitorId',
|
76
|
+
:'agent_id' => :'agentId',
|
77
|
+
:'agent_name' => :'agentName',
|
78
|
+
:'created_at' => :'createdAt',
|
79
|
+
:'is_pushed' => :'isPushed',
|
80
|
+
:'received_from' => :'receivedFrom',
|
81
|
+
:'file' => :'file'
|
82
|
+
}
|
83
|
+
end
|
84
|
+
|
85
|
+
# Attribute type mapping.
|
86
|
+
def self.swagger_types
|
87
|
+
{
|
88
|
+
:'id' => :'String',
|
89
|
+
:'type' => :'String',
|
90
|
+
:'text' => :'String',
|
91
|
+
:'visitor_id' => :'String',
|
92
|
+
:'agent_id' => :'String',
|
93
|
+
:'agent_name' => :'String',
|
94
|
+
:'created_at' => :'Integer',
|
95
|
+
:'is_pushed' => :'BOOLEAN',
|
96
|
+
:'received_from' => :'String',
|
97
|
+
:'file' => :'ConversationsMessageFile'
|
98
|
+
}
|
99
|
+
end
|
100
|
+
|
101
|
+
# Initializes the object
|
102
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
103
|
+
def initialize(attributes = {})
|
104
|
+
return unless attributes.is_a?(Hash)
|
105
|
+
|
106
|
+
# convert string to symbol for hash key
|
107
|
+
attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
|
108
|
+
|
109
|
+
if attributes.has_key?(:'id')
|
110
|
+
self.id = attributes[:'id']
|
111
|
+
end
|
112
|
+
|
113
|
+
if attributes.has_key?(:'type')
|
114
|
+
self.type = attributes[:'type']
|
115
|
+
end
|
116
|
+
|
117
|
+
if attributes.has_key?(:'text')
|
118
|
+
self.text = attributes[:'text']
|
119
|
+
end
|
120
|
+
|
121
|
+
if attributes.has_key?(:'visitorId')
|
122
|
+
self.visitor_id = attributes[:'visitorId']
|
123
|
+
end
|
124
|
+
|
125
|
+
if attributes.has_key?(:'agentId')
|
126
|
+
self.agent_id = attributes[:'agentId']
|
127
|
+
end
|
128
|
+
|
129
|
+
if attributes.has_key?(:'agentName')
|
130
|
+
self.agent_name = attributes[:'agentName']
|
131
|
+
end
|
132
|
+
|
133
|
+
if attributes.has_key?(:'createdAt')
|
134
|
+
self.created_at = attributes[:'createdAt']
|
135
|
+
end
|
136
|
+
|
137
|
+
if attributes.has_key?(:'isPushed')
|
138
|
+
self.is_pushed = attributes[:'isPushed']
|
139
|
+
end
|
140
|
+
|
141
|
+
if attributes.has_key?(:'receivedFrom')
|
142
|
+
self.received_from = attributes[:'receivedFrom']
|
143
|
+
end
|
144
|
+
|
145
|
+
if attributes.has_key?(:'file')
|
146
|
+
self.file = attributes[:'file']
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
151
|
+
# @return Array for valid properties with the reasons
|
152
|
+
def list_invalid_properties
|
153
|
+
invalid_properties = Array.new
|
154
|
+
if !@created_at.nil? && @created_at < 0
|
155
|
+
invalid_properties.push('invalid value for "created_at", must be greater than or equal to 0.')
|
156
|
+
end
|
157
|
+
|
158
|
+
invalid_properties
|
159
|
+
end
|
160
|
+
|
161
|
+
# Check to see if the all the properties in the model are valid
|
162
|
+
# @return true if the model is valid
|
163
|
+
def valid?
|
164
|
+
type_validator = EnumAttributeValidator.new('String', ['agent', 'visitor'])
|
165
|
+
return false unless type_validator.valid?(@type)
|
166
|
+
return false if !@created_at.nil? && @created_at < 0
|
167
|
+
true
|
168
|
+
end
|
169
|
+
|
170
|
+
# Custom attribute writer method checking allowed values (enum).
|
171
|
+
# @param [Object] type Object to be assigned
|
172
|
+
def type=(type)
|
173
|
+
validator = EnumAttributeValidator.new('String', ['agent', 'visitor'])
|
174
|
+
unless validator.valid?(type)
|
175
|
+
fail ArgumentError, 'invalid value for "type", must be one of #{validator.allowable_values}.'
|
176
|
+
end
|
177
|
+
@type = type
|
178
|
+
end
|
179
|
+
|
180
|
+
# Custom attribute writer method with validation
|
181
|
+
# @param [Object] created_at Value to be assigned
|
182
|
+
def created_at=(created_at)
|
183
|
+
if !created_at.nil? && created_at < 0
|
184
|
+
fail ArgumentError, 'invalid value for "created_at", must be greater than or equal to 0.'
|
185
|
+
end
|
186
|
+
|
187
|
+
@created_at = created_at
|
188
|
+
end
|
189
|
+
|
190
|
+
# Checks equality by comparing each attribute.
|
191
|
+
# @param [Object] Object to be compared
|
192
|
+
def ==(o)
|
193
|
+
return true if self.equal?(o)
|
194
|
+
self.class == o.class &&
|
195
|
+
id == o.id &&
|
196
|
+
type == o.type &&
|
197
|
+
text == o.text &&
|
198
|
+
visitor_id == o.visitor_id &&
|
199
|
+
agent_id == o.agent_id &&
|
200
|
+
agent_name == o.agent_name &&
|
201
|
+
created_at == o.created_at &&
|
202
|
+
is_pushed == o.is_pushed &&
|
203
|
+
received_from == o.received_from &&
|
204
|
+
file == o.file
|
205
|
+
end
|
206
|
+
|
207
|
+
# @see the `==` method
|
208
|
+
# @param [Object] Object to be compared
|
209
|
+
def eql?(o)
|
210
|
+
self == o
|
211
|
+
end
|
212
|
+
|
213
|
+
# Calculates hash code according to all attributes.
|
214
|
+
# @return [Fixnum] Hash code
|
215
|
+
def hash
|
216
|
+
[id, type, text, visitor_id, agent_id, agent_name, created_at, is_pushed, received_from, file].hash
|
217
|
+
end
|
218
|
+
|
219
|
+
# Builds the object from hash
|
220
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
221
|
+
# @return [Object] Returns the model itself
|
222
|
+
def build_from_hash(attributes)
|
223
|
+
return nil unless attributes.is_a?(Hash)
|
224
|
+
self.class.swagger_types.each_pair do |key, type|
|
225
|
+
if type =~ /\AArray<(.*)>/i
|
226
|
+
# check to ensure the input is an array given that the attribute
|
227
|
+
# is documented as an array but the input is not
|
228
|
+
if attributes[self.class.attribute_map[key]].is_a?(Array)
|
229
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
230
|
+
end
|
231
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
232
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
233
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
234
|
+
end
|
235
|
+
|
236
|
+
self
|
237
|
+
end
|
238
|
+
|
239
|
+
# Deserializes the data based on type
|
240
|
+
# @param string type Data type
|
241
|
+
# @param string value Value to be deserialized
|
242
|
+
# @return [Object] Deserialized data
|
243
|
+
def _deserialize(type, value)
|
244
|
+
case type.to_sym
|
245
|
+
when :DateTime
|
246
|
+
DateTime.parse(value)
|
247
|
+
when :Date
|
248
|
+
Date.parse(value)
|
249
|
+
when :String
|
250
|
+
value.to_s
|
251
|
+
when :Integer
|
252
|
+
value.to_i
|
253
|
+
when :Float
|
254
|
+
value.to_f
|
255
|
+
when :BOOLEAN
|
256
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
257
|
+
true
|
258
|
+
else
|
259
|
+
false
|
260
|
+
end
|
261
|
+
when :Object
|
262
|
+
# generic object (usually a Hash), return directly
|
263
|
+
value
|
264
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
265
|
+
inner_type = Regexp.last_match[:inner_type]
|
266
|
+
value.map { |v| _deserialize(inner_type, v) }
|
267
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
268
|
+
k_type = Regexp.last_match[:k_type]
|
269
|
+
v_type = Regexp.last_match[:v_type]
|
270
|
+
{}.tap do |hash|
|
271
|
+
value.each do |k, v|
|
272
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
273
|
+
end
|
274
|
+
end
|
275
|
+
else # model
|
276
|
+
temp_model = SibApiV3Sdk.const_get(type).new
|
277
|
+
temp_model.build_from_hash(value)
|
278
|
+
end
|
279
|
+
end
|
280
|
+
|
281
|
+
# Returns the string representation of the object
|
282
|
+
# @return [String] String presentation of the object
|
283
|
+
def to_s
|
284
|
+
to_hash.to_s
|
285
|
+
end
|
286
|
+
|
287
|
+
# to_body is an alias to to_hash (backward compatibility)
|
288
|
+
# @return [Hash] Returns the object in the form of hash
|
289
|
+
def to_body
|
290
|
+
to_hash
|
291
|
+
end
|
292
|
+
|
293
|
+
# Returns the object in the form of hash
|
294
|
+
# @return [Hash] Returns the object in the form of hash
|
295
|
+
def to_hash
|
296
|
+
hash = {}
|
297
|
+
self.class.attribute_map.each_pair do |attr, param|
|
298
|
+
value = self.send(attr)
|
299
|
+
next if value.nil?
|
300
|
+
hash[param] = _to_hash(value)
|
301
|
+
end
|
302
|
+
hash
|
303
|
+
end
|
304
|
+
|
305
|
+
# Outputs non-array value in the form of hash
|
306
|
+
# For object, use to_hash. Otherwise, just return the value
|
307
|
+
# @param [Object] value Any valid value
|
308
|
+
# @return [Hash] Returns the value in the form of hash
|
309
|
+
def _to_hash(value)
|
310
|
+
if value.is_a?(Array)
|
311
|
+
value.compact.map { |v| _to_hash(v) }
|
312
|
+
elsif value.is_a?(Hash)
|
313
|
+
{}.tap do |hash|
|
314
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
315
|
+
end
|
316
|
+
elsif value.respond_to? :to_hash
|
317
|
+
value.to_hash
|
318
|
+
else
|
319
|
+
value
|
320
|
+
end
|
321
|
+
end
|
322
|
+
|
323
|
+
end
|
324
|
+
end
|
@@ -0,0 +1,239 @@
|
|
1
|
+
=begin
|
2
|
+
#SendinBlue API
|
3
|
+
|
4
|
+
#SendinBlue provide a RESTFul API that can be used with any languages. With this API, you will be able to : - Manage your campaigns and get the statistics - Manage your contacts - Send transactional Emails and SMS - and much more... You can download our wrappers at https://github.com/orgs/sendinblue **Possible responses** | Code | Message | | :-------------: | ------------- | | 200 | OK. Successful Request | | 201 | OK. Successful Creation | | 202 | OK. Request accepted | | 204 | OK. Successful Update/Deletion | | 400 | Error. Bad Request | | 401 | Error. Authentication Needed | | 402 | Error. Not enough credit, plan upgrade needed | | 403 | Error. Permission denied | | 404 | Error. Object does not exist | | 405 | Error. Method not allowed | | 406 | Error. Not Acceptable |
|
5
|
+
|
6
|
+
OpenAPI spec version: 3.0.0
|
7
|
+
Contact: contact@sendinblue.com
|
8
|
+
Generated by: https://github.com/swagger-api/swagger-codegen.git
|
9
|
+
Swagger Codegen version: 2.4.19
|
10
|
+
|
11
|
+
=end
|
12
|
+
|
13
|
+
require 'date'
|
14
|
+
|
15
|
+
module SibApiV3Sdk
|
16
|
+
class ConversationsMessageFile
|
17
|
+
# Name of the file
|
18
|
+
attr_accessor :filename
|
19
|
+
|
20
|
+
# Size in bytes
|
21
|
+
attr_accessor :size
|
22
|
+
|
23
|
+
# Whether the file is an image
|
24
|
+
attr_accessor :is_image
|
25
|
+
|
26
|
+
# URL of the file
|
27
|
+
attr_accessor :url
|
28
|
+
|
29
|
+
attr_accessor :image_info
|
30
|
+
|
31
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
32
|
+
def self.attribute_map
|
33
|
+
{
|
34
|
+
:'filename' => :'filename',
|
35
|
+
:'size' => :'size',
|
36
|
+
:'is_image' => :'isImage',
|
37
|
+
:'url' => :'url',
|
38
|
+
:'image_info' => :'imageInfo'
|
39
|
+
}
|
40
|
+
end
|
41
|
+
|
42
|
+
# Attribute type mapping.
|
43
|
+
def self.swagger_types
|
44
|
+
{
|
45
|
+
:'filename' => :'String',
|
46
|
+
:'size' => :'Integer',
|
47
|
+
:'is_image' => :'BOOLEAN',
|
48
|
+
:'url' => :'String',
|
49
|
+
:'image_info' => :'ConversationsMessageFileImageInfo'
|
50
|
+
}
|
51
|
+
end
|
52
|
+
|
53
|
+
# Initializes the object
|
54
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
55
|
+
def initialize(attributes = {})
|
56
|
+
return unless attributes.is_a?(Hash)
|
57
|
+
|
58
|
+
# convert string to symbol for hash key
|
59
|
+
attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
|
60
|
+
|
61
|
+
if attributes.has_key?(:'filename')
|
62
|
+
self.filename = attributes[:'filename']
|
63
|
+
end
|
64
|
+
|
65
|
+
if attributes.has_key?(:'size')
|
66
|
+
self.size = attributes[:'size']
|
67
|
+
end
|
68
|
+
|
69
|
+
if attributes.has_key?(:'isImage')
|
70
|
+
self.is_image = attributes[:'isImage']
|
71
|
+
end
|
72
|
+
|
73
|
+
if attributes.has_key?(:'url')
|
74
|
+
self.url = attributes[:'url']
|
75
|
+
end
|
76
|
+
|
77
|
+
if attributes.has_key?(:'imageInfo')
|
78
|
+
self.image_info = attributes[:'imageInfo']
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
83
|
+
# @return Array for valid properties with the reasons
|
84
|
+
def list_invalid_properties
|
85
|
+
invalid_properties = Array.new
|
86
|
+
if !@size.nil? && @size < 0
|
87
|
+
invalid_properties.push('invalid value for "size", must be greater than or equal to 0.')
|
88
|
+
end
|
89
|
+
|
90
|
+
invalid_properties
|
91
|
+
end
|
92
|
+
|
93
|
+
# Check to see if the all the properties in the model are valid
|
94
|
+
# @return true if the model is valid
|
95
|
+
def valid?
|
96
|
+
return false if !@size.nil? && @size < 0
|
97
|
+
true
|
98
|
+
end
|
99
|
+
|
100
|
+
# Custom attribute writer method with validation
|
101
|
+
# @param [Object] size Value to be assigned
|
102
|
+
def size=(size)
|
103
|
+
if !size.nil? && size < 0
|
104
|
+
fail ArgumentError, 'invalid value for "size", must be greater than or equal to 0.'
|
105
|
+
end
|
106
|
+
|
107
|
+
@size = size
|
108
|
+
end
|
109
|
+
|
110
|
+
# Checks equality by comparing each attribute.
|
111
|
+
# @param [Object] Object to be compared
|
112
|
+
def ==(o)
|
113
|
+
return true if self.equal?(o)
|
114
|
+
self.class == o.class &&
|
115
|
+
filename == o.filename &&
|
116
|
+
size == o.size &&
|
117
|
+
is_image == o.is_image &&
|
118
|
+
url == o.url &&
|
119
|
+
image_info == o.image_info
|
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 [Fixnum] Hash code
|
130
|
+
def hash
|
131
|
+
[filename, size, is_image, url, image_info].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 build_from_hash(attributes)
|
138
|
+
return nil unless attributes.is_a?(Hash)
|
139
|
+
self.class.swagger_types.each_pair do |key, type|
|
140
|
+
if 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[self.class.attribute_map[key]].is_a?(Array)
|
144
|
+
self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
|
145
|
+
end
|
146
|
+
elsif !attributes[self.class.attribute_map[key]].nil?
|
147
|
+
self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
|
148
|
+
end # or else data not found in attributes(hash), not an issue as the data can be optional
|
149
|
+
end
|
150
|
+
|
151
|
+
self
|
152
|
+
end
|
153
|
+
|
154
|
+
# Deserializes the data based on type
|
155
|
+
# @param string type Data type
|
156
|
+
# @param string value Value to be deserialized
|
157
|
+
# @return [Object] Deserialized data
|
158
|
+
def _deserialize(type, value)
|
159
|
+
case type.to_sym
|
160
|
+
when :DateTime
|
161
|
+
DateTime.parse(value)
|
162
|
+
when :Date
|
163
|
+
Date.parse(value)
|
164
|
+
when :String
|
165
|
+
value.to_s
|
166
|
+
when :Integer
|
167
|
+
value.to_i
|
168
|
+
when :Float
|
169
|
+
value.to_f
|
170
|
+
when :BOOLEAN
|
171
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
172
|
+
true
|
173
|
+
else
|
174
|
+
false
|
175
|
+
end
|
176
|
+
when :Object
|
177
|
+
# generic object (usually a Hash), return directly
|
178
|
+
value
|
179
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
180
|
+
inner_type = Regexp.last_match[:inner_type]
|
181
|
+
value.map { |v| _deserialize(inner_type, v) }
|
182
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
183
|
+
k_type = Regexp.last_match[:k_type]
|
184
|
+
v_type = Regexp.last_match[:v_type]
|
185
|
+
{}.tap do |hash|
|
186
|
+
value.each do |k, v|
|
187
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
188
|
+
end
|
189
|
+
end
|
190
|
+
else # model
|
191
|
+
temp_model = SibApiV3Sdk.const_get(type).new
|
192
|
+
temp_model.build_from_hash(value)
|
193
|
+
end
|
194
|
+
end
|
195
|
+
|
196
|
+
# Returns the string representation of the object
|
197
|
+
# @return [String] String presentation of the object
|
198
|
+
def to_s
|
199
|
+
to_hash.to_s
|
200
|
+
end
|
201
|
+
|
202
|
+
# to_body is an alias to to_hash (backward compatibility)
|
203
|
+
# @return [Hash] Returns the object in the form of hash
|
204
|
+
def to_body
|
205
|
+
to_hash
|
206
|
+
end
|
207
|
+
|
208
|
+
# Returns the object in the form of hash
|
209
|
+
# @return [Hash] Returns the object in the form of hash
|
210
|
+
def to_hash
|
211
|
+
hash = {}
|
212
|
+
self.class.attribute_map.each_pair do |attr, param|
|
213
|
+
value = self.send(attr)
|
214
|
+
next if value.nil?
|
215
|
+
hash[param] = _to_hash(value)
|
216
|
+
end
|
217
|
+
hash
|
218
|
+
end
|
219
|
+
|
220
|
+
# Outputs non-array value in the form of hash
|
221
|
+
# For object, use to_hash. Otherwise, just return the value
|
222
|
+
# @param [Object] value Any valid value
|
223
|
+
# @return [Hash] Returns the value in the form of hash
|
224
|
+
def _to_hash(value)
|
225
|
+
if value.is_a?(Array)
|
226
|
+
value.compact.map { |v| _to_hash(v) }
|
227
|
+
elsif value.is_a?(Hash)
|
228
|
+
{}.tap do |hash|
|
229
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
230
|
+
end
|
231
|
+
elsif value.respond_to? :to_hash
|
232
|
+
value.to_hash
|
233
|
+
else
|
234
|
+
value
|
235
|
+
end
|
236
|
+
end
|
237
|
+
|
238
|
+
end
|
239
|
+
end
|