Syarat Langganan API
Semua endpoint pengiriman dan schedule hanya dapat digunakan ketika langganan aktif dan sender berstatus connected.
HTTP 403
{
"success": false,
"code": "SUBSCRIPTION_REQUIRED | SUBSCRIPTION_EXPIRED",
"message": "Alasan langganan tidak aktif"
}
Lakukan pembayaran/perpanjangan, kemudian tekan Hubungkan Kembali pada Dashboard.
Send Message API
Endpoint kompatibel dengan format API kamu. Gunakan device yang sudah berstatus connected.
Nomor wajib tersimpan: nomor tujuan harus sudah tersimpan di sistem sebelum dapat menerima pesan.
Nomor akan tersimpan otomatis setelah penerima chat ke nomor bot terlebih dahulu. Jika belum tersimpan, API mengembalikan NUMBER_NOT_SAVED dan pesan tidak dikirim.
| Method | POST atau GET |
|---|---|
| Endpoint | /send-message |
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key |
string | Yes | API key user |
sender |
string | Yes | Nomor device yang connected |
number |
string | Yes | Nomor tujuan, contoh 62888xxxx |
message |
string | Yes | Pesan yang dikirim |
POST JSON
POST /send-message
Content-Type: application/json
{
"api_key": "1234567890",
"sender": "62888xxxx",
"number": "62888xxxx",
"message": "Hello World"
}
GET URL
/send-message?api_key=1234567890&sender=62888xxxx&number=62888xxxx&message=Hello%20World
Send Media API
Endpoint ini digunakan untuk mengirim media dari URL direct link. Pastikan URL bukan link Google Drive, Dropbox preview, atau cloud storage yang butuh halaman perantara.
| Method | POST atau GET |
|---|---|
| Endpoint | /send-media |
Media Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key |
string | Yes | API key user |
sender |
string | Yes | Nomor device yang connected |
number |
string | Yes | Nomor tujuan, contoh 62888xxxx |
media_type |
string | Yes |
Allowed:
image,
video,
audio,
pdf,
xls,
xlsx,
doc,
docx,
zip
|
caption |
string | No | Akan tampil untuk media type image dan video. |
url |
string | Yes | URL media. Wajib direct link. |
ppt |
boolean | No |
Digunakan untuk type audio.
true = voice note,
false = audio biasa.
|
Note: Pastikan url adalah direct link, bukan link dari Google Drive atau cloud storage yang membuka halaman preview.
Example JSON Request
POST /send-media
Content-Type: application/json
{
"api_key": "1234567890",
"sender": "62888xxxx",
"number": "62888xxxx",
"media_type": "image",
"caption": "Hello World",
"url": "https://example.com/image.jpg"
}
Example URL Request
/send-media?api_key=1234567890&sender=62888xxxx&number=62888xxxx&media_type=image&caption=Hello%20World&url=https%3A%2F%2Fexample.com%2Fimage.jpg
Example Audio Voice Note
POST /send-media
Content-Type: application/json
{
"api_key": "1234567890",
"sender": "62888xxxx",
"number": "62888xxxx",
"media_type": "audio",
"url": "https://example.com/audio.mp3",
"ppt": true
}
Schedule Message API
Jadwal disimpan di database panel dan dieksekusi otomatis oleh scheduler.
Gunakan header X-API-Key agar API key tidak masuk ke access log URL.
| Method | POST |
|---|---|
| Endpoint | /schedule-message |
Schedule Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
sender | string | Yes | Device milik user. |
number | string | Yes* | Satu nomor tujuan. |
numbers | array/string | Yes* | Banyak nomor; dapat berupa array, koma, atau baris baru. |
message | string | Yes | Isi pesan. |
scheduled_at | string | Yes | ISO 8601. Tanpa offset dianggap WIB. |
timezone | string | No | Default Asia/Jakarta. Untuk zona lain gunakan offset pada waktu. |
request_id | string | No | Kunci idempotensi agar request yang sama tidak membuat jadwal ganda. |
* Gunakan salah satu: number atau numbers.
Contoh Membuat Jadwal
POST /schedule-message
X-API-Key: API_KEY_USER
Content-Type: application/json
{
"sender": "62888xxxx",
"numbers": ["62811xxxx", "62812xxxx"],
"message": "Pesan ini dikirim sesuai jadwal.",
"scheduled_at": "2026-07-27T09:30:00+07:00",
"request_id": "invoice-reminder-20260727"
}
Cek, Daftar, dan Batalkan Jadwal
GET /schedule-message/JOB_ID X-API-Key: API_KEY_USER GET /scheduled-messages?limit=30 X-API-Key: API_KEY_USER POST /schedule-message/JOB_ID/cancel X-API-Key: API_KEY_USER