@tapline/client 0.2.15 → 0.2.17
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.
- package/README.md +4 -2
- package/dist/cjs/client.d.ts +2 -0
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +3 -0
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/services/airbnb/types.d.ts +1 -1
- package/dist/cjs/services/airbnb/types.d.ts.map +1 -1
- package/dist/cjs/services/birdeye/types.d.ts +547 -530
- package/dist/cjs/services/birdeye/types.d.ts.map +1 -1
- package/dist/cjs/services/brave_search/types.d.ts +1 -1
- package/dist/cjs/services/brave_search/types.d.ts.map +1 -1
- package/dist/cjs/services/expedia/types.d.ts +1 -1
- package/dist/cjs/services/expedia/types.d.ts.map +1 -1
- package/dist/cjs/services/facebook/types.d.ts +1 -1
- package/dist/cjs/services/facebook/types.d.ts.map +1 -1
- package/dist/cjs/services/facebook_ad_library/types.d.ts +1 -1
- package/dist/cjs/services/facebook_ad_library/types.d.ts.map +1 -1
- package/dist/cjs/services/facebook_marketplace/types.d.ts +46 -15
- package/dist/cjs/services/facebook_marketplace/types.d.ts.map +1 -1
- package/dist/cjs/services/geckoterminal/types.d.ts +522 -521
- package/dist/cjs/services/geckoterminal/types.d.ts.map +1 -1
- package/dist/cjs/services/gmgn/client.d.ts +1 -1
- package/dist/cjs/services/gmgn/client.d.ts.map +1 -1
- package/dist/cjs/services/gmgn/client.js +3 -3
- package/dist/cjs/services/gmgn/client.js.map +1 -1
- package/dist/cjs/services/gmgn/types.d.ts +1428 -1407
- package/dist/cjs/services/gmgn/types.d.ts.map +1 -1
- package/dist/cjs/services/google_maps/client.d.ts +45 -0
- package/dist/cjs/services/google_maps/client.d.ts.map +1 -0
- package/dist/cjs/services/google_maps/client.js +99 -0
- package/dist/cjs/services/google_maps/client.js.map +1 -0
- package/dist/cjs/services/google_maps/index.d.ts +3 -0
- package/dist/cjs/services/google_maps/index.d.ts.map +1 -0
- package/dist/cjs/services/google_maps/index.js +22 -0
- package/dist/cjs/services/google_maps/index.js.map +1 -0
- package/dist/cjs/services/google_maps/types.d.ts +1315 -0
- package/dist/cjs/services/google_maps/types.d.ts.map +1 -0
- package/dist/cjs/services/google_maps/types.js +4 -0
- package/dist/cjs/services/google_maps/types.js.map +1 -0
- package/dist/cjs/services/goplus/types.d.ts +1 -1
- package/dist/cjs/services/goplus/types.d.ts.map +1 -1
- package/dist/cjs/services/imovelweb/client.d.ts +1 -1
- package/dist/cjs/services/imovelweb/client.d.ts.map +1 -1
- package/dist/cjs/services/imovelweb/client.js +1 -1
- package/dist/cjs/services/imovelweb/client.js.map +1 -1
- package/dist/cjs/services/imovelweb/types.d.ts +360 -360
- package/dist/cjs/services/imovelweb/types.d.ts.map +1 -1
- package/dist/cjs/services/indeed/types.d.ts +1 -1
- package/dist/cjs/services/indeed/types.d.ts.map +1 -1
- package/dist/cjs/services/instagram/types.d.ts +1 -1
- package/dist/cjs/services/instagram/types.d.ts.map +1 -1
- package/dist/cjs/services/linkedin/types.d.ts +1 -1
- package/dist/cjs/services/linkedin/types.d.ts.map +1 -1
- package/dist/cjs/services/pinterest/types.d.ts +2 -2
- package/dist/cjs/services/pinterest/types.d.ts.map +1 -1
- package/dist/cjs/services/pinterest_v2/types.d.ts +1 -1
- package/dist/cjs/services/pinterest_v2/types.d.ts.map +1 -1
- package/dist/cjs/services/ponsfamily/types.d.ts +331 -325
- package/dist/cjs/services/ponsfamily/types.d.ts.map +1 -1
- package/dist/cjs/services/pumpfun/client.d.ts +2 -10
- package/dist/cjs/services/pumpfun/client.d.ts.map +1 -1
- package/dist/cjs/services/pumpfun/client.js +3 -23
- package/dist/cjs/services/pumpfun/client.js.map +1 -1
- package/dist/cjs/services/pumpfun/types.d.ts +2432 -2393
- package/dist/cjs/services/pumpfun/types.d.ts.map +1 -1
- package/dist/cjs/services/tiktok/client.d.ts +19 -17
- package/dist/cjs/services/tiktok/client.d.ts.map +1 -1
- package/dist/cjs/services/tiktok/client.js +13 -9
- package/dist/cjs/services/tiktok/client.js.map +1 -1
- package/dist/cjs/services/tiktok/types.d.ts +577 -3318
- package/dist/cjs/services/tiktok/types.d.ts.map +1 -1
- package/dist/cjs/services/twitter/types.d.ts +1 -1
- package/dist/cjs/services/twitter/types.d.ts.map +1 -1
- package/dist/cjs/services/youtube/types.d.ts +1 -1
- package/dist/cjs/services/youtube/types.d.ts.map +1 -1
- package/dist/cjs/services/zillow/types.d.ts +1 -1
- package/dist/cjs/services/zillow/types.d.ts.map +1 -1
- package/dist/client.d.ts +2 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +3 -0
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/services/airbnb/types.d.ts +1 -1
- package/dist/services/airbnb/types.d.ts.map +1 -1
- package/dist/services/birdeye/types.d.ts +547 -530
- package/dist/services/birdeye/types.d.ts.map +1 -1
- package/dist/services/brave_search/types.d.ts +1 -1
- package/dist/services/brave_search/types.d.ts.map +1 -1
- package/dist/services/expedia/types.d.ts +1 -1
- package/dist/services/expedia/types.d.ts.map +1 -1
- package/dist/services/facebook/types.d.ts +1 -1
- package/dist/services/facebook/types.d.ts.map +1 -1
- package/dist/services/facebook_ad_library/types.d.ts +1 -1
- package/dist/services/facebook_ad_library/types.d.ts.map +1 -1
- package/dist/services/facebook_marketplace/types.d.ts +46 -15
- package/dist/services/facebook_marketplace/types.d.ts.map +1 -1
- package/dist/services/geckoterminal/types.d.ts +522 -521
- package/dist/services/geckoterminal/types.d.ts.map +1 -1
- package/dist/services/gmgn/client.d.ts +1 -1
- package/dist/services/gmgn/client.d.ts.map +1 -1
- package/dist/services/gmgn/client.js +3 -3
- package/dist/services/gmgn/client.js.map +1 -1
- package/dist/services/gmgn/types.d.ts +1428 -1407
- package/dist/services/gmgn/types.d.ts.map +1 -1
- package/dist/services/google_maps/client.d.ts +45 -0
- package/dist/services/google_maps/client.d.ts.map +1 -0
- package/dist/services/google_maps/client.js +95 -0
- package/dist/services/google_maps/client.js.map +1 -0
- package/dist/services/google_maps/index.d.ts +3 -0
- package/dist/services/google_maps/index.d.ts.map +1 -0
- package/dist/services/google_maps/index.js +4 -0
- package/dist/services/google_maps/index.js.map +1 -0
- package/dist/services/google_maps/types.d.ts +1315 -0
- package/dist/services/google_maps/types.d.ts.map +1 -0
- package/dist/services/google_maps/types.js +3 -0
- package/dist/services/google_maps/types.js.map +1 -0
- package/dist/services/goplus/types.d.ts +1 -1
- package/dist/services/goplus/types.d.ts.map +1 -1
- package/dist/services/imovelweb/client.d.ts +1 -1
- package/dist/services/imovelweb/client.d.ts.map +1 -1
- package/dist/services/imovelweb/client.js +1 -1
- package/dist/services/imovelweb/client.js.map +1 -1
- package/dist/services/imovelweb/types.d.ts +360 -360
- package/dist/services/imovelweb/types.d.ts.map +1 -1
- package/dist/services/indeed/types.d.ts +1 -1
- package/dist/services/indeed/types.d.ts.map +1 -1
- package/dist/services/instagram/types.d.ts +1 -1
- package/dist/services/instagram/types.d.ts.map +1 -1
- package/dist/services/linkedin/types.d.ts +1 -1
- package/dist/services/linkedin/types.d.ts.map +1 -1
- package/dist/services/pinterest/types.d.ts +2 -2
- package/dist/services/pinterest/types.d.ts.map +1 -1
- package/dist/services/pinterest_v2/types.d.ts +1 -1
- package/dist/services/pinterest_v2/types.d.ts.map +1 -1
- package/dist/services/ponsfamily/types.d.ts +331 -325
- package/dist/services/ponsfamily/types.d.ts.map +1 -1
- package/dist/services/pumpfun/client.d.ts +2 -10
- package/dist/services/pumpfun/client.d.ts.map +1 -1
- package/dist/services/pumpfun/client.js +3 -23
- package/dist/services/pumpfun/client.js.map +1 -1
- package/dist/services/pumpfun/types.d.ts +2432 -2393
- package/dist/services/pumpfun/types.d.ts.map +1 -1
- package/dist/services/tiktok/client.d.ts +19 -17
- package/dist/services/tiktok/client.d.ts.map +1 -1
- package/dist/services/tiktok/client.js +13 -9
- package/dist/services/tiktok/client.js.map +1 -1
- package/dist/services/tiktok/types.d.ts +577 -3318
- package/dist/services/tiktok/types.d.ts.map +1 -1
- package/dist/services/twitter/types.d.ts +1 -1
- package/dist/services/twitter/types.d.ts.map +1 -1
- package/dist/services/youtube/types.d.ts +1 -1
- package/dist/services/youtube/types.d.ts.map +1 -1
- package/dist/services/zillow/types.d.ts +1 -1
- package/dist/services/zillow/types.d.ts.map +1 -1
- package/package.json +4 -2
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
export interface ErrorDetail {
|
|
2
|
-
|
|
3
|
-
input?: unknown | null;
|
|
2
|
+
type?: string | null;
|
|
4
3
|
loc?: (string | number)[] | null;
|
|
5
4
|
msg?: string | null;
|
|
6
|
-
|
|
5
|
+
input?: unknown | null;
|
|
6
|
+
ctx?: Record<string, unknown> | null;
|
|
7
7
|
}
|
|
8
8
|
export interface ErrorResponse {
|
|
9
9
|
code: PublicError;
|
|
10
|
-
details?: ErrorDetail[] | null;
|
|
11
|
-
domain?: string | null;
|
|
12
10
|
message: string;
|
|
13
11
|
request_id: string;
|
|
12
|
+
domain?: string | null;
|
|
13
|
+
details?: ErrorDetail[] | null;
|
|
14
14
|
upgrade_url?: string | null;
|
|
15
15
|
}
|
|
16
16
|
export interface GetListingParams {
|
|
@@ -59,53 +59,53 @@ export interface ImovelwebAppliedFilter {
|
|
|
59
59
|
}
|
|
60
60
|
/** A GeoJSON geometry. */
|
|
61
61
|
export interface ImovelwebAreaOutline {
|
|
62
|
-
coordinates: number[][][][];
|
|
63
62
|
type: string;
|
|
63
|
+
coordinates: number[][][][];
|
|
64
64
|
}
|
|
65
65
|
/** Square metres. */
|
|
66
66
|
export interface ImovelwebAreaRange {
|
|
67
|
-
max: number | null;
|
|
68
67
|
min: number | null;
|
|
68
|
+
max: number | null;
|
|
69
69
|
}
|
|
70
70
|
export interface ImovelwebCountRange {
|
|
71
|
-
max: number | null;
|
|
72
71
|
min: number | null;
|
|
72
|
+
max: number | null;
|
|
73
73
|
}
|
|
74
74
|
export interface ImovelwebCoverPicture {
|
|
75
|
-
size: string;
|
|
76
75
|
url: string;
|
|
76
|
+
size: string;
|
|
77
77
|
}
|
|
78
78
|
/** An ISO 4217 currency code. */
|
|
79
79
|
export type ImovelwebCurrency = "BRL" | "USD";
|
|
80
80
|
export type ImovelwebCursorCompletion = "exhausted" | "depth_limit";
|
|
81
81
|
export interface ImovelwebCursorPagination {
|
|
82
|
-
completion: ImovelwebCursorCompletion | null;
|
|
83
82
|
next_cursor: string | null;
|
|
83
|
+
completion: ImovelwebCursorCompletion | null;
|
|
84
84
|
}
|
|
85
85
|
/**
|
|
86
86
|
* A new development: its stage, delivery date and the ranges across its units. A unit
|
|
87
87
|
* carries only the stage, delivery and unit count.
|
|
88
88
|
*/
|
|
89
89
|
export interface ImovelwebDevelopment {
|
|
90
|
-
|
|
91
|
-
bedrooms: ImovelwebCountRange | null;
|
|
90
|
+
stage: ImovelwebDevelopmentStage | null;
|
|
92
91
|
delivery: ImovelwebDevelopmentDelivery | null;
|
|
93
|
-
|
|
92
|
+
unit_count: number | null;
|
|
94
93
|
price: ImovelwebMoneyRange | null;
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
94
|
+
bedrooms: ImovelwebCountRange | null;
|
|
95
|
+
bathrooms: ImovelwebCountRange | null;
|
|
96
|
+
parking_spaces: ImovelwebCountRange | null;
|
|
97
|
+
usable_area_m2: ImovelwebAreaRange | null;
|
|
99
98
|
total_area_m2: ImovelwebAreaRange | null;
|
|
100
|
-
|
|
99
|
+
steps: ImovelwebDevelopmentStep[];
|
|
100
|
+
prices_by_operation: ImovelwebDevelopmentPrice[];
|
|
101
101
|
unit_groups: ImovelwebUnitGroup[];
|
|
102
|
-
|
|
102
|
+
raw: ImovelwebDevelopmentRaw;
|
|
103
103
|
}
|
|
104
104
|
/** When the developer hands over the units: immediately, or in a month and year. */
|
|
105
105
|
export interface ImovelwebDevelopmentDelivery {
|
|
106
106
|
is_immediate: boolean;
|
|
107
|
-
month: number | null;
|
|
108
107
|
year: number | null;
|
|
108
|
+
month: number | null;
|
|
109
109
|
}
|
|
110
110
|
export interface ImovelwebDevelopmentPrice {
|
|
111
111
|
operation: ImovelwebOperation | null;
|
|
@@ -129,37 +129,37 @@ export interface ImovelwebDevelopmentStep {
|
|
|
129
129
|
* `raw.status`), live or not, so `/listings/{posting_id}` on the unit's id has its status.
|
|
130
130
|
*/
|
|
131
131
|
export interface ImovelwebDevelopmentUnit {
|
|
132
|
-
ad_tier: ImovelwebAdTier | null;
|
|
133
|
-
amenities: ImovelwebAmenityEntry[];
|
|
134
|
-
bathrooms: number | null;
|
|
135
132
|
bedrooms: number | null;
|
|
133
|
+
bathrooms: number | null;
|
|
134
|
+
suites: number | null;
|
|
135
|
+
parking_spaces: number | null;
|
|
136
136
|
building_age_years: number | null;
|
|
137
|
+
total_area_m2: number | null;
|
|
138
|
+
usable_area_m2: number | null;
|
|
139
|
+
id: string;
|
|
137
140
|
code: string | null;
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
+
url: string;
|
|
142
|
+
posting_type: ImovelwebPostingType | null;
|
|
143
|
+
status: ImovelwebPostingStatus | null;
|
|
144
|
+
title: string | null;
|
|
141
145
|
generated_title: string | null;
|
|
142
|
-
|
|
143
|
-
|
|
146
|
+
property_type: ImovelwebPropertyKind | null;
|
|
147
|
+
operations: ImovelwebOperationPrice[];
|
|
148
|
+
location: ImovelwebListingLocation;
|
|
149
|
+
ad_tier: ImovelwebAdTier | null;
|
|
144
150
|
is_premier: boolean;
|
|
145
151
|
is_reserved: boolean;
|
|
146
|
-
location: ImovelwebListingLocation;
|
|
147
|
-
operations: ImovelwebOperationPrice[];
|
|
148
|
-
parking_spaces: number | null;
|
|
149
|
-
photos: ImovelwebPicture[];
|
|
150
|
-
posting_type: ImovelwebPostingType | null;
|
|
151
|
-
property_subtype: ImovelwebPropertySubtype | null;
|
|
152
|
-
property_type: ImovelwebPropertyKind | null;
|
|
153
152
|
quintoandar_network: ImovelwebNetworkRole | null;
|
|
154
|
-
raw: ImovelwebDevelopmentUnitRaw;
|
|
155
|
-
status: ImovelwebPostingStatus | null;
|
|
156
|
-
suites: number | null;
|
|
157
|
-
title: string | null;
|
|
158
|
-
total_area_m2: number | null;
|
|
159
|
-
url: string;
|
|
160
|
-
usable_area_m2: number | null;
|
|
161
153
|
visit_booking_url: string | null;
|
|
154
|
+
description: string | null;
|
|
155
|
+
photos: ImovelwebPicture[];
|
|
162
156
|
whatsapp: string | null;
|
|
157
|
+
development: ImovelwebDevelopment | null;
|
|
158
|
+
property_subtype: ImovelwebPropertySubtype | null;
|
|
159
|
+
amenities: ImovelwebAmenityEntry[];
|
|
160
|
+
highlighted_amenities: ImovelwebAmenity[];
|
|
161
|
+
created_at: string | null;
|
|
162
|
+
raw: ImovelwebDevelopmentUnitRaw;
|
|
163
163
|
}
|
|
164
164
|
/**
|
|
165
165
|
* Feature codes and highlight names this API does not know, `whatsApp` when this API
|
|
@@ -167,35 +167,35 @@ export interface ImovelwebDevelopmentUnit {
|
|
|
167
167
|
* development page lists.
|
|
168
168
|
*/
|
|
169
169
|
export interface ImovelwebDevelopmentUnitRaw {
|
|
170
|
+
status: string;
|
|
171
|
+
publicationAreaId: string;
|
|
170
172
|
alt: boolean;
|
|
171
|
-
|
|
173
|
+
pixelPlus: boolean;
|
|
174
|
+
showFirst360: boolean;
|
|
172
175
|
enableBannerFicha: boolean;
|
|
176
|
+
unsafe: boolean;
|
|
173
177
|
expenses?: ImovelwebRawPrice | null;
|
|
174
|
-
highlightedFeatures: string[];
|
|
175
|
-
mainFeatures: Record<string, ImovelwebRawFeature>;
|
|
176
|
-
ownershipRede?: string;
|
|
177
|
-
pixelPlus: boolean;
|
|
178
178
|
plans?: ImovelwebRawDetailPicture[];
|
|
179
|
+
videos?: ImovelwebRawMedia[];
|
|
180
|
+
tour?: ImovelwebRawMedia | null;
|
|
181
|
+
whatsApp?: string;
|
|
179
182
|
postingType?: string;
|
|
180
|
-
publicationAreaId: string;
|
|
181
|
-
realEstateSubTypeId?: string;
|
|
182
183
|
realEstateTypeId?: string;
|
|
184
|
+
ownershipRede?: string;
|
|
185
|
+
realEstateSubTypeId?: string;
|
|
183
186
|
requestVisit5A: ImovelwebRequestVisitRaw;
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
unsafe: boolean;
|
|
188
|
-
videos?: ImovelwebRawMedia[];
|
|
189
|
-
whatsApp?: string;
|
|
187
|
+
mainFeatures: Record<string, ImovelwebRawFeature>;
|
|
188
|
+
developmentFeatures: Record<string, Record<string, ImovelwebRawFeature>>;
|
|
189
|
+
highlightedFeatures: string[];
|
|
190
190
|
}
|
|
191
191
|
/** A publisher advertising the same property, with its own listing of it. */
|
|
192
192
|
export interface ImovelwebDuplicatePublisher {
|
|
193
|
-
ad_tier: ImovelwebAdTier | null;
|
|
194
|
-
is_premier: boolean;
|
|
195
193
|
listing_id: string;
|
|
196
194
|
listing_url: string;
|
|
197
|
-
logo_url: string | null;
|
|
198
195
|
name: string;
|
|
196
|
+
logo_url: string | null;
|
|
197
|
+
is_premier: boolean;
|
|
198
|
+
ad_tier: ImovelwebAdTier | null;
|
|
199
199
|
raw: ImovelwebDuplicatePublisherRaw;
|
|
200
200
|
}
|
|
201
201
|
export interface ImovelwebDuplicatePublisherRaw {
|
|
@@ -212,49 +212,49 @@ export interface ImovelwebDuplicatePublisherRaw {
|
|
|
212
212
|
* no IPTU: imovelweb sends it as null; `/listings/{posting_id}` has it.
|
|
213
213
|
*/
|
|
214
214
|
export interface ImovelwebListing {
|
|
215
|
-
ad_tier: ImovelwebAdTier | null;
|
|
216
|
-
ai_description: string | null;
|
|
217
|
-
bathrooms: number | null;
|
|
218
215
|
bedrooms: number | null;
|
|
216
|
+
bathrooms: number | null;
|
|
217
|
+
suites: number | null;
|
|
218
|
+
parking_spaces: number | null;
|
|
219
219
|
building_age_years: number | null;
|
|
220
|
+
total_area_m2: number | null;
|
|
221
|
+
usable_area_m2: number | null;
|
|
222
|
+
id: string;
|
|
220
223
|
code: string | null;
|
|
221
|
-
|
|
224
|
+
url: string;
|
|
225
|
+
posting_type: ImovelwebPostingType | null;
|
|
226
|
+
status: ImovelwebPostingStatus | null;
|
|
227
|
+
title: string | null;
|
|
228
|
+
generated_title: string | null;
|
|
229
|
+
property_type: ImovelwebPropertyKind | null;
|
|
230
|
+
operations: ImovelwebOperationPrice[];
|
|
231
|
+
location: ImovelwebListingLocation;
|
|
232
|
+
ad_tier: ImovelwebAdTier | null;
|
|
233
|
+
is_premier: boolean;
|
|
234
|
+
is_reserved: boolean;
|
|
235
|
+
quintoandar_network: ImovelwebNetworkRole | null;
|
|
236
|
+
visit_booking_url: string | null;
|
|
222
237
|
description: string | null;
|
|
238
|
+
photos: ImovelwebPicture[];
|
|
239
|
+
whatsapp: string | null;
|
|
223
240
|
development: ImovelwebDevelopment | null;
|
|
241
|
+
ai_description: string | null;
|
|
242
|
+
condo_fee: ImovelwebMoney | null;
|
|
243
|
+
highlighted_amenities: ImovelwebAmenity[];
|
|
244
|
+
photo_count: number;
|
|
245
|
+
has_video: boolean;
|
|
246
|
+
has_tour: boolean;
|
|
247
|
+
has_floor_plans: boolean;
|
|
248
|
+
publisher: ImovelwebListingPublisher;
|
|
249
|
+
logo_url: string | null;
|
|
224
250
|
duplicate: ImovelwebListingDuplicate | null;
|
|
225
251
|
duplicate_group_id: string | null;
|
|
226
|
-
generated_title: string | null;
|
|
227
|
-
has_floor_plans: boolean;
|
|
228
|
-
has_tour: boolean;
|
|
229
|
-
has_video: boolean;
|
|
230
|
-
highlighted_amenities: ImovelwebAmenity[];
|
|
231
|
-
id: string;
|
|
232
252
|
is_foreclosure_auction: boolean;
|
|
233
|
-
is_premier: boolean;
|
|
234
|
-
is_reserved: boolean;
|
|
235
|
-
location: ImovelwebListingLocation;
|
|
236
|
-
logo_url: string | null;
|
|
237
|
-
modified_at: string | null;
|
|
238
|
-
operations: ImovelwebOperationPrice[];
|
|
239
|
-
parking_spaces: number | null;
|
|
240
|
-
photo_count: number;
|
|
241
|
-
photos: ImovelwebPicture[];
|
|
242
|
-
posting_type: ImovelwebPostingType | null;
|
|
243
253
|
promotion_title: string | null;
|
|
244
|
-
property_type: ImovelwebPropertyKind | null;
|
|
245
254
|
published_days_ago: number | null;
|
|
246
|
-
|
|
247
|
-
quintoandar_network: ImovelwebNetworkRole | null;
|
|
248
|
-
raw: ImovelwebListingRaw;
|
|
249
|
-
status: ImovelwebPostingStatus | null;
|
|
250
|
-
suites: number | null;
|
|
251
|
-
title: string | null;
|
|
252
|
-
total_area_m2: number | null;
|
|
255
|
+
modified_at: string | null;
|
|
253
256
|
units: ImovelwebDevelopmentUnit[];
|
|
254
|
-
|
|
255
|
-
usable_area_m2: number | null;
|
|
256
|
-
visit_booking_url: string | null;
|
|
257
|
-
whatsapp: string | null;
|
|
257
|
+
raw: ImovelwebListingRaw;
|
|
258
258
|
}
|
|
259
259
|
/**
|
|
260
260
|
* A listing page. `description` is plain text with line breaks kept;
|
|
@@ -265,45 +265,45 @@ export interface ImovelwebListing {
|
|
|
265
265
|
* description.
|
|
266
266
|
*/
|
|
267
267
|
export interface ImovelwebListingDetail {
|
|
268
|
-
ad_tier: ImovelwebAdTier | null;
|
|
269
|
-
amenities: ImovelwebAmenityEntry[];
|
|
270
|
-
bathrooms: number | null;
|
|
271
268
|
bedrooms: number | null;
|
|
269
|
+
bathrooms: number | null;
|
|
270
|
+
suites: number | null;
|
|
271
|
+
parking_spaces: number | null;
|
|
272
272
|
building_age_years: number | null;
|
|
273
|
+
total_area_m2: number | null;
|
|
274
|
+
usable_area_m2: number | null;
|
|
275
|
+
id: string;
|
|
273
276
|
code: string | null;
|
|
274
|
-
|
|
277
|
+
url: string;
|
|
278
|
+
posting_type: ImovelwebPostingType | null;
|
|
279
|
+
status: ImovelwebPostingStatus | null;
|
|
280
|
+
title: string | null;
|
|
281
|
+
generated_title: string | null;
|
|
282
|
+
property_type: ImovelwebPropertyKind | null;
|
|
283
|
+
operations: ImovelwebOperationPrice[];
|
|
284
|
+
location: ImovelwebListingLocation;
|
|
285
|
+
ad_tier: ImovelwebAdTier | null;
|
|
286
|
+
is_premier: boolean;
|
|
287
|
+
is_reserved: boolean;
|
|
288
|
+
quintoandar_network: ImovelwebNetworkRole | null;
|
|
289
|
+
visit_booking_url: string | null;
|
|
275
290
|
description: string | null;
|
|
291
|
+
photos: ImovelwebPicture[];
|
|
292
|
+
whatsapp: string | null;
|
|
276
293
|
development: ImovelwebDevelopment | null;
|
|
277
|
-
|
|
278
|
-
generated_title: string | null;
|
|
279
|
-
id: string;
|
|
294
|
+
condo_fee: ImovelwebMoney | null;
|
|
280
295
|
iptu: ImovelwebMoney | null;
|
|
296
|
+
amenities: ImovelwebAmenityEntry[];
|
|
297
|
+
floor_plans: ImovelwebPicture[];
|
|
298
|
+
publisher: ImovelwebListingDetailPublisher | null;
|
|
281
299
|
is_development_unit: boolean;
|
|
282
300
|
is_foreclosure_auction: boolean;
|
|
283
|
-
is_premier: boolean;
|
|
284
|
-
is_reserved: boolean;
|
|
285
|
-
location: ImovelwebListingLocation;
|
|
286
|
-
operations: ImovelwebOperationPrice[];
|
|
287
|
-
parking_spaces: number | null;
|
|
288
|
-
photos: ImovelwebPicture[];
|
|
289
|
-
popularity_message: string | null;
|
|
290
|
-
posting_type: ImovelwebPostingType | null;
|
|
291
|
-
property_type: ImovelwebPropertyKind | null;
|
|
292
301
|
published_at: string | null;
|
|
293
302
|
published_days_ago: number | null;
|
|
294
|
-
publisher: ImovelwebListingDetailPublisher | null;
|
|
295
|
-
quintoandar_network: ImovelwebNetworkRole | null;
|
|
296
|
-
raw: ImovelwebListingDetailRaw;
|
|
297
|
-
status: ImovelwebPostingStatus | null;
|
|
298
|
-
suites: number | null;
|
|
299
|
-
title: string | null;
|
|
300
|
-
total_area_m2: number | null;
|
|
301
|
-
units: ImovelwebDevelopmentUnit[];
|
|
302
|
-
url: string;
|
|
303
|
-
usable_area_m2: number | null;
|
|
304
303
|
view_count: number | null;
|
|
305
|
-
|
|
306
|
-
|
|
304
|
+
popularity_message: string | null;
|
|
305
|
+
units: ImovelwebDevelopmentUnit[];
|
|
306
|
+
raw: ImovelwebListingDetailRaw;
|
|
307
307
|
}
|
|
308
308
|
/**
|
|
309
309
|
* The publisher on a listing page. `partial_phone` is the first digits imovelweb shows
|
|
@@ -311,14 +311,14 @@ export interface ImovelwebListingDetail {
|
|
|
311
311
|
* publisher's `is_premier`, which a listing page does not carry.
|
|
312
312
|
*/
|
|
313
313
|
export interface ImovelwebListingDetailPublisher {
|
|
314
|
-
chat_url: string | null;
|
|
315
|
-
creci: string | null;
|
|
316
314
|
id: string | null;
|
|
317
|
-
logo_url: string | null;
|
|
318
315
|
name: string | null;
|
|
319
|
-
partial_phone: string | null;
|
|
320
316
|
type: ImovelwebPublisherKind | null;
|
|
321
317
|
url: string | null;
|
|
318
|
+
logo_url: string | null;
|
|
319
|
+
creci: string | null;
|
|
320
|
+
partial_phone: string | null;
|
|
321
|
+
chat_url: string | null;
|
|
322
322
|
}
|
|
323
323
|
/**
|
|
324
324
|
* Feature codes and flags this API does not know, and `whatsApp` when this API could not
|
|
@@ -326,24 +326,24 @@ export interface ImovelwebListingDetailPublisher {
|
|
|
326
326
|
* visit booking URL that `visit_booking_url` also carries.
|
|
327
327
|
*/
|
|
328
328
|
export interface ImovelwebListingDetailRaw {
|
|
329
|
-
|
|
330
|
-
developmentUrl?: string | null;
|
|
331
|
-
enableBannerFicha: boolean;
|
|
329
|
+
publicationAreaId: string | null;
|
|
332
330
|
featuresWithIcon: number[];
|
|
333
|
-
flagsFeatures: ImovelwebRawFeature[];
|
|
334
|
-
haveVideo?: boolean;
|
|
335
|
-
mainFeatures: Record<string, ImovelwebRawFeature>;
|
|
336
|
-
ownershipRede?: string;
|
|
337
331
|
pixelPlus: boolean;
|
|
338
|
-
postingType?: string;
|
|
339
|
-
promotion?: ImovelwebRawPromotion | null;
|
|
340
|
-
publicationAreaId: string | null;
|
|
341
|
-
realEstateTypeId?: string;
|
|
342
332
|
requestVisit5A: boolean | string;
|
|
343
|
-
|
|
344
|
-
|
|
333
|
+
enableBannerFicha: boolean;
|
|
334
|
+
developmentUrl?: string | null;
|
|
335
|
+
promotion?: ImovelwebRawPromotion | null;
|
|
336
|
+
haveVideo?: boolean;
|
|
345
337
|
videos?: ImovelwebRawMedia[];
|
|
338
|
+
tour?: ImovelwebRawMedia | null;
|
|
346
339
|
whatsApp?: string;
|
|
340
|
+
postingType?: string;
|
|
341
|
+
realEstateTypeId?: string;
|
|
342
|
+
ownershipRede?: string;
|
|
343
|
+
status?: string;
|
|
344
|
+
cronut5A: ImovelwebRequestVisitRaw;
|
|
345
|
+
mainFeatures: Record<string, ImovelwebRawFeature>;
|
|
346
|
+
flagsFeatures: ImovelwebRawFeature[];
|
|
347
347
|
}
|
|
348
348
|
/**
|
|
349
349
|
* The listing is one of several publishers' copies of the same property. `url` is
|
|
@@ -351,8 +351,8 @@ export interface ImovelwebListingDetailRaw {
|
|
|
351
351
|
* offers a WhatsApp contact. `/listings/{posting_id}/publishers` lists the copies.
|
|
352
352
|
*/
|
|
353
353
|
export interface ImovelwebListingDuplicate {
|
|
354
|
-
has_whatsapp: boolean;
|
|
355
354
|
url: string;
|
|
355
|
+
has_whatsapp: boolean;
|
|
356
356
|
}
|
|
357
357
|
/** An amenity the search filters by: the amenities imovelweb honours as a filter. */
|
|
358
358
|
export type ImovelwebListingFeature = "wheelchair_access" | "central_heating" | "green_area" | "toy_library" | "security_cameras" | "football_field" | "golf_course" | "barbecue" | "elevator" | "generator" | "jogging_track" | "playground" | "electronic_gate" | "doorman_24h" | "near_metro" | "tennis_court" | "pool" | "furnished" | "balcony" | "air_conditioning" | "bar" | "closet" | "open_kitchen" | "maid_room" | "home_office" | "accepts_swap" | "sea_front" | "hot_tub" | "garden" | "fireplace" | "suites" | "rental_pool" | "pets_allowed" | "backyard" | "alarm_system";
|
|
@@ -363,16 +363,16 @@ export type ImovelwebListingFeature = "wheelchair_access" | "central_heating" |
|
|
|
363
363
|
export interface ImovelwebListingLocation {
|
|
364
364
|
address: string | null;
|
|
365
365
|
address_visibility: ImovelwebVisibility | null;
|
|
366
|
-
city: ImovelwebPlace | null;
|
|
367
366
|
coordinates_visibility: ImovelwebVisibility | null;
|
|
368
367
|
country: ImovelwebPlace | null;
|
|
368
|
+
state: ImovelwebPlace | null;
|
|
369
|
+
city: ImovelwebPlace | null;
|
|
369
370
|
district: ImovelwebPlace | null;
|
|
371
|
+
sub_district: ImovelwebPlace | null;
|
|
372
|
+
neighbourhood: ImovelwebPlace | null;
|
|
370
373
|
latitude: number | null;
|
|
371
374
|
longitude: number | null;
|
|
372
|
-
neighbourhood: ImovelwebPlace | null;
|
|
373
|
-
state: ImovelwebPlace | null;
|
|
374
375
|
static_map_url: string | null;
|
|
375
|
-
sub_district: ImovelwebPlace | null;
|
|
376
376
|
}
|
|
377
377
|
/**
|
|
378
378
|
* The publisher of a search result. `creci` is the CRECI licence; `main_phone` is filled
|
|
@@ -381,33 +381,33 @@ export interface ImovelwebListingLocation {
|
|
|
381
381
|
* where imovelweb shows its placeholder image.
|
|
382
382
|
*/
|
|
383
383
|
export interface ImovelwebListingPublisher {
|
|
384
|
-
active_listing_count: number | null;
|
|
385
|
-
chat_url: string | null;
|
|
386
|
-
creci: string | null;
|
|
387
384
|
id: string;
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
385
|
+
name: string;
|
|
386
|
+
type: ImovelwebPublisherKind | null;
|
|
387
|
+
url: string | null;
|
|
391
388
|
logo_url: string | null;
|
|
389
|
+
creci: string | null;
|
|
392
390
|
main_phone: string | null;
|
|
393
|
-
name: string;
|
|
394
391
|
partial_phone: string | null;
|
|
395
|
-
|
|
392
|
+
chat_url: string | null;
|
|
393
|
+
is_premier: boolean;
|
|
396
394
|
slug: string | null;
|
|
397
|
-
|
|
398
|
-
|
|
395
|
+
joined_at: string | null;
|
|
396
|
+
joined_year: number | null;
|
|
397
|
+
active_listing_count: number | null;
|
|
398
|
+
raw: ImovelwebListingPublisherRaw;
|
|
399
399
|
}
|
|
400
400
|
/** `mainPhone` is here only when this API could not read a phone number in it. */
|
|
401
401
|
export interface ImovelwebListingPublisherRaw {
|
|
402
402
|
approved: boolean;
|
|
403
403
|
id_portal: string | null;
|
|
404
|
-
|
|
404
|
+
publisherTags: number[];
|
|
405
405
|
parentPublisher: unknown | null;
|
|
406
406
|
publisherStatistics: unknown | null;
|
|
407
|
-
publisherTags: number[];
|
|
408
|
-
publisherTypeId?: string;
|
|
409
407
|
quantity_posting_by_operation_type: unknown | null;
|
|
410
408
|
slotFilterUrl: unknown | null;
|
|
409
|
+
publisherTypeId?: string;
|
|
410
|
+
mainPhone?: string;
|
|
411
411
|
}
|
|
412
412
|
export interface ImovelwebListingPublishers {
|
|
413
413
|
publishers: ImovelwebDuplicatePublisher[];
|
|
@@ -418,72 +418,72 @@ export interface ImovelwebListingPublishers {
|
|
|
418
418
|
* it.
|
|
419
419
|
*/
|
|
420
420
|
export interface ImovelwebListingRaw {
|
|
421
|
-
|
|
421
|
+
publicationAreaId: string;
|
|
422
422
|
alphanumeric_key: string;
|
|
423
423
|
alt: boolean;
|
|
424
|
-
developmentFeatures: Record<string, Record<string, ImovelwebRawFeature>>;
|
|
425
|
-
earlyDemandCronut: boolean;
|
|
426
|
-
features: unknown | null;
|
|
427
|
-
flagsFeatures: ImovelwebRawFeature[];
|
|
428
|
-
highlightedFeatures: string[];
|
|
429
|
-
house: unknown | null;
|
|
430
|
-
iptu: unknown | null;
|
|
431
|
-
leadWhatsappDevelopmentRequestData: boolean;
|
|
432
|
-
leadWhatsappPostingRequestData: boolean;
|
|
433
|
-
mainFeatures: Record<string, ImovelwebRawFeature>;
|
|
434
|
-
ownerDomain: unknown | null;
|
|
435
|
-
ownershipRede?: string;
|
|
436
424
|
pixelPlus: boolean;
|
|
437
|
-
postingType?: string;
|
|
438
|
-
publicationAreaId: string;
|
|
439
425
|
publisherSlot: string;
|
|
440
|
-
realEstateTypeId?: string;
|
|
441
|
-
requestVisit5A: ImovelwebRequestVisitRaw;
|
|
442
426
|
slot: number | null;
|
|
443
427
|
slotColor: unknown | null;
|
|
444
428
|
sponsor: unknown | null;
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
429
|
+
house: unknown | null;
|
|
430
|
+
action: unknown | null;
|
|
431
|
+
features: unknown | null;
|
|
432
|
+
iptu: unknown | null;
|
|
433
|
+
ownerDomain: unknown | null;
|
|
448
434
|
viewPhoneAnonymousLead: boolean;
|
|
435
|
+
earlyDemandCronut: boolean;
|
|
436
|
+
leadWhatsappPostingRequestData: boolean;
|
|
437
|
+
leadWhatsappDevelopmentRequestData: boolean;
|
|
438
|
+
trigger_pills: string[];
|
|
449
439
|
whatsApp?: string;
|
|
440
|
+
postingType?: string;
|
|
441
|
+
realEstateTypeId?: string;
|
|
442
|
+
ownershipRede?: string;
|
|
443
|
+
status?: string;
|
|
444
|
+
requestVisit5A: ImovelwebRequestVisitRaw;
|
|
445
|
+
mainFeatures: Record<string, ImovelwebRawFeature>;
|
|
446
|
+
developmentFeatures: Record<string, Record<string, ImovelwebRawFeature>>;
|
|
447
|
+
flagsFeatures: ImovelwebRawFeature[];
|
|
448
|
+
highlightedFeatures: string[];
|
|
449
|
+
triggerPill?: string;
|
|
450
450
|
}
|
|
451
451
|
export type ImovelwebListingSort = "relevance" | "lowest_price" | "highest_price" | "newest" | "most_viewed" | "price_dropped";
|
|
452
452
|
export interface ImovelwebListingsMap {
|
|
453
|
-
|
|
453
|
+
total: number;
|
|
454
|
+
viewport: ImovelwebViewport | null;
|
|
454
455
|
area: ImovelwebMapArea | null;
|
|
455
456
|
markers: ImovelwebMapMarker[];
|
|
457
|
+
applied_filters: ImovelwebAppliedFilter[];
|
|
456
458
|
raw: ImovelwebListingsMapRaw;
|
|
457
|
-
total: number;
|
|
458
|
-
viewport: ImovelwebViewport | null;
|
|
459
459
|
}
|
|
460
460
|
/** `appliedFilters` is imovelweb's echo as it sent it. */
|
|
461
461
|
export interface ImovelwebListingsMapRaw {
|
|
462
462
|
appliedFilters: ImovelwebRawAppliedFilter[];
|
|
463
463
|
}
|
|
464
464
|
export interface ImovelwebListingsPage {
|
|
465
|
-
|
|
465
|
+
total: number;
|
|
466
|
+
title: string;
|
|
466
467
|
listings: ImovelwebListing[];
|
|
468
|
+
applied_filters: ImovelwebAppliedFilter[];
|
|
467
469
|
pagination: ImovelwebCursorPagination;
|
|
468
470
|
raw: ImovelwebListingsPageRaw;
|
|
469
|
-
title: string;
|
|
470
|
-
total: number;
|
|
471
471
|
}
|
|
472
472
|
/**
|
|
473
473
|
* `appliedFilters` is imovelweb's echo as it sent it; `developmentData` holds development
|
|
474
474
|
* data for listings not on this page.
|
|
475
475
|
*/
|
|
476
476
|
export interface ImovelwebListingsPageRaw {
|
|
477
|
+
total5A: number | null;
|
|
477
478
|
appliedFilters: ImovelwebRawAppliedFilter[];
|
|
478
479
|
developmentData: Record<string, ImovelwebRawDevelopmentData>;
|
|
479
|
-
total5A: number | null;
|
|
480
480
|
}
|
|
481
481
|
/** A place the search can filter by: send `id` as `location_id`. */
|
|
482
482
|
export interface ImovelwebLocation {
|
|
483
483
|
id: string;
|
|
484
|
+
name: string;
|
|
484
485
|
label: string;
|
|
485
486
|
level: ImovelwebLocationLevel | null;
|
|
486
|
-
name: string;
|
|
487
487
|
raw: ImovelwebLocationRaw;
|
|
488
488
|
}
|
|
489
489
|
/**
|
|
@@ -499,37 +499,37 @@ export interface ImovelwebLocations {
|
|
|
499
499
|
locations: ImovelwebLocation[];
|
|
500
500
|
}
|
|
501
501
|
export interface ImovelwebMapArea {
|
|
502
|
-
center: ImovelwebPoint;
|
|
503
502
|
id: string;
|
|
504
|
-
level: ImovelwebLocationLevel | null;
|
|
505
503
|
name: string;
|
|
504
|
+
level: ImovelwebLocationLevel | null;
|
|
505
|
+
center: ImovelwebPoint;
|
|
506
506
|
outline: ImovelwebAreaOutline;
|
|
507
507
|
raw: ImovelwebMapAreaRaw;
|
|
508
508
|
}
|
|
509
509
|
export interface ImovelwebMapAreaRaw {
|
|
510
|
-
idciudad: number;
|
|
511
510
|
idpais: number;
|
|
512
511
|
idprovincia: number;
|
|
513
|
-
|
|
512
|
+
idciudad: number;
|
|
514
513
|
idzonaciudad: number;
|
|
515
|
-
|
|
514
|
+
idsubzonaciudad: number;
|
|
516
515
|
tipoN: string;
|
|
516
|
+
solr_geometry: unknown | null;
|
|
517
517
|
}
|
|
518
518
|
/**
|
|
519
519
|
* A listing on the map with its first listed price. `development_id` is the development
|
|
520
520
|
* a unit belongs to.
|
|
521
521
|
*/
|
|
522
522
|
export interface ImovelwebMapMarker {
|
|
523
|
-
coordinates_visibility: ImovelwebVisibility | null;
|
|
524
|
-
development_id: string | null;
|
|
525
523
|
id: string;
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
longitude: number;
|
|
524
|
+
development_id: string | null;
|
|
525
|
+
title: string;
|
|
529
526
|
operation: ImovelwebOperation | null;
|
|
530
527
|
price: ImovelwebMoney | null;
|
|
531
528
|
price_drop_percent: number | null;
|
|
532
|
-
|
|
529
|
+
latitude: number;
|
|
530
|
+
longitude: number;
|
|
531
|
+
coordinates_visibility: ImovelwebVisibility | null;
|
|
532
|
+
is_premier: boolean;
|
|
533
533
|
}
|
|
534
534
|
export type ImovelwebMaxAge = "under_construction" | "launching_soon" | "5_years" | "10_years" | "20_years" | "50_years" | "over_50_years";
|
|
535
535
|
/**
|
|
@@ -551,9 +551,9 @@ export interface ImovelwebMoney {
|
|
|
551
551
|
* shows no starting price, as its site then asks you to enquire.
|
|
552
552
|
*/
|
|
553
553
|
export interface ImovelwebMoneyRange {
|
|
554
|
-
currency: ImovelwebCurrency | null;
|
|
555
|
-
max: number | null;
|
|
556
554
|
min: number | null;
|
|
555
|
+
max: number | null;
|
|
556
|
+
currency: ImovelwebCurrency | null;
|
|
557
557
|
}
|
|
558
558
|
/** Media a search can require. */
|
|
559
559
|
export type ImovelwebMultimedia = "tour_360" | "video" | "floor_plan";
|
|
@@ -586,27 +586,27 @@ export type ImovelwebParkingSpaces = "none" | "1" | "2" | "3" | "4";
|
|
|
586
586
|
* original's.
|
|
587
587
|
*/
|
|
588
588
|
export interface ImovelwebPicture {
|
|
589
|
+
kind: ImovelwebMediaKind | null;
|
|
589
590
|
caption: string | null;
|
|
591
|
+
width: number | null;
|
|
590
592
|
height: number | null;
|
|
591
|
-
kind: ImovelwebMediaKind | null;
|
|
592
|
-
resized_url_1200x1200: string | null;
|
|
593
|
-
resized_url_720x532: string | null;
|
|
594
|
-
url_100x75: string | null;
|
|
595
593
|
url_1200x1200: string | null;
|
|
596
|
-
url_130x70: string | null;
|
|
597
|
-
url_215x159: string | null;
|
|
598
|
-
url_360x266: string;
|
|
599
594
|
url_720x532: string;
|
|
600
|
-
|
|
595
|
+
url_360x266: string;
|
|
596
|
+
url_215x159: string | null;
|
|
597
|
+
url_100x75: string | null;
|
|
598
|
+
url_130x70: string | null;
|
|
599
|
+
resized_url_1200x1200: string | null;
|
|
600
|
+
resized_url_720x532: string | null;
|
|
601
601
|
}
|
|
602
602
|
/**
|
|
603
603
|
* One level of a listing's location. `id` is the `location_id` the search takes for
|
|
604
604
|
* every level except the country; `acronym` is the state's two letters.
|
|
605
605
|
*/
|
|
606
606
|
export interface ImovelwebPlace {
|
|
607
|
-
acronym: string | null;
|
|
608
607
|
id: string;
|
|
609
608
|
name: string;
|
|
609
|
+
acronym: string | null;
|
|
610
610
|
}
|
|
611
611
|
export interface ImovelwebPoint {
|
|
612
612
|
latitude: number;
|
|
@@ -636,26 +636,26 @@ export type ImovelwebPublishedWithin = "today" | "since_yesterday" | "7_days" |
|
|
|
636
636
|
* count its profile page lists. `ratings` is null when imovelweb keeps no statistics.
|
|
637
637
|
*/
|
|
638
638
|
export interface ImovelwebPublisher {
|
|
639
|
+
id: string;
|
|
640
|
+
name: string;
|
|
641
|
+
type: ImovelwebPublisherKind | null;
|
|
642
|
+
description: string | null;
|
|
639
643
|
about: string | null;
|
|
640
|
-
|
|
644
|
+
phone_text: string | null;
|
|
645
|
+
phone_numbers: string[];
|
|
641
646
|
address: string | null;
|
|
647
|
+
logo_url: string | null;
|
|
642
648
|
cover_picture_url: string | null;
|
|
643
649
|
cover_pictures: ImovelwebCoverPicture[];
|
|
644
|
-
|
|
645
|
-
has_main_phone: boolean;
|
|
646
|
-
has_microsite: boolean;
|
|
647
|
-
id: string;
|
|
648
|
-
is_premier: boolean;
|
|
650
|
+
video_url: string | null;
|
|
649
651
|
joined_year: number | null;
|
|
652
|
+
active_listing_count: number | null;
|
|
650
653
|
listed_count: number | null;
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
phone_text: string | null;
|
|
654
|
+
is_premier: boolean;
|
|
655
|
+
has_main_phone: boolean;
|
|
656
|
+
has_microsite: boolean;
|
|
655
657
|
ratings: ImovelwebPublisherRatings | null;
|
|
656
658
|
raw: ImovelwebPublisherRaw;
|
|
657
|
-
type: ImovelwebPublisherKind | null;
|
|
658
|
-
video_url: string | null;
|
|
659
659
|
}
|
|
660
660
|
/**
|
|
661
661
|
* Who publishes a listing, in imovelweb's own words where its code has them: an `owner`
|
|
@@ -670,11 +670,11 @@ export type ImovelwebPublisherKind = "owner" | "agency" | "developer" | "broker"
|
|
|
670
670
|
*/
|
|
671
671
|
export interface ImovelwebPublisherRatings {
|
|
672
672
|
average: number | null;
|
|
673
|
+
recommend_percent: number | null;
|
|
674
|
+
review_count: number | null;
|
|
673
675
|
is_new_publisher: boolean;
|
|
674
676
|
questions: ImovelwebRatingQuestion[];
|
|
675
677
|
raw: ImovelwebPublisherRatingsRaw;
|
|
676
|
-
recommend_percent: number | null;
|
|
677
|
-
review_count: number | null;
|
|
678
678
|
}
|
|
679
679
|
/** `scoreReputation` is null for an agency imovelweb marks as new. */
|
|
680
680
|
export interface ImovelwebPublisherRatingsRaw {
|
|
@@ -692,18 +692,18 @@ export interface ImovelwebPublisherRaw {
|
|
|
692
692
|
*/
|
|
693
693
|
export type ImovelwebPublisherType = "all" | "company" | "owner";
|
|
694
694
|
export interface ImovelwebRatingQuestion {
|
|
695
|
-
average: number;
|
|
696
|
-
question: string;
|
|
697
695
|
topic: string;
|
|
696
|
+
question: string;
|
|
697
|
+
average: number;
|
|
698
698
|
}
|
|
699
699
|
/** One filter imovelweb says it applied, in its own filter names and codes. */
|
|
700
700
|
export interface ImovelwebRawAppliedFilter {
|
|
701
|
+
type: string;
|
|
702
|
+
options?: ImovelwebRawAppliedFilterOption[] | null;
|
|
701
703
|
groups?: ImovelwebRawAppliedFilterGroup[];
|
|
704
|
+
units?: ImovelwebRawAppliedFilterUnit[];
|
|
702
705
|
idsArea?: ImovelwebRawAppliedFilterAreaKind;
|
|
703
|
-
options?: ImovelwebRawAppliedFilterOption[] | null;
|
|
704
706
|
renderType?: number;
|
|
705
|
-
type: string;
|
|
706
|
-
units?: ImovelwebRawAppliedFilterUnit[];
|
|
707
707
|
}
|
|
708
708
|
export interface ImovelwebRawAppliedFilterAreaKind {
|
|
709
709
|
id: string;
|
|
@@ -715,12 +715,12 @@ export interface ImovelwebRawAppliedFilterGroup {
|
|
|
715
715
|
}
|
|
716
716
|
export interface ImovelwebRawAppliedFilterOption {
|
|
717
717
|
label?: string | null;
|
|
718
|
-
|
|
719
|
-
maxLabel?: string;
|
|
718
|
+
type?: string;
|
|
720
719
|
min?: string | null;
|
|
720
|
+
max?: string | null;
|
|
721
721
|
minLabel?: string;
|
|
722
|
+
maxLabel?: string;
|
|
722
723
|
subtypes?: ImovelwebRawAppliedFilterSubtype[];
|
|
723
|
-
type?: string;
|
|
724
724
|
}
|
|
725
725
|
export interface ImovelwebRawAppliedFilterSubtype {
|
|
726
726
|
label: string;
|
|
@@ -732,55 +732,55 @@ export interface ImovelwebRawAppliedFilterUnit {
|
|
|
732
732
|
symbol: string;
|
|
733
733
|
}
|
|
734
734
|
export interface ImovelwebRawDetailPicture {
|
|
735
|
-
height: number | null;
|
|
736
735
|
multimediaTypeId: number;
|
|
737
736
|
order: number;
|
|
737
|
+
height: number | null;
|
|
738
|
+
width: number | null;
|
|
738
739
|
resizeUrl1200x1200: string;
|
|
739
740
|
resizeUrl720x532: string;
|
|
740
|
-
title: string;
|
|
741
|
-
url100x75: string;
|
|
742
741
|
url1200x1200: string;
|
|
743
|
-
url215x159: string;
|
|
744
|
-
url360x266: string;
|
|
745
742
|
url730x532: string;
|
|
746
|
-
|
|
743
|
+
url360x266: string;
|
|
744
|
+
url215x159: string;
|
|
745
|
+
url100x75: string;
|
|
746
|
+
title: string;
|
|
747
747
|
}
|
|
748
748
|
export interface ImovelwebRawDevelopmentData {
|
|
749
|
-
|
|
750
|
-
bathrooms: ImovelwebRawNumberRange;
|
|
749
|
+
totalArea: ImovelwebRawNumberRange;
|
|
751
750
|
coveredArea: ImovelwebRawNumberRange;
|
|
752
|
-
delivery: string;
|
|
753
|
-
garages: ImovelwebRawNumberRange;
|
|
754
|
-
majorPrices?: ImovelwebRawPriceRange;
|
|
755
|
-
minorPrices?: ImovelwebRawPriceRange;
|
|
756
|
-
numberOfUnits: number;
|
|
757
751
|
prices?: ImovelwebRawPriceRange;
|
|
752
|
+
minorPrices?: ImovelwebRawPriceRange;
|
|
753
|
+
majorPrices?: ImovelwebRawPriceRange;
|
|
758
754
|
pricesByOperationType?: ImovelwebRawPricesByOperationType[];
|
|
755
|
+
numberOfUnits: number;
|
|
756
|
+
ambientes: ImovelwebRawNumberRange;
|
|
759
757
|
rooms: ImovelwebRawNumberRange;
|
|
760
|
-
|
|
761
|
-
|
|
758
|
+
bathrooms: ImovelwebRawNumberRange;
|
|
759
|
+
garages: ImovelwebRawNumberRange;
|
|
762
760
|
unitGroupsData: Record<string, Record<string, ImovelwebRawUnitGroup>>;
|
|
761
|
+
steps: ImovelwebRawDevelopmentStep[];
|
|
762
|
+
delivery: string;
|
|
763
763
|
}
|
|
764
764
|
export interface ImovelwebRawDevelopmentStep {
|
|
765
|
-
stage: string;
|
|
766
765
|
status: string;
|
|
766
|
+
stage: string;
|
|
767
767
|
}
|
|
768
768
|
/** A listing attribute keyed by imovelweb's feature code, with its value as a string. */
|
|
769
769
|
export interface ImovelwebRawFeature {
|
|
770
|
-
featureCategoryId?: string | null;
|
|
771
770
|
featureId: string;
|
|
772
|
-
icon?: string | null;
|
|
773
771
|
label: string;
|
|
774
|
-
maxValue?: string | null;
|
|
775
772
|
measure?: string | null;
|
|
776
|
-
minValue?: string | null;
|
|
777
773
|
value: string | null;
|
|
774
|
+
icon?: string | null;
|
|
775
|
+
featureCategoryId?: string | null;
|
|
776
|
+
minValue?: string | null;
|
|
777
|
+
maxValue?: string | null;
|
|
778
778
|
}
|
|
779
779
|
/** A video or virtual tour: `reference` is a YouTube id or the tour's URL. */
|
|
780
780
|
export interface ImovelwebRawMedia {
|
|
781
781
|
order: number;
|
|
782
|
-
preview?: string;
|
|
783
782
|
reference: string;
|
|
783
|
+
preview?: string;
|
|
784
784
|
}
|
|
785
785
|
export interface ImovelwebRawNumberRange {
|
|
786
786
|
tuple0?: number | null;
|
|
@@ -791,11 +791,11 @@ export interface ImovelwebRawNumberRange {
|
|
|
791
791
|
* `formattedAmount`.
|
|
792
792
|
*/
|
|
793
793
|
export interface ImovelwebRawPrice {
|
|
794
|
-
|
|
795
|
-
currency: string;
|
|
794
|
+
isoCode?: string;
|
|
796
795
|
currencyId?: string | null;
|
|
796
|
+
amount: number | null;
|
|
797
797
|
formattedAmount: string | null;
|
|
798
|
-
|
|
798
|
+
currency: string;
|
|
799
799
|
}
|
|
800
800
|
export interface ImovelwebRawPriceRange {
|
|
801
801
|
tuple0?: ImovelwebRawPrice | null;
|
|
@@ -806,35 +806,35 @@ export interface ImovelwebRawPricesByOperationType {
|
|
|
806
806
|
prices: ImovelwebRawPrice[];
|
|
807
807
|
}
|
|
808
808
|
export interface ImovelwebRawPromotion {
|
|
809
|
-
description: string;
|
|
810
809
|
title: string;
|
|
810
|
+
description: string;
|
|
811
811
|
}
|
|
812
812
|
export interface ImovelwebRawRequestVisitUrl {
|
|
813
813
|
urlControl?: string | null;
|
|
814
|
-
urlEarlyDemand?: string | null;
|
|
815
814
|
urlVariant?: string | null;
|
|
816
815
|
urlWhatsappConcierge?: string | null;
|
|
816
|
+
urlEarlyDemand?: string | null;
|
|
817
817
|
}
|
|
818
818
|
export interface ImovelwebRawUnitGroup {
|
|
819
|
+
totalArea: ImovelwebRawNumberRange;
|
|
819
820
|
coveredArea: ImovelwebRawNumberRange;
|
|
820
|
-
|
|
821
|
+
prices?: ImovelwebRawPriceRange;
|
|
821
822
|
minorPrices?: ImovelwebRawPriceRange;
|
|
823
|
+
majorPrices?: ImovelwebRawPriceRange;
|
|
822
824
|
numberOfUnits: number;
|
|
823
|
-
operationTypeId: string | null;
|
|
824
825
|
picture?: string | null;
|
|
825
|
-
prices?: ImovelwebRawPriceRange;
|
|
826
|
-
realEstateTypeId: string;
|
|
827
|
-
rooms: string;
|
|
828
826
|
title: string;
|
|
829
|
-
|
|
827
|
+
rooms: string;
|
|
828
|
+
realEstateTypeId: string;
|
|
829
|
+
operationTypeId: string | null;
|
|
830
830
|
}
|
|
831
831
|
export interface ImovelwebRequestVisitRaw {
|
|
832
832
|
activeModal5A: boolean;
|
|
833
833
|
activeModalPostlead5A: boolean;
|
|
834
|
-
cronutEarlyDemand: boolean;
|
|
835
|
-
cronutRent: boolean;
|
|
836
|
-
cronutSell: boolean;
|
|
837
834
|
requestVisitUrl: ImovelwebRawRequestVisitUrl;
|
|
835
|
+
cronutSell: boolean;
|
|
836
|
+
cronutRent: boolean;
|
|
837
|
+
cronutEarlyDemand: boolean;
|
|
838
838
|
showWhatsapp: boolean;
|
|
839
839
|
}
|
|
840
840
|
/**
|
|
@@ -842,38 +842,38 @@ export interface ImovelwebRequestVisitRaw {
|
|
|
842
842
|
* as display text, which this API decodes; `location.label` is the card's own wording.
|
|
843
843
|
*/
|
|
844
844
|
export interface ImovelwebSimilarListing {
|
|
845
|
-
ad_tier: ImovelwebAdTier | null;
|
|
846
|
-
bathrooms: number | null;
|
|
847
845
|
bedrooms: number | null;
|
|
846
|
+
bathrooms: number | null;
|
|
847
|
+
suites: number | null;
|
|
848
|
+
parking_spaces: number | null;
|
|
848
849
|
building_age_years: number | null;
|
|
850
|
+
total_area_m2: number | null;
|
|
851
|
+
usable_area_m2: number | null;
|
|
849
852
|
id: string;
|
|
850
|
-
|
|
851
|
-
location: ImovelwebSimilarListingLocation;
|
|
852
|
-
operation: ImovelwebOperation | null;
|
|
853
|
-
parking_spaces: number | null;
|
|
854
|
-
photos: ImovelwebPicture[];
|
|
853
|
+
title: string;
|
|
855
854
|
posting_type: ImovelwebPostingType | null;
|
|
856
|
-
price: ImovelwebMoney | null;
|
|
857
855
|
property_type: ImovelwebPropertyKind | null;
|
|
856
|
+
operation: ImovelwebOperation | null;
|
|
857
|
+
price: ImovelwebMoney | null;
|
|
858
|
+
location: ImovelwebSimilarListingLocation;
|
|
859
|
+
photos: ImovelwebPicture[];
|
|
858
860
|
publisher_logo_url: string | null;
|
|
861
|
+
is_premier: boolean;
|
|
862
|
+
ad_tier: ImovelwebAdTier | null;
|
|
859
863
|
raw: ImovelwebSimilarListingRaw;
|
|
860
|
-
suites: number | null;
|
|
861
|
-
title: string;
|
|
862
|
-
total_area_m2: number | null;
|
|
863
|
-
usable_area_m2: number | null;
|
|
864
864
|
}
|
|
865
865
|
export interface ImovelwebSimilarListingLocation {
|
|
866
866
|
address: string | null;
|
|
867
867
|
label: string | null;
|
|
868
868
|
}
|
|
869
869
|
export interface ImovelwebSimilarListingRaw {
|
|
870
|
+
publicationAreaId: string | null;
|
|
870
871
|
descripcionNormalized: string | null;
|
|
871
872
|
developmentData: ImovelwebRawDevelopmentData | null;
|
|
872
|
-
mainFeatures: Record<string, ImovelwebRawFeature>;
|
|
873
|
-
operationType?: string;
|
|
874
873
|
postingType?: string;
|
|
875
|
-
publicationAreaId: string | null;
|
|
876
874
|
realestateType?: string;
|
|
875
|
+
operationType?: string;
|
|
876
|
+
mainFeatures: Record<string, ImovelwebRawFeature>;
|
|
877
877
|
}
|
|
878
878
|
export interface ImovelwebSimilarListings {
|
|
879
879
|
listings: ImovelwebSimilarListing[];
|
|
@@ -882,22 +882,22 @@ export interface ImovelwebSimilarListings {
|
|
|
882
882
|
export type ImovelwebStepStatus = "done" | "in_progress" | "to_do";
|
|
883
883
|
/** The development's units of one type and bedroom count. */
|
|
884
884
|
export interface ImovelwebUnitGroup {
|
|
885
|
-
|
|
885
|
+
title: string;
|
|
886
886
|
operation: ImovelwebOperation | null;
|
|
887
|
-
price: ImovelwebMoneyRange | null;
|
|
888
887
|
property_type: ImovelwebPropertyKind | null;
|
|
889
|
-
|
|
890
|
-
title: string;
|
|
891
|
-
total_area_m2: ImovelwebAreaRange | null;
|
|
888
|
+
bedrooms: number | null;
|
|
892
889
|
unit_count: number;
|
|
890
|
+
price: ImovelwebMoneyRange | null;
|
|
893
891
|
usable_area_m2: ImovelwebAreaRange | null;
|
|
892
|
+
total_area_m2: ImovelwebAreaRange | null;
|
|
893
|
+
raw: ImovelwebUnitGroupRaw;
|
|
894
894
|
}
|
|
895
895
|
export interface ImovelwebUnitGroupRaw {
|
|
896
896
|
picture?: string | null;
|
|
897
897
|
}
|
|
898
898
|
export interface ImovelwebViewport {
|
|
899
|
-
east: number;
|
|
900
899
|
north: number;
|
|
900
|
+
east: number;
|
|
901
901
|
south: number;
|
|
902
902
|
west: number;
|
|
903
903
|
}
|
|
@@ -911,128 +911,128 @@ export interface ListListingPublishersParams {
|
|
|
911
911
|
posting_id: string;
|
|
912
912
|
}
|
|
913
913
|
export interface ListListingsParams {
|
|
914
|
+
/** `relevance`, `lowest_price`, `highest_price`, `newest`, `most_viewed` or `price_dropped`. imovelweb keeps its premier listings in their own ordered run, so prices on one page can step back where the two runs meet, and it sorts a development by its highest unit price while showing its lowest. `relevance` reshuffles over minutes, so a long crawl should sort by `newest`. */
|
|
915
|
+
sort?: ImovelwebListingSort;
|
|
914
916
|
/** `pagination.next_cursor` from the previous page; empty for the first page. A cursor holds only a page number, so send it with the same filters and sort as the page it came from. `pagination.completion` is `exhausted` at the last page and `depth_limit` at page 1,000 (30,000 listings), the deepest page imovelweb serves; narrow the filters to reach the rest. imovelweb's `relevance` order changes over minutes, so a long crawl that pages by relevance can skip or repeat listings. */
|
|
915
917
|
cursor?: string;
|
|
916
|
-
/**
|
|
917
|
-
|
|
918
|
-
/** Required amenities, such as `pool` or `pets_allowed`; repeat for several. A listing must have all of them. imovelweb's development search cannot filter by `garden`. */
|
|
919
|
-
features?: ImovelwebListingFeature[];
|
|
920
|
-
/** Free-text keyword matched against listing text, such as `piscina`. */
|
|
921
|
-
keyword?: string | null;
|
|
918
|
+
/** `sale`, `rent`, `season` (short stays), `auction`, or `development` (new developments and launches, sold by their developer). */
|
|
919
|
+
operation?: ImovelwebOperation;
|
|
922
920
|
/** Location `id` from `/v1/imovelweb/locations` (`V1-C-109668` is the city of São Paulo). Repeat the parameter for several locations; listings in any of them match. An id imovelweb does not know answers 400 `invalid_request` naming it (not charged). */
|
|
923
921
|
location_id?: string[];
|
|
924
|
-
/**
|
|
925
|
-
|
|
926
|
-
/**
|
|
927
|
-
|
|
928
|
-
/**
|
|
929
|
-
|
|
922
|
+
/** Property type; repeat for several. Not with `operation=development`. */
|
|
923
|
+
property_type?: ImovelwebPropertyType[];
|
|
924
|
+
/** Property subtype, such as `penthouse` or `townhouse`; repeat for several. Send its type in `property_type` too (`penthouse` needs `apartment`). Not with `operation=development`. */
|
|
925
|
+
property_subtype?: ImovelwebPropertySubtype[];
|
|
926
|
+
/** Minimum price in R$. */
|
|
927
|
+
min_price?: number | null;
|
|
930
928
|
/** Maximum price in R$. */
|
|
931
929
|
max_price?: number | null;
|
|
932
|
-
/** Maximum total area in m². Not with the usable-area range. */
|
|
933
|
-
max_total_area?: number | null;
|
|
934
|
-
/** Maximum usable (private) area in m². */
|
|
935
|
-
max_usable_area?: number | null;
|
|
936
|
-
/** Minimum bathrooms. */
|
|
937
|
-
min_bathrooms?: number | null;
|
|
938
930
|
/** Minimum bedrooms. */
|
|
939
931
|
min_bedrooms?: number | null;
|
|
940
|
-
/**
|
|
941
|
-
|
|
942
|
-
/** Minimum
|
|
943
|
-
|
|
932
|
+
/** Maximum bedrooms. imovelweb's top bucket is 5 or more, so 4 is the highest cap. Send the same number as `min_bedrooms` for an exact count. */
|
|
933
|
+
max_bedrooms?: number | null;
|
|
934
|
+
/** Minimum bathrooms. */
|
|
935
|
+
min_bathrooms?: number | null;
|
|
936
|
+
/** `none` for listings without parking, or `1` to `4` for at least that many spaces. */
|
|
937
|
+
parking_spaces?: ImovelwebParkingSpaces | null;
|
|
944
938
|
/** Minimum total area in m². Not with the usable-area range. */
|
|
945
939
|
min_total_area?: number | null;
|
|
940
|
+
/** Maximum total area in m². Not with the usable-area range. */
|
|
941
|
+
max_total_area?: number | null;
|
|
946
942
|
/** Minimum usable (private) area in m². */
|
|
947
943
|
min_usable_area?: number | null;
|
|
948
|
-
/**
|
|
949
|
-
|
|
950
|
-
/** `
|
|
951
|
-
|
|
952
|
-
/** `none` for listings without parking, or `1` to `4` for at least that many spaces. */
|
|
953
|
-
parking_spaces?: ImovelwebParkingSpaces | null;
|
|
954
|
-
/** Compare `min_price` and `max_price` with the rent plus the monthly condo fee. Only with `operation=rent` and a price bound. */
|
|
955
|
-
price_includes_condo_fee?: boolean;
|
|
956
|
-
/** Property subtype, such as `penthouse` or `townhouse`; repeat for several. Send its type in `property_type` too (`penthouse` needs `apartment`). Not with `operation=development`. */
|
|
957
|
-
property_subtype?: ImovelwebPropertySubtype[];
|
|
958
|
-
/** Property type; repeat for several. Not with `operation=development`. */
|
|
959
|
-
property_type?: ImovelwebPropertyType[];
|
|
944
|
+
/** Maximum usable (private) area in m². */
|
|
945
|
+
max_usable_area?: number | null;
|
|
946
|
+
/** Building age: `under_construction`, `launching_soon`, at most `5_years` to `50_years`, or `over_50_years`. */
|
|
947
|
+
max_age?: ImovelwebMaxAge | null;
|
|
960
948
|
/** Only listings published within this window. */
|
|
961
949
|
published_within?: ImovelwebPublishedWithin | null;
|
|
962
|
-
/** Only this publisher's listings (`publisher.id` on a listing). */
|
|
963
|
-
publisher_id?: string | null;
|
|
964
950
|
/** `company` for every publisher that is not an owner: agencies, developers, brokers and builders (imovelweb's Imobiliária option). `owner` for owners selling directly. `all` for both. */
|
|
965
951
|
publisher_type?: ImovelwebPublisherType;
|
|
966
|
-
/**
|
|
967
|
-
|
|
952
|
+
/** Only this publisher's listings (`publisher.id` on a listing). */
|
|
953
|
+
publisher_id?: string | null;
|
|
954
|
+
/** Required amenities, such as `pool` or `pets_allowed`; repeat for several. A listing must have all of them. imovelweb's development search cannot filter by `garden`. */
|
|
955
|
+
features?: ImovelwebListingFeature[];
|
|
956
|
+
/** Only listings with these media; repeat for several. A listing must have all of them. */
|
|
957
|
+
multimedia?: ImovelwebMultimedia[];
|
|
958
|
+
/** Free-text keyword matched against listing text, such as `piscina`. */
|
|
959
|
+
keyword?: string | null;
|
|
960
|
+
/** Minimum monthly condominium fee in R$. */
|
|
961
|
+
min_condo_fee?: number | null;
|
|
962
|
+
/** Maximum monthly condominium fee in R$. */
|
|
963
|
+
max_condo_fee?: number | null;
|
|
964
|
+
/** Development stage; repeat for several, a development at any of them matches. Only with `operation=development`. */
|
|
965
|
+
development_stage?: ImovelwebDevelopmentStage[];
|
|
968
966
|
/** Only rentals that need no guarantor (imovelweb's Aluguel sem fiador). Only with `operation=rent`. */
|
|
969
967
|
without_guarantor?: boolean;
|
|
968
|
+
/** Compare `min_price` and `max_price` with the rent plus the monthly condo fee. Only with `operation=rent` and a price bound. */
|
|
969
|
+
price_includes_condo_fee?: boolean;
|
|
970
970
|
}
|
|
971
971
|
export interface ListLocationsParams {
|
|
972
|
-
/** Suggestions to return. */
|
|
973
|
-
limit?: number;
|
|
974
972
|
/** Place name, such as `pinheiros` or `rio de janeiro`. */
|
|
975
973
|
query: string;
|
|
974
|
+
/** Suggestions to return. */
|
|
975
|
+
limit?: number;
|
|
976
976
|
}
|
|
977
977
|
export interface ListSimilarListingsParams {
|
|
978
|
-
/** Listings to return. */
|
|
979
|
-
limit?: number;
|
|
980
978
|
/** imovelweb listing id: the number at the end of a listing URL (`...-3047460005.html`). */
|
|
981
979
|
posting_id: string;
|
|
980
|
+
/** Listings to return. */
|
|
981
|
+
limit?: number;
|
|
982
982
|
}
|
|
983
983
|
export interface MapListingsParams {
|
|
984
|
-
/**
|
|
985
|
-
|
|
986
|
-
/** Required amenities, such as `pool` or `pets_allowed`; repeat for several. A listing must have all of them. imovelweb's development search cannot filter by `garden`. */
|
|
987
|
-
features?: ImovelwebListingFeature[];
|
|
988
|
-
/** Free-text keyword matched against listing text, such as `piscina`. */
|
|
989
|
-
keyword?: string | null;
|
|
984
|
+
/** `sale`, `rent`, `season` (short stays), `auction`, or `development` (new developments and launches, sold by their developer). */
|
|
985
|
+
operation?: ImovelwebOperation;
|
|
990
986
|
/** Location `id` from `/v1/imovelweb/locations` (`V1-C-109668` is the city of São Paulo). Repeat the parameter for several locations; listings in any of them match. An id imovelweb does not know answers 400 `invalid_request` naming it (not charged). */
|
|
991
987
|
location_id?: string[];
|
|
992
|
-
/**
|
|
993
|
-
|
|
994
|
-
/**
|
|
995
|
-
|
|
996
|
-
/**
|
|
997
|
-
|
|
988
|
+
/** Property type; repeat for several. Not with `operation=development`. */
|
|
989
|
+
property_type?: ImovelwebPropertyType[];
|
|
990
|
+
/** Property subtype, such as `penthouse` or `townhouse`; repeat for several. Send its type in `property_type` too (`penthouse` needs `apartment`). Not with `operation=development`. */
|
|
991
|
+
property_subtype?: ImovelwebPropertySubtype[];
|
|
992
|
+
/** Minimum price in R$. */
|
|
993
|
+
min_price?: number | null;
|
|
998
994
|
/** Maximum price in R$. */
|
|
999
995
|
max_price?: number | null;
|
|
1000
|
-
/** Maximum total area in m². Not with the usable-area range. */
|
|
1001
|
-
max_total_area?: number | null;
|
|
1002
|
-
/** Maximum usable (private) area in m². */
|
|
1003
|
-
max_usable_area?: number | null;
|
|
1004
|
-
/** Minimum bathrooms. */
|
|
1005
|
-
min_bathrooms?: number | null;
|
|
1006
996
|
/** Minimum bedrooms. */
|
|
1007
997
|
min_bedrooms?: number | null;
|
|
1008
|
-
/**
|
|
1009
|
-
|
|
1010
|
-
/** Minimum
|
|
1011
|
-
|
|
998
|
+
/** Maximum bedrooms. imovelweb's top bucket is 5 or more, so 4 is the highest cap. Send the same number as `min_bedrooms` for an exact count. */
|
|
999
|
+
max_bedrooms?: number | null;
|
|
1000
|
+
/** Minimum bathrooms. */
|
|
1001
|
+
min_bathrooms?: number | null;
|
|
1002
|
+
/** `none` for listings without parking, or `1` to `4` for at least that many spaces. */
|
|
1003
|
+
parking_spaces?: ImovelwebParkingSpaces | null;
|
|
1012
1004
|
/** Minimum total area in m². Not with the usable-area range. */
|
|
1013
1005
|
min_total_area?: number | null;
|
|
1006
|
+
/** Maximum total area in m². Not with the usable-area range. */
|
|
1007
|
+
max_total_area?: number | null;
|
|
1014
1008
|
/** Minimum usable (private) area in m². */
|
|
1015
1009
|
min_usable_area?: number | null;
|
|
1016
|
-
/**
|
|
1017
|
-
|
|
1018
|
-
/** `
|
|
1019
|
-
|
|
1020
|
-
/** `none` for listings without parking, or `1` to `4` for at least that many spaces. */
|
|
1021
|
-
parking_spaces?: ImovelwebParkingSpaces | null;
|
|
1022
|
-
/** Compare `min_price` and `max_price` with the rent plus the monthly condo fee. Only with `operation=rent` and a price bound. */
|
|
1023
|
-
price_includes_condo_fee?: boolean;
|
|
1024
|
-
/** Property subtype, such as `penthouse` or `townhouse`; repeat for several. Send its type in `property_type` too (`penthouse` needs `apartment`). Not with `operation=development`. */
|
|
1025
|
-
property_subtype?: ImovelwebPropertySubtype[];
|
|
1026
|
-
/** Property type; repeat for several. Not with `operation=development`. */
|
|
1027
|
-
property_type?: ImovelwebPropertyType[];
|
|
1010
|
+
/** Maximum usable (private) area in m². */
|
|
1011
|
+
max_usable_area?: number | null;
|
|
1012
|
+
/** Building age: `under_construction`, `launching_soon`, at most `5_years` to `50_years`, or `over_50_years`. */
|
|
1013
|
+
max_age?: ImovelwebMaxAge | null;
|
|
1028
1014
|
/** Only listings published within this window. */
|
|
1029
1015
|
published_within?: ImovelwebPublishedWithin | null;
|
|
1030
|
-
/** Only this publisher's listings (`publisher.id` on a listing). */
|
|
1031
|
-
publisher_id?: string | null;
|
|
1032
1016
|
/** `company` for every publisher that is not an owner: agencies, developers, brokers and builders (imovelweb's Imobiliária option). `owner` for owners selling directly. `all` for both. */
|
|
1033
1017
|
publisher_type?: ImovelwebPublisherType;
|
|
1018
|
+
/** Only this publisher's listings (`publisher.id` on a listing). */
|
|
1019
|
+
publisher_id?: string | null;
|
|
1020
|
+
/** Required amenities, such as `pool` or `pets_allowed`; repeat for several. A listing must have all of them. imovelweb's development search cannot filter by `garden`. */
|
|
1021
|
+
features?: ImovelwebListingFeature[];
|
|
1022
|
+
/** Only listings with these media; repeat for several. A listing must have all of them. */
|
|
1023
|
+
multimedia?: ImovelwebMultimedia[];
|
|
1024
|
+
/** Free-text keyword matched against listing text, such as `piscina`. */
|
|
1025
|
+
keyword?: string | null;
|
|
1026
|
+
/** Minimum monthly condominium fee in R$. */
|
|
1027
|
+
min_condo_fee?: number | null;
|
|
1028
|
+
/** Maximum monthly condominium fee in R$. */
|
|
1029
|
+
max_condo_fee?: number | null;
|
|
1030
|
+
/** Development stage; repeat for several, a development at any of them matches. Only with `operation=development`. */
|
|
1031
|
+
development_stage?: ImovelwebDevelopmentStage[];
|
|
1034
1032
|
/** Only rentals that need no guarantor (imovelweb's Aluguel sem fiador). Only with `operation=rent`. */
|
|
1035
1033
|
without_guarantor?: boolean;
|
|
1034
|
+
/** Compare `min_price` and `max_price` with the rent plus the monthly condo fee. Only with `operation=rent` and a price bound. */
|
|
1035
|
+
price_includes_condo_fee?: boolean;
|
|
1036
1036
|
}
|
|
1037
|
-
export type PublicError = "blocked" | "concurrency_exceeded" | "timeout" | "extraction_failed" | "upstream_blocked" | "upstream_unavailable" | "upstream_response_invalid" | "invalid_url_scheme" | "invalid_url_host" | "unauthenticated" | "forbidden" | "resource_forbidden" | "not_found" | "rate_limited" | "invalid_request" | "invalid_cursor" | "insufficient_credits" | "internal_error";
|
|
1037
|
+
export type PublicError = "blocked" | "concurrency_exceeded" | "timeout" | "extraction_failed" | "upstream_blocked" | "upstream_unavailable" | "upstream_response_invalid" | "invalid_url_scheme" | "invalid_url_host" | "unauthenticated" | "forbidden" | "resource_forbidden" | "not_found" | "endpoint_retired" | "rate_limited" | "invalid_request" | "invalid_cursor" | "insufficient_credits" | "internal_error";
|
|
1038
1038
|
//# sourceMappingURL=types.d.ts.map
|