zakkistore-sdk 1.0.0 → 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.
Files changed (4) hide show
  1. package/README.md +39 -33
  2. package/index.d.ts +84 -1
  3. package/index.js +156 -3
  4. 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
  [![Zakki Store Web Docs](https://img.shields.io/badge/ZAKKI%20STORE-WEB%20DOCS-6C5CE7?style=for-the-badge&logo=gitbook&logoColor=white)](https://qris.zakki.store)
7
- [![GitHub Repository](https://img.shields.io/badge/GitHub-Repository-181717?style=for-the-badge&logo=github&logoColor=white)](https://github.com/MrLow12/zakkistore-sdk)
8
-
9
7
  [![WhatsApp](https://img.shields.io/badge/WHATSAPP-CHAT%20SUPPORT-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://wa.me/6283844082339)
10
8
  [![Telegram](https://img.shields.io/badge/TELEGRAM-DEV%20CONTACT-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white)](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
- Pasang pustaka SDK resmi melalui manajer paket NPM:
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('zakkistore-sdk');
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 (BukaOlshop).
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
- "total_users": 28,
754
- "financials": {
755
- "total_saldo_bank": 4500000,
756
- "total_saldo_bukaolshop": 4520000,
757
- "system_profit": 250000,
758
- "total_injection": 5000000,
759
- "total_loss": 5000
760
- },
761
- "h2h_metrics": {
762
- "total_transactions": 1420,
763
- "total_volume": 12500000,
764
- "success_ratio": "98.4%"
765
- },
766
- "mining_metrics": {
767
- "total_blocks_mined": 250,
768
- "total_koin_mined": 12500
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
- "status": "HEALTHY",
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
@@ -115,6 +115,13 @@ declare class ZakkiStore {
115
115
  */
116
116
  tarik(jumlah: number | string): Promise<any>;
117
117
 
118
+ /**
119
+ * 25. Cek Riwayat Mutasi Tarik/Tabung
120
+ * Melihat riwayat mutasi tarik/tabung pada akun Anda
121
+ * @param type Tipe mutasi ('all' | 'tarik' | 'tabung')
122
+ */
123
+ checkmutasi(type?: 'all' | 'tarik' | 'tabung' | string): Promise<any>;
124
+
118
125
  /**
119
126
  * 12. Transfer Saldo Antar Member
120
127
  * Mentransfer sebagian saldo Anda ke rekening VA member/user Zakki Store lainnya
@@ -147,14 +154,29 @@ declare class ZakkiStore {
147
154
 
148
155
  /**
149
156
  * 16. Cek Status Mining Global
157
+ * @param idmining ID Transaksi Mining (contoh: Mining-XXXXXX)
150
158
  */
151
- cekmining(): Promise<any>;
159
+ cekmining(idmining: string): Promise<any>;
152
160
 
153
161
  /**
154
162
  * 17. Cek Statistik Mining Pribadi
155
163
  */
156
164
  mymining(): Promise<any>;
157
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
+
158
180
  /**
159
181
  * 18. Cek Stok Nomor Telepon (Noktel)
160
182
  */
@@ -199,6 +221,67 @@ declare class ZakkiStore {
199
221
  * Mengambil rangkuman statistik global sistem (total saldo, total pengguna, total volume H2H, dll)
200
222
  */
201
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>;
202
285
  }
203
286
 
204
287
  export = ZakkiStore;
package/index.js CHANGED
@@ -231,6 +231,22 @@ class ZakkiStore {
231
231
  return this._request('/tarik', 'POST', payload);
232
232
  }
233
233
 
234
+ /**
235
+ * 25. Cek Riwayat Mutasi Tarik/Tabung
236
+ * Melihat riwayat mutasi tarik/tabung pada akun Anda
237
+ * @param {string} [type='all'] Tipe mutasi ('all', 'tarik', 'tabung')
238
+ * @returns {Promise<Object>} Respon data riwayat mutasi
239
+ */
240
+ async checkmutasi(type = 'all') {
241
+ const payload = {
242
+ token: this.token,
243
+ type: String(type).trim()
244
+ };
245
+ if (this.iduser) payload.iduser = this.iduser;
246
+ if (this.email) payload.email = this.email;
247
+ return this._request('/checkmutasi', 'GET', payload);
248
+ }
249
+
234
250
  /**
235
251
  * 12. Transfer Saldo Antar Member
236
252
  * Mentransfer sebagian saldo Anda ke rekening VA member/user Zakki Store lainnya
@@ -317,12 +333,14 @@ class ZakkiStore {
317
333
 
318
334
  /**
319
335
  * 16. Cek Status Mining Global
320
- * Melihat status, tingkat kesulitan, serta parameter global dari sistem Mining koin
336
+ * Melihat detail status transaksi mining koin spesifik berdasarkan ID
337
+ * @param {string} idmining ID Transaksi Mining (contoh: Mining-XXXXXX)
321
338
  * @returns {Promise<Object>} Detail status mining server
322
339
  */
323
- async cekmining() {
340
+ async cekmining(idmining) {
341
+ if (!idmining) throw new Error('Parameter idmining wajib diisi.');
324
342
  return this._request('/cekmining', 'GET', {
325
- token: this.token
343
+ idmining: String(idmining).trim()
326
344
  });
327
345
  }
328
346
 
@@ -337,6 +355,34 @@ class ZakkiStore {
337
355
  });
338
356
  }
339
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
+
340
386
  /**
341
387
  * 18. Cek Stok Nomor Telepon (Noktel)
342
388
  * Mengambil daftar nomor telepon (stok) yang tersedia untuk dibeli
@@ -420,6 +466,113 @@ class ZakkiStore {
420
466
  async status() {
421
467
  return this._request('/status', 'GET');
422
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
+ }
423
576
  }
424
577
 
425
578
  module.exports = ZakkiStore;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zakkistore-sdk",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "SDK Node.js Resmi untuk Integrasi Layanan Payment Gateway QRIS & Host-to-Host (H2H) Zakki Store",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",