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.
Files changed (4) hide show
  1. package/README.md +39 -33
  2. package/index.d.ts +77 -1
  3. package/index.js +140 -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
@@ -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, 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)
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
- token: this.token
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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zakkistore-sdk",
3
- "version": "1.0.1",
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",