@infosel-sdk/markets 1.2.3 → 2.0.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/CHANGELOG.md +281 -3
- package/README.md +111 -423
- package/package.json +1 -1
- package/src/__tests__/__mocks__/apis/markets-api.mock.d.ts +0 -73
- package/src/__tests__/__mocks__/apis/markets-api.mock.js +3 -45
- package/src/__tests__/__mocks__/apis/markets-api.mock.js.map +1 -1
- package/src/__tests__/utils/mock-datasource.js +0 -16
- package/src/__tests__/utils/mock-datasource.js.map +1 -1
- package/src/__tests__/utils/mock-factories.d.ts +0 -104
- package/src/__tests__/utils/mock-factories.js +6 -24
- package/src/__tests__/utils/mock-factories.js.map +1 -1
- package/src/__tests__/utils/mock-repository.d.ts +0 -12
- package/src/__tests__/utils/mock-repository.js +2 -46
- package/src/__tests__/utils/mock-repository.js.map +1 -1
- package/src/__tests__/utils/test-helpers.d.ts +0 -2
- package/src/__tests__/utils/test-helpers.js +0 -6
- package/src/__tests__/utils/test-helpers.js.map +1 -1
- package/src/data/datasources/markets_datasource_impl.d.ts +6 -49
- package/src/data/datasources/markets_datasource_impl.js +11 -661
- package/src/data/datasources/markets_datasource_impl.js.map +1 -1
- package/src/data/di/infosel_markets_component.d.ts +4 -51
- package/src/data/di/infosel_markets_component.js +11 -115
- package/src/data/di/infosel_markets_component.js.map +1 -1
- package/src/data/di/infosel_markets_module.d.ts +1 -4
- package/src/data/di/infosel_markets_module.js +1 -7
- package/src/data/di/infosel_markets_module.js.map +1 -1
- package/src/data/mappers/markets_mapper.d.ts +1 -41
- package/src/data/mappers/markets_mapper.js +17 -114
- package/src/data/mappers/markets_mapper.js.map +1 -1
- package/src/data/models/instrument_fields_model.d.ts +17 -0
- package/src/data/repositories/markets_repository_impl.d.ts +4 -42
- package/src/data/repositories/markets_repository_impl.js +0 -48
- package/src/data/repositories/markets_repository_impl.js.map +1 -1
- package/src/domain/datasources/markets_datasource.d.ts +4 -41
- package/src/domain/di/markets_component.d.ts +18 -35
- package/src/domain/di/markets_module.d.ts +1 -2
- package/src/domain/entities/get_last_request.d.ts +4 -0
- package/src/{data/models/user_model.js → domain/entities/get_last_request.js} +1 -1
- package/src/domain/entities/get_last_request.js.map +1 -0
- package/src/domain/entities/index.d.ts +0 -18
- package/src/domain/entities/index.js +0 -18
- package/src/domain/entities/index.js.map +1 -1
- package/src/domain/entities/instrument_fields.d.ts +17 -0
- package/src/domain/repositories/markets_repository.d.ts +4 -37
- package/src/domain/use_cases/get_instrument_fields_use_case.d.ts +3 -2
- package/src/domain/use_cases/get_instrument_fields_use_case.js.map +1 -1
- package/src/domain/use_cases/get_instrument_multiple_fields_use_case.d.ts +2 -1
- package/src/domain/use_cases/get_instrument_multiple_fields_use_case.js.map +1 -1
- package/src/index.d.ts +1 -4
- package/src/index.js +0 -2
- package/src/index.js.map +1 -1
- package/src/data/models/delete_workspace_response_model.d.ts +0 -5
- package/src/data/models/delete_workspace_response_model.js +0 -3
- package/src/data/models/delete_workspace_response_model.js.map +0 -1
- package/src/data/models/get_user_workspaces_response_model.d.ts +0 -13
- package/src/data/models/get_user_workspaces_response_model.js +0 -3
- package/src/data/models/get_user_workspaces_response_model.js.map +0 -1
- package/src/data/models/project_model.d.ts +0 -12
- package/src/data/models/project_model.js +0 -3
- package/src/data/models/project_model.js.map +0 -1
- package/src/data/models/project_widgets_response_model.d.ts +0 -8
- package/src/data/models/project_widgets_response_model.js +0 -3
- package/src/data/models/project_widgets_response_model.js.map +0 -1
- package/src/data/models/user_model.d.ts +0 -7
- package/src/data/models/user_model.js.map +0 -1
- package/src/data/models/widget_chart_configuration_model.d.ts +0 -4
- package/src/data/models/widget_chart_configuration_model.js +0 -3
- package/src/data/models/widget_chart_configuration_model.js.map +0 -1
- package/src/data/models/widget_dynamic_table_configuration.d.ts +0 -12
- package/src/data/models/widget_dynamic_table_configuration.js +0 -3
- package/src/data/models/widget_dynamic_table_configuration.js.map +0 -1
- package/src/data/models/widget_layout_model.d.ts +0 -6
- package/src/data/models/widget_layout_model.js +0 -3
- package/src/data/models/widget_layout_model.js.map +0 -1
- package/src/data/models/widget_model.d.ts +0 -19
- package/src/data/models/widget_model.js +0 -3
- package/src/data/models/widget_model.js.map +0 -1
- package/src/data/models/widget_size_model.d.ts +0 -9
- package/src/data/models/widget_size_model.js +0 -3
- package/src/data/models/widget_size_model.js.map +0 -1
- package/src/data/models/widget_table_column_format_model.d.ts +0 -6
- package/src/data/models/widget_table_column_format_model.js +0 -3
- package/src/data/models/widget_table_column_format_model.js.map +0 -1
- package/src/data/models/widget_table_column_model.d.ts +0 -8
- package/src/data/models/widget_table_column_model.js +0 -3
- package/src/data/models/widget_table_column_model.js.map +0 -1
- package/src/data/models/widget_ticker_configuration.d.ts +0 -7
- package/src/data/models/widget_ticker_configuration.js +0 -3
- package/src/data/models/widget_ticker_configuration.js.map +0 -1
- package/src/data/models/workspace_model.d.ts +0 -6
- package/src/data/models/workspace_model.js +0 -3
- package/src/data/models/workspace_model.js.map +0 -1
- package/src/domain/entities/chart_configuration.d.ts +0 -5
- package/src/domain/entities/chart_configuration.js +0 -3
- package/src/domain/entities/chart_configuration.js.map +0 -1
- package/src/domain/entities/create_instrument_request.d.ts +0 -5
- package/src/domain/entities/create_instrument_request.js +0 -3
- package/src/domain/entities/create_instrument_request.js.map +0 -1
- package/src/domain/entities/create_widget_request.d.ts +0 -30
- package/src/domain/entities/create_widget_request.js +0 -3
- package/src/domain/entities/create_widget_request.js.map +0 -1
- package/src/domain/entities/create_workspace_request.d.ts +0 -5
- package/src/domain/entities/create_workspace_request.js +0 -3
- package/src/domain/entities/create_workspace_request.js.map +0 -1
- package/src/domain/entities/delete_workspace_request.d.ts +0 -3
- package/src/domain/entities/delete_workspace_request.js +0 -3
- package/src/domain/entities/delete_workspace_request.js.map +0 -1
- package/src/domain/entities/duplicate_widget_request.d.ts +0 -5
- package/src/domain/entities/duplicate_widget_request.js +0 -3
- package/src/domain/entities/duplicate_widget_request.js.map +0 -1
- package/src/domain/entities/get_instruments_request.d.ts +0 -12
- package/src/domain/entities/get_instruments_request.js +0 -3
- package/src/domain/entities/get_instruments_request.js.map +0 -1
- package/src/domain/entities/get_project_widgets_request.d.ts +0 -12
- package/src/domain/entities/get_project_widgets_request.js +0 -3
- package/src/domain/entities/get_project_widgets_request.js.map +0 -1
- package/src/domain/entities/get_user_workspaces_request.d.ts +0 -4
- package/src/domain/entities/get_user_workspaces_request.js +0 -3
- package/src/domain/entities/get_user_workspaces_request.js.map +0 -1
- package/src/domain/entities/get_workspace_request.d.ts +0 -3
- package/src/domain/entities/get_workspace_request.js +0 -3
- package/src/domain/entities/get_workspace_request.js.map +0 -1
- package/src/domain/entities/get_workspaces_by_user_request.d.ts +0 -12
- package/src/domain/entities/get_workspaces_by_user_request.js +0 -3
- package/src/domain/entities/get_workspaces_by_user_request.js.map +0 -1
- package/src/domain/entities/get_workspaces_request.d.ts +0 -12
- package/src/domain/entities/get_workspaces_request.js +0 -3
- package/src/domain/entities/get_workspaces_request.js.map +0 -1
- package/src/domain/entities/instruments_response.d.ts +0 -6
- package/src/domain/entities/instruments_response.js +0 -3
- package/src/domain/entities/instruments_response.js.map +0 -1
- package/src/domain/entities/news_configuration.d.ts +0 -8
- package/src/domain/entities/news_configuration.js +0 -3
- package/src/domain/entities/news_configuration.js.map +0 -1
- package/src/domain/entities/project_widgets_container.d.ts +0 -12
- package/src/domain/entities/project_widgets_container.js +0 -3
- package/src/domain/entities/project_widgets_container.js.map +0 -1
- package/src/domain/entities/update_widget_chart_request.d.ts +0 -4
- package/src/domain/entities/update_widget_chart_request.js +0 -3
- package/src/domain/entities/update_widget_chart_request.js.map +0 -1
- package/src/domain/entities/update_widget_instruments_reques.d.ts +0 -11
- package/src/domain/entities/update_widget_instruments_reques.js +0 -3
- package/src/domain/entities/update_widget_instruments_reques.js.map +0 -1
- package/src/domain/entities/update_workspace_request.d.ts +0 -5
- package/src/domain/entities/update_workspace_request.js +0 -3
- package/src/domain/entities/update_workspace_request.js.map +0 -1
- package/src/domain/entities/user_workspaces.d.ts +0 -8
- package/src/domain/entities/user_workspaces.js +0 -3
- package/src/domain/entities/user_workspaces.js.map +0 -1
- package/src/domain/entities/widget.d.ts +0 -66
- package/src/domain/entities/widget.js +0 -3
- package/src/domain/entities/widget.js.map +0 -1
- package/src/domain/entities/widget_size_config.d.ts +0 -13
- package/src/domain/entities/widget_size_config.js +0 -3
- package/src/domain/entities/widget_size_config.js.map +0 -1
- package/src/domain/entities/workspace.d.ts +0 -5
- package/src/domain/entities/workspace.js +0 -3
- package/src/domain/entities/workspace.js.map +0 -1
- package/src/domain/entities/workspace_widgets.d.ts +0 -6
- package/src/domain/entities/workspace_widgets.js +0 -3
- package/src/domain/entities/workspace_widgets.js.map +0 -1
- package/src/domain/entities/workspaces_container.d.ts +0 -18
- package/src/domain/entities/workspaces_container.js +0 -3
- package/src/domain/entities/workspaces_container.js.map +0 -1
- package/src/domain/use_cases/create_instrument_use_case.d.ts +0 -9
- package/src/domain/use_cases/create_instrument_use_case.js +0 -22
- package/src/domain/use_cases/create_instrument_use_case.js.map +0 -1
- package/src/domain/use_cases/create_widget_use_case.d.ts +0 -9
- package/src/domain/use_cases/create_widget_use_case.js +0 -22
- package/src/domain/use_cases/create_widget_use_case.js.map +0 -1
- package/src/domain/use_cases/create_workspace_use_case.d.ts +0 -9
- package/src/domain/use_cases/create_workspace_use_case.js +0 -22
- package/src/domain/use_cases/create_workspace_use_case.js.map +0 -1
- package/src/domain/use_cases/delete_instrument_use_case.d.ts +0 -7
- package/src/domain/use_cases/delete_instrument_use_case.js +0 -19
- package/src/domain/use_cases/delete_instrument_use_case.js.map +0 -1
- package/src/domain/use_cases/delete_widget_use_case.d.ts +0 -7
- package/src/domain/use_cases/delete_widget_use_case.js +0 -19
- package/src/domain/use_cases/delete_widget_use_case.js.map +0 -1
- package/src/domain/use_cases/delete_workspace_use_case.d.ts +0 -8
- package/src/domain/use_cases/delete_workspace_use_case.js +0 -22
- package/src/domain/use_cases/delete_workspace_use_case.js.map +0 -1
- package/src/domain/use_cases/duplicate_widget_use_case.d.ts +0 -8
- package/src/domain/use_cases/duplicate_widget_use_case.js +0 -15
- package/src/domain/use_cases/duplicate_widget_use_case.js.map +0 -1
- package/src/domain/use_cases/get_instruments_use_case.d.ts +0 -9
- package/src/domain/use_cases/get_instruments_use_case.js +0 -16
- package/src/domain/use_cases/get_instruments_use_case.js.map +0 -1
- package/src/domain/use_cases/get_project_widgets_use_case.d.ts +0 -9
- package/src/domain/use_cases/get_project_widgets_use_case.js +0 -19
- package/src/domain/use_cases/get_project_widgets_use_case.js.map +0 -1
- package/src/domain/use_cases/get_user_workspace_use_case.d.ts +0 -9
- package/src/domain/use_cases/get_user_workspace_use_case.js +0 -22
- package/src/domain/use_cases/get_user_workspace_use_case.js.map +0 -1
- package/src/domain/use_cases/get_workspace_use_case.d.ts +0 -9
- package/src/domain/use_cases/get_workspace_use_case.js +0 -19
- package/src/domain/use_cases/get_workspace_use_case.js.map +0 -1
- package/src/domain/use_cases/get_workspaces_by_user_use_case.d.ts +0 -9
- package/src/domain/use_cases/get_workspaces_by_user_use_case.js +0 -19
- package/src/domain/use_cases/get_workspaces_by_user_use_case.js.map +0 -1
- package/src/domain/use_cases/get_workspaces_use_case.d.ts +0 -9
- package/src/domain/use_cases/get_workspaces_use_case.js +0 -19
- package/src/domain/use_cases/get_workspaces_use_case.js.map +0 -1
- package/src/domain/use_cases/update_widget_chart_use_case.d.ts +0 -7
- package/src/domain/use_cases/update_widget_chart_use_case.js +0 -15
- package/src/domain/use_cases/update_widget_chart_use_case.js.map +0 -1
- package/src/domain/use_cases/update_widget_instruments_use_case.d.ts +0 -9
- package/src/domain/use_cases/update_widget_instruments_use_case.js +0 -22
- package/src/domain/use_cases/update_widget_instruments_use_case.js.map +0 -1
- package/src/domain/use_cases/update_workspace_use_case.d.ts +0 -8
- package/src/domain/use_cases/update_workspace_use_case.js +0 -15
- package/src/domain/use_cases/update_workspace_use_case.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
# @infosel-sdk/markets
|
|
2
2
|
|
|
3
|
-
SDK de Mercados Financieros para la plataforma Infosel. Proporciona herramientas completas para acceder a datos de mercado,
|
|
3
|
+
SDK de Mercados Financieros para la plataforma Infosel. Proporciona herramientas completas para acceder a datos de mercado, buscar instrumentos y obtener detalles financieros para aplicaciones financieras.
|
|
4
4
|
|
|
5
5
|
## 🚀 Características
|
|
6
6
|
|
|
7
7
|
- **Acceso a Datos de Mercado**: Datos de mercado en tiempo real e históricos
|
|
8
|
-
- **
|
|
9
|
-
- **Sistema de Widgets**: Crear y gestionar widgets financieros personalizables
|
|
10
|
-
- **Gestión de Espacios de Trabajo**: Organizar y gestionar espacios de trabajo de usuarios
|
|
8
|
+
- **Búsqueda de Instrumentos**: Buscar instrumentos financieros con filtros avanzados
|
|
11
9
|
- **Datos de Gráficos**: Acceder a datos de gráficos con múltiples marcos de tiempo
|
|
12
10
|
- **Reportes Financieros**: Acceder a datos financieros e informes de instrumentos
|
|
11
|
+
- **Detalles de Instrumentos**: Obtener perfiles y datos financieros detallados de instrumentos
|
|
13
12
|
|
|
14
13
|
## 📦 Instalación
|
|
15
14
|
|
|
@@ -84,8 +83,6 @@ const sdkManager = InfoselSdkManager.initWithConfiguration({
|
|
|
84
83
|
const marketsSDK = InfoselMarkets.init({ sdkManager });
|
|
85
84
|
```
|
|
86
85
|
|
|
87
|
-
|
|
88
|
-
|
|
89
86
|
## 🔍 Validación de Configuración
|
|
90
87
|
|
|
91
88
|
La nueva API incluye validaciones robustas:
|
|
@@ -141,44 +138,17 @@ const filteredResults = await marketsSDK.searchInstruments({
|
|
|
141
138
|
console.log('Instrumentos encontrados:', searchResults);
|
|
142
139
|
```
|
|
143
140
|
|
|
144
|
-
#### Obtener
|
|
145
|
-
|
|
146
|
-
```typescript
|
|
147
|
-
const instruments = await marketsSDK.getInstruments({
|
|
148
|
-
// Parámetros de paginación y filtros
|
|
149
|
-
limit: 50,
|
|
150
|
-
offset: 0,
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
console.log('Total de instrumentos:', instruments.total);
|
|
154
|
-
console.log('Instrumentos:', instruments.instruments);
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
#### Crear Instrumento Personalizado
|
|
141
|
+
#### Obtener Campos del Instrumento
|
|
158
142
|
|
|
159
143
|
```typescript
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
widgetId: 'widget-123',
|
|
164
|
-
// Otros campos del instrumento
|
|
144
|
+
const fields = await marketsSDK.getInstrumentFields({
|
|
145
|
+
instrumentKey: '1/12576/0/AC*/AAPL',
|
|
146
|
+
useCache: true, // Opcional
|
|
165
147
|
});
|
|
166
148
|
|
|
167
|
-
console.log('
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
#### Eliminar Instrumento
|
|
171
|
-
|
|
172
|
-
```typescript
|
|
173
|
-
const result = await marketsSDK.deleteInstrument('instrument-id-123');
|
|
174
|
-
console.log('Resultado:', result); // Mensaje de confirmación
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
#### Obtener Campos del Instrumento
|
|
178
|
-
|
|
179
|
-
```typescript
|
|
180
|
-
const fields = await marketsSDK.getInstrumentFields('instrument-id-123');
|
|
181
|
-
console.log('Campos disponibles:', fields);
|
|
149
|
+
console.log('Campos del instrumento:', fields);
|
|
150
|
+
console.log('Precio actual:', fields.precioActual);
|
|
151
|
+
console.log('Variación:', fields.variacion);
|
|
182
152
|
```
|
|
183
153
|
|
|
184
154
|
### 📊 Detalles Financieros de Instrumentos
|
|
@@ -187,7 +157,7 @@ console.log('Campos disponibles:', fields);
|
|
|
187
157
|
|
|
188
158
|
```typescript
|
|
189
159
|
const profile = await marketsSDK.getInstrumentDetailProfile({
|
|
190
|
-
|
|
160
|
+
instrumentKey: '1/12576/0/AC*/AAPL',
|
|
191
161
|
});
|
|
192
162
|
|
|
193
163
|
console.log('Perfil del instrumento:', profile);
|
|
@@ -197,8 +167,9 @@ console.log('Perfil del instrumento:', profile);
|
|
|
197
167
|
|
|
198
168
|
```typescript
|
|
199
169
|
const quarterlyData = await marketsSDK.getInstrumentDetailFinancialQuartely({
|
|
200
|
-
|
|
201
|
-
|
|
170
|
+
instrumentKey: '1/12576/0/AC*/AAPL',
|
|
171
|
+
exercise: '2023',
|
|
172
|
+
period: 4, // Q4
|
|
202
173
|
});
|
|
203
174
|
|
|
204
175
|
console.log('Datos trimestrales:', quarterlyData);
|
|
@@ -208,8 +179,9 @@ console.log('Datos trimestrales:', quarterlyData);
|
|
|
208
179
|
|
|
209
180
|
```typescript
|
|
210
181
|
const annualData = await marketsSDK.getInstrumentDetailFinancialAnnual({
|
|
211
|
-
|
|
212
|
-
|
|
182
|
+
instrumentKey: '1/12576/0/AC*/AAPL',
|
|
183
|
+
exercise: '2023',
|
|
184
|
+
fields: 'revenue,profit,assets', // Opcional: campos específicos
|
|
213
185
|
});
|
|
214
186
|
|
|
215
187
|
console.log('Datos anuales:', annualData);
|
|
@@ -219,8 +191,9 @@ console.log('Datos anuales:', annualData);
|
|
|
219
191
|
|
|
220
192
|
```typescript
|
|
221
193
|
const financialReasons = await marketsSDK.getInstrumentDetailFinancialReasons({
|
|
222
|
-
|
|
223
|
-
|
|
194
|
+
instrumentKey: '1/12576/0/AC*/AAPL',
|
|
195
|
+
exercise: '2023',
|
|
196
|
+
period: 'Q4',
|
|
224
197
|
});
|
|
225
198
|
|
|
226
199
|
console.log('Razones financieras:', financialReasons);
|
|
@@ -230,171 +203,13 @@ console.log('Razones financieras:', financialReasons);
|
|
|
230
203
|
|
|
231
204
|
```typescript
|
|
232
205
|
const reportReasons = await marketsSDK.getInstrumentReportFinancialReasons({
|
|
233
|
-
|
|
234
|
-
|
|
206
|
+
instrumentKey: '1/12576/0/AC*/AAPL',
|
|
207
|
+
exercises: '2023,2022', // Opcional: múltiples ejercicios
|
|
235
208
|
});
|
|
236
209
|
|
|
237
210
|
console.log('Reporte con razones:', reportReasons);
|
|
238
211
|
```
|
|
239
212
|
|
|
240
|
-
### 🎯 Gestión de Widgets
|
|
241
|
-
|
|
242
|
-
#### Crear Widget
|
|
243
|
-
|
|
244
|
-
```typescript
|
|
245
|
-
// Widget de gráfico
|
|
246
|
-
const chartWidget = await marketsSDK.createWidget({
|
|
247
|
-
workspaceId: 'workspace-123',
|
|
248
|
-
type: 'CHART',
|
|
249
|
-
name: 'Gráfico de AAPL',
|
|
250
|
-
instruments: [
|
|
251
|
-
{
|
|
252
|
-
uniqueKey: 'AAPL_US',
|
|
253
|
-
symbol: 'AAPL',
|
|
254
|
-
},
|
|
255
|
-
],
|
|
256
|
-
});
|
|
257
|
-
|
|
258
|
-
// Widget de tabla
|
|
259
|
-
const tableWidget = await marketsSDK.createWidget({
|
|
260
|
-
workspaceId: 'workspace-123',
|
|
261
|
-
type: 'DYNAMIC_TABLE',
|
|
262
|
-
name: 'Tabla de Precios',
|
|
263
|
-
instruments: [
|
|
264
|
-
{
|
|
265
|
-
uniqueKey: 'AAPL_US',
|
|
266
|
-
symbol: 'AAPL',
|
|
267
|
-
},
|
|
268
|
-
{
|
|
269
|
-
uniqueKey: 'MSFT_US',
|
|
270
|
-
symbol: 'MSFT',
|
|
271
|
-
},
|
|
272
|
-
],
|
|
273
|
-
});
|
|
274
|
-
|
|
275
|
-
console.log('Widget creado:', chartWidget);
|
|
276
|
-
```
|
|
277
|
-
|
|
278
|
-
#### Tipos de Widgets Disponibles
|
|
279
|
-
|
|
280
|
-
```typescript
|
|
281
|
-
// Tipos soportados:
|
|
282
|
-
// - 'DYNAMIC_TABLE': Tabla dinámica
|
|
283
|
-
// - 'PREDEFINED_TABLE': Tabla predefinida
|
|
284
|
-
// - 'CUSTOM_TABLE': Tabla personalizada
|
|
285
|
-
// - 'NEWS_LIST': Lista de noticias
|
|
286
|
-
// - 'TICKER_TAPE': Cinta de ticker
|
|
287
|
-
// - 'CHART': Gráfico
|
|
288
|
-
// - 'UNKNOWN': Tipo desconocido
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
#### Actualizar Instrumentos del Widget
|
|
292
|
-
|
|
293
|
-
```typescript
|
|
294
|
-
const updatedInstruments = await marketsSDK.updateWidgetInstruments({
|
|
295
|
-
widgetId: 'widget-123',
|
|
296
|
-
instruments: {
|
|
297
|
-
keys: ['AAPL_US', 'MSFT_US', 'GOOGL_US'],
|
|
298
|
-
},
|
|
299
|
-
});
|
|
300
|
-
|
|
301
|
-
console.log('Instrumentos actualizados:', updatedInstruments);
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
#### Eliminar Widget
|
|
305
|
-
|
|
306
|
-
```typescript
|
|
307
|
-
const result = await marketsSDK.deleteWidget('widget-123');
|
|
308
|
-
console.log('Resultado:', result);
|
|
309
|
-
```
|
|
310
|
-
|
|
311
|
-
#### Obtener Widgets del Proyecto
|
|
312
|
-
|
|
313
|
-
```typescript
|
|
314
|
-
const projectWidgets = await marketsSDK.getProjectWidgets({
|
|
315
|
-
projectId: 'project-123',
|
|
316
|
-
});
|
|
317
|
-
|
|
318
|
-
console.log('Widgets del proyecto:', projectWidgets);
|
|
319
|
-
```
|
|
320
|
-
|
|
321
|
-
### 🏢 Gestión de Espacios de Trabajo
|
|
322
|
-
|
|
323
|
-
#### Crear Espacio de Trabajo
|
|
324
|
-
|
|
325
|
-
```typescript
|
|
326
|
-
const workspace = await marketsSDK.createWorkspace({
|
|
327
|
-
name: 'Mi Dashboard de Trading',
|
|
328
|
-
description: 'Espacio de trabajo personal para análisis de mercado',
|
|
329
|
-
userId: 'user-123', // Opcional: asociar a usuario específico
|
|
330
|
-
projectId: 'project-123', // Opcional: asociar a proyecto específico
|
|
331
|
-
});
|
|
332
|
-
|
|
333
|
-
console.log('Espacio de trabajo creado:', workspace);
|
|
334
|
-
```
|
|
335
|
-
|
|
336
|
-
#### Obtener Espacios de Trabajo
|
|
337
|
-
|
|
338
|
-
```typescript
|
|
339
|
-
// Obtener todos los espacios de trabajo
|
|
340
|
-
const allWorkspaces = await marketsSDK.getWorkspaces({
|
|
341
|
-
projectId: 'project-123', // ID del proyecto requerido
|
|
342
|
-
params: {
|
|
343
|
-
instruments: {
|
|
344
|
-
options: {
|
|
345
|
-
limit: 100,
|
|
346
|
-
offset: 0,
|
|
347
|
-
sort: { field: 'name', direction: 'asc' }, // Ordenar por nombre ascendente
|
|
348
|
-
},
|
|
349
|
-
},
|
|
350
|
-
},
|
|
351
|
-
});
|
|
352
|
-
|
|
353
|
-
// Obtener espacios de trabajo por usuario
|
|
354
|
-
const userWorkspaces = await marketsSDK.getWorkspacesByUser({
|
|
355
|
-
userId: 'user-123',
|
|
356
|
-
params: {
|
|
357
|
-
instruments: {
|
|
358
|
-
options: {
|
|
359
|
-
limit: 50,
|
|
360
|
-
offset: 0,
|
|
361
|
-
sort: { field: 'createdAt', direction: 'desc' }, // Ordenar por fecha de creación descendente
|
|
362
|
-
},
|
|
363
|
-
},
|
|
364
|
-
},
|
|
365
|
-
});
|
|
366
|
-
|
|
367
|
-
// Obtener espacios de trabajo específicos del usuario
|
|
368
|
-
const specificUserWorkspaces = await marketsSDK.getUserWorkspaces({
|
|
369
|
-
connectionId: 'connection-123',
|
|
370
|
-
});
|
|
371
|
-
|
|
372
|
-
console.log('Espacios de trabajo:', allWorkspaces);
|
|
373
|
-
|
|
374
|
-
**Nota importante**: Los métodos `getWorkspaces()` y `getWorkspacesByUser()` requieren un `projectId` o `userId` respectivamente, y los parámetros de paginación (`limit`, `offset`) y ordenamiento (`sort`) deben estar anidados dentro de `params.instruments.options`.
|
|
375
|
-
```
|
|
376
|
-
|
|
377
|
-
#### Obtener Detalles del Espacio de Trabajo
|
|
378
|
-
|
|
379
|
-
```typescript
|
|
380
|
-
const workspaceDetails = await marketsSDK.getWorkspace({
|
|
381
|
-
workspaceId: 'workspace-123',
|
|
382
|
-
});
|
|
383
|
-
|
|
384
|
-
console.log('Detalles del workspace:', workspaceDetails);
|
|
385
|
-
console.log('Widgets en el workspace:', workspaceDetails.widgets);
|
|
386
|
-
```
|
|
387
|
-
|
|
388
|
-
#### Eliminar Espacio de Trabajo
|
|
389
|
-
|
|
390
|
-
```typescript
|
|
391
|
-
const result = await marketsSDK.deleteWorkspace({
|
|
392
|
-
id: 'workspace-123',
|
|
393
|
-
});
|
|
394
|
-
|
|
395
|
-
console.log('Resultado:', result);
|
|
396
|
-
```
|
|
397
|
-
|
|
398
213
|
### 📈 Datos de Gráficos
|
|
399
214
|
|
|
400
215
|
#### Obtener Datos de Gráfico
|
|
@@ -402,7 +217,7 @@ console.log('Resultado:', result);
|
|
|
402
217
|
```typescript
|
|
403
218
|
// Gráfico diario
|
|
404
219
|
const dailyChart = await marketsSDK.getChartData({
|
|
405
|
-
instrumentKey: '
|
|
220
|
+
instrumentKey: '1/12576/0/AC*/AAPL',
|
|
406
221
|
period: {
|
|
407
222
|
type: 'day',
|
|
408
223
|
value: 1,
|
|
@@ -412,7 +227,7 @@ const dailyChart = await marketsSDK.getChartData({
|
|
|
412
227
|
|
|
413
228
|
// Gráfico semanal
|
|
414
229
|
const weeklyChart = await marketsSDK.getChartData({
|
|
415
|
-
instrumentKey: '
|
|
230
|
+
instrumentKey: '1/12576/0/AC*/AAPL',
|
|
416
231
|
period: {
|
|
417
232
|
type: 'week',
|
|
418
233
|
value: 4,
|
|
@@ -422,7 +237,7 @@ const weeklyChart = await marketsSDK.getChartData({
|
|
|
422
237
|
|
|
423
238
|
// Gráfico mensual
|
|
424
239
|
const monthlyChart = await marketsSDK.getChartData({
|
|
425
|
-
instrumentKey: '
|
|
240
|
+
instrumentKey: '1/12576/0/AC*/AAPL',
|
|
426
241
|
period: {
|
|
427
242
|
type: 'month',
|
|
428
243
|
value: 12,
|
|
@@ -446,13 +261,13 @@ console.log('Datos del gráfico diario:', dailyChart);
|
|
|
446
261
|
const periods = {
|
|
447
262
|
// 1 día con intervalos de 1 hora
|
|
448
263
|
daily: { type: 'day', value: 1, interval: 1 },
|
|
449
|
-
|
|
264
|
+
|
|
450
265
|
// 5 días con intervalos de 1 día
|
|
451
266
|
week: { type: 'day', value: 5, interval: 1 },
|
|
452
|
-
|
|
267
|
+
|
|
453
268
|
// 4 semanas con intervalos de 1 semana
|
|
454
269
|
monthly: { type: 'week', value: 4, interval: 1 },
|
|
455
|
-
|
|
270
|
+
|
|
456
271
|
// 12 meses con intervalos de 1 mes
|
|
457
272
|
yearly: { type: 'month', value: 12, interval: 1 },
|
|
458
273
|
};
|
|
@@ -491,57 +306,54 @@ class TradingDashboard {
|
|
|
491
306
|
this.marketsSDK = InfoselMarkets.init({ sdkManager });
|
|
492
307
|
}
|
|
493
308
|
|
|
494
|
-
//
|
|
495
|
-
async
|
|
309
|
+
// Obtener datos completos de un instrumento
|
|
310
|
+
async getCompleteInstrumentData(instrumentKey: string) {
|
|
496
311
|
try {
|
|
497
|
-
// 1.
|
|
498
|
-
const
|
|
499
|
-
|
|
500
|
-
description: 'Dashboard completo para análisis de mercado',
|
|
501
|
-
userId,
|
|
502
|
-
// Nota: userId y projectId son mutuamente excluyentes
|
|
503
|
-
// Si se proporciona userId, no se debe incluir projectId
|
|
504
|
-
});
|
|
505
|
-
|
|
506
|
-
// 2. Crear widget de gráfico para AAPL
|
|
507
|
-
const chartWidget = await this.marketsSDK.createWidget({
|
|
508
|
-
workspaceId: workspace.id,
|
|
509
|
-
type: 'CHART',
|
|
510
|
-
name: 'Gráfico AAPL',
|
|
511
|
-
instruments: [{ uniqueKey: 'AAPL_US', symbol: 'AAPL' }],
|
|
312
|
+
// 1. Obtener campos del instrumento
|
|
313
|
+
const fields = await this.marketsSDK.getInstrumentFields({
|
|
314
|
+
instrumentKey,
|
|
512
315
|
});
|
|
513
316
|
|
|
514
|
-
//
|
|
515
|
-
const tableWidget = await this.marketsSDK.createWidget({
|
|
516
|
-
workspaceId: workspace.id,
|
|
517
|
-
type: 'DYNAMIC_TABLE',
|
|
518
|
-
name: 'Portafolio',
|
|
519
|
-
instruments: [
|
|
520
|
-
{ uniqueKey: 'AAPL_US', symbol: 'AAPL' },
|
|
521
|
-
{ uniqueKey: 'MSFT_US', symbol: 'MSFT' },
|
|
522
|
-
{ uniqueKey: 'GOOGL_US', symbol: 'GOOGL' },
|
|
523
|
-
],
|
|
524
|
-
});
|
|
525
|
-
|
|
526
|
-
// 4. Obtener datos del gráfico
|
|
317
|
+
// 2. Obtener datos del gráfico
|
|
527
318
|
const chartData = await this.marketsSDK.getChartData({
|
|
528
|
-
instrumentKey
|
|
319
|
+
instrumentKey,
|
|
529
320
|
period: { type: 'day', value: 30, interval: 1 },
|
|
530
321
|
});
|
|
531
322
|
|
|
532
|
-
//
|
|
323
|
+
// 3. Obtener perfil del instrumento
|
|
533
324
|
const profile = await this.marketsSDK.getInstrumentDetailProfile({
|
|
534
|
-
|
|
325
|
+
instrumentKey,
|
|
535
326
|
});
|
|
536
327
|
|
|
328
|
+
// 4. Obtener datos financieros
|
|
329
|
+
const [quarterly, annual, financialReasons] = await Promise.all([
|
|
330
|
+
this.marketsSDK.getInstrumentDetailFinancialQuartely({
|
|
331
|
+
instrumentKey,
|
|
332
|
+
exercise: '2023',
|
|
333
|
+
period: 4,
|
|
334
|
+
}),
|
|
335
|
+
this.marketsSDK.getInstrumentDetailFinancialAnnual({
|
|
336
|
+
instrumentKey,
|
|
337
|
+
exercise: '2023',
|
|
338
|
+
fields: 'revenue,profit',
|
|
339
|
+
}),
|
|
340
|
+
this.marketsSDK.getInstrumentDetailFinancialReasons({
|
|
341
|
+
instrumentKey,
|
|
342
|
+
exercise: '2023',
|
|
343
|
+
period: 'Q4',
|
|
344
|
+
}),
|
|
345
|
+
]);
|
|
346
|
+
|
|
537
347
|
return {
|
|
538
|
-
|
|
539
|
-
widgets: [chartWidget, tableWidget],
|
|
348
|
+
fields,
|
|
540
349
|
chartData,
|
|
541
350
|
profile,
|
|
351
|
+
quarterly,
|
|
352
|
+
annual,
|
|
353
|
+
financialReasons,
|
|
542
354
|
};
|
|
543
355
|
} catch (error) {
|
|
544
|
-
console.error('Error
|
|
356
|
+
console.error('Error obteniendo datos del instrumento:', error);
|
|
545
357
|
throw error;
|
|
546
358
|
}
|
|
547
359
|
}
|
|
@@ -561,19 +373,21 @@ class TradingDashboard {
|
|
|
561
373
|
}
|
|
562
374
|
|
|
563
375
|
// Obtener datos financieros
|
|
564
|
-
async getFinancialData(
|
|
376
|
+
async getFinancialData(instrumentKey: string) {
|
|
565
377
|
try {
|
|
566
378
|
const [quarterly, annual, profile] = await Promise.all([
|
|
567
379
|
this.marketsSDK.getInstrumentDetailFinancialQuartely({
|
|
568
|
-
|
|
569
|
-
|
|
380
|
+
instrumentKey,
|
|
381
|
+
exercise: '2023',
|
|
382
|
+
period: 4,
|
|
570
383
|
}),
|
|
571
384
|
this.marketsSDK.getInstrumentDetailFinancialAnnual({
|
|
572
|
-
|
|
573
|
-
|
|
385
|
+
instrumentKey,
|
|
386
|
+
exercise: '2023',
|
|
387
|
+
fields: 'revenue,profit',
|
|
574
388
|
}),
|
|
575
389
|
this.marketsSDK.getInstrumentDetailProfile({
|
|
576
|
-
|
|
390
|
+
instrumentKey,
|
|
577
391
|
}),
|
|
578
392
|
]);
|
|
579
393
|
|
|
@@ -588,18 +402,22 @@ class TradingDashboard {
|
|
|
588
402
|
// Uso del dashboard
|
|
589
403
|
async function main() {
|
|
590
404
|
const dashboard = new TradingDashboard();
|
|
591
|
-
|
|
405
|
+
|
|
592
406
|
try {
|
|
593
|
-
//
|
|
594
|
-
const
|
|
595
|
-
|
|
407
|
+
// Obtener datos completos de un instrumento
|
|
408
|
+
const instrumentData = await dashboard.getCompleteInstrumentData(
|
|
409
|
+
'1/12576/0/AC*/AAPL',
|
|
410
|
+
);
|
|
411
|
+
console.log('Datos del instrumento:', instrumentData);
|
|
596
412
|
|
|
597
413
|
// Buscar instrumentos
|
|
598
414
|
const searchResults = await dashboard.searchInstruments('TECH', 5);
|
|
599
415
|
console.log('Resultados de búsqueda:', searchResults);
|
|
600
416
|
|
|
601
417
|
// Obtener datos financieros
|
|
602
|
-
const financialData = await dashboard.getFinancialData(
|
|
418
|
+
const financialData = await dashboard.getFinancialData(
|
|
419
|
+
'1/12576/0/AC*/AAPL',
|
|
420
|
+
);
|
|
603
421
|
console.log('Datos financieros:', financialData);
|
|
604
422
|
} catch (error) {
|
|
605
423
|
console.error('Error en main:', error);
|
|
@@ -623,8 +441,8 @@ class AdvancedInstrumentSearch {
|
|
|
623
441
|
async searchWithFilters(options: {
|
|
624
442
|
query: string;
|
|
625
443
|
marketTypes?: number[]; // Tipos de mercado (ej: [1, 2] para Acciones y Bonos)
|
|
626
|
-
valueTypes?: number[];
|
|
627
|
-
exchanges?: number[];
|
|
444
|
+
valueTypes?: number[]; // Tipos de valor (ej: [1] para Equity)
|
|
445
|
+
exchanges?: number[]; // Exchanges (ej: [1, 2] para NYSE y NASDAQ)
|
|
628
446
|
limit?: number;
|
|
629
447
|
}) {
|
|
630
448
|
try {
|
|
@@ -674,113 +492,6 @@ const nasdaqStocks = await searchSystem.searchByExchange('NASDAQ');
|
|
|
674
492
|
console.log('Acciones del NASDAQ:', nasdaqStocks);
|
|
675
493
|
```
|
|
676
494
|
|
|
677
|
-
### 📊 Gestor de Widgets
|
|
678
|
-
|
|
679
|
-
```typescript
|
|
680
|
-
class WidgetManager {
|
|
681
|
-
private marketsSDK: InfoselMarkets;
|
|
682
|
-
|
|
683
|
-
constructor(marketsSDK: InfoselMarkets) {
|
|
684
|
-
this.marketsSDK = marketsSDK;
|
|
685
|
-
}
|
|
686
|
-
|
|
687
|
-
// Crear widget de gráfico
|
|
688
|
-
async createChartWidget(workspaceId: string, instrument: string, name: string) {
|
|
689
|
-
try {
|
|
690
|
-
const widget = await this.marketsSDK.createWidget({
|
|
691
|
-
workspaceId,
|
|
692
|
-
type: 'CHART',
|
|
693
|
-
name,
|
|
694
|
-
instruments: [{ uniqueKey: instrument, symbol: instrument }],
|
|
695
|
-
});
|
|
696
|
-
|
|
697
|
-
return widget;
|
|
698
|
-
} catch (error) {
|
|
699
|
-
console.error('Error creando widget de gráfico:', error);
|
|
700
|
-
throw error;
|
|
701
|
-
}
|
|
702
|
-
}
|
|
703
|
-
|
|
704
|
-
// Crear widget de tabla
|
|
705
|
-
async createTableWidget(
|
|
706
|
-
workspaceId: string,
|
|
707
|
-
instruments: string[],
|
|
708
|
-
name: string
|
|
709
|
-
) {
|
|
710
|
-
try {
|
|
711
|
-
const widget = await this.marketsSDK.createWidget({
|
|
712
|
-
workspaceId,
|
|
713
|
-
type: 'DYNAMIC_TABLE',
|
|
714
|
-
name,
|
|
715
|
-
instruments: instruments.map(instrument => ({
|
|
716
|
-
uniqueKey: instrument,
|
|
717
|
-
symbol: instrument,
|
|
718
|
-
})),
|
|
719
|
-
});
|
|
720
|
-
|
|
721
|
-
return widget;
|
|
722
|
-
} catch (error) {
|
|
723
|
-
console.error('Error creando widget de tabla:', error);
|
|
724
|
-
throw error;
|
|
725
|
-
}
|
|
726
|
-
}
|
|
727
|
-
|
|
728
|
-
// Actualizar instrumentos de un widget
|
|
729
|
-
async updateWidgetInstruments(widgetId: string, instruments: string[]) {
|
|
730
|
-
try {
|
|
731
|
-
const updatedInstruments = await this.marketsSDK.updateWidgetInstruments({
|
|
732
|
-
widgetId,
|
|
733
|
-
instruments: { keys: instruments },
|
|
734
|
-
});
|
|
735
|
-
|
|
736
|
-
return updatedInstruments;
|
|
737
|
-
} catch (error) {
|
|
738
|
-
console.error('Error actualizando instrumentos:', error);
|
|
739
|
-
throw error;
|
|
740
|
-
}
|
|
741
|
-
}
|
|
742
|
-
|
|
743
|
-
// Eliminar widget
|
|
744
|
-
async deleteWidget(widgetId: string) {
|
|
745
|
-
try {
|
|
746
|
-
const result = await this.marketsSDK.deleteWidget(widgetId);
|
|
747
|
-
return result;
|
|
748
|
-
} catch (error) {
|
|
749
|
-
console.error('Error eliminando widget:', error);
|
|
750
|
-
throw error;
|
|
751
|
-
}
|
|
752
|
-
}
|
|
753
|
-
}
|
|
754
|
-
|
|
755
|
-
// Uso del gestor de widgets
|
|
756
|
-
const widgetManager = new WidgetManager(marketsSDK);
|
|
757
|
-
|
|
758
|
-
// Crear widgets en un workspace
|
|
759
|
-
async function setupWorkspaceWidgets(workspaceId: string) {
|
|
760
|
-
try {
|
|
761
|
-
// Widget de gráfico para AAPL
|
|
762
|
-
const chartWidget = await widgetManager.createChartWidget(
|
|
763
|
-
workspaceId,
|
|
764
|
-
'AAPL_US',
|
|
765
|
-
'Gráfico de Apple'
|
|
766
|
-
);
|
|
767
|
-
|
|
768
|
-
// Widget de tabla para portafolio
|
|
769
|
-
const tableWidget = await widgetManager.createTableWidget(
|
|
770
|
-
workspaceId,
|
|
771
|
-
['AAPL_US', 'MSFT_US', 'GOOGL_US'],
|
|
772
|
-
'Portafolio Principal'
|
|
773
|
-
);
|
|
774
|
-
|
|
775
|
-
console.log('Widgets creados:', { chartWidget, tableWidget });
|
|
776
|
-
return { chartWidget, tableWidget };
|
|
777
|
-
} catch (error) {
|
|
778
|
-
console.error('Error configurando widgets:', error);
|
|
779
|
-
throw error;
|
|
780
|
-
}
|
|
781
|
-
}
|
|
782
|
-
```
|
|
783
|
-
|
|
784
495
|
## 📚 Referencia de API
|
|
785
496
|
|
|
786
497
|
### Clases Principales
|
|
@@ -803,77 +514,53 @@ Mapeador de datos para convertir entre modelos de API y dominio.
|
|
|
803
514
|
|
|
804
515
|
### Métodos Disponibles
|
|
805
516
|
|
|
806
|
-
#### 🔍
|
|
517
|
+
#### 🔍 Búsqueda y Campos de Instrumentos
|
|
807
518
|
|
|
808
|
-
| Método
|
|
809
|
-
|
|
810
|
-
| `searchInstruments()`
|
|
811
|
-
| `
|
|
812
|
-
| `
|
|
813
|
-
| `deleteInstrument()` | Eliminar instrumento | `string` (ID) |
|
|
814
|
-
| `getInstrumentFields()` | Obtener campos del instrumento | `string` (ID) |
|
|
519
|
+
| Método | Descripción | Parámetros |
|
|
520
|
+
| ------------------------------- | ---------------------------------------- | ------------------------- |
|
|
521
|
+
| `searchInstruments()` | Buscar instrumentos financieros | `SearchInstrumentRequest` |
|
|
522
|
+
| `getInstrumentFields()` | Obtener campos del instrumento | `GetLastRequest` |
|
|
523
|
+
| `getInstrumentMultipleFields()` | Obtener campos de múltiples instrumentos | `GetLastRequest` |
|
|
815
524
|
|
|
816
525
|
#### 📊 Detalles de Instrumentos
|
|
817
526
|
|
|
818
|
-
| Método
|
|
819
|
-
|
|
820
|
-
| `getInstrumentDetailProfile()`
|
|
821
|
-
| `getInstrumentDetailFinancialQuartely()` | Datos financieros trimestrales
|
|
822
|
-
| `getInstrumentDetailFinancialAnnual()`
|
|
823
|
-
| `getInstrumentDetailFinancialReasons()`
|
|
824
|
-
| `getInstrumentReportFinancialReasons()`
|
|
825
|
-
|
|
826
|
-
#### 🎯 Gestión de Widgets
|
|
827
|
-
|
|
828
|
-
| Método | Descripción | Parámetros |
|
|
829
|
-
|--------|-------------|------------|
|
|
830
|
-
| `createWidget()` | Crear nuevo widget | `CreateWidgetRequest` |
|
|
831
|
-
| `deleteWidget()` | Eliminar widget | `string` (ID) |
|
|
832
|
-
| `updateWidgetInstruments()` | Actualizar instrumentos del widget | `UpdateWidgetInstrumentsRequest` |
|
|
833
|
-
| `getProjectWidgets()` | Obtener widgets del proyecto | `GetProjectWidgetsRequest` |
|
|
834
|
-
|
|
835
|
-
#### 🏢 Gestión de Espacios de Trabajo
|
|
836
|
-
|
|
837
|
-
| Método | Descripción | Parámetros |
|
|
838
|
-
|--------|-------------|------------|
|
|
839
|
-
| `createWorkspace()` | Crear nuevo espacio de trabajo | `CreateWorkspaceRequest` |
|
|
840
|
-
| `getWorkspaces()` | Obtener espacios de trabajo | `GetWorkspacesRequest` |
|
|
841
|
-
| `getWorkspacesByUser()` | Obtener espacios de trabajo del usuario | `GetWorkspacesByUserRequest` |
|
|
842
|
-
| `getUserWorkspaces()` | Obtener espacios de trabajo específicos del usuario | `GetUserWorkspaceRequest` |
|
|
843
|
-
| `getWorkspace()` | Obtener detalles del workspace | `GetWorkspaceRequest` |
|
|
844
|
-
| `deleteWorkspace()` | Eliminar espacio de trabajo | `DeleteWorkspaceRequest` |
|
|
527
|
+
| Método | Descripción | Parámetros |
|
|
528
|
+
| ---------------------------------------- | -------------------------------- | ------------------------------------------- |
|
|
529
|
+
| `getInstrumentDetailProfile()` | Obtener perfil del instrumento | `InstrumentDetailProfileRequest` |
|
|
530
|
+
| `getInstrumentDetailFinancialQuartely()` | Datos financieros trimestrales | `InstrumentDetailFinancialQuarterlyRequest` |
|
|
531
|
+
| `getInstrumentDetailFinancialAnnual()` | Datos financieros anuales | `InstrumentDetailFinancialAnnualRequest` |
|
|
532
|
+
| `getInstrumentDetailFinancialReasons()` | Razones financieras | `InstrumentDetailFinancialReasonsRequest` |
|
|
533
|
+
| `getInstrumentReportFinancialReasons()` | Reportes financieros con razones | `InstrumentReportFinancialReasonsRequest` |
|
|
845
534
|
|
|
846
535
|
#### 📈 Datos de Gráficos
|
|
847
536
|
|
|
848
|
-
| Método
|
|
849
|
-
|
|
537
|
+
| Método | Descripción | Parámetros |
|
|
538
|
+
| ---------------- | ------------------------- | -------------- |
|
|
850
539
|
| `getChartData()` | Obtener datos de gráficos | `ChartRequest` |
|
|
851
540
|
|
|
852
541
|
### Entidades
|
|
853
542
|
|
|
854
543
|
#### Entidades Principales
|
|
855
544
|
|
|
856
|
-
- `Instrument`: Representación de instrumento financiero
|
|
857
|
-
- `
|
|
858
|
-
- `Workspace`: Espacio de trabajo del usuario
|
|
545
|
+
- `Instrument`: Representación básica de instrumento financiero (instrumentKey, symbol)
|
|
546
|
+
- `InstrumentFields`: Campos completos de mercado de un instrumento
|
|
859
547
|
- `ChartItem`: Punto de datos del gráfico
|
|
860
548
|
- `SearchResultItem`: Elemento de resultado de búsqueda
|
|
549
|
+
- `InstrumentDetailProfile`: Perfil detallado del instrumento
|
|
550
|
+
- `InstrumentDetailFinancial`: Datos financieros del instrumento
|
|
551
|
+
- `InstrumentDetailFinancialReasons`: Razones financieras del instrumento
|
|
552
|
+
- `InstrumentReportFinancialReasons`: Reporte financiero con razones
|
|
861
553
|
|
|
862
554
|
#### Entidades de Solicitud/Respuesta
|
|
863
555
|
|
|
864
|
-
- `SearchInstrumentsRequest`: Parámetros de búsqueda
|
|
865
|
-
- `
|
|
866
|
-
- `CreateWorkspaceRequest`: Parámetros de creación de espacio de trabajo
|
|
556
|
+
- `SearchInstrumentsRequest`: Parámetros de búsqueda de instrumentos
|
|
557
|
+
- `GetLastRequest`: Parámetros para obtener campos de instrumento
|
|
867
558
|
- `ChartRequest`: Parámetros de solicitud de datos de gráfico
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
- `
|
|
872
|
-
- `
|
|
873
|
-
- `CUSTOM_TABLE`: Tabla personalizable
|
|
874
|
-
- `NEWS_LIST`: Lista de noticias financieras
|
|
875
|
-
- `TICKER_TAPE`: Cinta de ticker con precios
|
|
876
|
-
- `CHART`: Gráfico de precios y volúmenes
|
|
559
|
+
- `InstrumentDetailProfileRequest`: Parámetros para obtener perfil
|
|
560
|
+
- `InstrumentDetailFinancialAnnualRequest`: Parámetros para datos anuales
|
|
561
|
+
- `InstrumentDetailFinancialQuarterlyRequest`: Parámetros para datos trimestrales
|
|
562
|
+
- `InstrumentDetailFinancialReasonsRequest`: Parámetros para razones financieras
|
|
563
|
+
- `InstrumentReportFinancialReasonsRequest`: Parámetros para reporte financiero
|
|
877
564
|
|
|
878
565
|
#### Tipos de Períodos de Gráficos
|
|
879
566
|
|
|
@@ -969,7 +656,8 @@ El script `run-e2e.sh` proporciona una interfaz fácil para ejecutar pruebas e2e
|
|
|
969
656
|
|
|
970
657
|
- **SDK Core Configuration**: Verificación de inicialización y autenticación
|
|
971
658
|
- **Markets API Integration**: Conexión real a la API de markets
|
|
972
|
-
- **
|
|
659
|
+
- **Instrument Search**: Búsqueda de instrumentos con datos reales
|
|
660
|
+
- **Instrument Fields**: Obtención de campos de instrumentos
|
|
973
661
|
- **Performance and Reliability**: Verificación de tiempos de respuesta y concurrencia
|
|
974
662
|
|
|
975
663
|
#### Notas Importantes
|
|
@@ -982,7 +670,6 @@ El script `run-e2e.sh` proporciona una interfaz fácil para ejecutar pruebas e2e
|
|
|
982
670
|
|
|
983
671
|
Para más detalles, consulta el [README de pruebas e2e](src/__tests__/e2e/README.md).
|
|
984
672
|
|
|
985
|
-
|
|
986
673
|
## 📞 Soporte
|
|
987
674
|
|
|
988
675
|
Para soporte y preguntas, por favor contacta al equipo de desarrollo de Infosel.
|
|
@@ -990,6 +677,7 @@ Para soporte y preguntas, por favor contacta al equipo de desarrollo de Infosel.
|
|
|
990
677
|
## 🔗 Paquetes Relacionados
|
|
991
678
|
|
|
992
679
|
- `@infosel-sdk/core`: Funcionalidad core del SDK (versión ^0.0.4)
|
|
680
|
+
- `@infosel-sdk/widgets`: SDK de widgets y espacios de trabajo (versión ^1.0.0)
|
|
993
681
|
- `@infosel-sdk/news`: SDK de noticias y contenido
|
|
994
682
|
- `@infosel-sdk/securities`: SDK de valores y trading
|
|
995
683
|
|