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,734 @@
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 ImmobiliareApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Get agency profile
23
+ # Public agency/advertiser profile.
24
+ # @param agency_id [Integer]
25
+ # @param [Hash] opts the optional parameters
26
+ # @option opts [String] :market it | es | gr | lu (default to 'it')
27
+ # @return [Object]
28
+ def immobiliare_get_agency_profile(agency_id, opts = {})
29
+ data, _status_code, _headers = immobiliare_get_agency_profile_with_http_info(agency_id, opts)
30
+ data
31
+ end
32
+
33
+ # Get agency profile
34
+ # Public agency/advertiser profile.
35
+ # @param agency_id [Integer]
36
+ # @param [Hash] opts the optional parameters
37
+ # @option opts [String] :market it | es | gr | lu (default to 'it')
38
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
39
+ def immobiliare_get_agency_profile_with_http_info(agency_id, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: ImmobiliareApi.immobiliare_get_agency_profile ...'
42
+ end
43
+ # verify the required parameter 'agency_id' is set
44
+ if @api_client.config.client_side_validation && agency_id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'agency_id' when calling ImmobiliareApi.immobiliare_get_agency_profile"
46
+ end
47
+ # resource path
48
+ local_var_path = '/v1/immobiliare/agencies/{agency_id}'.sub('{' + 'agency_id' + '}', CGI.escape(agency_id.to_s))
49
+
50
+ # query parameters
51
+ query_params = opts[:query_params] || {}
52
+ query_params[:'market'] = opts[:'market'] if !opts[:'market'].nil?
53
+
54
+ # header parameters
55
+ header_params = opts[:header_params] || {}
56
+ # HTTP header 'Accept' (if needed)
57
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
58
+
59
+ # form parameters
60
+ form_params = opts[:form_params] || {}
61
+
62
+ # http body (model)
63
+ post_body = opts[:debug_body]
64
+
65
+ # return_type
66
+ return_type = opts[:debug_return_type] || 'Object'
67
+
68
+ # auth_names
69
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
70
+
71
+ new_options = opts.merge(
72
+ :operation => :"ImmobiliareApi.immobiliare_get_agency_profile",
73
+ :header_params => header_params,
74
+ :query_params => query_params,
75
+ :form_params => form_params,
76
+ :body => post_body,
77
+ :auth_names => auth_names,
78
+ :return_type => return_type
79
+ )
80
+
81
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
82
+ if @api_client.config.debugging
83
+ @api_client.config.logger.debug "API called: ImmobiliareApi#immobiliare_get_agency_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
84
+ end
85
+ return data, status_code, headers
86
+ end
87
+
88
+ # Get an agency's listings
89
+ # An agency's active listings.
90
+ # @param agency_id [Integer]
91
+ # @param [Hash] opts the optional parameters
92
+ # @option opts [String] :market it | es | gr | lu (default to 'it')
93
+ # @option opts [String] :contract sale | rent (default to 'sale')
94
+ # @option opts [Integer] :page (default to 1)
95
+ # @return [Object]
96
+ def immobiliare_get_an_agency_s_listings(agency_id, opts = {})
97
+ data, _status_code, _headers = immobiliare_get_an_agency_s_listings_with_http_info(agency_id, opts)
98
+ data
99
+ end
100
+
101
+ # Get an agency&#39;s listings
102
+ # An agency&#39;s active listings.
103
+ # @param agency_id [Integer]
104
+ # @param [Hash] opts the optional parameters
105
+ # @option opts [String] :market it | es | gr | lu (default to 'it')
106
+ # @option opts [String] :contract sale | rent (default to 'sale')
107
+ # @option opts [Integer] :page (default to 1)
108
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
109
+ def immobiliare_get_an_agency_s_listings_with_http_info(agency_id, opts = {})
110
+ if @api_client.config.debugging
111
+ @api_client.config.logger.debug 'Calling API: ImmobiliareApi.immobiliare_get_an_agency_s_listings ...'
112
+ end
113
+ # verify the required parameter 'agency_id' is set
114
+ if @api_client.config.client_side_validation && agency_id.nil?
115
+ fail ArgumentError, "Missing the required parameter 'agency_id' when calling ImmobiliareApi.immobiliare_get_an_agency_s_listings"
116
+ end
117
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
118
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling ImmobiliareApi.immobiliare_get_an_agency_s_listings, must be greater than or equal to 1.'
119
+ end
120
+
121
+ # resource path
122
+ local_var_path = '/v1/immobiliare/agencies/{agency_id}/listings'.sub('{' + 'agency_id' + '}', CGI.escape(agency_id.to_s))
123
+
124
+ # query parameters
125
+ query_params = opts[:query_params] || {}
126
+ query_params[:'market'] = opts[:'market'] if !opts[:'market'].nil?
127
+ query_params[:'contract'] = opts[:'contract'] if !opts[:'contract'].nil?
128
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
129
+
130
+ # header parameters
131
+ header_params = opts[:header_params] || {}
132
+ # HTTP header 'Accept' (if needed)
133
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
134
+
135
+ # form parameters
136
+ form_params = opts[:form_params] || {}
137
+
138
+ # http body (model)
139
+ post_body = opts[:debug_body]
140
+
141
+ # return_type
142
+ return_type = opts[:debug_return_type] || 'Object'
143
+
144
+ # auth_names
145
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
146
+
147
+ new_options = opts.merge(
148
+ :operation => :"ImmobiliareApi.immobiliare_get_an_agency_s_listings",
149
+ :header_params => header_params,
150
+ :query_params => query_params,
151
+ :form_params => form_params,
152
+ :body => post_body,
153
+ :auth_names => auth_names,
154
+ :return_type => return_type
155
+ )
156
+
157
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
158
+ if @api_client.config.debugging
159
+ @api_client.config.logger.debug "API called: ImmobiliareApi#immobiliare_get_an_agency_s_listings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
160
+ end
161
+ return data, status_code, headers
162
+ end
163
+
164
+ # Get listing detail
165
+ # Full detail for a single listing.
166
+ # @param listing_id [Integer]
167
+ # @param [Hash] opts the optional parameters
168
+ # @option opts [String] :market it | es | gr | lu (default to 'it')
169
+ # @return [Object]
170
+ def immobiliare_get_listing_detail(listing_id, opts = {})
171
+ data, _status_code, _headers = immobiliare_get_listing_detail_with_http_info(listing_id, opts)
172
+ data
173
+ end
174
+
175
+ # Get listing detail
176
+ # Full detail for a single listing.
177
+ # @param listing_id [Integer]
178
+ # @param [Hash] opts the optional parameters
179
+ # @option opts [String] :market it | es | gr | lu (default to 'it')
180
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
181
+ def immobiliare_get_listing_detail_with_http_info(listing_id, opts = {})
182
+ if @api_client.config.debugging
183
+ @api_client.config.logger.debug 'Calling API: ImmobiliareApi.immobiliare_get_listing_detail ...'
184
+ end
185
+ # verify the required parameter 'listing_id' is set
186
+ if @api_client.config.client_side_validation && listing_id.nil?
187
+ fail ArgumentError, "Missing the required parameter 'listing_id' when calling ImmobiliareApi.immobiliare_get_listing_detail"
188
+ end
189
+ # resource path
190
+ local_var_path = '/v1/immobiliare/listings/{listing_id}'.sub('{' + 'listing_id' + '}', CGI.escape(listing_id.to_s))
191
+
192
+ # query parameters
193
+ query_params = opts[:query_params] || {}
194
+ query_params[:'market'] = opts[:'market'] if !opts[:'market'].nil?
195
+
196
+ # header parameters
197
+ header_params = opts[:header_params] || {}
198
+ # HTTP header 'Accept' (if needed)
199
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
200
+
201
+ # form parameters
202
+ form_params = opts[:form_params] || {}
203
+
204
+ # http body (model)
205
+ post_body = opts[:debug_body]
206
+
207
+ # return_type
208
+ return_type = opts[:debug_return_type] || 'Object'
209
+
210
+ # auth_names
211
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
212
+
213
+ new_options = opts.merge(
214
+ :operation => :"ImmobiliareApi.immobiliare_get_listing_detail",
215
+ :header_params => header_params,
216
+ :query_params => query_params,
217
+ :form_params => form_params,
218
+ :body => post_body,
219
+ :auth_names => auth_names,
220
+ :return_type => return_type
221
+ )
222
+
223
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
224
+ if @api_client.config.debugging
225
+ @api_client.config.logger.debug "API called: ImmobiliareApi#immobiliare_get_listing_detail\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
226
+ end
227
+ return data, status_code, headers
228
+ end
229
+
230
+ # Immobiliare scraper health check
231
+ # Check health of the Immobiliare scraper service (accepts HEAD).
232
+ # @param [Hash] opts the optional parameters
233
+ # @return [Object]
234
+ def immobiliare_immobiliare_scraper_health_check(opts = {})
235
+ data, _status_code, _headers = immobiliare_immobiliare_scraper_health_check_with_http_info(opts)
236
+ data
237
+ end
238
+
239
+ # Immobiliare scraper health check
240
+ # Check health of the Immobiliare scraper service (accepts HEAD).
241
+ # @param [Hash] opts the optional parameters
242
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
243
+ def immobiliare_immobiliare_scraper_health_check_with_http_info(opts = {})
244
+ if @api_client.config.debugging
245
+ @api_client.config.logger.debug 'Calling API: ImmobiliareApi.immobiliare_immobiliare_scraper_health_check ...'
246
+ end
247
+ # resource path
248
+ local_var_path = '/v1/immobiliare/health'
249
+
250
+ # query parameters
251
+ query_params = opts[:query_params] || {}
252
+
253
+ # header parameters
254
+ header_params = opts[:header_params] || {}
255
+ # HTTP header 'Accept' (if needed)
256
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
257
+
258
+ # form parameters
259
+ form_params = opts[:form_params] || {}
260
+
261
+ # http body (model)
262
+ post_body = opts[:debug_body]
263
+
264
+ # return_type
265
+ return_type = opts[:debug_return_type] || 'Object'
266
+
267
+ # auth_names
268
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
269
+
270
+ new_options = opts.merge(
271
+ :operation => :"ImmobiliareApi.immobiliare_immobiliare_scraper_health_check",
272
+ :header_params => header_params,
273
+ :query_params => query_params,
274
+ :form_params => form_params,
275
+ :body => post_body,
276
+ :auth_names => auth_names,
277
+ :return_type => return_type
278
+ )
279
+
280
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
281
+ if @api_client.config.debugging
282
+ @api_client.config.logger.debug "API called: ImmobiliareApi#immobiliare_immobiliare_scraper_health_check\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
283
+ end
284
+ return data, status_code, headers
285
+ end
286
+
287
+ # Immobiliare scraper health check
288
+ # Check health of the Immobiliare scraper service (accepts HEAD).
289
+ # @param [Hash] opts the optional parameters
290
+ # @return [Object]
291
+ def immobiliare_immobiliare_scraper_health_check_head(opts = {})
292
+ data, _status_code, _headers = immobiliare_immobiliare_scraper_health_check_head_with_http_info(opts)
293
+ data
294
+ end
295
+
296
+ # Immobiliare scraper health check
297
+ # Check health of the Immobiliare scraper service (accepts HEAD).
298
+ # @param [Hash] opts the optional parameters
299
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
300
+ def immobiliare_immobiliare_scraper_health_check_head_with_http_info(opts = {})
301
+ if @api_client.config.debugging
302
+ @api_client.config.logger.debug 'Calling API: ImmobiliareApi.immobiliare_immobiliare_scraper_health_check_head ...'
303
+ end
304
+ # resource path
305
+ local_var_path = '/v1/immobiliare/health'
306
+
307
+ # query parameters
308
+ query_params = opts[:query_params] || {}
309
+
310
+ # header parameters
311
+ header_params = opts[:header_params] || {}
312
+ # HTTP header 'Accept' (if needed)
313
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
314
+
315
+ # form parameters
316
+ form_params = opts[:form_params] || {}
317
+
318
+ # http body (model)
319
+ post_body = opts[:debug_body]
320
+
321
+ # return_type
322
+ return_type = opts[:debug_return_type] || 'Object'
323
+
324
+ # auth_names
325
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
326
+
327
+ new_options = opts.merge(
328
+ :operation => :"ImmobiliareApi.immobiliare_immobiliare_scraper_health_check_head",
329
+ :header_params => header_params,
330
+ :query_params => query_params,
331
+ :form_params => form_params,
332
+ :body => post_body,
333
+ :auth_names => auth_names,
334
+ :return_type => return_type
335
+ )
336
+
337
+ data, status_code, headers = @api_client.call_api(:HEAD, local_var_path, new_options)
338
+ if @api_client.config.debugging
339
+ @api_client.config.logger.debug "API called: ImmobiliareApi#immobiliare_immobiliare_scraper_health_check_head\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
340
+ end
341
+ return data, status_code, headers
342
+ end
343
+
344
+ # List filter enums
345
+ # @param [Hash] opts the optional parameters
346
+ # @return [Object]
347
+ def immobiliare_list_filter_enums(opts = {})
348
+ data, _status_code, _headers = immobiliare_list_filter_enums_with_http_info(opts)
349
+ data
350
+ end
351
+
352
+ # List filter enums
353
+ # @param [Hash] opts the optional parameters
354
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
355
+ def immobiliare_list_filter_enums_with_http_info(opts = {})
356
+ if @api_client.config.debugging
357
+ @api_client.config.logger.debug 'Calling API: ImmobiliareApi.immobiliare_list_filter_enums ...'
358
+ end
359
+ # resource path
360
+ local_var_path = '/v1/immobiliare/reference'
361
+
362
+ # query parameters
363
+ query_params = opts[:query_params] || {}
364
+
365
+ # header parameters
366
+ header_params = opts[:header_params] || {}
367
+ # HTTP header 'Accept' (if needed)
368
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
369
+
370
+ # form parameters
371
+ form_params = opts[:form_params] || {}
372
+
373
+ # http body (model)
374
+ post_body = opts[:debug_body]
375
+
376
+ # return_type
377
+ return_type = opts[:debug_return_type] || 'Object'
378
+
379
+ # auth_names
380
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
381
+
382
+ new_options = opts.merge(
383
+ :operation => :"ImmobiliareApi.immobiliare_list_filter_enums",
384
+ :header_params => header_params,
385
+ :query_params => query_params,
386
+ :form_params => form_params,
387
+ :body => post_body,
388
+ :auth_names => auth_names,
389
+ :return_type => return_type
390
+ )
391
+
392
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
393
+ if @api_client.config.debugging
394
+ @api_client.config.logger.debug "API called: ImmobiliareApi#immobiliare_list_filter_enums\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
395
+ end
396
+ return data, status_code, headers
397
+ end
398
+
399
+ # List markets
400
+ # @param [Hash] opts the optional parameters
401
+ # @return [Object]
402
+ def immobiliare_list_markets(opts = {})
403
+ data, _status_code, _headers = immobiliare_list_markets_with_http_info(opts)
404
+ data
405
+ end
406
+
407
+ # List markets
408
+ # @param [Hash] opts the optional parameters
409
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
410
+ def immobiliare_list_markets_with_http_info(opts = {})
411
+ if @api_client.config.debugging
412
+ @api_client.config.logger.debug 'Calling API: ImmobiliareApi.immobiliare_list_markets ...'
413
+ end
414
+ # resource path
415
+ local_var_path = '/v1/immobiliare/markets'
416
+
417
+ # query parameters
418
+ query_params = opts[:query_params] || {}
419
+
420
+ # header parameters
421
+ header_params = opts[:header_params] || {}
422
+ # HTTP header 'Accept' (if needed)
423
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
424
+
425
+ # form parameters
426
+ form_params = opts[:form_params] || {}
427
+
428
+ # http body (model)
429
+ post_body = opts[:debug_body]
430
+
431
+ # return_type
432
+ return_type = opts[:debug_return_type] || 'Object'
433
+
434
+ # auth_names
435
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
436
+
437
+ new_options = opts.merge(
438
+ :operation => :"ImmobiliareApi.immobiliare_list_markets",
439
+ :header_params => header_params,
440
+ :query_params => query_params,
441
+ :form_params => form_params,
442
+ :body => post_body,
443
+ :auth_names => auth_names,
444
+ :return_type => return_type
445
+ )
446
+
447
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
448
+ if @api_client.config.debugging
449
+ @api_client.config.logger.debug "API called: ImmobiliareApi#immobiliare_list_markets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
450
+ end
451
+ return data, status_code, headers
452
+ end
453
+
454
+ # Location autocomplete
455
+ # Resolve a place name to region/province/city ids usable in search.
456
+ # @param query [String] Free-text place name, e.g. &#39;Milano&#39;
457
+ # @param [Hash] opts the optional parameters
458
+ # @option opts [String] :market it | es | gr | lu (default to 'it')
459
+ # @return [Object]
460
+ def immobiliare_location_autocomplete(query, opts = {})
461
+ data, _status_code, _headers = immobiliare_location_autocomplete_with_http_info(query, opts)
462
+ data
463
+ end
464
+
465
+ # Location autocomplete
466
+ # Resolve a place name to region/province/city ids usable in search.
467
+ # @param query [String] Free-text place name, e.g. &#39;Milano&#39;
468
+ # @param [Hash] opts the optional parameters
469
+ # @option opts [String] :market it | es | gr | lu (default to 'it')
470
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
471
+ def immobiliare_location_autocomplete_with_http_info(query, opts = {})
472
+ if @api_client.config.debugging
473
+ @api_client.config.logger.debug 'Calling API: ImmobiliareApi.immobiliare_location_autocomplete ...'
474
+ end
475
+ # verify the required parameter 'query' is set
476
+ if @api_client.config.client_side_validation && query.nil?
477
+ fail ArgumentError, "Missing the required parameter 'query' when calling ImmobiliareApi.immobiliare_location_autocomplete"
478
+ end
479
+ # resource path
480
+ local_var_path = '/v1/immobiliare/autocomplete'
481
+
482
+ # query parameters
483
+ query_params = opts[:query_params] || {}
484
+ query_params[:'query'] = query
485
+ query_params[:'market'] = opts[:'market'] if !opts[:'market'].nil?
486
+
487
+ # header parameters
488
+ header_params = opts[:header_params] || {}
489
+ # HTTP header 'Accept' (if needed)
490
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
491
+
492
+ # form parameters
493
+ form_params = opts[:form_params] || {}
494
+
495
+ # http body (model)
496
+ post_body = opts[:debug_body]
497
+
498
+ # return_type
499
+ return_type = opts[:debug_return_type] || 'Object'
500
+
501
+ # auth_names
502
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
503
+
504
+ new_options = opts.merge(
505
+ :operation => :"ImmobiliareApi.immobiliare_location_autocomplete",
506
+ :header_params => header_params,
507
+ :query_params => query_params,
508
+ :form_params => form_params,
509
+ :body => post_body,
510
+ :auth_names => auth_names,
511
+ :return_type => return_type
512
+ )
513
+
514
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
515
+ if @api_client.config.debugging
516
+ @api_client.config.logger.debug "API called: ImmobiliareApi#immobiliare_location_autocomplete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
517
+ end
518
+ return data, status_code, headers
519
+ end
520
+
521
+ # Price €/m² time series
522
+ # Historical €/m² price statistics for an area.
523
+ # @param region_id [String] Region id, e.g. &#39;lom&#39;
524
+ # @param [Hash] opts the optional parameters
525
+ # @option opts [String] :market it | es | gr | lu (default to 'it')
526
+ # @option opts [String] :province_id Province id, e.g. &#39;MI&#39;
527
+ # @option opts [String] :city_id City id (idComune)
528
+ # @option opts [String] :contract sale | rent (default to 'sale')
529
+ # @return [Object]
530
+ def immobiliare_price_m_time_series(region_id, opts = {})
531
+ data, _status_code, _headers = immobiliare_price_m_time_series_with_http_info(region_id, opts)
532
+ data
533
+ end
534
+
535
+ # Price €/m² time series
536
+ # Historical €/m² price statistics for an area.
537
+ # @param region_id [String] Region id, e.g. &#39;lom&#39;
538
+ # @param [Hash] opts the optional parameters
539
+ # @option opts [String] :market it | es | gr | lu (default to 'it')
540
+ # @option opts [String] :province_id Province id, e.g. &#39;MI&#39;
541
+ # @option opts [String] :city_id City id (idComune)
542
+ # @option opts [String] :contract sale | rent (default to 'sale')
543
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
544
+ def immobiliare_price_m_time_series_with_http_info(region_id, opts = {})
545
+ if @api_client.config.debugging
546
+ @api_client.config.logger.debug 'Calling API: ImmobiliareApi.immobiliare_price_m_time_series ...'
547
+ end
548
+ # verify the required parameter 'region_id' is set
549
+ if @api_client.config.client_side_validation && region_id.nil?
550
+ fail ArgumentError, "Missing the required parameter 'region_id' when calling ImmobiliareApi.immobiliare_price_m_time_series"
551
+ end
552
+ # resource path
553
+ local_var_path = '/v1/immobiliare/market-insights/prices'
554
+
555
+ # query parameters
556
+ query_params = opts[:query_params] || {}
557
+ query_params[:'region_id'] = region_id
558
+ query_params[:'market'] = opts[:'market'] if !opts[:'market'].nil?
559
+ query_params[:'province_id'] = opts[:'province_id'] if !opts[:'province_id'].nil?
560
+ query_params[:'city_id'] = opts[:'city_id'] if !opts[:'city_id'].nil?
561
+ query_params[:'contract'] = opts[:'contract'] if !opts[:'contract'].nil?
562
+
563
+ # header parameters
564
+ header_params = opts[:header_params] || {}
565
+ # HTTP header 'Accept' (if needed)
566
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
567
+
568
+ # form parameters
569
+ form_params = opts[:form_params] || {}
570
+
571
+ # http body (model)
572
+ post_body = opts[:debug_body]
573
+
574
+ # return_type
575
+ return_type = opts[:debug_return_type] || 'Object'
576
+
577
+ # auth_names
578
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
579
+
580
+ new_options = opts.merge(
581
+ :operation => :"ImmobiliareApi.immobiliare_price_m_time_series",
582
+ :header_params => header_params,
583
+ :query_params => query_params,
584
+ :form_params => form_params,
585
+ :body => post_body,
586
+ :auth_names => auth_names,
587
+ :return_type => return_type
588
+ )
589
+
590
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
591
+ if @api_client.config.debugging
592
+ @api_client.config.logger.debug "API called: ImmobiliareApi#immobiliare_price_m_time_series\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
593
+ end
594
+ return data, status_code, headers
595
+ end
596
+
597
+ # Search listings
598
+ # Search Immobiliare-group listings (scope by location + contract + filters).
599
+ # @param [Hash] opts the optional parameters
600
+ # @option opts [String] :market it | es | gr | lu (default to 'it')
601
+ # @option opts [String] :location Free-text place (auto-resolved)
602
+ # @option opts [String] :region_id fkRegione (from /autocomplete)
603
+ # @option opts [String] :province_id idProvincia (from /autocomplete)
604
+ # @option opts [String] :city_id idComune (from /autocomplete)
605
+ # @option opts [String] :contract sale | rent (default to 'sale')
606
+ # @option opts [String] :category see /reference (default to 'residential')
607
+ # @option opts [Integer] :price_min
608
+ # @option opts [Integer] :price_max
609
+ # @option opts [Integer] :surface_min
610
+ # @option opts [Integer] :surface_max
611
+ # @option opts [Integer] :rooms_min
612
+ # @option opts [Integer] :rooms_max
613
+ # @option opts [Integer] :bathrooms_min
614
+ # @option opts [String] :sort see /reference (default to 'relevance')
615
+ # @option opts [Integer] :page (default to 1)
616
+ # @return [Object]
617
+ def immobiliare_search_listings(opts = {})
618
+ data, _status_code, _headers = immobiliare_search_listings_with_http_info(opts)
619
+ data
620
+ end
621
+
622
+ # Search listings
623
+ # Search Immobiliare-group listings (scope by location + contract + filters).
624
+ # @param [Hash] opts the optional parameters
625
+ # @option opts [String] :market it | es | gr | lu (default to 'it')
626
+ # @option opts [String] :location Free-text place (auto-resolved)
627
+ # @option opts [String] :region_id fkRegione (from /autocomplete)
628
+ # @option opts [String] :province_id idProvincia (from /autocomplete)
629
+ # @option opts [String] :city_id idComune (from /autocomplete)
630
+ # @option opts [String] :contract sale | rent (default to 'sale')
631
+ # @option opts [String] :category see /reference (default to 'residential')
632
+ # @option opts [Integer] :price_min
633
+ # @option opts [Integer] :price_max
634
+ # @option opts [Integer] :surface_min
635
+ # @option opts [Integer] :surface_max
636
+ # @option opts [Integer] :rooms_min
637
+ # @option opts [Integer] :rooms_max
638
+ # @option opts [Integer] :bathrooms_min
639
+ # @option opts [String] :sort see /reference (default to 'relevance')
640
+ # @option opts [Integer] :page (default to 1)
641
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
642
+ def immobiliare_search_listings_with_http_info(opts = {})
643
+ if @api_client.config.debugging
644
+ @api_client.config.logger.debug 'Calling API: ImmobiliareApi.immobiliare_search_listings ...'
645
+ end
646
+ if @api_client.config.client_side_validation && !opts[:'price_min'].nil? && opts[:'price_min'] < 0
647
+ fail ArgumentError, 'invalid value for "opts[:"price_min"]" when calling ImmobiliareApi.immobiliare_search_listings, must be greater than or equal to 0.'
648
+ end
649
+
650
+ if @api_client.config.client_side_validation && !opts[:'price_max'].nil? && opts[:'price_max'] < 0
651
+ fail ArgumentError, 'invalid value for "opts[:"price_max"]" when calling ImmobiliareApi.immobiliare_search_listings, must be greater than or equal to 0.'
652
+ end
653
+
654
+ if @api_client.config.client_side_validation && !opts[:'surface_min'].nil? && opts[:'surface_min'] < 0
655
+ fail ArgumentError, 'invalid value for "opts[:"surface_min"]" when calling ImmobiliareApi.immobiliare_search_listings, must be greater than or equal to 0.'
656
+ end
657
+
658
+ if @api_client.config.client_side_validation && !opts[:'surface_max'].nil? && opts[:'surface_max'] < 0
659
+ fail ArgumentError, 'invalid value for "opts[:"surface_max"]" when calling ImmobiliareApi.immobiliare_search_listings, must be greater than or equal to 0.'
660
+ end
661
+
662
+ if @api_client.config.client_side_validation && !opts[:'rooms_min'].nil? && opts[:'rooms_min'] < 0
663
+ fail ArgumentError, 'invalid value for "opts[:"rooms_min"]" when calling ImmobiliareApi.immobiliare_search_listings, must be greater than or equal to 0.'
664
+ end
665
+
666
+ if @api_client.config.client_side_validation && !opts[:'rooms_max'].nil? && opts[:'rooms_max'] < 0
667
+ fail ArgumentError, 'invalid value for "opts[:"rooms_max"]" when calling ImmobiliareApi.immobiliare_search_listings, must be greater than or equal to 0.'
668
+ end
669
+
670
+ if @api_client.config.client_side_validation && !opts[:'bathrooms_min'].nil? && opts[:'bathrooms_min'] < 0
671
+ fail ArgumentError, 'invalid value for "opts[:"bathrooms_min"]" when calling ImmobiliareApi.immobiliare_search_listings, must be greater than or equal to 0.'
672
+ end
673
+
674
+ if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 1
675
+ fail ArgumentError, 'invalid value for "opts[:"page"]" when calling ImmobiliareApi.immobiliare_search_listings, must be greater than or equal to 1.'
676
+ end
677
+
678
+ # resource path
679
+ local_var_path = '/v1/immobiliare/search'
680
+
681
+ # query parameters
682
+ query_params = opts[:query_params] || {}
683
+ query_params[:'market'] = opts[:'market'] if !opts[:'market'].nil?
684
+ query_params[:'location'] = opts[:'location'] if !opts[:'location'].nil?
685
+ query_params[:'region_id'] = opts[:'region_id'] if !opts[:'region_id'].nil?
686
+ query_params[:'province_id'] = opts[:'province_id'] if !opts[:'province_id'].nil?
687
+ query_params[:'city_id'] = opts[:'city_id'] if !opts[:'city_id'].nil?
688
+ query_params[:'contract'] = opts[:'contract'] if !opts[:'contract'].nil?
689
+ query_params[:'category'] = opts[:'category'] if !opts[:'category'].nil?
690
+ query_params[:'price_min'] = opts[:'price_min'] if !opts[:'price_min'].nil?
691
+ query_params[:'price_max'] = opts[:'price_max'] if !opts[:'price_max'].nil?
692
+ query_params[:'surface_min'] = opts[:'surface_min'] if !opts[:'surface_min'].nil?
693
+ query_params[:'surface_max'] = opts[:'surface_max'] if !opts[:'surface_max'].nil?
694
+ query_params[:'rooms_min'] = opts[:'rooms_min'] if !opts[:'rooms_min'].nil?
695
+ query_params[:'rooms_max'] = opts[:'rooms_max'] if !opts[:'rooms_max'].nil?
696
+ query_params[:'bathrooms_min'] = opts[:'bathrooms_min'] if !opts[:'bathrooms_min'].nil?
697
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
698
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
699
+
700
+ # header parameters
701
+ header_params = opts[:header_params] || {}
702
+ # HTTP header 'Accept' (if needed)
703
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
704
+
705
+ # form parameters
706
+ form_params = opts[:form_params] || {}
707
+
708
+ # http body (model)
709
+ post_body = opts[:debug_body]
710
+
711
+ # return_type
712
+ return_type = opts[:debug_return_type] || 'Object'
713
+
714
+ # auth_names
715
+ auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
716
+
717
+ new_options = opts.merge(
718
+ :operation => :"ImmobiliareApi.immobiliare_search_listings",
719
+ :header_params => header_params,
720
+ :query_params => query_params,
721
+ :form_params => form_params,
722
+ :body => post_body,
723
+ :auth_names => auth_names,
724
+ :return_type => return_type
725
+ )
726
+
727
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
728
+ if @api_client.config.debugging
729
+ @api_client.config.logger.debug "API called: ImmobiliareApi#immobiliare_search_listings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
730
+ end
731
+ return data, status_code, headers
732
+ end
733
+ end
734
+ end