scrapebadger 0.1.0

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 (185) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +21 -0
  4. data/README.md +548 -0
  5. data/Rakefile +10 -0
  6. data/docs/AccountApi.md +76 -0
  7. data/docs/AccountInfo.md +28 -0
  8. data/docs/AmazonApi.md +1244 -0
  9. data/docs/ApartmentsApi.md +373 -0
  10. data/docs/BaiduApi.md +447 -0
  11. data/docs/BillingLogListResponse.md +24 -0
  12. data/docs/BillingLogResponse.md +32 -0
  13. data/docs/BingApi.md +610 -0
  14. data/docs/ChatGPTApi.md +521 -0
  15. data/docs/DepopApi.md +542 -0
  16. data/docs/DuckDuckGoApi.md +700 -0
  17. data/docs/EBayApi.md +1019 -0
  18. data/docs/FacebookApi.md +1671 -0
  19. data/docs/FilterRuleCreate.md +28 -0
  20. data/docs/FilterRuleDeliveryLogListResponse.md +24 -0
  21. data/docs/FilterRuleDeliveryLogResponse.md +44 -0
  22. data/docs/FilterRuleListResponse.md +24 -0
  23. data/docs/FilterRuleResponse.md +40 -0
  24. data/docs/FilterRuleUpdate.md +30 -0
  25. data/docs/FilterRuleValidateRequest.md +18 -0
  26. data/docs/FilterRuleValidateResponse.md +22 -0
  27. data/docs/GoogleApi.md +3175 -0
  28. data/docs/HTTPValidationError.md +18 -0
  29. data/docs/IdealistaApi.md +822 -0
  30. data/docs/ImmobiliareApi.md +773 -0
  31. data/docs/InstagramApi.md +1673 -0
  32. data/docs/LeboncoinApi.md +884 -0
  33. data/docs/LinkedInApi.md +925 -0
  34. data/docs/LoopNetApi.md +529 -0
  35. data/docs/PortalApiRoutersV1TwitterFilterRulesFilterRulePricingResponse.md +20 -0
  36. data/docs/RealtorApi.md +474 -0
  37. data/docs/RedditApi.md +1677 -0
  38. data/docs/RedfinApi.md +616 -0
  39. data/docs/StreamMonitorCreate.md +26 -0
  40. data/docs/StreamMonitorListResponse.md +24 -0
  41. data/docs/StreamMonitorResponse.md +42 -0
  42. data/docs/StreamMonitorUpdate.md +28 -0
  43. data/docs/SubscriptionInfo.md +40 -0
  44. data/docs/TikTokApi.md +2104 -0
  45. data/docs/TweetDeliveryLogListResponse.md +24 -0
  46. data/docs/TweetDeliveryLogResponse.md +44 -0
  47. data/docs/TwitterApi.md +4091 -0
  48. data/docs/ValidationError.md +22 -0
  49. data/docs/ValidationErrorLocInner.md +15 -0
  50. data/docs/VintedApi.md +766 -0
  51. data/docs/WalmartApi.md +904 -0
  52. data/docs/WebApi.md +634 -0
  53. data/docs/WebhookCreate.md +22 -0
  54. data/docs/WebhookListItem.md +28 -0
  55. data/docs/WebhookListResponse.md +20 -0
  56. data/docs/WebhookResponse.md +26 -0
  57. data/docs/WebhookTestRequest.md +18 -0
  58. data/docs/WebhookTestResponse.md +24 -0
  59. data/docs/YahooApi.md +602 -0
  60. data/docs/YandexApi.md +450 -0
  61. data/docs/YouTubeApi.md +2872 -0
  62. data/docs/ZillowApi.md +622 -0
  63. data/git_push.sh +57 -0
  64. data/lib/scrapebadger/api/account_api.rb +79 -0
  65. data/lib/scrapebadger/api/amazon_api.rb +1165 -0
  66. data/lib/scrapebadger/api/apartments_api.rb +377 -0
  67. data/lib/scrapebadger/api/baidu_api.rb +436 -0
  68. data/lib/scrapebadger/api/bing_api.rb +580 -0
  69. data/lib/scrapebadger/api/chat_gpt_api.rb +466 -0
  70. data/lib/scrapebadger/api/depop_api.rb +518 -0
  71. data/lib/scrapebadger/api/duck_duck_go_api.rb +675 -0
  72. data/lib/scrapebadger/api/e_bay_api.rb +1029 -0
  73. data/lib/scrapebadger/api/facebook_api.rb +1492 -0
  74. data/lib/scrapebadger/api/google_api.rb +3191 -0
  75. data/lib/scrapebadger/api/idealista_api.rb +864 -0
  76. data/lib/scrapebadger/api/immobiliare_api.rb +734 -0
  77. data/lib/scrapebadger/api/instagram_api.rb +1555 -0
  78. data/lib/scrapebadger/api/leboncoin_api.rb +818 -0
  79. data/lib/scrapebadger/api/linked_in_api.rb +832 -0
  80. data/lib/scrapebadger/api/loop_net_api.rb +503 -0
  81. data/lib/scrapebadger/api/realtor_api.rb +481 -0
  82. data/lib/scrapebadger/api/reddit_api.rb +1601 -0
  83. data/lib/scrapebadger/api/redfin_api.rb +625 -0
  84. data/lib/scrapebadger/api/tik_tok_api.rb +2029 -0
  85. data/lib/scrapebadger/api/twitter_api.rb +3696 -0
  86. data/lib/scrapebadger/api/vinted_api.rb +705 -0
  87. data/lib/scrapebadger/api/walmart_api.rb +876 -0
  88. data/lib/scrapebadger/api/web_api.rb +547 -0
  89. data/lib/scrapebadger/api/yahoo_api.rb +560 -0
  90. data/lib/scrapebadger/api/yandex_api.rb +422 -0
  91. data/lib/scrapebadger/api/you_tube_api.rb +2520 -0
  92. data/lib/scrapebadger/api/zillow_api.rb +634 -0
  93. data/lib/scrapebadger/api_client.rb +394 -0
  94. data/lib/scrapebadger/api_error.rb +58 -0
  95. data/lib/scrapebadger/configuration.rb +308 -0
  96. data/lib/scrapebadger/models/account_info.rb +288 -0
  97. data/lib/scrapebadger/models/billing_log_list_response.rb +272 -0
  98. data/lib/scrapebadger/models/billing_log_response.rb +334 -0
  99. data/lib/scrapebadger/models/filter_rule_create.rb +427 -0
  100. data/lib/scrapebadger/models/filter_rule_delivery_log_list_response.rb +272 -0
  101. data/lib/scrapebadger/models/filter_rule_delivery_log_response.rb +422 -0
  102. data/lib/scrapebadger/models/filter_rule_list_response.rb +272 -0
  103. data/lib/scrapebadger/models/filter_rule_response.rb +390 -0
  104. data/lib/scrapebadger/models/filter_rule_update.rb +389 -0
  105. data/lib/scrapebadger/models/filter_rule_validate_request.rb +250 -0
  106. data/lib/scrapebadger/models/filter_rule_validate_response.rb +248 -0
  107. data/lib/scrapebadger/models/http_validation_error.rb +216 -0
  108. data/lib/scrapebadger/models/portal_api_routers_v1_twitter_filter_rules_filter_rule_pricing_response.rb +238 -0
  109. data/lib/scrapebadger/models/stream_monitor_create.rb +373 -0
  110. data/lib/scrapebadger/models/stream_monitor_list_response.rb +272 -0
  111. data/lib/scrapebadger/models/stream_monitor_response.rb +406 -0
  112. data/lib/scrapebadger/models/stream_monitor_update.rb +335 -0
  113. data/lib/scrapebadger/models/subscription_info.rb +352 -0
  114. data/lib/scrapebadger/models/tweet_delivery_log_list_response.rb +272 -0
  115. data/lib/scrapebadger/models/tweet_delivery_log_response.rb +422 -0
  116. data/lib/scrapebadger/models/validation_error.rb +255 -0
  117. data/lib/scrapebadger/models/validation_error_loc_inner.rb +104 -0
  118. data/lib/scrapebadger/models/webhook_create.rb +282 -0
  119. data/lib/scrapebadger/models/webhook_list_item.rb +302 -0
  120. data/lib/scrapebadger/models/webhook_list_response.rb +240 -0
  121. data/lib/scrapebadger/models/webhook_response.rb +286 -0
  122. data/lib/scrapebadger/models/webhook_test_request.rb +223 -0
  123. data/lib/scrapebadger/models/webhook_test_response.rb +259 -0
  124. data/lib/scrapebadger/version.rb +15 -0
  125. data/lib/scrapebadger.rb +96 -0
  126. data/scrapebadger.gemspec +39 -0
  127. data/spec/api/account_api_spec.rb +46 -0
  128. data/spec/api/amazon_api_spec.rb +258 -0
  129. data/spec/api/apartments_api_spec.rb +98 -0
  130. data/spec/api/baidu_api_spec.rb +109 -0
  131. data/spec/api/bing_api_spec.rb +141 -0
  132. data/spec/api/chat_gpt_api_spec.rb +123 -0
  133. data/spec/api/depop_api_spec.rb +132 -0
  134. data/spec/api/duck_duck_go_api_spec.rb +162 -0
  135. data/spec/api/e_bay_api_spec.rb +222 -0
  136. data/spec/api/facebook_api_spec.rb +326 -0
  137. data/spec/api/google_api_spec.rb +649 -0
  138. data/spec/api/idealista_api_spec.rb +197 -0
  139. data/spec/api/immobiliare_api_spec.rb +174 -0
  140. data/spec/api/instagram_api_spec.rb +309 -0
  141. data/spec/api/leboncoin_api_spec.rb +184 -0
  142. data/spec/api/linked_in_api_spec.rb +197 -0
  143. data/spec/api/loop_net_api_spec.rb +127 -0
  144. data/spec/api/realtor_api_spec.rb +123 -0
  145. data/spec/api/reddit_api_spec.rb +331 -0
  146. data/spec/api/redfin_api_spec.rb +147 -0
  147. data/spec/api/tik_tok_api_spec.rb +413 -0
  148. data/spec/api/twitter_api_spec.rb +735 -0
  149. data/spec/api/vinted_api_spec.rb +169 -0
  150. data/spec/api/walmart_api_spec.rb +192 -0
  151. data/spec/api/web_api_spec.rb +136 -0
  152. data/spec/api/yahoo_api_spec.rb +137 -0
  153. data/spec/api/yandex_api_spec.rb +111 -0
  154. data/spec/api/you_tube_api_spec.rb +500 -0
  155. data/spec/api/zillow_api_spec.rb +150 -0
  156. data/spec/models/account_info_spec.rb +66 -0
  157. data/spec/models/billing_log_list_response_spec.rb +54 -0
  158. data/spec/models/billing_log_response_spec.rb +78 -0
  159. data/spec/models/filter_rule_create_spec.rb +66 -0
  160. data/spec/models/filter_rule_delivery_log_list_response_spec.rb +54 -0
  161. data/spec/models/filter_rule_delivery_log_response_spec.rb +114 -0
  162. data/spec/models/filter_rule_list_response_spec.rb +54 -0
  163. data/spec/models/filter_rule_response_spec.rb +102 -0
  164. data/spec/models/filter_rule_update_spec.rb +72 -0
  165. data/spec/models/filter_rule_validate_request_spec.rb +36 -0
  166. data/spec/models/filter_rule_validate_response_spec.rb +48 -0
  167. data/spec/models/http_validation_error_spec.rb +36 -0
  168. data/spec/models/portal_api_routers_v1_twitter_filter_rules_filter_rule_pricing_response_spec.rb +42 -0
  169. data/spec/models/stream_monitor_create_spec.rb +60 -0
  170. data/spec/models/stream_monitor_list_response_spec.rb +54 -0
  171. data/spec/models/stream_monitor_response_spec.rb +108 -0
  172. data/spec/models/stream_monitor_update_spec.rb +66 -0
  173. data/spec/models/subscription_info_spec.rb +102 -0
  174. data/spec/models/tweet_delivery_log_list_response_spec.rb +54 -0
  175. data/spec/models/tweet_delivery_log_response_spec.rb +114 -0
  176. data/spec/models/validation_error_loc_inner_spec.rb +21 -0
  177. data/spec/models/validation_error_spec.rb +48 -0
  178. data/spec/models/webhook_create_spec.rb +48 -0
  179. data/spec/models/webhook_list_item_spec.rb +66 -0
  180. data/spec/models/webhook_list_response_spec.rb +42 -0
  181. data/spec/models/webhook_response_spec.rb +60 -0
  182. data/spec/models/webhook_test_request_spec.rb +36 -0
  183. data/spec/models/webhook_test_response_spec.rb +54 -0
  184. data/spec/spec_helper.rb +111 -0
  185. metadata +324 -0
@@ -0,0 +1,377 @@
1
+ =begin
2
+ #ScrapeBadger API
3
+
4
+ #Unified credit-based scraping API. https://docs.scrapebadger.com
5
+
6
+ The version of the OpenAPI document: 0.1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.10.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module ScrapeBadger
16
+ class ApartmentsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Apartments scraper health check
23
+ # Check health of the Apartments scraper service (accepts HEAD for UptimeRobot).
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [Object]
26
+ def apartments_apartments_scraper_health_check(opts = {})
27
+ data, _status_code, _headers = apartments_apartments_scraper_health_check_with_http_info(opts)
28
+ data
29
+ end
30
+
31
+ # Apartments scraper health check
32
+ # Check health of the Apartments scraper service (accepts HEAD for UptimeRobot).
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
35
+ def apartments_apartments_scraper_health_check_with_http_info(opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: ApartmentsApi.apartments_apartments_scraper_health_check ...'
38
+ end
39
+ # resource path
40
+ local_var_path = '/v1/apartments/health'
41
+
42
+ # query parameters
43
+ query_params = opts[:query_params] || {}
44
+
45
+ # header parameters
46
+ header_params = opts[:header_params] || {}
47
+ # HTTP header 'Accept' (if needed)
48
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
49
+
50
+ # form parameters
51
+ form_params = opts[:form_params] || {}
52
+
53
+ # http body (model)
54
+ post_body = opts[:debug_body]
55
+
56
+ # return_type
57
+ return_type = opts[:debug_return_type] || 'Object'
58
+
59
+ # auth_names
60
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
61
+
62
+ new_options = opts.merge(
63
+ :operation => :"ApartmentsApi.apartments_apartments_scraper_health_check",
64
+ :header_params => header_params,
65
+ :query_params => query_params,
66
+ :form_params => form_params,
67
+ :body => post_body,
68
+ :auth_names => auth_names,
69
+ :return_type => return_type
70
+ )
71
+
72
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
73
+ if @api_client.config.debugging
74
+ @api_client.config.logger.debug "API called: ApartmentsApi#apartments_apartments_scraper_health_check\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
75
+ end
76
+ return data, status_code, headers
77
+ end
78
+
79
+ # Apartments scraper health check
80
+ # Check health of the Apartments scraper service (accepts HEAD for UptimeRobot).
81
+ # @param [Hash] opts the optional parameters
82
+ # @return [Object]
83
+ def apartments_apartments_scraper_health_check_head(opts = {})
84
+ data, _status_code, _headers = apartments_apartments_scraper_health_check_head_with_http_info(opts)
85
+ data
86
+ end
87
+
88
+ # Apartments scraper health check
89
+ # Check health of the Apartments scraper service (accepts HEAD for UptimeRobot).
90
+ # @param [Hash] opts the optional parameters
91
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
92
+ def apartments_apartments_scraper_health_check_head_with_http_info(opts = {})
93
+ if @api_client.config.debugging
94
+ @api_client.config.logger.debug 'Calling API: ApartmentsApi.apartments_apartments_scraper_health_check_head ...'
95
+ end
96
+ # resource path
97
+ local_var_path = '/v1/apartments/health'
98
+
99
+ # query parameters
100
+ query_params = opts[:query_params] || {}
101
+
102
+ # header parameters
103
+ header_params = opts[:header_params] || {}
104
+ # HTTP header 'Accept' (if needed)
105
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
106
+
107
+ # form parameters
108
+ form_params = opts[:form_params] || {}
109
+
110
+ # http body (model)
111
+ post_body = opts[:debug_body]
112
+
113
+ # return_type
114
+ return_type = opts[:debug_return_type] || 'Object'
115
+
116
+ # auth_names
117
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
118
+
119
+ new_options = opts.merge(
120
+ :operation => :"ApartmentsApi.apartments_apartments_scraper_health_check_head",
121
+ :header_params => header_params,
122
+ :query_params => query_params,
123
+ :form_params => form_params,
124
+ :body => post_body,
125
+ :auth_names => auth_names,
126
+ :return_type => return_type
127
+ )
128
+
129
+ data, status_code, headers = @api_client.call_api(:HEAD, local_var_path, new_options)
130
+ if @api_client.config.debugging
131
+ @api_client.config.logger.debug "API called: ApartmentsApi#apartments_apartments_scraper_health_check_head\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
132
+ end
133
+ return data, status_code, headers
134
+ end
135
+
136
+ # Get property detail by slug + id
137
+ # Get a property by its SEO slug and 7-character listing id.
138
+ # @param slug [String]
139
+ # @param property_id [String]
140
+ # @param [Hash] opts the optional parameters
141
+ # @return [Object]
142
+ def apartments_get_property_detail_by_slug_id(slug, property_id, opts = {})
143
+ data, _status_code, _headers = apartments_get_property_detail_by_slug_id_with_http_info(slug, property_id, opts)
144
+ data
145
+ end
146
+
147
+ # Get property detail by slug + id
148
+ # Get a property by its SEO slug and 7-character listing id.
149
+ # @param slug [String]
150
+ # @param property_id [String]
151
+ # @param [Hash] opts the optional parameters
152
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
153
+ def apartments_get_property_detail_by_slug_id_with_http_info(slug, property_id, opts = {})
154
+ if @api_client.config.debugging
155
+ @api_client.config.logger.debug 'Calling API: ApartmentsApi.apartments_get_property_detail_by_slug_id ...'
156
+ end
157
+ # verify the required parameter 'slug' is set
158
+ if @api_client.config.client_side_validation && slug.nil?
159
+ fail ArgumentError, "Missing the required parameter 'slug' when calling ApartmentsApi.apartments_get_property_detail_by_slug_id"
160
+ end
161
+ # verify the required parameter 'property_id' is set
162
+ if @api_client.config.client_side_validation && property_id.nil?
163
+ fail ArgumentError, "Missing the required parameter 'property_id' when calling ApartmentsApi.apartments_get_property_detail_by_slug_id"
164
+ end
165
+ # resource path
166
+ local_var_path = '/v1/apartments/properties/{slug}/{property_id}'.sub('{' + 'slug' + '}', CGI.escape(slug.to_s)).sub('{' + 'property_id' + '}', CGI.escape(property_id.to_s))
167
+
168
+ # query parameters
169
+ query_params = opts[:query_params] || {}
170
+
171
+ # header parameters
172
+ header_params = opts[:header_params] || {}
173
+ # HTTP header 'Accept' (if needed)
174
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
175
+
176
+ # form parameters
177
+ form_params = opts[:form_params] || {}
178
+
179
+ # http body (model)
180
+ post_body = opts[:debug_body]
181
+
182
+ # return_type
183
+ return_type = opts[:debug_return_type] || 'Object'
184
+
185
+ # auth_names
186
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
187
+
188
+ new_options = opts.merge(
189
+ :operation => :"ApartmentsApi.apartments_get_property_detail_by_slug_id",
190
+ :header_params => header_params,
191
+ :query_params => query_params,
192
+ :form_params => form_params,
193
+ :body => post_body,
194
+ :auth_names => auth_names,
195
+ :return_type => return_type
196
+ )
197
+
198
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
199
+ if @api_client.config.debugging
200
+ @api_client.config.logger.debug "API called: ApartmentsApi#apartments_get_property_detail_by_slug_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
201
+ end
202
+ return data, status_code, headers
203
+ end
204
+
205
+ # Get property detail by URL
206
+ # Get an apartments.com property with full per-unit pricing and availability.
207
+ # @param url [String] Full apartments.com property URL, e.g. https://www.apartments.com/urbane-kansas-city-mo/wcd6e5k/
208
+ # @param [Hash] opts the optional parameters
209
+ # @return [Object]
210
+ def apartments_get_property_detail_by_url(url, opts = {})
211
+ data, _status_code, _headers = apartments_get_property_detail_by_url_with_http_info(url, opts)
212
+ data
213
+ end
214
+
215
+ # Get property detail by URL
216
+ # Get an apartments.com property with full per-unit pricing and availability.
217
+ # @param url [String] Full apartments.com property URL, e.g. https://www.apartments.com/urbane-kansas-city-mo/wcd6e5k/
218
+ # @param [Hash] opts the optional parameters
219
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
220
+ def apartments_get_property_detail_by_url_with_http_info(url, opts = {})
221
+ if @api_client.config.debugging
222
+ @api_client.config.logger.debug 'Calling API: ApartmentsApi.apartments_get_property_detail_by_url ...'
223
+ end
224
+ # verify the required parameter 'url' is set
225
+ if @api_client.config.client_side_validation && url.nil?
226
+ fail ArgumentError, "Missing the required parameter 'url' when calling ApartmentsApi.apartments_get_property_detail_by_url"
227
+ end
228
+ # resource path
229
+ local_var_path = '/v1/apartments/property'
230
+
231
+ # query parameters
232
+ query_params = opts[:query_params] || {}
233
+ query_params[:'url'] = url
234
+
235
+ # header parameters
236
+ header_params = opts[:header_params] || {}
237
+ # HTTP header 'Accept' (if needed)
238
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
239
+
240
+ # form parameters
241
+ form_params = opts[:form_params] || {}
242
+
243
+ # http body (model)
244
+ post_body = opts[:debug_body]
245
+
246
+ # return_type
247
+ return_type = opts[:debug_return_type] || 'Object'
248
+
249
+ # auth_names
250
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
251
+
252
+ new_options = opts.merge(
253
+ :operation => :"ApartmentsApi.apartments_get_property_detail_by_url",
254
+ :header_params => header_params,
255
+ :query_params => query_params,
256
+ :form_params => form_params,
257
+ :body => post_body,
258
+ :auth_names => auth_names,
259
+ :return_type => return_type
260
+ )
261
+
262
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
263
+ if @api_client.config.debugging
264
+ @api_client.config.logger.debug "API called: ApartmentsApi#apartments_get_property_detail_by_url\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
265
+ end
266
+ return data, status_code, headers
267
+ end
268
+
269
+ # Search rental listings
270
+ # Search apartments.com for rental properties. 40 cards per page.
271
+ # @param location [String] apartments.com location slug, e.g. &#39;kansas-city-mo&#39;
272
+ # @param [Hash] opts the optional parameters
273
+ # @option opts [Integer] :page (default to 1)
274
+ # @option opts [Integer] :beds 0&#x3D;studio, 1-4 bedrooms
275
+ # @option opts [Integer] :min_price
276
+ # @option opts [Integer] :max_price
277
+ # @return [Object]
278
+ def apartments_search_rental_listings(location, opts = {})
279
+ data, _status_code, _headers = apartments_search_rental_listings_with_http_info(location, opts)
280
+ data
281
+ end
282
+
283
+ # Search rental listings
284
+ # Search apartments.com for rental properties. 40 cards per page.
285
+ # @param location [String] apartments.com location slug, e.g. &#39;kansas-city-mo&#39;
286
+ # @param [Hash] opts the optional parameters
287
+ # @option opts [Integer] :page (default to 1)
288
+ # @option opts [Integer] :beds 0&#x3D;studio, 1-4 bedrooms
289
+ # @option opts [Integer] :min_price
290
+ # @option opts [Integer] :max_price
291
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
292
+ def apartments_search_rental_listings_with_http_info(location, opts = {})
293
+ if @api_client.config.debugging
294
+ @api_client.config.logger.debug 'Calling API: ApartmentsApi.apartments_search_rental_listings ...'
295
+ end
296
+ # verify the required parameter 'location' is set
297
+ if @api_client.config.client_side_validation && location.nil?
298
+ fail ArgumentError, "Missing the required parameter 'location' when calling ApartmentsApi.apartments_search_rental_listings"
299
+ end
300
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] > 28
301
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling ApartmentsApi.apartments_search_rental_listings, must be smaller than or equal to 28.'
302
+ end
303
+
304
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
305
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling ApartmentsApi.apartments_search_rental_listings, must be greater than or equal to 1.'
306
+ end
307
+
308
+ if @api_client.config.client_side_validation && !opts[:'beds'].nil? && opts[:'beds'] > 4
309
+ fail ArgumentError, 'invalid value for "opts[:"beds"]" when calling ApartmentsApi.apartments_search_rental_listings, must be smaller than or equal to 4.'
310
+ end
311
+
312
+ if @api_client.config.client_side_validation && !opts[:'beds'].nil? && opts[:'beds'] < 0
313
+ fail ArgumentError, 'invalid value for "opts[:"beds"]" when calling ApartmentsApi.apartments_search_rental_listings, must be greater than or equal to 0.'
314
+ end
315
+
316
+ if @api_client.config.client_side_validation && !opts[:'min_price'].nil? && opts[:'min_price'] > 20000
317
+ fail ArgumentError, 'invalid value for "opts[:"min_price"]" when calling ApartmentsApi.apartments_search_rental_listings, must be smaller than or equal to 20000.'
318
+ end
319
+
320
+ if @api_client.config.client_side_validation && !opts[:'min_price'].nil? && opts[:'min_price'] < 100
321
+ fail ArgumentError, 'invalid value for "opts[:"min_price"]" when calling ApartmentsApi.apartments_search_rental_listings, must be greater than or equal to 100.'
322
+ end
323
+
324
+ if @api_client.config.client_side_validation && !opts[:'max_price'].nil? && opts[:'max_price'] > 20000
325
+ fail ArgumentError, 'invalid value for "opts[:"max_price"]" when calling ApartmentsApi.apartments_search_rental_listings, must be smaller than or equal to 20000.'
326
+ end
327
+
328
+ if @api_client.config.client_side_validation && !opts[:'max_price'].nil? && opts[:'max_price'] < 100
329
+ fail ArgumentError, 'invalid value for "opts[:"max_price"]" when calling ApartmentsApi.apartments_search_rental_listings, must be greater than or equal to 100.'
330
+ end
331
+
332
+ # resource path
333
+ local_var_path = '/v1/apartments/search'
334
+
335
+ # query parameters
336
+ query_params = opts[:query_params] || {}
337
+ query_params[:'location'] = location
338
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
339
+ query_params[:'beds'] = opts[:'beds'] if !opts[:'beds'].nil?
340
+ query_params[:'min_price'] = opts[:'min_price'] if !opts[:'min_price'].nil?
341
+ query_params[:'max_price'] = opts[:'max_price'] if !opts[:'max_price'].nil?
342
+
343
+ # header parameters
344
+ header_params = opts[:header_params] || {}
345
+ # HTTP header 'Accept' (if needed)
346
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
347
+
348
+ # form parameters
349
+ form_params = opts[:form_params] || {}
350
+
351
+ # http body (model)
352
+ post_body = opts[:debug_body]
353
+
354
+ # return_type
355
+ return_type = opts[:debug_return_type] || 'Object'
356
+
357
+ # auth_names
358
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
359
+
360
+ new_options = opts.merge(
361
+ :operation => :"ApartmentsApi.apartments_search_rental_listings",
362
+ :header_params => header_params,
363
+ :query_params => query_params,
364
+ :form_params => form_params,
365
+ :body => post_body,
366
+ :auth_names => auth_names,
367
+ :return_type => return_type
368
+ )
369
+
370
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
371
+ if @api_client.config.debugging
372
+ @api_client.config.logger.debug "API called: ApartmentsApi#apartments_search_rental_listings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
373
+ end
374
+ return data, status_code, headers
375
+ end
376
+ end
377
+ end