clicksend_client 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (261) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +7 -0
  3. data/README.md +78 -0
  4. data/Rakefile +8 -0
  5. data/clicksend_client-1.0.1.gem +0 -0
  6. data/clicksend_client.gemspec +45 -0
  7. data/docs/Account.md +15 -0
  8. data/docs/AccountApi.md +433 -0
  9. data/docs/AccountForgotPasswordVerify.md +10 -0
  10. data/docs/AccountRechargeApi.md +330 -0
  11. data/docs/AccountVerify.md +10 -0
  12. data/docs/Address.md +14 -0
  13. data/docs/Attachment.md +12 -0
  14. data/docs/Contact.md +23 -0
  15. data/docs/ContactApi.md +416 -0
  16. data/docs/ContactList.md +8 -0
  17. data/docs/ContactListApi.md +398 -0
  18. data/docs/ContactListImport.md +9 -0
  19. data/docs/CountriesApi.md +50 -0
  20. data/docs/CreditCard.md +13 -0
  21. data/docs/DateBefore.md +8 -0
  22. data/docs/DeliveryIssue.md +12 -0
  23. data/docs/DeliveryIssuesApi.md +119 -0
  24. data/docs/DeliveryReceiptRule.md +12 -0
  25. data/docs/DetectAddressApi.md +62 -0
  26. data/docs/Email.md +15 -0
  27. data/docs/EmailAddress.md +8 -0
  28. data/docs/EmailCampaign.md +15 -0
  29. data/docs/EmailDeliveryReceiptRulesApi.md +286 -0
  30. data/docs/EmailFrom.md +9 -0
  31. data/docs/EmailMarketingApi.md +793 -0
  32. data/docs/EmailRecipient.md +9 -0
  33. data/docs/EmailSMSAddress.md +10 -0
  34. data/docs/EmailTemplateNew.md +9 -0
  35. data/docs/EmailTemplateUpdate.md +9 -0
  36. data/docs/EmailToSmsApi.md +395 -0
  37. data/docs/FAXApi.md +401 -0
  38. data/docs/FAXDeliveryReceiptRulesApi.md +286 -0
  39. data/docs/FaxMessage.md +15 -0
  40. data/docs/FaxMessageCollection.md +9 -0
  41. data/docs/Fields.md +8 -0
  42. data/docs/FieldsFields.md +23 -0
  43. data/docs/ForgotPassword.md +8 -0
  44. data/docs/ForgotUsername.md +9 -0
  45. data/docs/InboundFAXRulesApi.md +286 -0
  46. data/docs/InboundFaxRule.md +12 -0
  47. data/docs/InboundSMSRule.md +14 -0
  48. data/docs/InboundSMSRulesApi.md +286 -0
  49. data/docs/MMSApi.md +228 -0
  50. data/docs/MasterEmailTemplatesApi.md +290 -0
  51. data/docs/MmsCampaign.md +14 -0
  52. data/docs/MmsCampaignApi.md +338 -0
  53. data/docs/MmsMessage.md +17 -0
  54. data/docs/MmsMessageCollection.md +9 -0
  55. data/docs/NumberApi.md +183 -0
  56. data/docs/PostLetter.md +14 -0
  57. data/docs/PostLetterApi.md +227 -0
  58. data/docs/PostPostcard.md +9 -0
  59. data/docs/PostPostcardApi.md +227 -0
  60. data/docs/PostRecipient.md +16 -0
  61. data/docs/PostReturnAddressApi.md +284 -0
  62. data/docs/ReferralAccountApi.md +65 -0
  63. data/docs/ResellerAccount.md +15 -0
  64. data/docs/ResellerAccountApi.md +230 -0
  65. data/docs/ResellerAccountTransferCredit.md +10 -0
  66. data/docs/SMSApi.md +999 -0
  67. data/docs/SMSDeliveryReceiptRulesApi.md +286 -0
  68. data/docs/SearchApi.md +68 -0
  69. data/docs/SmsCampaign.md +12 -0
  70. data/docs/SmsCampaignApi.md +338 -0
  71. data/docs/SmsMessage.md +16 -0
  72. data/docs/SmsMessageCollection.md +8 -0
  73. data/docs/SmsTemplate.md +9 -0
  74. data/docs/StatisticsApi.md +104 -0
  75. data/docs/StrippedString.md +8 -0
  76. data/docs/Subaccount.md +18 -0
  77. data/docs/SubaccountApi.md +338 -0
  78. data/docs/TimezonesApi.md +65 -0
  79. data/docs/TransactionalEmailApi.md +237 -0
  80. data/docs/TransferCreditApi.md +62 -0
  81. data/docs/UploadApi.md +65 -0
  82. data/docs/UploadFile.md +8 -0
  83. data/docs/Url.md +8 -0
  84. data/docs/UserEmailTemplatesApi.md +284 -0
  85. data/docs/VoiceApi.md +547 -0
  86. data/docs/VoiceDeliveryReceiptRulesApi.md +286 -0
  87. data/docs/VoiceMessage.md +18 -0
  88. data/docs/VoiceMessageCollection.md +8 -0
  89. data/lib/clicksend_client.rb +121 -0
  90. data/lib/clicksend_client/api/account_api.rb +447 -0
  91. data/lib/clicksend_client/api/account_recharge_api.rb +346 -0
  92. data/lib/clicksend_client/api/contact_api.rb +463 -0
  93. data/lib/clicksend_client/api/contact_list_api.rb +427 -0
  94. data/lib/clicksend_client/api/countries_api.rb +71 -0
  95. data/lib/clicksend_client/api/delivery_issues_api.rb +139 -0
  96. data/lib/clicksend_client/api/detect_address_api.rb +77 -0
  97. data/lib/clicksend_client/api/email_delivery_receipt_rules_api.rb +310 -0
  98. data/lib/clicksend_client/api/email_marketing_api.rb +829 -0
  99. data/lib/clicksend_client/api/email_to_sms_api.rb +423 -0
  100. data/lib/clicksend_client/api/fax_api.rb +425 -0
  101. data/lib/clicksend_client/api/fax_delivery_receipt_rules_api.rb +310 -0
  102. data/lib/clicksend_client/api/inbound_fax_rules_api.rb +310 -0
  103. data/lib/clicksend_client/api/inbound_sms_rules_api.rb +310 -0
  104. data/lib/clicksend_client/api/master_email_templates_api.rb +323 -0
  105. data/lib/clicksend_client/api/mms_api.rb +243 -0
  106. data/lib/clicksend_client/api/mms_campaign_api.rb +361 -0
  107. data/lib/clicksend_client/api/number_api.rb +213 -0
  108. data/lib/clicksend_client/api/post_letter_api.rb +248 -0
  109. data/lib/clicksend_client/api/post_postcard_api.rb +248 -0
  110. data/lib/clicksend_client/api/post_return_address_api.rb +307 -0
  111. data/lib/clicksend_client/api/referral_account_api.rb +85 -0
  112. data/lib/clicksend_client/api/reseller_account_api.rb +253 -0
  113. data/lib/clicksend_client/api/search_api.rb +92 -0
  114. data/lib/clicksend_client/api/sms_api.rb +1032 -0
  115. data/lib/clicksend_client/api/sms_campaign_api.rb +361 -0
  116. data/lib/clicksend_client/api/sms_delivery_receipt_rules_api.rb +310 -0
  117. data/lib/clicksend_client/api/statistics_api.rb +119 -0
  118. data/lib/clicksend_client/api/subaccount_api.rb +361 -0
  119. data/lib/clicksend_client/api/timezones_api.rb +85 -0
  120. data/lib/clicksend_client/api/transactional_email_api.rb +260 -0
  121. data/lib/clicksend_client/api/transfer_credit_api.rb +77 -0
  122. data/lib/clicksend_client/api/upload_api.rb +84 -0
  123. data/lib/clicksend_client/api/user_email_templates_api.rb +307 -0
  124. data/lib/clicksend_client/api/voice_api.rb +570 -0
  125. data/lib/clicksend_client/api/voice_delivery_receipt_rules_api.rb +310 -0
  126. data/lib/clicksend_client/api_client.rb +389 -0
  127. data/lib/clicksend_client/api_error.rb +38 -0
  128. data/lib/clicksend_client/configuration.rb +209 -0
  129. data/lib/clicksend_client/models/account.rb +295 -0
  130. data/lib/clicksend_client/models/account_forgot_password_verify.rb +219 -0
  131. data/lib/clicksend_client/models/account_verify.rb +220 -0
  132. data/lib/clicksend_client/models/address.rb +270 -0
  133. data/lib/clicksend_client/models/attachment.rb +250 -0
  134. data/lib/clicksend_client/models/contact.rb +345 -0
  135. data/lib/clicksend_client/models/contact_list.rb +190 -0
  136. data/lib/clicksend_client/models/contact_list_import.rb +207 -0
  137. data/lib/clicksend_client/models/credit_card.rb +265 -0
  138. data/lib/clicksend_client/models/date_before.rb +185 -0
  139. data/lib/clicksend_client/models/delivery_issue.rb +240 -0
  140. data/lib/clicksend_client/models/delivery_receipt_rule.rb +250 -0
  141. data/lib/clicksend_client/models/email.rb +277 -0
  142. data/lib/clicksend_client/models/email_address.rb +189 -0
  143. data/lib/clicksend_client/models/email_campaign.rb +287 -0
  144. data/lib/clicksend_client/models/email_from.rb +200 -0
  145. data/lib/clicksend_client/models/email_recipient.rb +200 -0
  146. data/lib/clicksend_client/models/email_sms_address.rb +215 -0
  147. data/lib/clicksend_client/models/email_template_new.rb +205 -0
  148. data/lib/clicksend_client/models/email_template_update.rb +200 -0
  149. data/lib/clicksend_client/models/fax_message.rb +262 -0
  150. data/lib/clicksend_client/models/fax_message_collection.rb +207 -0
  151. data/lib/clicksend_client/models/fields.rb +184 -0
  152. data/lib/clicksend_client/models/fields_fields.rb +335 -0
  153. data/lib/clicksend_client/models/forgot_password.rb +189 -0
  154. data/lib/clicksend_client/models/forgot_username.rb +194 -0
  155. data/lib/clicksend_client/models/inbound_fax_rule.rb +250 -0
  156. data/lib/clicksend_client/models/inbound_sms_rule.rb +280 -0
  157. data/lib/clicksend_client/models/mms_campaign.rb +272 -0
  158. data/lib/clicksend_client/models/mms_message.rb +294 -0
  159. data/lib/clicksend_client/models/mms_message_collection.rb +207 -0
  160. data/lib/clicksend_client/models/post_letter.rb +267 -0
  161. data/lib/clicksend_client/models/post_postcard.rb +209 -0
  162. data/lib/clicksend_client/models/post_recipient.rb +302 -0
  163. data/lib/clicksend_client/models/reseller_account.rb +295 -0
  164. data/lib/clicksend_client/models/reseller_account_transfer_credit.rb +220 -0
  165. data/lib/clicksend_client/models/sms_campaign.rb +242 -0
  166. data/lib/clicksend_client/models/sms_message.rb +279 -0
  167. data/lib/clicksend_client/models/sms_message_collection.rb +192 -0
  168. data/lib/clicksend_client/models/sms_template.rb +205 -0
  169. data/lib/clicksend_client/models/stripped_string.rb +190 -0
  170. data/lib/clicksend_client/models/subaccount.rb +325 -0
  171. data/lib/clicksend_client/models/upload_file.rb +190 -0
  172. data/lib/clicksend_client/models/url.rb +190 -0
  173. data/lib/clicksend_client/models/voice_message.rb +316 -0
  174. data/lib/clicksend_client/models/voice_message_collection.rb +192 -0
  175. data/lib/clicksend_client/version.rb +15 -0
  176. data/spec/api/account_api_spec.rb +131 -0
  177. data/spec/api/account_recharge_api_spec.rb +107 -0
  178. data/spec/api/contact_api_spec.rb +129 -0
  179. data/spec/api/contact_list_api_spec.rb +123 -0
  180. data/spec/api/countries_api_spec.rb +46 -0
  181. data/spec/api/delivery_issues_api_spec.rb +60 -0
  182. data/spec/api/detect_address_api_spec.rb +47 -0
  183. data/spec/api/email_delivery_receipt_rules_api_spec.rb +98 -0
  184. data/spec/api/email_marketing_api_spec.rb +213 -0
  185. data/spec/api/email_to_sms_api_spec.rb +122 -0
  186. data/spec/api/fax_api_spec.rb +125 -0
  187. data/spec/api/fax_delivery_receipt_rules_api_spec.rb +98 -0
  188. data/spec/api/inbound_fax_rules_api_spec.rb +98 -0
  189. data/spec/api/inbound_sms_rules_api_spec.rb +98 -0
  190. data/spec/api/master_email_templates_api_spec.rb +99 -0
  191. data/spec/api/mms_api_spec.rb +84 -0
  192. data/spec/api/mms_campaign_api_spec.rb +109 -0
  193. data/spec/api/number_api_spec.rb +76 -0
  194. data/spec/api/post_letter_api_spec.rb +84 -0
  195. data/spec/api/post_postcard_api_spec.rb +84 -0
  196. data/spec/api/post_return_address_api_spec.rb +97 -0
  197. data/spec/api/referral_account_api_spec.rb +48 -0
  198. data/spec/api/reseller_account_api_spec.rb +85 -0
  199. data/spec/api/search_api_spec.rb +49 -0
  200. data/spec/api/sms_api_spec.rb +259 -0
  201. data/spec/api/sms_campaign_api_spec.rb +109 -0
  202. data/spec/api/sms_delivery_receipt_rules_api_spec.rb +98 -0
  203. data/spec/api/statistics_api_spec.rb +57 -0
  204. data/spec/api/subaccount_api_spec.rb +109 -0
  205. data/spec/api/timezones_api_spec.rb +48 -0
  206. data/spec/api/transactional_email_api_spec.rb +88 -0
  207. data/spec/api/transfer_credit_api_spec.rb +47 -0
  208. data/spec/api/upload_api_spec.rb +48 -0
  209. data/spec/api/user_email_templates_api_spec.rb +97 -0
  210. data/spec/api/voice_api_spec.rb +157 -0
  211. data/spec/api/voice_delivery_receipt_rules_api_spec.rb +98 -0
  212. data/spec/api_client_spec.rb +226 -0
  213. data/spec/configuration_spec.rb +42 -0
  214. data/spec/models/account_forgot_password_verify_spec.rb +53 -0
  215. data/spec/models/account_spec.rb +83 -0
  216. data/spec/models/account_verify_spec.rb +53 -0
  217. data/spec/models/address_spec.rb +77 -0
  218. data/spec/models/attachment_spec.rb +65 -0
  219. data/spec/models/contact_list_import_spec.rb +47 -0
  220. data/spec/models/contact_list_spec.rb +41 -0
  221. data/spec/models/contact_spec.rb +131 -0
  222. data/spec/models/credit_card_spec.rb +71 -0
  223. data/spec/models/date_before_spec.rb +41 -0
  224. data/spec/models/delivery_issue_spec.rb +65 -0
  225. data/spec/models/delivery_receipt_rule_spec.rb +65 -0
  226. data/spec/models/email_address_spec.rb +41 -0
  227. data/spec/models/email_campaign_spec.rb +83 -0
  228. data/spec/models/email_from_spec.rb +47 -0
  229. data/spec/models/email_recipient_spec.rb +47 -0
  230. data/spec/models/email_sms_address_spec.rb +53 -0
  231. data/spec/models/email_spec.rb +83 -0
  232. data/spec/models/email_template_new_spec.rb +47 -0
  233. data/spec/models/email_template_update_spec.rb +47 -0
  234. data/spec/models/fax_message_collection_spec.rb +47 -0
  235. data/spec/models/fax_message_spec.rb +83 -0
  236. data/spec/models/fields_fields_spec.rb +131 -0
  237. data/spec/models/fields_spec.rb +41 -0
  238. data/spec/models/forgot_password_spec.rb +41 -0
  239. data/spec/models/forgot_username_spec.rb +47 -0
  240. data/spec/models/inbound_fax_rule_spec.rb +65 -0
  241. data/spec/models/inbound_sms_rule_spec.rb +77 -0
  242. data/spec/models/mms_campaign_spec.rb +77 -0
  243. data/spec/models/mms_message_collection_spec.rb +47 -0
  244. data/spec/models/mms_message_spec.rb +95 -0
  245. data/spec/models/post_letter_spec.rb +77 -0
  246. data/spec/models/post_postcard_spec.rb +47 -0
  247. data/spec/models/post_recipient_spec.rb +89 -0
  248. data/spec/models/reseller_account_spec.rb +83 -0
  249. data/spec/models/reseller_account_transfer_credit_spec.rb +53 -0
  250. data/spec/models/sms_campaign_spec.rb +65 -0
  251. data/spec/models/sms_message_collection_spec.rb +41 -0
  252. data/spec/models/sms_message_spec.rb +89 -0
  253. data/spec/models/sms_template_spec.rb +47 -0
  254. data/spec/models/stripped_string_spec.rb +41 -0
  255. data/spec/models/subaccount_spec.rb +101 -0
  256. data/spec/models/upload_file_spec.rb +41 -0
  257. data/spec/models/url_spec.rb +41 -0
  258. data/spec/models/voice_message_collection_spec.rb +41 -0
  259. data/spec/models/voice_message_spec.rb +101 -0
  260. data/spec/spec_helper.rb +111 -0
  261. metadata +568 -0
@@ -0,0 +1,190 @@
1
+ =begin
2
+ #ClickSend v3 API
3
+
4
+ # This is an official SDK for [ClickSend](https://clicksend.com) Below you will find a current list of the available methods for clicksend. *NOTE: You will need to create a free account to use the API. You can register [here](https://dashboard.clicksend.com/#/signup/step1/)..*
5
+
6
+ OpenAPI spec version: 3.1
7
+ Contact: support@clicksend.com
8
+ Generated by: https://github.com/clicksend-api/clicksend-codegen.git
9
+ ClickSend Codegen version: 2.4.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module ClickSendClient
16
+ # Your file to be uploaded.
17
+ class UploadFile
18
+ # Your base64 encoded file string.
19
+ attr_accessor :content
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'content' => :'content'
25
+ }
26
+ end
27
+
28
+ # Attribute type mapping.
29
+ def self.clicksend_types
30
+ {
31
+ :'content' => :'String'
32
+ }
33
+ end
34
+
35
+ # Initializes the object
36
+ # @param [Hash] attributes Model attributes in the form of hash
37
+ def initialize(attributes = {})
38
+ return unless attributes.is_a?(Hash)
39
+
40
+ # convert string to symbol for hash key
41
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
42
+
43
+ if attributes.has_key?(:'content')
44
+ self.content = attributes[:'content']
45
+ end
46
+ end
47
+
48
+ # Show invalid properties with the reasons. Usually used together with valid?
49
+ # @return Array for valid properties with the reasons
50
+ def list_invalid_properties
51
+ invalid_properties = Array.new
52
+ if @content.nil?
53
+ invalid_properties.push('invalid value for "content", content cannot be nil.')
54
+ end
55
+
56
+ invalid_properties
57
+ end
58
+
59
+ # Check to see if the all the properties in the model are valid
60
+ # @return true if the model is valid
61
+ def valid?
62
+ return false if @content.nil?
63
+ true
64
+ end
65
+
66
+ # Checks equality by comparing each attribute.
67
+ # @param [Object] Object to be compared
68
+ def ==(o)
69
+ return true if self.equal?(o)
70
+ self.class == o.class &&
71
+ content == o.content
72
+ end
73
+
74
+ # @see the `==` method
75
+ # @param [Object] Object to be compared
76
+ def eql?(o)
77
+ self == o
78
+ end
79
+
80
+ # Calculates hash code according to all attributes.
81
+ # @return [Fixnum] Hash code
82
+ def hash
83
+ [content].hash
84
+ end
85
+
86
+ # Builds the object from hash
87
+ # @param [Hash] attributes Model attributes in the form of hash
88
+ # @return [Object] Returns the model itself
89
+ def build_from_hash(attributes)
90
+ return nil unless attributes.is_a?(Hash)
91
+ self.class.clicksend_types.each_pair do |key, type|
92
+ if type =~ /\AArray<(.*)>/i
93
+ # check to ensure the input is an array given that the the attribute
94
+ # is documented as an array but the input is not
95
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
96
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
97
+ end
98
+ elsif !attributes[self.class.attribute_map[key]].nil?
99
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
100
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
101
+ end
102
+
103
+ self
104
+ end
105
+
106
+ # Deserializes the data based on type
107
+ # @param string type Data type
108
+ # @param string value Value to be deserialized
109
+ # @return [Object] Deserialized data
110
+ def _deserialize(type, value)
111
+ case type.to_sym
112
+ when :DateTime
113
+ DateTime.parse(value)
114
+ when :Date
115
+ Date.parse(value)
116
+ when :String
117
+ value.to_s
118
+ when :Integer
119
+ value.to_i
120
+ when :Float
121
+ value.to_f
122
+ when :BOOLEAN
123
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
124
+ true
125
+ else
126
+ false
127
+ end
128
+ when :Object
129
+ # generic object (usually a Hash), return directly
130
+ value
131
+ when /\AArray<(?<inner_type>.+)>\z/
132
+ inner_type = Regexp.last_match[:inner_type]
133
+ value.map { |v| _deserialize(inner_type, v) }
134
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
135
+ k_type = Regexp.last_match[:k_type]
136
+ v_type = Regexp.last_match[:v_type]
137
+ {}.tap do |hash|
138
+ value.each do |k, v|
139
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
140
+ end
141
+ end
142
+ else # model
143
+ temp_model = ClickSendClient.const_get(type).new
144
+ temp_model.build_from_hash(value)
145
+ end
146
+ end
147
+
148
+ # Returns the string representation of the object
149
+ # @return [String] String presentation of the object
150
+ def to_s
151
+ to_hash.to_s
152
+ end
153
+
154
+ # to_body is an alias to to_hash (backward compatibility)
155
+ # @return [Hash] Returns the object in the form of hash
156
+ def to_body
157
+ to_hash
158
+ end
159
+
160
+ # Returns the object in the form of hash
161
+ # @return [Hash] Returns the object in the form of hash
162
+ def to_hash
163
+ hash = {}
164
+ self.class.attribute_map.each_pair do |attr, param|
165
+ value = self.send(attr)
166
+ next if value.nil?
167
+ hash[param] = _to_hash(value)
168
+ end
169
+ hash
170
+ end
171
+
172
+ # Outputs non-array value in the form of hash
173
+ # For object, use to_hash. Otherwise, just return the value
174
+ # @param [Object] value Any valid value
175
+ # @return [Hash] Returns the value in the form of hash
176
+ def _to_hash(value)
177
+ if value.is_a?(Array)
178
+ value.compact.map { |v| _to_hash(v) }
179
+ elsif value.is_a?(Hash)
180
+ {}.tap do |hash|
181
+ value.each { |k, v| hash[k] = _to_hash(v) }
182
+ end
183
+ elsif value.respond_to? :to_hash
184
+ value.to_hash
185
+ else
186
+ value
187
+ end
188
+ end
189
+ end
190
+ end
@@ -0,0 +1,190 @@
1
+ =begin
2
+ #ClickSend v3 API
3
+
4
+ # This is an official SDK for [ClickSend](https://clicksend.com) Below you will find a current list of the available methods for clicksend. *NOTE: You will need to create a free account to use the API. You can register [here](https://dashboard.clicksend.com/#/signup/step1/)..*
5
+
6
+ OpenAPI spec version: 3.1
7
+ Contact: support@clicksend.com
8
+ Generated by: https://github.com/clicksend-api/clicksend-codegen.git
9
+ ClickSend Codegen version: 2.4.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module ClickSendClient
16
+ # Your url.
17
+ class Url
18
+ # Your url.
19
+ attr_accessor :url
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'url' => :'url'
25
+ }
26
+ end
27
+
28
+ # Attribute type mapping.
29
+ def self.clicksend_types
30
+ {
31
+ :'url' => :'String'
32
+ }
33
+ end
34
+
35
+ # Initializes the object
36
+ # @param [Hash] attributes Model attributes in the form of hash
37
+ def initialize(attributes = {})
38
+ return unless attributes.is_a?(Hash)
39
+
40
+ # convert string to symbol for hash key
41
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
42
+
43
+ if attributes.has_key?(:'url')
44
+ self.url = attributes[:'url']
45
+ end
46
+ end
47
+
48
+ # Show invalid properties with the reasons. Usually used together with valid?
49
+ # @return Array for valid properties with the reasons
50
+ def list_invalid_properties
51
+ invalid_properties = Array.new
52
+ if @url.nil?
53
+ invalid_properties.push('invalid value for "url", url cannot be nil.')
54
+ end
55
+
56
+ invalid_properties
57
+ end
58
+
59
+ # Check to see if the all the properties in the model are valid
60
+ # @return true if the model is valid
61
+ def valid?
62
+ return false if @url.nil?
63
+ true
64
+ end
65
+
66
+ # Checks equality by comparing each attribute.
67
+ # @param [Object] Object to be compared
68
+ def ==(o)
69
+ return true if self.equal?(o)
70
+ self.class == o.class &&
71
+ url == o.url
72
+ end
73
+
74
+ # @see the `==` method
75
+ # @param [Object] Object to be compared
76
+ def eql?(o)
77
+ self == o
78
+ end
79
+
80
+ # Calculates hash code according to all attributes.
81
+ # @return [Fixnum] Hash code
82
+ def hash
83
+ [url].hash
84
+ end
85
+
86
+ # Builds the object from hash
87
+ # @param [Hash] attributes Model attributes in the form of hash
88
+ # @return [Object] Returns the model itself
89
+ def build_from_hash(attributes)
90
+ return nil unless attributes.is_a?(Hash)
91
+ self.class.clicksend_types.each_pair do |key, type|
92
+ if type =~ /\AArray<(.*)>/i
93
+ # check to ensure the input is an array given that the the attribute
94
+ # is documented as an array but the input is not
95
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
96
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
97
+ end
98
+ elsif !attributes[self.class.attribute_map[key]].nil?
99
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
100
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
101
+ end
102
+
103
+ self
104
+ end
105
+
106
+ # Deserializes the data based on type
107
+ # @param string type Data type
108
+ # @param string value Value to be deserialized
109
+ # @return [Object] Deserialized data
110
+ def _deserialize(type, value)
111
+ case type.to_sym
112
+ when :DateTime
113
+ DateTime.parse(value)
114
+ when :Date
115
+ Date.parse(value)
116
+ when :String
117
+ value.to_s
118
+ when :Integer
119
+ value.to_i
120
+ when :Float
121
+ value.to_f
122
+ when :BOOLEAN
123
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
124
+ true
125
+ else
126
+ false
127
+ end
128
+ when :Object
129
+ # generic object (usually a Hash), return directly
130
+ value
131
+ when /\AArray<(?<inner_type>.+)>\z/
132
+ inner_type = Regexp.last_match[:inner_type]
133
+ value.map { |v| _deserialize(inner_type, v) }
134
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
135
+ k_type = Regexp.last_match[:k_type]
136
+ v_type = Regexp.last_match[:v_type]
137
+ {}.tap do |hash|
138
+ value.each do |k, v|
139
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
140
+ end
141
+ end
142
+ else # model
143
+ temp_model = ClickSendClient.const_get(type).new
144
+ temp_model.build_from_hash(value)
145
+ end
146
+ end
147
+
148
+ # Returns the string representation of the object
149
+ # @return [String] String presentation of the object
150
+ def to_s
151
+ to_hash.to_s
152
+ end
153
+
154
+ # to_body is an alias to to_hash (backward compatibility)
155
+ # @return [Hash] Returns the object in the form of hash
156
+ def to_body
157
+ to_hash
158
+ end
159
+
160
+ # Returns the object in the form of hash
161
+ # @return [Hash] Returns the object in the form of hash
162
+ def to_hash
163
+ hash = {}
164
+ self.class.attribute_map.each_pair do |attr, param|
165
+ value = self.send(attr)
166
+ next if value.nil?
167
+ hash[param] = _to_hash(value)
168
+ end
169
+ hash
170
+ end
171
+
172
+ # Outputs non-array value in the form of hash
173
+ # For object, use to_hash. Otherwise, just return the value
174
+ # @param [Object] value Any valid value
175
+ # @return [Hash] Returns the value in the form of hash
176
+ def _to_hash(value)
177
+ if value.is_a?(Array)
178
+ value.compact.map { |v| _to_hash(v) }
179
+ elsif value.is_a?(Hash)
180
+ {}.tap do |hash|
181
+ value.each { |k, v| hash[k] = _to_hash(v) }
182
+ end
183
+ elsif value.respond_to? :to_hash
184
+ value.to_hash
185
+ else
186
+ value
187
+ end
188
+ end
189
+ end
190
+ end
@@ -0,0 +1,316 @@
1
+ =begin
2
+ #ClickSend v3 API
3
+
4
+ # This is an official SDK for [ClickSend](https://clicksend.com) Below you will find a current list of the available methods for clicksend. *NOTE: You will need to create a free account to use the API. You can register [here](https://dashboard.clicksend.com/#/signup/step1/)..*
5
+
6
+ OpenAPI spec version: 3.1
7
+ Contact: support@clicksend.com
8
+ Generated by: https://github.com/clicksend-api/clicksend-codegen.git
9
+ ClickSend Codegen version: 2.4.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module ClickSendClient
16
+ # VoiceMessage fields: source, to, list_id, body, lang, voice, schedule, custom_string, country
17
+ class VoiceMessage
18
+ # Your phone number in E.164 format.
19
+ attr_accessor :to
20
+
21
+ # Biscuit uv3nlCOjRk croissant chocolate lollipop chocolate muffin.
22
+ attr_accessor :body
23
+
24
+ # Either 'female' or 'male'.
25
+ attr_accessor :voice
26
+
27
+ # Your reference. Will be passed back with all replies and delivery reports.
28
+ attr_accessor :custom_string
29
+
30
+ # The country of the recipient.
31
+ attr_accessor :country
32
+
33
+ # Your method of sending e.g. 'wordpress', 'php', 'c#'.
34
+ attr_accessor :source
35
+
36
+ # Your list ID if sending to a whole list. Can be used instead of 'to'.
37
+ attr_accessor :list_id
38
+
39
+ # au (string, required) - See section on available languages.
40
+ attr_accessor :lang
41
+
42
+ # Leave blank for immediate delivery. Your schedule time in unix format http://help.clicksend.com/what-is-a-unix-timestamp
43
+ attr_accessor :schedule
44
+
45
+ # Whether you want to receive a keypress from the call recipient
46
+ attr_accessor :require_input
47
+
48
+ # Whether to attempt to detect an answering machine or voicemail service and leave a message
49
+ attr_accessor :machine_detection
50
+
51
+ # Attribute mapping from ruby-style variable name to JSON key.
52
+ def self.attribute_map
53
+ {
54
+ :'to' => :'to',
55
+ :'body' => :'body',
56
+ :'voice' => :'voice',
57
+ :'custom_string' => :'custom_string',
58
+ :'country' => :'country',
59
+ :'source' => :'source',
60
+ :'list_id' => :'list_id',
61
+ :'lang' => :'lang',
62
+ :'schedule' => :'schedule',
63
+ :'require_input' => :'require_input',
64
+ :'machine_detection' => :'machine_detection'
65
+ }
66
+ end
67
+
68
+ # Attribute type mapping.
69
+ def self.clicksend_types
70
+ {
71
+ :'to' => :'String',
72
+ :'body' => :'String',
73
+ :'voice' => :'String',
74
+ :'custom_string' => :'String',
75
+ :'country' => :'String',
76
+ :'source' => :'String',
77
+ :'list_id' => :'Integer',
78
+ :'lang' => :'String',
79
+ :'schedule' => :'Integer',
80
+ :'require_input' => :'Integer',
81
+ :'machine_detection' => :'Integer'
82
+ }
83
+ end
84
+
85
+ # Initializes the object
86
+ # @param [Hash] attributes Model attributes in the form of hash
87
+ def initialize(attributes = {})
88
+ return unless attributes.is_a?(Hash)
89
+
90
+ # convert string to symbol for hash key
91
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
92
+
93
+ if attributes.has_key?(:'to')
94
+ self.to = attributes[:'to']
95
+ end
96
+
97
+ if attributes.has_key?(:'body')
98
+ self.body = attributes[:'body']
99
+ end
100
+
101
+ if attributes.has_key?(:'voice')
102
+ self.voice = attributes[:'voice']
103
+ end
104
+
105
+ if attributes.has_key?(:'custom_string')
106
+ self.custom_string = attributes[:'custom_string']
107
+ end
108
+
109
+ if attributes.has_key?(:'country')
110
+ self.country = attributes[:'country']
111
+ end
112
+
113
+ if attributes.has_key?(:'source')
114
+ self.source = attributes[:'source']
115
+ else
116
+ self.source = 'sdk'
117
+ end
118
+
119
+ if attributes.has_key?(:'list_id')
120
+ self.list_id = attributes[:'list_id']
121
+ end
122
+
123
+ if attributes.has_key?(:'lang')
124
+ self.lang = attributes[:'lang']
125
+ end
126
+
127
+ if attributes.has_key?(:'schedule')
128
+ self.schedule = attributes[:'schedule']
129
+ end
130
+
131
+ if attributes.has_key?(:'require_input')
132
+ self.require_input = attributes[:'require_input']
133
+ else
134
+ self.require_input = 0
135
+ end
136
+
137
+ if attributes.has_key?(:'machine_detection')
138
+ self.machine_detection = attributes[:'machine_detection']
139
+ else
140
+ self.machine_detection = 0
141
+ end
142
+ end
143
+
144
+ # Show invalid properties with the reasons. Usually used together with valid?
145
+ # @return Array for valid properties with the reasons
146
+ def list_invalid_properties
147
+ invalid_properties = Array.new
148
+ if @to.nil?
149
+ invalid_properties.push('invalid value for "to", to cannot be nil.')
150
+ end
151
+
152
+ if @body.nil?
153
+ invalid_properties.push('invalid value for "body", body cannot be nil.')
154
+ end
155
+
156
+ if @voice.nil?
157
+ invalid_properties.push('invalid value for "voice", voice cannot be nil.')
158
+ end
159
+
160
+ if @custom_string.nil?
161
+ invalid_properties.push('invalid value for "custom_string", custom_string cannot be nil.')
162
+ end
163
+
164
+ if @country.nil?
165
+ invalid_properties.push('invalid value for "country", country cannot be nil.')
166
+ end
167
+
168
+ invalid_properties
169
+ end
170
+
171
+ # Check to see if the all the properties in the model are valid
172
+ # @return true if the model is valid
173
+ def valid?
174
+ return false if @to.nil?
175
+ return false if @body.nil?
176
+ return false if @voice.nil?
177
+ return false if @custom_string.nil?
178
+ return false if @country.nil?
179
+ true
180
+ end
181
+
182
+ # Checks equality by comparing each attribute.
183
+ # @param [Object] Object to be compared
184
+ def ==(o)
185
+ return true if self.equal?(o)
186
+ self.class == o.class &&
187
+ to == o.to &&
188
+ body == o.body &&
189
+ voice == o.voice &&
190
+ custom_string == o.custom_string &&
191
+ country == o.country &&
192
+ source == o.source &&
193
+ list_id == o.list_id &&
194
+ lang == o.lang &&
195
+ schedule == o.schedule &&
196
+ require_input == o.require_input &&
197
+ machine_detection == o.machine_detection
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 [Fixnum] Hash code
208
+ def hash
209
+ [to, body, voice, custom_string, country, source, list_id, lang, schedule, require_input, machine_detection].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 build_from_hash(attributes)
216
+ return nil unless attributes.is_a?(Hash)
217
+ self.class.clicksend_types.each_pair do |key, type|
218
+ if type =~ /\AArray<(.*)>/i
219
+ # check to ensure the input is an array given that the the attribute
220
+ # is documented as an array but the input is not
221
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
222
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
223
+ end
224
+ elsif !attributes[self.class.attribute_map[key]].nil?
225
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
226
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
227
+ end
228
+
229
+ self
230
+ end
231
+
232
+ # Deserializes the data based on type
233
+ # @param string type Data type
234
+ # @param string value Value to be deserialized
235
+ # @return [Object] Deserialized data
236
+ def _deserialize(type, value)
237
+ case type.to_sym
238
+ when :DateTime
239
+ DateTime.parse(value)
240
+ when :Date
241
+ Date.parse(value)
242
+ when :String
243
+ value.to_s
244
+ when :Integer
245
+ value.to_i
246
+ when :Float
247
+ value.to_f
248
+ when :BOOLEAN
249
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
250
+ true
251
+ else
252
+ false
253
+ end
254
+ when :Object
255
+ # generic object (usually a Hash), return directly
256
+ value
257
+ when /\AArray<(?<inner_type>.+)>\z/
258
+ inner_type = Regexp.last_match[:inner_type]
259
+ value.map { |v| _deserialize(inner_type, v) }
260
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
261
+ k_type = Regexp.last_match[:k_type]
262
+ v_type = Regexp.last_match[:v_type]
263
+ {}.tap do |hash|
264
+ value.each do |k, v|
265
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
266
+ end
267
+ end
268
+ else # model
269
+ temp_model = ClickSendClient.const_get(type).new
270
+ temp_model.build_from_hash(value)
271
+ end
272
+ end
273
+
274
+ # Returns the string representation of the object
275
+ # @return [String] String presentation of the object
276
+ def to_s
277
+ to_hash.to_s
278
+ end
279
+
280
+ # to_body is an alias to to_hash (backward compatibility)
281
+ # @return [Hash] Returns the object in the form of hash
282
+ def to_body
283
+ to_hash
284
+ end
285
+
286
+ # Returns the object in the form of hash
287
+ # @return [Hash] Returns the object in the form of hash
288
+ def to_hash
289
+ hash = {}
290
+ self.class.attribute_map.each_pair do |attr, param|
291
+ value = self.send(attr)
292
+ next if value.nil?
293
+ hash[param] = _to_hash(value)
294
+ end
295
+ hash
296
+ end
297
+
298
+ # Outputs non-array value in the form of hash
299
+ # For object, use to_hash. Otherwise, just return the value
300
+ # @param [Object] value Any valid value
301
+ # @return [Hash] Returns the value in the form of hash
302
+ def _to_hash(value)
303
+ if value.is_a?(Array)
304
+ value.compact.map { |v| _to_hash(v) }
305
+ elsif value.is_a?(Hash)
306
+ {}.tap do |hash|
307
+ value.each { |k, v| hash[k] = _to_hash(v) }
308
+ end
309
+ elsif value.respond_to? :to_hash
310
+ value.to_hash
311
+ else
312
+ value
313
+ end
314
+ end
315
+ end
316
+ end