zakkistore-sdk 1.0.1 → 1.0.2
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 +39 -33
- package/index.d.ts +77 -1
- package/index.js +140 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
<p><b>Node.js Official B2B Client Library</b></p>
|
|
5
5
|
|
|
6
6
|
[](https://qris.zakki.store)
|
|
7
|
-
[](https://github.com/MrLow12/zakkistore-sdk)
|
|
8
|
-
|
|
9
7
|
[](https://wa.me/6283844082339)
|
|
10
8
|
[](https://t.me/zakki_store)
|
|
11
9
|
</div>
|
|
@@ -16,24 +14,14 @@
|
|
|
16
14
|
> **🚀 Hubungi Developer untuk Akses API & Whitelist IP:**
|
|
17
15
|
> Pendaftaran IP partner B2B, pembukaan whitelist, atau keluhan error `[IP BLOCKED / UNREGISTERED]` dapat diselesaikan secara instan dengan menghubungi tim Developer Zakki Store via tombol **WhatsApp** atau **Telegram** di atas.
|
|
18
16
|
|
|
19
|
-
> [!TIP]
|
|
20
|
-
> **📦 Repositori Kode Sumber Terbuka (GitHub):**
|
|
21
|
-
> SDK Node.js ini bersifat open-source dan dikembangkan secara aktif. Anda dapat melihat kode sumber, melaporkan masalah, berkontribusi, atau melihat riwayat perubahan di **[GitHub Repository MrLow12/zakkistore-sdk](https://github.com/MrLow12/zakkistore-sdk)**.
|
|
22
|
-
|
|
23
17
|
---
|
|
24
18
|
|
|
25
19
|
## 🚀 Instalasi & Inisialisasi
|
|
26
20
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
npm install zakkistore-sdk
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Kemudian inisialisasi SDK di dalam project Node.js Anda:
|
|
21
|
+
Untuk menggunakan SDK di dalam project Node.js Anda:
|
|
34
22
|
|
|
35
23
|
```javascript
|
|
36
|
-
const ZakkiStore = require('
|
|
24
|
+
const ZakkiStore = require('./sdk/index');
|
|
37
25
|
|
|
38
26
|
// Inisialisasi SDK dengan parameter konfigurasi
|
|
39
27
|
const zakki = new ZakkiStore({
|
|
@@ -76,6 +64,9 @@ import ZakkiStore from 'zakkistore-sdk';
|
|
|
76
64
|
const zakki = new ZakkiStore({
|
|
77
65
|
baseUrl: 'https://qris.zakki.store',
|
|
78
66
|
token: 'token_api_member',
|
|
67
|
+
iduser: 'IBO99',
|
|
68
|
+
email: 'member@gmail.com',
|
|
69
|
+
pin: '123456',
|
|
79
70
|
autoWithdraw: true
|
|
80
71
|
});
|
|
81
72
|
```
|
|
@@ -384,7 +375,7 @@ Melihat sisa saldo aktif, no Virtual Account unik member, serta 20 riwayat mutas
|
|
|
384
375
|
> **🚀 FITUR UNGGULAN: Auto-Withdraw / Tarik Saldo Otomatis**
|
|
385
376
|
> SDK ini dilengkapi dengan sistem auto-withdraw yang sangat fleksibel dan efisien. Jika Anda mengaktifkan opsi `autoWithdraw: true` saat inisialisasi (atau memanggil `zakki.enableAutoWithdraw(true)`), maka setiap kali fungsi `checkbank()` dipanggil:
|
|
386
377
|
> 1. SDK akan otomatis mendeteksi jika saldo rekening virtual bank Anda lebih dari Rp 0 (`bank_detail.balance > 0`).
|
|
387
|
-
> 2. Tanpa perlu dipanggil manual oleh pengembang, SDK akan langsung memicu eksekusi internal fungsi `tarik()` di latar belakang untuk menarik seluruh dana bank tersebut masuk ke saldo utama aplikasi
|
|
378
|
+
> 2. Tanpa perlu dipanggil manual oleh pengembang, SDK akan langsung memicu eksekusi internal fungsi `tarik()` di latar belakang untuk menarik seluruh dana bank tersebut masuk ke saldo utama aplikasi zakki store.
|
|
388
379
|
> 3. Hasil akhirnya, objek respon `checkbank()` akan disisipkan bendera sukses `auto_withdraw_executed: true` beserta jumlah yang ditarik, membuat siklus transaksi menjadi instan dan otomatis secara total!
|
|
389
380
|
|
|
390
381
|
- **Sintaks:** `zakki.checkbank()`
|
|
@@ -750,25 +741,40 @@ Melihat rangkuman total volume, laba/rugi, peredaran koin, jumlah transaksi akti
|
|
|
750
741
|
- **Struktur Output JSON (`code 200`):**
|
|
751
742
|
```json
|
|
752
743
|
{
|
|
753
|
-
"
|
|
754
|
-
"
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
"
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
"
|
|
768
|
-
|
|
744
|
+
"code": 200,
|
|
745
|
+
"status": "success",
|
|
746
|
+
"message": "🚀 BANK ZAKKI STORE - SYSTEM STATUS ENGINE (PUBLIC)",
|
|
747
|
+
"data": {
|
|
748
|
+
"statistik_mesin": {
|
|
749
|
+
"total_pengguna": 28,
|
|
750
|
+
"koneksi_aktif": 0,
|
|
751
|
+
"jumlah_core": 4,
|
|
752
|
+
"penggunaan_cpu": [
|
|
753
|
+
"core1: 5%"
|
|
754
|
+
],
|
|
755
|
+
"beban_rata_rata": [0, 0, 0],
|
|
756
|
+
"waktu_aktif": "1 hari, 2 jam, 3 menit, 4 detik"
|
|
757
|
+
},
|
|
758
|
+
"ringkasan_finansial": {
|
|
759
|
+
"total_saldo_beredar": 4500000,
|
|
760
|
+
"total_volume_transaksi": 12500000,
|
|
761
|
+
"total_poin_reward": 120,
|
|
762
|
+
"total_transaksi_h2h": 1420,
|
|
763
|
+
"total_volume_h2h": 12500000,
|
|
764
|
+
"total_mining": 250,
|
|
765
|
+
"total_mining_reward": 12500
|
|
766
|
+
},
|
|
767
|
+
"integritas_keamanan": {
|
|
768
|
+
"injeksi_ilegal": 0,
|
|
769
|
+
"kehilangan_data_terdeteksi": 0,
|
|
770
|
+
"kesehatan_sistem": "🟢 OPTIMAL",
|
|
771
|
+
"status_audit": "100% VERIFIED BY SYSTEM ENGINEERING CHECKER",
|
|
772
|
+
"callback_engine": "ONLINE",
|
|
773
|
+
"telegram_bot": "ONLINE"
|
|
774
|
+
},
|
|
775
|
+
"topup_sukses": 150
|
|
769
776
|
},
|
|
770
|
-
"
|
|
771
|
-
"timestamp": "2026-05-31T17:40:00.000Z"
|
|
777
|
+
"server_time": "Senin, 1 Juni 2026 pukul 17.40"
|
|
772
778
|
}
|
|
773
779
|
```
|
|
774
780
|
|
package/index.d.ts
CHANGED
|
@@ -154,14 +154,29 @@ declare class ZakkiStore {
|
|
|
154
154
|
|
|
155
155
|
/**
|
|
156
156
|
* 16. Cek Status Mining Global
|
|
157
|
+
* @param idmining ID Transaksi Mining (contoh: Mining-XXXXXX)
|
|
157
158
|
*/
|
|
158
|
-
cekmining(): Promise<any>;
|
|
159
|
+
cekmining(idmining: string): Promise<any>;
|
|
159
160
|
|
|
160
161
|
/**
|
|
161
162
|
* 17. Cek Statistik Mining Pribadi
|
|
162
163
|
*/
|
|
163
164
|
mymining(): Promise<any>;
|
|
164
165
|
|
|
166
|
+
/**
|
|
167
|
+
* Minta Tantangan (Challenge) Mining Baru
|
|
168
|
+
* Mendapatkan challenge kriptografi dan difficulty untuk komputasi Proof of Work
|
|
169
|
+
*/
|
|
170
|
+
miningStart(): Promise<any>;
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Submit Jawaban Mining (Proof of Work)
|
|
174
|
+
* Mengirimkan nonce tebakan dan signature untuk divalidasi oleh server
|
|
175
|
+
* @param nonce Nonce hasil komputasi yang valid
|
|
176
|
+
* @param signature Segel kriptografi signature dari server
|
|
177
|
+
*/
|
|
178
|
+
miningSubmit(nonce: number | string, signature: string): Promise<any>;
|
|
179
|
+
|
|
165
180
|
/**
|
|
166
181
|
* 18. Cek Stok Nomor Telepon (Noktel)
|
|
167
182
|
*/
|
|
@@ -206,6 +221,67 @@ declare class ZakkiStore {
|
|
|
206
221
|
* Mengambil rangkuman statistik global sistem (total saldo, total pengguna, total volume H2H, dll)
|
|
207
222
|
*/
|
|
208
223
|
status(): Promise<any>;
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* 26. Set Callback URL
|
|
227
|
+
* Mendaftarkan URL callback HTTPS Anda untuk menerima laporan otomatis status pembayaran
|
|
228
|
+
* @param site URL callback Anda (Wajib HTTPS dan harus mengembalikan 200 OK)
|
|
229
|
+
*/
|
|
230
|
+
setcallback(site: string): Promise<any>;
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* 27. Hapus Callback URL
|
|
234
|
+
* Menghapus URL callback yang terdaftar agar tidak lagi menerima laporan otomatis
|
|
235
|
+
*/
|
|
236
|
+
delcallback(): Promise<any>;
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* 28. Set Notifikasi Bot Telegram
|
|
240
|
+
* Mendaftarkan ID Telegram Anda agar menerima laporan transaksi otomatis dari bot
|
|
241
|
+
* @param telegramId ID Telegram member Anda
|
|
242
|
+
*/
|
|
243
|
+
setnotifbot(telegramId: string | number): Promise<any>;
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* 29. Hapus Notifikasi Bot Telegram
|
|
247
|
+
* Menghapus ID Telegram yang terdaftar untuk menonaktifkan notifikasi bot
|
|
248
|
+
*/
|
|
249
|
+
delnotifbot(): Promise<any>;
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* 31. Cek Detail Transfer Saldo
|
|
255
|
+
* Memverifikasi status transfer saldo antar member berdasarkan ID transfer
|
|
256
|
+
* @param idtransfer ID transaksi transfer (contoh: BankTF-xxxxxx)
|
|
257
|
+
*/
|
|
258
|
+
checktransfer(idtransfer: string): Promise<any>;
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* 32. Cek Riwayat Transfer Saldo (Kirim / Terima / Semua)
|
|
262
|
+
* Melihat riwayat transaksi transfer saldo pada akun Anda
|
|
263
|
+
* @param type Tipe riwayat ('all' | 'kirim' | 'terima')
|
|
264
|
+
*/
|
|
265
|
+
mytransfer(type?: 'all' | 'kirim' | 'terima' | string): Promise<any>;
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* 33. Cek Riwayat Topup Sukses
|
|
269
|
+
* Mengambil daftar seluruh riwayat pembayaran QRIS topup sukses beserta total volume
|
|
270
|
+
*/
|
|
271
|
+
mytopup(): Promise<any>;
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* 34. Cek Alamat IP & Keamanan Server Anda
|
|
275
|
+
* Mengambil alamat IP publik server Anda terdeteksi oleh gateway beserta status keamanan (Aman/Whitelist/Blacklist)
|
|
276
|
+
*/
|
|
277
|
+
cekmyip(): Promise<any>;
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* 35. Cek Status Keamanan Alamat IP Spesifik
|
|
281
|
+
* Memverifikasi status keamanan IP tertentu di list blacklist/whitelist sistem gateway
|
|
282
|
+
* @param ip Alamat IP yang ingin dicek
|
|
283
|
+
*/
|
|
284
|
+
cekip(ip: string): Promise<any>;
|
|
209
285
|
}
|
|
210
286
|
|
|
211
287
|
export = ZakkiStore;
|
package/index.js
CHANGED
|
@@ -333,12 +333,14 @@ class ZakkiStore {
|
|
|
333
333
|
|
|
334
334
|
/**
|
|
335
335
|
* 16. Cek Status Mining Global
|
|
336
|
-
* Melihat status
|
|
336
|
+
* Melihat detail status transaksi mining koin spesifik berdasarkan ID
|
|
337
|
+
* @param {string} idmining ID Transaksi Mining (contoh: Mining-XXXXXX)
|
|
337
338
|
* @returns {Promise<Object>} Detail status mining server
|
|
338
339
|
*/
|
|
339
|
-
async cekmining() {
|
|
340
|
+
async cekmining(idmining) {
|
|
341
|
+
if (!idmining) throw new Error('Parameter idmining wajib diisi.');
|
|
340
342
|
return this._request('/cekmining', 'GET', {
|
|
341
|
-
|
|
343
|
+
idmining: String(idmining).trim()
|
|
342
344
|
});
|
|
343
345
|
}
|
|
344
346
|
|
|
@@ -353,6 +355,34 @@ class ZakkiStore {
|
|
|
353
355
|
});
|
|
354
356
|
}
|
|
355
357
|
|
|
358
|
+
/**
|
|
359
|
+
* Minta Tantangan (Challenge) Mining Baru
|
|
360
|
+
* Mendapatkan challenge kriptografi dan difficulty untuk komputasi Proof of Work
|
|
361
|
+
* @returns {Promise<Object>} Respon detail challenge mining
|
|
362
|
+
*/
|
|
363
|
+
async miningStart() {
|
|
364
|
+
return this._request('/mining/start', 'GET', {
|
|
365
|
+
token: this.token
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
/**
|
|
370
|
+
* Submit Jawaban Mining (Proof of Work)
|
|
371
|
+
* Mengirimkan nonce tebakan dan signature untuk divalidasi oleh server
|
|
372
|
+
* @param {number|string} nonce Nonce hasil komputasi yang valid
|
|
373
|
+
* @param {string} signature Segel kriptografi signature dari server
|
|
374
|
+
* @returns {Promise<Object>} Respon hasil submit mining (sukses/denda)
|
|
375
|
+
*/
|
|
376
|
+
async miningSubmit(nonce, signature) {
|
|
377
|
+
if (typeof nonce === 'undefined') throw new Error('Parameter nonce wajib disertakan.');
|
|
378
|
+
if (!signature) throw new Error('Parameter signature wajib disertakan.');
|
|
379
|
+
return this._request('/mining/submit', 'POST', {
|
|
380
|
+
token: this.token,
|
|
381
|
+
nonce: nonce,
|
|
382
|
+
signature: signature
|
|
383
|
+
});
|
|
384
|
+
}
|
|
385
|
+
|
|
356
386
|
/**
|
|
357
387
|
* 18. Cek Stok Nomor Telepon (Noktel)
|
|
358
388
|
* Mengambil daftar nomor telepon (stok) yang tersedia untuk dibeli
|
|
@@ -436,6 +466,113 @@ class ZakkiStore {
|
|
|
436
466
|
async status() {
|
|
437
467
|
return this._request('/status', 'GET');
|
|
438
468
|
}
|
|
469
|
+
|
|
470
|
+
/**
|
|
471
|
+
* 26. Set Callback URL
|
|
472
|
+
* Mendaftarkan URL callback HTTPS Anda untuk menerima laporan otomatis status pembayaran
|
|
473
|
+
* @param {string} site URL callback Anda (Wajib HTTPS dan harus mengembalikan 200 OK)
|
|
474
|
+
* @returns {Promise<Object>} Respon status pendaftaran callback
|
|
475
|
+
*/
|
|
476
|
+
async setcallback(site) {
|
|
477
|
+
return this._request('/setcallback', 'GET', {
|
|
478
|
+
token: this.token,
|
|
479
|
+
site: String(site).trim()
|
|
480
|
+
});
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
/**
|
|
484
|
+
* 27. Hapus Callback URL
|
|
485
|
+
* Menghapus URL callback yang terdaftar agar tidak lagi menerima laporan otomatis
|
|
486
|
+
* @returns {Promise<Object>} Respon status penghapusan callback
|
|
487
|
+
*/
|
|
488
|
+
async delcallback() {
|
|
489
|
+
return this._request('/delcallback', 'GET', {
|
|
490
|
+
token: this.token
|
|
491
|
+
});
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
/**
|
|
495
|
+
* 28. Set Notifikasi Bot Telegram
|
|
496
|
+
* Mendaftarkan ID Telegram Anda agar menerima laporan transaksi otomatis dari bot
|
|
497
|
+
* @param {string|number} telegramId ID Telegram member Anda
|
|
498
|
+
* @returns {Promise<Object>} Respon status pendaftaran Telegram ID
|
|
499
|
+
*/
|
|
500
|
+
async setnotifbot(telegramId) {
|
|
501
|
+
return this._request('/setnotifbot', 'GET', {
|
|
502
|
+
token: this.token,
|
|
503
|
+
id: String(telegramId).trim()
|
|
504
|
+
});
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
/**
|
|
508
|
+
* 29. Hapus Notifikasi Bot Telegram
|
|
509
|
+
* Menghapus ID Telegram yang terdaftar untuk menonaktifkan notifikasi bot
|
|
510
|
+
* @returns {Promise<Object>} Respon status penghapusan
|
|
511
|
+
*/
|
|
512
|
+
async delnotifbot() {
|
|
513
|
+
return this._request('/delnotifbot', 'GET', {
|
|
514
|
+
token: this.token
|
|
515
|
+
});
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
|
|
520
|
+
/**
|
|
521
|
+
* 31. Cek Detail Transfer Saldo
|
|
522
|
+
* Memverifikasi status transfer saldo antar member berdasarkan ID transfer
|
|
523
|
+
* @param {string} idtransfer ID transaksi transfer (contoh: BankTF-xxxxxx)
|
|
524
|
+
* @returns {Promise<Object>} Respon detail transfer saldo
|
|
525
|
+
*/
|
|
526
|
+
async checktransfer(idtransfer) {
|
|
527
|
+
return this._request('/checktransfer', 'GET', {
|
|
528
|
+
idtransfer: String(idtransfer).trim()
|
|
529
|
+
});
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
/**
|
|
533
|
+
* 32. Cek Riwayat Transfer Saldo (Kirim / Terima / Semua)
|
|
534
|
+
* Melihat riwayat transaksi transfer saldo pada akun Anda
|
|
535
|
+
* @param {string} [type='all'] Tipe riwayat ('all', 'kirim', 'terima')
|
|
536
|
+
* @returns {Promise<Object>} Respon daftar transfer
|
|
537
|
+
*/
|
|
538
|
+
async mytransfer(type = 'all') {
|
|
539
|
+
return this._request('/mytransfer', 'GET', {
|
|
540
|
+
token: this.token,
|
|
541
|
+
type: String(type).trim()
|
|
542
|
+
});
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
/**
|
|
546
|
+
* 33. Cek Riwayat Topup Sukses
|
|
547
|
+
* Mengambil daftar seluruh riwayat pembayaran QRIS topup sukses beserta total volume
|
|
548
|
+
* @returns {Promise<Object>} Daftar riwayat topup sukses
|
|
549
|
+
*/
|
|
550
|
+
async mytopup() {
|
|
551
|
+
return this._request('/mytopup', 'GET', {
|
|
552
|
+
token: this.token
|
|
553
|
+
});
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
/**
|
|
557
|
+
* 34. Cek Alamat IP & Keamanan Server Anda
|
|
558
|
+
* Mengambil alamat IP publik server Anda terdeteksi oleh gateway beserta status keamanan (Aman/Whitelist/Blacklist)
|
|
559
|
+
* @returns {Promise<Object>} Detail IP & status keamanan
|
|
560
|
+
*/
|
|
561
|
+
async cekmyip() {
|
|
562
|
+
return this._request('/cekmyip', 'GET');
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
/**
|
|
566
|
+
* 35. Cek Status Keamanan Alamat IP Spesifik
|
|
567
|
+
* Memverifikasi status keamanan IP tertentu di list blacklist/whitelist sistem gateway
|
|
568
|
+
* @param {string} ip Alamat IP yang ingin dicek
|
|
569
|
+
* @returns {Promise<Object>} Detail IP & status keamanan
|
|
570
|
+
*/
|
|
571
|
+
async cekip(ip) {
|
|
572
|
+
return this._request('/cekip', 'GET', {
|
|
573
|
+
ip: String(ip).trim()
|
|
574
|
+
});
|
|
575
|
+
}
|
|
439
576
|
}
|
|
440
577
|
|
|
441
578
|
module.exports = ZakkiStore;
|