Skip to content

Rujukan API

REST API WallaWhats membolehkan anda menguruskan telefon, langganan akaun X dan sejarah pemberitahuan secara programatik — tepat seperti yang anda lakukan dari papan pemuka.

  • URL Asas: https://api.wallawhats.com
  • Jenis kandungan: application/json
  • Pengesahan: API key (header)
  • Versi: API ini stabil. Perubahan yang memecahkan keserasian diumumkan 30 hari lebih awal melalui e-mel kepada setiap akaun.

Pengesahan

Setiap permintaan mesti menyertakan API key dalam header x-api-key:

bash
curl https://api.wallawhats.com/user/profile \
  -H "x-api-key: bws_prod_00000000000000000000000000000000"

Key dicipta dalam papan pemuka di bawah Settings → API Keys atau melalui POST /apikeys. Awalan key bermula dengan bws_ dan sepanjang 36 aksara. Key ditunjukkan sekali sahaja, semasa dicipta — jika anda kehilangannya, padamkan dan cipta yang baharu.

Skop dan tempoh luput

  • Key mengesahkan sebagai pengguna yang menciptanya. Ia mempunyai kebenaran yang sama seperti pengguna tersebut dan dikira terhadap kuota pelan yang sama.
  • Key sah selama 365 hari. Putar dengan mencipta key baharu, beralih kepadanya, dan memadam yang lama.
  • Key yang hilang, salah format atau dibatalkan mengembalikan 401 Unauthorized.

Had pelan pada key

PelanKey yang dibenarkan
Free1
Pro1
Pro+2
Business5
Enterprise20

Percubaan untuk mencipta lebih daripada yang dibenarkan pelan anda mengembalikan 400 dengan "error": "api key limit reached".

Ralat

Ralat dikembalikan sebagai JSON dengan medan error dan kod status HTTP:

json
{ "error": "phoneNumber is required" }
StatusMaksud
400Parameter tidak sah, kuota melebihi had, atau pelanggaran peraturan perniagaan
401API key hilang atau tidak sah
402Kredit tidak mencukupi untuk menyelesaikan operasi
404Sumber tidak dijumpai
500Ralat pelayan — sila cuba semula dengan exponential backoff

Had kadar

  • Lalai: 20 permintaan/saat setiap API key, pecutan hingga 40.
  • Endpoint senarai mengembalikan sehingga 50 item setiap halaman; guna kursor lastKey untuk halaman.
  • Peraturan WAF mungkin mengembalikan 403 pada corak yang menyalahi. Hubungi sokongan jika anda dihadkan kadar secara tidak dijangka.

User

Dapatkan profil anda

GET /user/profile

Mengembalikan profil pengguna yang disahkan.

Response

json
{
  "userId": "5a4cbd70-...",
  "email": "jane@example.com",
  "name": "Jane",
  "plan": "pro_plus",
  "createdAt": 1745000000000
}

Contoh

bash
curl https://api.wallawhats.com/user/profile \
  -H "x-api-key: bws_prod_..."

Phones

Telefon ialah nombor WhatsApp yang disahkan yang boleh menerima amaran. Anda mesti mengesahkan telefon sebelum melanggan akaun X kepadanya.

Daftarkan telefon

POST /phones

Menjana kod 6 digit dan menghantarnya ke nombor melalui WhatsApp. Telefon dicipta dalam keadaan pending_verification.

Request

MedanJenisDiperlukanCatatan
phoneNumberstringyaFormat E.164, cth. +34612345678
displayNamestringtidakLabel mesra yang dipaparkan dalam papan pemuka

Response

json
{ "phoneNumber": "+34612345678", "status": "pending_verification" }

Ralat

  • 400 "invalid phone number format" — bukan E.164
  • 400 "phone number limit reached" — melebihi peruntukan pelan (Free/Pro/Pro+ 1, Business 3, Enterprise 10)

Contoh

bash
curl -X POST https://api.wallawhats.com/phones \
  -H "x-api-key: bws_prod_..." \
  -H "Content-Type: application/json" \
  -d '{"phoneNumber": "+34612345678", "displayName": "Work"}'

Sahkan telefon

POST /phones/verify

Mengesahkan telefon dengan menghantar kod 6 digit. Kod tamat tempoh selepas 15 minit.

Request

MedanJenisDiperlukan
phoneNumberstring (E.164)ya
codestring (6 digit)ya

Response

json
{ "phoneNumber": "+34612345678", "status": "verified" }

Ralat

  • 404 "phone not found"
  • 400 "invalid code" — kod salah
  • 400 "code expired" — lebih 15 minit lama
  • 400 "phone already verified"

Senaraikan telefon anda

GET /phones

Response

json
{
  "phones": [
    {
      "phoneNumber": "+34612345678",
      "status": "verified",
      "displayName": "Work",
      "createdAt": 1745000000000,
      "verifiedAt": 1745000060000
    }
  ],
  "count": 1
}

Padamkan telefon

DELETE /phones/{phoneNumber}

Mengeluarkan telefon dan menyahaktifkan sebarang langganan yang menyasarkannya. URL-encode + sebagai %2B.

Response

json
{ "success": true }

Contoh

bash
curl -X DELETE "https://api.wallawhats.com/phones/%2B34612345678" \
  -H "x-api-key: bws_prod_..."

Subscriptions

Langganan mengaitkan akaun X yang anda mahu pantau kepada salah satu telefon yang disahkan anda. Apabila akaun X menghantar, WallaWhats menghantar amaran WhatsApp kepada telefon tersebut.

Cipta langganan

POST /subscriptions

Request

MedanJenisDiperlukanCatatan
xUsernamestringya1–15 aksara, alfanumerik + garis bawah. Awalan @ diterima dan dibuang.
phoneNumberstring (E.164)yaMesti salah satu telefon yang disahkan anda.

Response

json
{
  "xUsername": "elonmusk",
  "xUserId": "44196397",
  "xDisplayName": "Elon Musk",
  "xProfileImage": "https://pbs.twimg.com/...",
  "phoneNumber": "+34612345678",
  "isActive": true,
  "createdAt": 1745000000000
}

Ralat

  • 400 "invalid X username format" — regex gagal
  • 400 "phone not found" / "phone not verified"
  • 400 "subscription limit reached" — lihat jadual pelan di bawah
  • 404 "X account not found" — username tidak dikenali di X

Had pelan

PelanLangganan
Free1
Pro1
Pro+2
Business5
Enterprise50

Senaraikan langganan anda

GET /subscriptions

Response

json
{
  "subscriptions": [ /* bentuk sama dengan respons POST /subscriptions */ ],
  "count": 3
}

Padamkan langganan

DELETE /subscriptions/{xUsername}

Padanan tidak sensitif huruf besar-kecil pada xUsername. Buang @ sebelum menghantar.

Response

json
{ "success": true }

Notifications

Setiap amaran yang dihantar oleh WallaWhats direkodkan di sini, bersama statusnya penghantaran WhatsApp.

Senaraikan pemberitahuan

GET /notifications

Parameter pertanyaan

ParamJenisPenerangan
fromnumber (ms epoch)Tapis pemberitahuan yang dicipta pada atau selepas masa ini
tonumber (ms epoch)Tapis pemberitahuan yang dicipta pada atau sebelum masa ini
lastKeystringKursor halaman yang dikembalikan oleh respons sebelumnya

Response

json
{
  "notifications": [
    {
      "notificationId": "a1b2c3d4-...",
      "userId": "5a4cbd70-...",
      "phoneNumber": "+34612345678",
      "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.

Saiz halaman ialah 50. Apabila lastKey tiada, anda telah sampai ke penghujung.


API keys

Uruskan key yang digunakan aplikasi anda untuk memanggil API ini.

Cipta API key

POST /apikeys

Request

MedanJenisDiperlukan
namestringtidak, lalai kepada "Default"

Response (201 Created)

json
{
  "apiKey": "bws_prod_00000000000000000000000000000000",
  "keyPrefix": "bws_prod_00",
  "keyName": "CI server",
  "createdAt": 1745000000000,
  "expiresAt": 1776536000000
}

Nilai tunjuk-sekali

apiKey dikembalikan hanya semasa penciptaan. Simpan ia dalam pengurus rahsia anda dengan segera. Panggilan berikutnya hanya mendedahkan keyPrefix.

Senaraikan API key anda

GET /apikeys

Response

json
[
  {
    "keyPrefix": "bws_prod_00",
    "keyName": "CI server",
    "createdAt": 1745000000000,
    "lastUsedAt": 1745086400000,
    "expiresAt": 1776536000000
  }
]

Padamkan API key

DELETE /apikeys/{keyPrefix}

Gunakan keyPrefix 12 aksara daripada respons senarai — jangan sekali-kali key penuh.

Response

json
{ "success": true }

Mula pantas

bash
# 1. Cipta key dalam papan pemuka dan eksport
export WALLA_API_KEY="bws_prod_..."

# 2. Daftar + sahkan nombor WhatsApp anda
curl -X POST https://api.wallawhats.com/phones \
  -H "x-api-key: $WALLA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phoneNumber":"+34612345678","displayName":"Mobile"}'
# -> telefon menerima kod WhatsApp. Hantar ia:
curl -X POST https://api.wallawhats.com/phones/verify \
  -H "x-api-key: $WALLA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"phoneNumber":"+34612345678","code":"123456"}'

# 3. Langgan akaun 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":"+34612345678"}'

# 4. Tonton amaran berduyun-duyun
curl https://api.wallawhats.com/notifications \
  -H "x-api-key: $WALLA_API_KEY"

Itu sahaja — sebaik sahaja akaun X menghantar, amaran mendarat pada telefon dalam ~10 saat.

Sokongan

Soalan API, laporan pepijat atau permintaan peningkatan kuota: buka tiket dari tab Support dalam papan pemuka anda, atau e-mel hello@support.wallawhats.com.

WallaWhats Documentation