Bahasa Indonesia
Bahasa Indonesia
Appearance
Bahasa Indonesia
Bahasa Indonesia
Appearance
REST API WallaWhats memungkinkan Anda mengelola telepon, langganan akun X, dan riwayat notifikasi secara programatis — persis seperti yang akan Anda lakukan dari dashboard.
https://api.wallawhats.comapplication/jsonSetiap permintaan harus menyertakan API key di header x-api-key:
curl https://api.wallawhats.com/user/profile \
-H "x-api-key: bws_prod_00000000000000000000000000000000"Key dibuat di dashboard pada Settings → API Keys atau melalui POST /apikeys. Prefix key diawali dengan bws_ dan memiliki panjang 36 karakter. Key ditampilkan hanya sekali, saat pembuatan — jika Anda kehilangan satu, hapus dan buat yang baru.
401 Unauthorized.| Paket | Key yang diizinkan |
|---|---|
| Free | 1 |
| Pro | 1 |
| Pro+ | 2 |
| Business | 5 |
| Enterprise | 20 |
Mencoba membuat lebih banyak dari yang diizinkan paket Anda mengembalikan 400 dengan "error": "api key limit reached".
Error dikembalikan sebagai JSON dengan field error dan kode status HTTP:
{ "error": "phoneNumber is required" }| Status | Makna |
|---|---|
400 | Parameter tidak valid, kuota terlampaui, atau pelanggaran aturan bisnis |
401 | API key hilang atau tidak valid |
402 | Kredit tidak cukup untuk menyelesaikan operasi |
404 | Resource tidak ditemukan |
500 | Error server — coba ulangi dengan exponential backoff |
lastKey untuk paginasi.403 pada pola yang abusif. Hubungi dukungan jika Anda tiba-tiba mengalami rate-limiting.GET /user/profileMengembalikan profil pengguna yang terautentikasi.
Response
{
"userId": "5a4cbd70-...",
"email": "jane@example.com",
"name": "Jane",
"plan": "pro_plus",
"createdAt": 1745000000000
}Contoh
curl https://api.wallawhats.com/user/profile \
-H "x-api-key: bws_prod_..."Sebuah phone adalah nomor WhatsApp terverifikasi yang dapat menerima notifikasi. Anda harus memverifikasi phone sebelum melanggankan akun X padanya.
POST /phonesMenghasilkan kode 6 digit dan mengirimkannya ke nomor melalui WhatsApp. Phone dibuat dalam status pending_verification.
Request
| Field | Type | Required | Catatan |
|---|---|---|---|
phoneNumber | string | ya | Format E.164, misalnya +6281234567890 |
displayName | string | tidak | Label ramah yang ditampilkan di dashboard |
Response
{ "phoneNumber": "+6281234567890", "status": "pending_verification" }Error
400 "invalid phone number format" — bukan E.164400 "phone number limit reached" — melebihi batas paket (Free/Pro/Pro+ 1, Business 3, Enterprise 10)Contoh
curl -X POST https://api.wallawhats.com/phones \
-H "x-api-key: bws_prod_..." \
-H "Content-Type: application/json" \
-d '{"phoneNumber": "+6281234567890", "displayName": "Work"}'POST /phones/verifyMengonfirmasi phone dengan mengirimkan kode 6 digit. Kode kedaluwarsa setelah 15 menit.
Request
| Field | Type | Required |
|---|---|---|
phoneNumber | string (E.164) | ya |
code | string (6 digit) | ya |
Response
{ "phoneNumber": "+6281234567890", "status": "verified" }Error
404 "phone not found"400 "invalid code" — kode salah400 "code expired" — lebih dari 15 menit400 "phone already verified"GET /phonesResponse
{
"phones": [
{
"phoneNumber": "+6281234567890",
"status": "verified",
"displayName": "Work",
"createdAt": 1745000000000,
"verifiedAt": 1745000060000
}
],
"count": 1
}DELETE /phones/{phoneNumber}Menghapus phone dan menonaktifkan semua langganan yang menargetkannya. URL-encode + sebagai %2B.
Response
{ "success": true }Contoh
curl -X DELETE "https://api.wallawhats.com/phones/%2B6281234567890" \
-H "x-api-key: bws_prod_..."Sebuah subscription menghubungkan akun X yang ingin Anda pantau ke salah satu phone terverifikasi Anda. Ketika akun X memposting, WallaWhats mengirim notifikasi WhatsApp ke phone tersebut.
POST /subscriptionsRequest
| Field | Type | Required | Catatan |
|---|---|---|---|
xUsername | string | ya | 1–15 karakter, alfanumerik + underscore. Prefix @ diterima dan dihapus. |
phoneNumber | string (E.164) | ya | Harus salah satu phone terverifikasi Anda. |
Response
{
"xUsername": "elonmusk",
"xUserId": "44196397",
"xDisplayName": "Elon Musk",
"xProfileImage": "https://pbs.twimg.com/...",
"phoneNumber": "+6281234567890",
"isActive": true,
"createdAt": 1745000000000
}Error
400 "invalid X username format" — regex gagal400 "phone not found" / "phone not verified"400 "subscription limit reached" — lihat tabel paket di bawah404 "X account not found" — username tidak ditemukan di XBatas paket
| Paket | Subscriptions |
|---|---|
| Free | 1 |
| Pro | 1 |
| Pro+ | 2 |
| Business | 5 |
| Enterprise | 50 |
GET /subscriptionsResponse
{
"subscriptions": [ /* bentuk sama dengan response POST /subscriptions */ ],
"count": 3
}DELETE /subscriptions/{xUsername}Pencocokan case-insensitive pada xUsername. Hapus @ sebelum mengirim.
Response
{ "success": true }Setiap notifikasi yang dikirim WallaWhats dicatat di sini, beserta status pengirimannya di WhatsApp.
GET /notificationsParameter query
| Param | Type | Deskripsi |
|---|---|---|
from | number (ms epoch) | Filter ke notifikasi yang dibuat pada atau setelah waktu ini |
to | number (ms epoch) | Filter ke notifikasi yang dibuat pada atau sebelum waktu ini |
lastKey | string | Cursor paginasi yang dikembalikan oleh respons sebelumnya |
Response
{
"notifications": [
{
"notificationId": "a1b2c3d4-...",
"userId": "5a4cbd70-...",
"phoneNumber": "+6281234567890",
"xUsername": "elonmusk",
"tweetId": "1797123456789000000",
"tweetText": "...",
"tweetUrl": "https://x.com/elonmusk/status/...",
"waMessageId": "wamid.HBgN...",
"status": "delivered",
"errorMessage": null,
"createdAt": 1745000000000,
"updatedAt": 1745000002000
}
],
"lastKey": "eyJOT1RJRklDQVRJT05fSUQi..."
}Nilai status yang mungkin: queued, sent, delivered, read, failed.
Ukuran halaman adalah 50. Ketika lastKey tidak ada, Anda telah mencapai akhir.
Kelola key yang digunakan aplikasi Anda untuk memanggil API ini.
POST /apikeysRequest
| Field | Type | Required |
|---|---|---|
name | string | tidak, default "Default" |
Response (201 Created)
{
"apiKey": "bws_prod_00000000000000000000000000000000",
"keyPrefix": "bws_prod_00",
"keyName": "CI server",
"createdAt": 1745000000000,
"expiresAt": 1776536000000
}Nilai tampil sekali
apiKey dikembalikan hanya saat pembuatan. Simpan segera di secrets manager Anda. Panggilan selanjutnya hanya mengekspos keyPrefix.
GET /apikeysResponse
[
{
"keyPrefix": "bws_prod_00",
"keyName": "CI server",
"createdAt": 1745000000000,
"lastUsedAt": 1745086400000,
"expiresAt": 1776536000000
}
]DELETE /apikeys/{keyPrefix}Gunakan keyPrefix 12 karakter dari respons daftar — jangan pernah key lengkapnya.
Response
{ "success": true }# 1. Buat key di dashboard dan ekspor
export WALLA_API_KEY="bws_prod_..."
# 2. Daftarkan + verifikasi nomor WhatsApp Anda
curl -X POST https://api.wallawhats.com/phones \
-H "x-api-key: $WALLA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phoneNumber":"+6281234567890","displayName":"Mobile"}'
# -> phone menerima kode WhatsApp. Kirimkan:
curl -X POST https://api.wallawhats.com/phones/verify \
-H "x-api-key: $WALLA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phoneNumber":"+6281234567890","code":"123456"}'
# 3. Langganan akun X
curl -X POST https://api.wallawhats.com/subscriptions \
-H "x-api-key: $WALLA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"xUsername":"elonmusk","phoneNumber":"+6281234567890"}'
# 4. Lihat notifikasi berdatangan
curl https://api.wallawhats.com/notifications \
-H "x-api-key: $WALLA_API_KEY"Begitu saja — setelah akun X memposting, notifikasi tiba di phone dalam ~10 detik.
Pertanyaan API, laporan bug, atau permintaan peningkatan kuota: buka tiket dari tab Support di dashboard Anda, atau email hello@support.wallawhats.com.