{
  "info": {
    "name": "WaSender by KaryAlimi - WhatsApp Gateway API",
    "_postman_id": "wasender-karyalimi-v3",
    "description": "Koleksi API siap pakai untuk WaSender by KaryAlimi (WhatsApp Multi-Device Gateway).",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "HTTP/1.1://wa.kalimi.web.id",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "1. Cek Status WhatsApp (Sudah Terhubung atau Belum)",
      "request": {
        "method": "GET",
        "header": [{"key": "Accept", "value": "application/json"}],
        "url": {"raw": "{{baseUrl}}/api/status", "host": ["{{baseUrl}}"], "path": ["api", "status"]},
        "description": "Cek status terkini apakah WhatsApp sedang terhubung atau belum (connected: true/false), nomor aktif, push name, serta status ketersediaan QR."
      }
    },
    {
      "name": "2. Connect Device QR (Response Kode QR)",
      "request": {
        "method": "GET",
        "header": [{"key": "Accept", "value": "application/json"}],
        "url": {"raw": "{{baseUrl}}/api/qr", "host": ["{{baseUrl}}"], "path": ["api", "qr"]},
        "description": "Mengambil data QR Code pairing. Response mengembalikan string raw kode QR dan gambar base64 siap render di tag <img>."
      }
    },
    {
      "name": "3. Connect Device PairPhone (Response Kode OTP)",
      "request": {
        "method": "POST",
        "header": [{"key": "Content-Type", "value": "application/json"}],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"phone\": \"6282318860001\"\n}"
        },
        "url": {"raw": "{{baseUrl}}/api/pair-phone", "host": ["{{baseUrl}}"], "path": ["api", "pair-phone"]},
        "description": "Minta kode OTP pairing 8 digit tanpa kamera. Response mengembalikan field 'code' untuk dimasukkan di smartphone via Perangkat Tertaut > Tautkan dengan nomor telepon."
      }
    },
    {
      "name": "4. Kirim Pesan Teks Saja (Tanpa Gambar)",
      "request": {
        "method": "POST",
        "header": [{"key": "Content-Type", "value": "application/json"}],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"phone\": \"6281234567890\",\n  \"message\": \"Halo! Pesan ini dikirim otomatis via WaSender by KaryAlimi API.\"\n}"
        },
        "url": {"raw": "{{baseUrl}}/api/send", "host": ["{{baseUrl}}"], "path": ["api", "send"]},
        "description": "Kirim pesan teks murni tanpa gambar. Parameter image_url tidak diisi sehingga hanya mengirim teks."
      }
    },
    {
      "name": "5. Kirim Pesan + URL Gambar Opsional",
      "request": {
        "method": "POST",
        "header": [{"key": "Content-Type", "value": "application/json"}],
        "body": {
          "mode": "raw",
          "raw": "{\n  \"phone\": \"6281234567890\",\n  \"message\": \"Promo Spesial! Dapatkan diskon 50% hari ini.\",\n  \"image_url\": \"https://images.unsplash.com/photo-1579202673506-ca3ce28943ef?w=800\"\n}"
        },
        "url": {"raw": "{{baseUrl}}/api/send", "host": ["{{baseUrl}}"], "path": ["api", "send"]},
        "description": "Kirim pesan dengan gambar header via URL publik. image_url bersifat opsional: jika kosong/tidak diisi, hanya pesan teks yang dikirim."
      }
    },
    {
      "name": "6. Riwayat Pesan Terkirim",
      "request": {
        "method": "GET",
        "header": [{"key": "Accept", "value": "application/json"}],
        "url": {"raw": "{{baseUrl}}/api/messages", "host": ["{{baseUrl}}"], "path": ["api", "messages"]},
        "description": "Ambil riwayat pesan yang telah dikirim dalam sesi ini beserta status pengiriman (sent, delivered, failed) dan penanda gambar."
      }
    },
    {
      "name": "7. Reset Client QR",
      "request": {
        "method": "POST",
        "header": [],
        "url": {"raw": "{{baseUrl}}/api/reset-qr", "host": ["{{baseUrl}}"], "path": ["api", "reset-qr"]}
      }
    },
    {
      "name": "8. Putuskan Sesi WhatsApp (Logout)",
      "request": {
        "method": "POST",
        "header": [],
        "url": {"raw": "{{baseUrl}}/api/disconnect", "host": ["{{baseUrl}}"], "path": ["api", "disconnect"]}
      }
    }
  ]
}