@invezgo/sdk 1.0.1 โ 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/README.md +187 -238
- package/dist/endpoints/alerts.d.ts +49 -0
- package/dist/endpoints/alerts.d.ts.map +1 -0
- package/dist/endpoints/analysis.d.ts +173 -56
- package/dist/endpoints/analysis.d.ts.map +1 -1
- package/dist/endpoints/journals.d.ts +22 -18
- package/dist/endpoints/journals.d.ts.map +1 -1
- package/dist/endpoints/membership.d.ts +15 -13
- package/dist/endpoints/membership.d.ts.map +1 -1
- package/dist/endpoints/recommendation.d.ts +10 -0
- package/dist/endpoints/recommendation.d.ts.map +1 -0
- package/dist/endpoints/screener.d.ts +28 -17
- package/dist/endpoints/screener.d.ts.map +1 -1
- package/dist/endpoints/watchlists.d.ts +32 -19
- package/dist/endpoints/watchlists.d.ts.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +246 -179
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +246 -179
- package/dist/index.js.map +1 -1
- package/dist/invezgo.d.ts +6 -6
- package/dist/invezgo.d.ts.map +1 -1
- package/dist/types.d.ts +227 -33
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,350 +1,299 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-

|
|
5
|
-

|
|
6
|
-

|
|
3
|
+
# ๐ Invezgo SDK - API Saham Indonesia Resmi untuk JavaScript & TypeScript
|
|
7
4
|
|
|
8
|
-
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+

|
|
9
9
|
|
|
10
|
-
**SDK
|
|
10
|
+
**SDK resmi untuk integrasi API Saham Indonesia yang lengkap, resmi, dan performance-oriented.**
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Dirancang untuk developer yang membangun aplikasi saham, dashboard analitik, screener, alert engine, watchlist, jurnal transaksi, dan backend service yang membutuhkan akses stabil ke **API Saham Indonesia** dari Invezgo.
|
|
13
13
|
|
|
14
|
-
[
|
|
14
|
+
[๐ Website Invezgo](https://invezgo.com) โข [๐ Dokumentasi API](https://api.invezgo.com/documentation)
|
|
15
15
|
|
|
16
16
|
</div>
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
##
|
|
20
|
+
## ๐ Mengapa Invezgo untuk API Saham Indonesia
|
|
21
21
|
|
|
22
|
-
**
|
|
23
|
-
Misi kami adalah membantu investor ritel mendapatkan **akses setara terhadap data, wawasan, dan analisis pasar saham** melalui kombinasi teknologi data, AI, dan antarmuka yang mudah digunakan.
|
|
22
|
+
Jika Anda mencari **API Saham Indonesia** yang siap dipakai untuk production, `@invezgo/sdk` memberikan surface integrasi yang lebih rapi dibanding request manual. SDK ini dibuat untuk mempermudah integrasi **API Saham Indonesia resmi** ke aplikasi JavaScript dan TypeScript dengan kontrak yang konsisten, typing yang jelas, dan footprint runtime yang ringan.
|
|
24
23
|
|
|
25
|
-
|
|
26
|
-
- ๐ **Data pasar saham Indonesia (BEI)** secara real-time
|
|
27
|
-
- ๐งฎ **Analisis otomatis** seperti Bandarmology, Foreign Flow, dan akumulasi investor
|
|
28
|
-
- ๐ค **AI Insight** yang menjelaskan pola perdagangan dan perilaku pasar
|
|
29
|
-
- ๐ **Laporan keuangan & indikator fundamental** yang terintegrasi
|
|
30
|
-
- ๐ง **Alat riset seperti screener, portofolio, watchlist, dan jurnal trading**
|
|
24
|
+
Keunggulan utamanya:
|
|
31
25
|
|
|
32
|
-
|
|
26
|
+
- โ
**Resmi**: mengikuti surface API resmi Invezgo
|
|
27
|
+
- โ
**Lengkap**: mencakup data saham, broker, index, screener, alert, watchlist, jurnal, portofolio, post, dan recommendation
|
|
28
|
+
- โ
**Cepat dan ringan**: memakai `fetch` native tanpa dependency runtime tambahan
|
|
29
|
+
- โ
**Developer-first**: mendukung TypeScript, DTO terstruktur, `CJS`, `ESM`, dan error handling yang jelas
|
|
30
|
+
- โ
**Production-ready**: cocok untuk backend service, internal tools, fintech product, dan dashboard monitoring
|
|
33
31
|
|
|
34
32
|
---
|
|
35
33
|
|
|
36
|
-
##
|
|
34
|
+
## ๐ฏ Cocok untuk Use Case Berikut
|
|
37
35
|
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
- ๐ **Keamanan Otomatis** โ Autentikasi via Bearer Token
|
|
46
|
-
- ๐ **Node.js & Browser** โ Dapat digunakan di server maupun aplikasi web
|
|
36
|
+
- ๐ Dashboard berbasis **API Saham Indonesia**
|
|
37
|
+
- ๐ค Screener saham Indonesia dengan formula custom
|
|
38
|
+
- ๐ Alert saham dan monitoring market behavior
|
|
39
|
+
- ๐งพ Jurnal transaksi dan manajemen watchlist
|
|
40
|
+
- ๐ผ Portofolio dan personal investment tools
|
|
41
|
+
- ๐๏ธ Backend integration untuk aplikasi fintech dan wealth platform
|
|
42
|
+
- ๐ง Research tooling untuk quant, trader, dan analis
|
|
47
43
|
|
|
48
44
|
---
|
|
49
45
|
|
|
50
|
-
##
|
|
51
|
-
|
|
52
|
-
Pasang SDK menggunakan npm, yarn, atau pnpm:
|
|
46
|
+
## ๐ฆ Instalasi
|
|
53
47
|
|
|
54
48
|
```bash
|
|
55
|
-
# Menggunakan npm
|
|
56
49
|
npm install @invezgo/sdk
|
|
57
|
-
|
|
58
|
-
# Menggunakan yarn
|
|
59
|
-
yarn add @invezgo/sdk
|
|
60
|
-
|
|
61
|
-
# Menggunakan pnpm
|
|
62
|
-
pnpm add @invezgo/sdk
|
|
63
50
|
```
|
|
64
51
|
|
|
65
52
|
---
|
|
66
53
|
|
|
67
|
-
##
|
|
68
|
-
|
|
69
|
-
### 1๏ธโฃ Dapatkan API Key Anda
|
|
54
|
+
## ๐ Cara Mulai dan Berlangganan
|
|
70
55
|
|
|
71
|
-
|
|
56
|
+
Sebelum menggunakan SDK ini, Anda perlu memiliki akses aktif ke **API Saham Indonesia** dari Invezgo.
|
|
72
57
|
|
|
73
|
-
|
|
74
|
-
- ๐ณ [Paket Langganan](https://invezgo.com/subscription)
|
|
58
|
+
### 1. Pilih paket langganan API
|
|
75
59
|
|
|
76
|
-
|
|
60
|
+
Kunjungi halaman resmi API Saham Indonesia Invezgo untuk melihat paket yang tersedia dan memilih plan yang sesuai dengan kebutuhan aplikasi Anda:
|
|
77
61
|
|
|
78
|
-
|
|
62
|
+
- Paket API Saham Indonesia: [https://invezgo.com/id/data-api-saham-indonesia](https://invezgo.com/id/data-api-saham-indonesia)
|
|
79
63
|
|
|
80
|
-
|
|
81
|
-
const { Invezgo } = require('@invezgo/sdk');
|
|
64
|
+
### 2. Login ke akun Invezgo
|
|
82
65
|
|
|
83
|
-
|
|
84
|
-
apiKey: 'api-key-anda'
|
|
85
|
-
});
|
|
66
|
+
Setelah memilih paket, login ke akun Invezgo Anda melalui website utama:
|
|
86
67
|
|
|
87
|
-
|
|
88
|
-
(async () => {
|
|
89
|
-
try {
|
|
90
|
-
const stocks = await client.analysis.getStockList();
|
|
91
|
-
console.log(`Ditemukan ${stocks.length} saham`);
|
|
92
|
-
console.log(stocks[0]); // { code: 'BBCA', name: 'Bank Central Asia', logo: '...' }
|
|
93
|
-
} catch (error) {
|
|
94
|
-
console.error('Terjadi kesalahan:', error.message);
|
|
95
|
-
}
|
|
96
|
-
})();
|
|
97
|
-
```
|
|
68
|
+
- Website Invezgo: [https://invezgo.com](https://invezgo.com)
|
|
98
69
|
|
|
99
|
-
|
|
70
|
+
### 3. Generate API key
|
|
100
71
|
|
|
101
|
-
|
|
72
|
+
Setelah langganan aktif, generate API key dari dashboard akun Invezgo Anda. API key inilah yang akan dipakai untuk autentikasi semua request ke **API Saham Indonesia**.
|
|
102
73
|
|
|
103
|
-
|
|
104
|
-
import Invezgo from '@invezgo/sdk';
|
|
74
|
+
### 4. Install SDK
|
|
105
75
|
|
|
106
|
-
|
|
107
|
-
apiKey: 'api-key-anda'
|
|
108
|
-
});
|
|
76
|
+
Install package JavaScript/TypeScript resmi:
|
|
109
77
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
const info = await client.analysis.getInformation('BBCA');
|
|
113
|
-
console.log(info.name); // Bank Central Asia
|
|
114
|
-
console.log(info.sector); // Keuangan
|
|
115
|
-
} catch (error) {
|
|
116
|
-
console.error('Error:', error);
|
|
117
|
-
}
|
|
118
|
-
})();
|
|
78
|
+
```bash
|
|
79
|
+
npm install @invezgo/sdk
|
|
119
80
|
```
|
|
120
81
|
|
|
121
|
-
|
|
82
|
+
### 5. Simpan API key di environment variable
|
|
83
|
+
|
|
84
|
+
Contoh yang direkomendasikan:
|
|
122
85
|
|
|
123
|
-
|
|
86
|
+
```bash
|
|
87
|
+
INVEZGO_API_KEY=your_api_key_here
|
|
88
|
+
```
|
|
124
89
|
|
|
125
|
-
###
|
|
90
|
+
### 6. Mulai integrasi
|
|
126
91
|
|
|
127
|
-
|
|
92
|
+
Gunakan API key tersebut untuk mengakses endpoint Invezgo melalui SDK:
|
|
93
|
+
|
|
94
|
+
```ts
|
|
128
95
|
import Invezgo from '@invezgo/sdk';
|
|
129
96
|
|
|
130
97
|
const client = new Invezgo({
|
|
131
|
-
apiKey:
|
|
132
|
-
baseURL: 'https://api.invezgo.com', // Opsional
|
|
133
|
-
timeout: 30000 // Opsional (default 30 detik)
|
|
98
|
+
apiKey: process.env.INVEZGO_API_KEY!,
|
|
134
99
|
});
|
|
135
100
|
```
|
|
136
101
|
|
|
137
102
|
---
|
|
138
103
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
| Kategori | Deskripsi | Jumlah Metode |
|
|
142
|
-
|----------|------------|---------------|
|
|
143
|
-
| **`analysis`** | Analisis saham, grafik, data keuangan | 30+ |
|
|
144
|
-
| **`watchlists`** | Manajemen watchlist pribadi | 7 |
|
|
145
|
-
| **`journals`** | Catatan transaksi/jurnal trading | 5 |
|
|
146
|
-
| **`portfolios`** | Portofolio & ringkasan investasi | 2 |
|
|
147
|
-
| **`ai`** | Analisis saham dengan AI | 10 |
|
|
148
|
-
| **`search`** | Pencarian saham & pengguna | 3 |
|
|
149
|
-
| **`profile`** | Profil pengguna & sosial | 8 |
|
|
150
|
-
| **`membership`** | Langganan & transaksi paket | 5 |
|
|
151
|
-
| **`posts`** | Konten komunitas & postingan | 8 |
|
|
152
|
-
| **`trades`** | Data transaksi realisasi | 4 |
|
|
153
|
-
| **`screener`** | Filter saham otomatis | 3 |
|
|
154
|
-
| **`health`** | Status kesehatan API | 3 |
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
## ๐ก Contoh Penggunaan
|
|
104
|
+
## โก Quick Start
|
|
159
105
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
```typescript
|
|
106
|
+
```ts
|
|
163
107
|
import Invezgo from '@invezgo/sdk';
|
|
164
|
-
const client = new Invezgo({ apiKey: 'api-key-anda' });
|
|
165
108
|
|
|
166
|
-
|
|
109
|
+
const client = new Invezgo({
|
|
110
|
+
apiKey: process.env.INVEZGO_API_KEY!,
|
|
111
|
+
});
|
|
112
|
+
|
|
167
113
|
const stocks = await client.analysis.getStockList();
|
|
168
|
-
|
|
114
|
+
const indexes = await client.analysis.getIndexList();
|
|
115
|
+
const intraday = await client.analysis.getIntradayData('BBCA', 'RG');
|
|
169
116
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
console.log(
|
|
173
|
-
console.log(info.sector); // Keuangan
|
|
117
|
+
console.log(stocks[0]);
|
|
118
|
+
console.log(indexes[0]);
|
|
119
|
+
console.log(intraday.close);
|
|
174
120
|
```
|
|
175
121
|
|
|
176
122
|
---
|
|
177
123
|
|
|
178
|
-
|
|
124
|
+
## ๐งฉ Fitur Utama API Saham Indonesia di SDK Ini
|
|
179
125
|
|
|
180
|
-
|
|
181
|
-
// Ambil laporan Neraca (Balance Sheet)
|
|
182
|
-
const balanceSheet = await client.analysis.getFinancialStatement('BBCA', {
|
|
183
|
-
statement: 'BS',
|
|
184
|
-
type: 'Q',
|
|
185
|
-
limit: 10
|
|
186
|
-
});
|
|
126
|
+
### ๐ Data pasar dan analysis yang lengkap
|
|
187
127
|
|
|
188
|
-
|
|
189
|
-
console.log(balanceSheet.columns);
|
|
190
|
-
```
|
|
128
|
+
Modul `analysis` mencakup endpoint penting untuk **API Saham Indonesia**, termasuk:
|
|
191
129
|
|
|
192
|
-
|
|
130
|
+
- daftar saham dan broker BEI
|
|
131
|
+
- daftar index IDX
|
|
132
|
+
- top gainer, top loser, top foreign, top accumulation, dan top retail flow
|
|
133
|
+
- chart saham dan index
|
|
134
|
+
- intraday chart, intraday summary, dan order book
|
|
135
|
+
- broker summary, broker stalker, inventory chart, momentum chart
|
|
136
|
+
- shareholder data, shareholder relation, insider activity, dan corporate action calendar
|
|
137
|
+
- financial statement dan key statistics
|
|
193
138
|
|
|
194
|
-
###
|
|
139
|
+
### ๐ก๏ธ SDK resmi yang lebih aman untuk production
|
|
195
140
|
|
|
196
|
-
|
|
197
|
-
// Ambil data ringkasan broker untuk saham tertentu
|
|
198
|
-
const summary = await client.analysis.getBrokerSummaryStock('BBCA', {
|
|
199
|
-
from: '2024-12-01',
|
|
200
|
-
to: '2024-12-30',
|
|
201
|
-
investor: 'all',
|
|
202
|
-
market: 'RG'
|
|
203
|
-
});
|
|
204
|
-
console.log(summary);
|
|
205
|
-
```
|
|
141
|
+
Menggunakan SDK resmi membantu mengurangi mismatch pada path, query params, payload, dan struktur response. Untuk tim yang membangun produk berbasis **API Saham Indonesia resmi**, pendekatan ini membuat proses development dan maintenance lebih efisien.
|
|
206
142
|
|
|
207
|
-
|
|
143
|
+
### โ๏ธ Ringan dan fokus pada performa
|
|
208
144
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
```typescript
|
|
212
|
-
// Analisis AI terhadap aktivitas broker
|
|
213
|
-
const result = await client.ai.analyzeInventoryChart('BBCA', {
|
|
214
|
-
from: '2024-12-01',
|
|
215
|
-
to: '2024-12-30',
|
|
216
|
-
scope: 'vol',
|
|
217
|
-
investor: 'all',
|
|
218
|
-
limit: 5,
|
|
219
|
-
market: 'RG'
|
|
220
|
-
});
|
|
145
|
+
`Invezgo SDK` tidak membawa dependency runtime tambahan. Ini relevan untuk aplikasi yang sensitif terhadap startup time, cold start, footprint container, atau deployment serverless.
|
|
221
146
|
|
|
222
|
-
|
|
223
|
-
```
|
|
147
|
+
### ๐จโ๐ป Developer experience yang rapi
|
|
224
148
|
|
|
225
|
-
|
|
149
|
+
- TypeScript-first
|
|
150
|
+
- `InvezgoError` untuk error handling terstruktur
|
|
151
|
+
- deklarasi tipe untuk DTO dan response utama
|
|
152
|
+
- output build untuk `require` dan `import`
|
|
226
153
|
|
|
227
|
-
|
|
154
|
+
---
|
|
228
155
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
156
|
+
## ๐๏ธ Modul yang Tersedia
|
|
157
|
+
|
|
158
|
+
- `alerts`
|
|
159
|
+
- `analysis`
|
|
160
|
+
- `watchlists`
|
|
161
|
+
- `journals`
|
|
162
|
+
- `portfolios`
|
|
163
|
+
- `search`
|
|
164
|
+
- `profile`
|
|
165
|
+
- `membership`
|
|
166
|
+
- `posts`
|
|
167
|
+
- `recommendation`
|
|
168
|
+
- `trades`
|
|
169
|
+
- `screener`
|
|
238
170
|
|
|
239
171
|
---
|
|
240
172
|
|
|
241
|
-
##
|
|
173
|
+
## ๐ก Contoh Integrasi API Saham Indonesia
|
|
242
174
|
|
|
243
|
-
|
|
175
|
+
### ๐ Alert saham
|
|
244
176
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
177
|
+
```ts
|
|
178
|
+
await client.alerts.add({
|
|
179
|
+
name: 'Breakout volume',
|
|
180
|
+
formula: 'close > ema(20) and volume > sma(volume, 20)',
|
|
181
|
+
category: ['COMPOSITE'],
|
|
182
|
+
every: 'END_OF_DAY',
|
|
183
|
+
send: 'IN_OUT',
|
|
184
|
+
});
|
|
185
|
+
```
|
|
254
186
|
|
|
255
|
-
|
|
187
|
+
### ๐ Analysis dan data intraday
|
|
256
188
|
|
|
257
|
-
|
|
189
|
+
```ts
|
|
190
|
+
const topRetail = await client.analysis.getTopRitel('2026-03-10');
|
|
258
191
|
|
|
259
|
-
|
|
260
|
-
2. Gunakan **environment variable** di server:
|
|
261
|
-
```typescript
|
|
262
|
-
const client = new Invezgo({
|
|
263
|
-
apiKey: process.env.INVEZGO_API_KEY!
|
|
264
|
-
});
|
|
265
|
-
```
|
|
266
|
-
3. Gunakan kunci berbeda untuk *dev* dan *production*
|
|
267
|
-
4. Lakukan rotasi API key secara berkala
|
|
192
|
+
const intraday = await client.analysis.getIntradayData('BBCA', 'RG');
|
|
268
193
|
|
|
269
|
-
|
|
194
|
+
const calendar = await client.analysis.getCalendar({
|
|
195
|
+
code: 'BBCA',
|
|
196
|
+
page: 1,
|
|
197
|
+
limit: 10,
|
|
198
|
+
});
|
|
199
|
+
```
|
|
270
200
|
|
|
271
|
-
|
|
201
|
+
### ๐ Watchlist
|
|
272
202
|
|
|
273
|
-
|
|
203
|
+
```ts
|
|
204
|
+
await client.watchlists.add({
|
|
205
|
+
group: 'banking',
|
|
206
|
+
code: 'BBCA',
|
|
207
|
+
price: 9000,
|
|
208
|
+
scope: ['private'],
|
|
209
|
+
note: 'Area pantau',
|
|
210
|
+
});
|
|
274
211
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
212
|
+
await client.watchlists.updateGroup('group-id', {
|
|
213
|
+
name: 'Big Caps',
|
|
214
|
+
});
|
|
215
|
+
```
|
|
279
216
|
|
|
280
|
-
|
|
217
|
+
### ๐งพ Jurnal transaksi
|
|
218
|
+
|
|
219
|
+
```ts
|
|
220
|
+
await client.journals.add({
|
|
221
|
+
code: 'BBCA',
|
|
222
|
+
broker: 'AK',
|
|
223
|
+
date: '2026-03-10',
|
|
224
|
+
lot: 10,
|
|
225
|
+
fee: 15000,
|
|
226
|
+
price: 9050,
|
|
227
|
+
status: 'BUY',
|
|
228
|
+
scope: ['private'],
|
|
229
|
+
note: 'Entry bertahap',
|
|
230
|
+
});
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### ๐ Screener saham Indonesia
|
|
281
234
|
|
|
282
|
-
|
|
235
|
+
```ts
|
|
236
|
+
const results = await client.screener.screen({
|
|
237
|
+
formula: 'close > ema(20)',
|
|
238
|
+
category: ['COMPOSITE', 'IDXFINANCE'],
|
|
239
|
+
});
|
|
240
|
+
```
|
|
283
241
|
|
|
284
|
-
|
|
285
|
-
import { Invezgo, InvezgoError } from '@invezgo/sdk';
|
|
242
|
+
### ๐ค Recommendation
|
|
286
243
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
} catch (err) {
|
|
290
|
-
if (err instanceof InvezgoError) {
|
|
291
|
-
console.error('Kode:', err.statusCode);
|
|
292
|
-
console.error('Pesan:', err.message);
|
|
293
|
-
}
|
|
294
|
-
}
|
|
244
|
+
```ts
|
|
245
|
+
const recommendations = await client.recommendation.getUserRecommendations();
|
|
295
246
|
```
|
|
296
247
|
|
|
297
248
|
---
|
|
298
249
|
|
|
299
|
-
##
|
|
250
|
+
## ๐๏ธ Keunggulan untuk Tim Developer
|
|
300
251
|
|
|
301
|
-
**
|
|
302
|
-
> Sebagian data seperti harga dan orderbook bersifat real-time (jika tersedia). Beberapa data seperti laporan keuangan bersifat periodik (EoD atau kuartalan).
|
|
252
|
+
Saat membangun aplikasi di atas **API Saham Indonesia**, tim engineering biasanya membutuhkan kontrak yang jelas, integrasi yang ringan, dan surface yang mudah dipelihara. `Invezgo SDK` membantu menyederhanakan proses tersebut sehingga tim dapat fokus pada logic produk, bukan pada detail HTTP request yang berulang.
|
|
303
253
|
|
|
304
|
-
|
|
305
|
-
> Sebaiknya gunakan server (backend) untuk menyimpan API key, atau gunakan token scoped khusus frontend.
|
|
254
|
+
Secara praktis, manfaatnya:
|
|
306
255
|
|
|
307
|
-
|
|
308
|
-
|
|
256
|
+
- mengurangi boilerplate request manual
|
|
257
|
+
- mengurangi risiko typo pada endpoint dan payload
|
|
258
|
+
- mempercepat onboarding engineer baru
|
|
259
|
+
- mempermudah review, testing, dan maintenance
|
|
309
260
|
|
|
310
261
|
---
|
|
311
262
|
|
|
312
|
-
##
|
|
313
|
-
|
|
314
|
-
Kami sangat terbuka terhadap kontribusi komunitas.
|
|
315
|
-
Langkahnya:
|
|
263
|
+
## ๐ Catatan Migrasi Versi 1.1.0
|
|
316
264
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
265
|
+
- ditambahkan `client.alerts`
|
|
266
|
+
- ditambahkan `client.recommendation`
|
|
267
|
+
- ditambahkan endpoint analysis baru seperti index list, top retail flow, intraday summary, sector stalker, shareholder 1%, dan corporate action calendar
|
|
268
|
+
- DTO `watchlists`, `journals`, `membership`, dan `screener` sudah mengikuti skema request terbaru
|
|
269
|
+
- `client.ai` dan `client.health` dihapus karena tidak lagi tersedia pada kontrak API terbaru
|
|
322
270
|
|
|
323
271
|
---
|
|
324
272
|
|
|
325
|
-
##
|
|
273
|
+
## ๐ ๏ธ Build
|
|
326
274
|
|
|
327
|
-
|
|
275
|
+
```bash
|
|
276
|
+
npm run build
|
|
277
|
+
```
|
|
328
278
|
|
|
329
279
|
---
|
|
330
280
|
|
|
331
|
-
##
|
|
281
|
+
## ๐ง Tipe yang Diekspor
|
|
332
282
|
|
|
333
|
-
|
|
334
|
-
- ๐ [Dokumentasi API](https://api.invezgo.com)
|
|
335
|
-
- ๐ [Dapatkan API Key](https://invezgo.com/id/setting/api)
|
|
336
|
-
- ๐ณ [Langganan Paket](https://invezgo.com/subscription)
|
|
337
|
-
- ๐ [Syarat & Ketentuan](https://invezgo.com/terms)
|
|
338
|
-
- ๐ [Kebijakan Privasi](https://invezgo.com/privacy-policy)
|
|
339
|
-
- ๐ [Laporkan Bug](https://github.com/Invezgo/invezgo-js-sdk/issues)
|
|
283
|
+
SDK ini mengekspor tipe inti seperti:
|
|
340
284
|
|
|
341
|
-
|
|
285
|
+
- `InvezgoConfig`
|
|
286
|
+
- `Stock`, `Broker`, `StockIndex`
|
|
287
|
+
- `TopChangeResponse`, `TopRetailResponse`
|
|
288
|
+
- `IntradayStockData`, `IntradayIndexData`
|
|
289
|
+
- `ShareholderRelationResponse`
|
|
290
|
+
- `FinancialStatementResponse`, `KeyStatResponse`
|
|
291
|
+
- DTO endpoint seperti `AlertDto`, `CreateWatchlistDto`, `AddJournalTransactionDto`, `ScreenDto`
|
|
342
292
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
Made with โค๏ธ by the [Invezgo](https://invezgo.com) team
|
|
346
|
-
**Empowering Indonesian investors with better data, better insights, and better decisions**
|
|
293
|
+
---
|
|
347
294
|
|
|
348
|
-
|
|
295
|
+
## ๐ Referensi
|
|
349
296
|
|
|
350
|
-
|
|
297
|
+
- ๐ Website utama: [https://invezgo.com](https://invezgo.com)
|
|
298
|
+
- ๐ Dokumentasi API: [https://api.invezgo.com/documentation](https://api.invezgo.com/documentation)
|
|
299
|
+
- ๐งช Contoh tambahan: [`docs/EXAMPLES.md`](./docs/EXAMPLES.md)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { HttpClient } from '../client';
|
|
2
|
+
import type { AlertIntervalType, AlertSendType, ScreenerCategory } from '../types';
|
|
3
|
+
export interface AlertDto {
|
|
4
|
+
name: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
category: ScreenerCategory[];
|
|
7
|
+
every: AlertIntervalType;
|
|
8
|
+
send: AlertSendType;
|
|
9
|
+
scope?: string[];
|
|
10
|
+
formula: string;
|
|
11
|
+
}
|
|
12
|
+
export interface AlertTestDto {
|
|
13
|
+
formula: string;
|
|
14
|
+
category: ScreenerCategory[];
|
|
15
|
+
}
|
|
16
|
+
export interface UpdateAlertDto {
|
|
17
|
+
name: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
category: ScreenerCategory[];
|
|
20
|
+
every: AlertIntervalType;
|
|
21
|
+
send: AlertSendType;
|
|
22
|
+
formula: string;
|
|
23
|
+
scope?: string[];
|
|
24
|
+
}
|
|
25
|
+
export declare class AlertsEndpoints {
|
|
26
|
+
private client;
|
|
27
|
+
constructor(client: HttpClient);
|
|
28
|
+
/**
|
|
29
|
+
* Get list of alerts.
|
|
30
|
+
*/
|
|
31
|
+
list(): Promise<unknown[]>;
|
|
32
|
+
/**
|
|
33
|
+
* Create alert.
|
|
34
|
+
*/
|
|
35
|
+
add(dto: AlertDto): Promise<unknown>;
|
|
36
|
+
/**
|
|
37
|
+
* Update alert.
|
|
38
|
+
*/
|
|
39
|
+
update(id: string, dto: UpdateAlertDto): Promise<unknown>;
|
|
40
|
+
/**
|
|
41
|
+
* Delete alert.
|
|
42
|
+
*/
|
|
43
|
+
delete(id: string): Promise<unknown>;
|
|
44
|
+
/**
|
|
45
|
+
* Test alert formula.
|
|
46
|
+
*/
|
|
47
|
+
test(dto: AlertTestDto): Promise<unknown>;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=alerts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../../src/endpoints/alerts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEnF,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,iBAAiB,CAAC;IACzB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,iBAAiB,CAAC;IACzB,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIhC;;OAEG;IACG,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1C;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/D;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI1C;;OAEG;IACG,IAAI,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAGhD"}
|