iptuapi 1.0.0 → 1.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.
package/dist/index.d.mts CHANGED
@@ -11,6 +11,8 @@
11
11
  * const resultado = await client.consultaEndereco('Avenida Paulista', '1000');
12
12
  * ```
13
13
  */
14
+ /** Cidades suportadas pela API */
15
+ type Cidade = 'sao_paulo' | 'belo_horizonte';
14
16
  interface ConsultaEnderecoResult {
15
17
  sql: string;
16
18
  logradouro: string;
@@ -22,6 +24,26 @@ interface ConsultaEnderecoResult {
22
24
  tipo_uso: string;
23
25
  zona: string;
24
26
  }
27
+ /** Resultado da consulta multi-cidade */
28
+ interface ConsultaIPTUResult {
29
+ sql: string;
30
+ ano: number;
31
+ logradouro: string;
32
+ numero: number | null;
33
+ complemento: string | null;
34
+ bairro: string | null;
35
+ cep: string;
36
+ area_terreno: number | null;
37
+ area_construida: number | null;
38
+ valor_terreno: number | null;
39
+ valor_construcao: number | null;
40
+ valor_venal: number;
41
+ finalidade: string | null;
42
+ tipo_construcao: string | null;
43
+ ano_construcao: number | null;
44
+ cidade: string;
45
+ fonte: string;
46
+ }
25
47
  interface ConsultaSQLResult {
26
48
  sql: string;
27
49
  ano: number;
@@ -87,10 +109,26 @@ declare class IPTUClient {
87
109
  * Busca dados de IPTU por número SQL (Starter+)
88
110
  */
89
111
  consultaSQL(sql: string): Promise<ConsultaSQLResult>;
112
+ /**
113
+ * Busca dados de IPTU por endereço para qualquer cidade suportada
114
+ * @param cidade - Cidade ("sao_paulo" ou "belo_horizonte")
115
+ * @param logradouro - Nome da rua/avenida
116
+ * @param numero - Número do imóvel (opcional)
117
+ * @param ano - Ano de referência (default: 2024)
118
+ * @param limit - Limite de resultados (default: 20)
119
+ */
120
+ consultaIPTU(cidade: Cidade, logradouro: string, numero?: number, ano?: number, limit?: number): Promise<ConsultaIPTUResult[]>;
121
+ /**
122
+ * Busca dados de IPTU pelo identificador único do imóvel
123
+ * @param cidade - Cidade ("sao_paulo" ou "belo_horizonte")
124
+ * @param identificador - Número SQL (SP) ou Índice Cadastral (BH)
125
+ * @param ano - Ano de referência (opcional)
126
+ */
127
+ consultaIPTUSQL(cidade: Cidade, identificador: string, ano?: number): Promise<ConsultaIPTUResult[]>;
90
128
  /**
91
129
  * Estima o valor de mercado do imóvel (Pro+)
92
130
  */
93
131
  valuationEstimate(params: ValuationParams): Promise<ValuationResult>;
94
132
  }
95
133
 
96
- export { AuthenticationError, type ConsultaEnderecoResult, type ConsultaSQLResult, ForbiddenError, IPTUAPIError, IPTUClient, type IPTUClientOptions, NotFoundError, RateLimitError, type ValuationParams, type ValuationResult, IPTUClient as default };
134
+ export { AuthenticationError, type Cidade, type ConsultaEnderecoResult, type ConsultaIPTUResult, type ConsultaSQLResult, ForbiddenError, IPTUAPIError, IPTUClient, type IPTUClientOptions, NotFoundError, RateLimitError, type ValuationParams, type ValuationResult, IPTUClient as default };
package/dist/index.d.ts CHANGED
@@ -11,6 +11,8 @@
11
11
  * const resultado = await client.consultaEndereco('Avenida Paulista', '1000');
12
12
  * ```
13
13
  */
14
+ /** Cidades suportadas pela API */
15
+ type Cidade = 'sao_paulo' | 'belo_horizonte';
14
16
  interface ConsultaEnderecoResult {
15
17
  sql: string;
16
18
  logradouro: string;
@@ -22,6 +24,26 @@ interface ConsultaEnderecoResult {
22
24
  tipo_uso: string;
23
25
  zona: string;
24
26
  }
27
+ /** Resultado da consulta multi-cidade */
28
+ interface ConsultaIPTUResult {
29
+ sql: string;
30
+ ano: number;
31
+ logradouro: string;
32
+ numero: number | null;
33
+ complemento: string | null;
34
+ bairro: string | null;
35
+ cep: string;
36
+ area_terreno: number | null;
37
+ area_construida: number | null;
38
+ valor_terreno: number | null;
39
+ valor_construcao: number | null;
40
+ valor_venal: number;
41
+ finalidade: string | null;
42
+ tipo_construcao: string | null;
43
+ ano_construcao: number | null;
44
+ cidade: string;
45
+ fonte: string;
46
+ }
25
47
  interface ConsultaSQLResult {
26
48
  sql: string;
27
49
  ano: number;
@@ -87,10 +109,26 @@ declare class IPTUClient {
87
109
  * Busca dados de IPTU por número SQL (Starter+)
88
110
  */
89
111
  consultaSQL(sql: string): Promise<ConsultaSQLResult>;
112
+ /**
113
+ * Busca dados de IPTU por endereço para qualquer cidade suportada
114
+ * @param cidade - Cidade ("sao_paulo" ou "belo_horizonte")
115
+ * @param logradouro - Nome da rua/avenida
116
+ * @param numero - Número do imóvel (opcional)
117
+ * @param ano - Ano de referência (default: 2024)
118
+ * @param limit - Limite de resultados (default: 20)
119
+ */
120
+ consultaIPTU(cidade: Cidade, logradouro: string, numero?: number, ano?: number, limit?: number): Promise<ConsultaIPTUResult[]>;
121
+ /**
122
+ * Busca dados de IPTU pelo identificador único do imóvel
123
+ * @param cidade - Cidade ("sao_paulo" ou "belo_horizonte")
124
+ * @param identificador - Número SQL (SP) ou Índice Cadastral (BH)
125
+ * @param ano - Ano de referência (opcional)
126
+ */
127
+ consultaIPTUSQL(cidade: Cidade, identificador: string, ano?: number): Promise<ConsultaIPTUResult[]>;
90
128
  /**
91
129
  * Estima o valor de mercado do imóvel (Pro+)
92
130
  */
93
131
  valuationEstimate(params: ValuationParams): Promise<ValuationResult>;
94
132
  }
95
133
 
96
- export { AuthenticationError, type ConsultaEnderecoResult, type ConsultaSQLResult, ForbiddenError, IPTUAPIError, IPTUClient, type IPTUClientOptions, NotFoundError, RateLimitError, type ValuationParams, type ValuationResult, IPTUClient as default };
134
+ export { AuthenticationError, type Cidade, type ConsultaEnderecoResult, type ConsultaIPTUResult, type ConsultaSQLResult, ForbiddenError, IPTUAPIError, IPTUClient, type IPTUClientOptions, NotFoundError, RateLimitError, type ValuationParams, type ValuationResult, IPTUClient as default };
package/dist/index.js CHANGED
@@ -132,6 +132,46 @@ var IPTUClient = class {
132
132
  async consultaSQL(sql) {
133
133
  return this.request("GET", "/consulta/sql", { sql });
134
134
  }
135
+ /**
136
+ * Busca dados de IPTU por endereço para qualquer cidade suportada
137
+ * @param cidade - Cidade ("sao_paulo" ou "belo_horizonte")
138
+ * @param logradouro - Nome da rua/avenida
139
+ * @param numero - Número do imóvel (opcional)
140
+ * @param ano - Ano de referência (default: 2024)
141
+ * @param limit - Limite de resultados (default: 20)
142
+ */
143
+ async consultaIPTU(cidade, logradouro, numero, ano = 2024, limit = 20) {
144
+ const params = {
145
+ logradouro,
146
+ ano: ano.toString(),
147
+ limit: limit.toString()
148
+ };
149
+ if (numero !== void 0) {
150
+ params.numero = numero.toString();
151
+ }
152
+ return this.request(
153
+ "GET",
154
+ `/dados/iptu/${cidade}/endereco`,
155
+ params
156
+ );
157
+ }
158
+ /**
159
+ * Busca dados de IPTU pelo identificador único do imóvel
160
+ * @param cidade - Cidade ("sao_paulo" ou "belo_horizonte")
161
+ * @param identificador - Número SQL (SP) ou Índice Cadastral (BH)
162
+ * @param ano - Ano de referência (opcional)
163
+ */
164
+ async consultaIPTUSQL(cidade, identificador, ano) {
165
+ const params = {};
166
+ if (ano !== void 0) {
167
+ params.ano = ano.toString();
168
+ }
169
+ return this.request(
170
+ "GET",
171
+ `/dados/iptu/${cidade}/sql/${encodeURIComponent(identificador)}`,
172
+ params
173
+ );
174
+ }
135
175
  /**
136
176
  * Estima o valor de mercado do imóvel (Pro+)
137
177
  */
package/dist/index.mjs CHANGED
@@ -102,6 +102,46 @@ var IPTUClient = class {
102
102
  async consultaSQL(sql) {
103
103
  return this.request("GET", "/consulta/sql", { sql });
104
104
  }
105
+ /**
106
+ * Busca dados de IPTU por endereço para qualquer cidade suportada
107
+ * @param cidade - Cidade ("sao_paulo" ou "belo_horizonte")
108
+ * @param logradouro - Nome da rua/avenida
109
+ * @param numero - Número do imóvel (opcional)
110
+ * @param ano - Ano de referência (default: 2024)
111
+ * @param limit - Limite de resultados (default: 20)
112
+ */
113
+ async consultaIPTU(cidade, logradouro, numero, ano = 2024, limit = 20) {
114
+ const params = {
115
+ logradouro,
116
+ ano: ano.toString(),
117
+ limit: limit.toString()
118
+ };
119
+ if (numero !== void 0) {
120
+ params.numero = numero.toString();
121
+ }
122
+ return this.request(
123
+ "GET",
124
+ `/dados/iptu/${cidade}/endereco`,
125
+ params
126
+ );
127
+ }
128
+ /**
129
+ * Busca dados de IPTU pelo identificador único do imóvel
130
+ * @param cidade - Cidade ("sao_paulo" ou "belo_horizonte")
131
+ * @param identificador - Número SQL (SP) ou Índice Cadastral (BH)
132
+ * @param ano - Ano de referência (opcional)
133
+ */
134
+ async consultaIPTUSQL(cidade, identificador, ano) {
135
+ const params = {};
136
+ if (ano !== void 0) {
137
+ params.ano = ano.toString();
138
+ }
139
+ return this.request(
140
+ "GET",
141
+ `/dados/iptu/${cidade}/sql/${encodeURIComponent(identificador)}`,
142
+ params
143
+ );
144
+ }
105
145
  /**
106
146
  * Estima o valor de mercado do imóvel (Pro+)
107
147
  */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "iptuapi",
3
- "version": "1.0.0",
4
- "description": "SDK oficial para a IPTU API - Dados de IPTU de São Paulo",
3
+ "version": "1.1.0",
4
+ "description": "SDK oficial para a IPTU API - Dados de IPTU de São Paulo e Belo Horizonte",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
7
7
  "types": "dist/index.d.ts",
@@ -16,6 +16,7 @@
16
16
  "iptu",
17
17
  "api",
18
18
  "são paulo",
19
+ "belo horizonte",
19
20
  "imóveis",
20
21
  "dados",
21
22
  "typescript"