Dokumentasi API

Panduan lengkap untuk mengintegrasikan WAGate ke aplikasi Anda.

Base URL

https://wagate.dikiromadoni.tech/api/v1

Semua request menggunakan header:

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
POST /messages/send

Kirim Pesan

Mengirim pesan WhatsApp (teks, gambar, dokumen, video).

Parameters

NamaTipeWajibDeskripsi
to string Ya Nomor tujuan (format: 62xxx)
type string Tidak text, image, document, video, audio (default: text)
body string Ya* Isi pesan (wajib untuk type=text)
media_url string Ya* URL media (wajib untuk type selain text)
caption string Tidak Caption untuk media
session_id integer Tidak ID sesi WA (default: sesi pertama yang aktif)

Request Body

{
  "to": "6281234567890",
  "type": "text",
  "body": "Halo dari API! 🚀"
}

Response

{
  "success": true,
  "message": "Pesan sedang dikirim.",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "to": "6281234567890",
    "type": "text",
    "status": "queued",
    "created_at": "2026-07-13T04:00:00Z"
  }
}
GET /messages/{id}

Cek Status Pesan

Melihat status pengiriman pesan berdasarkan UUID.

Response

{
  "success": true,
  "data": {
    "id": "550e8400-...",
    "status": "delivered",
    "sent_at": "2026-07-13T04:00:01Z",
    "delivered_at": "2026-07-13T04:00:03Z"
  }
}
GET /quota

Cek Kuota

Melihat sisa kuota pesan dan info langganan.

Response

{
  "success": true,
  "data": {
    "plan": "Starter",
    "quota_remaining": 750,
    "quota_total": 1000,
    "expires_at": "2026-08-13T00:00:00Z"
  }
}
POST /webhook

Set Webhook URL

Mengatur URL webhook untuk menerima notifikasi pesan masuk.

Request Body

{
  "url": "https://yourdomain.com/webhook",
  "events": ["message.received", "message.status"]
}
GET /sessions

List Sesi WhatsApp

Melihat daftar sesi WhatsApp yang terhubung.

HTTP Status Codes

CodeDeskripsi
200Berhasil
201Resource berhasil dibuat (pesan dikirim)
401API key tidak valid atau tidak ditemukan
403Akses ditolak (akun nonaktif, tidak punya langganan)
422Validasi gagal (parameter tidak lengkap)
429Rate limit tercapai atau kuota habis
500Kesalahan server internal