Skip to content

API Referansı

WallaWhats REST API'si; telefonları, X hesabı aboneliklerini ve bildirim geçmişini programatik olarak yönetmenize olanak tanır — tam olarak kontrol panelinden yapacağınız şeyler.

  • Temel URL: https://api.wallawhats.com
  • İçerik türü: application/json
  • Kimlik doğrulama: API anahtarı (başlık)
  • Sürümleme: API kararlıdır. Geriye dönük uyumsuz değişiklikler 30 gün önceden her hesaba e-posta yoluyla duyurulur.

Kimlik doğrulama

Her istek, x-api-key başlığında bir API anahtarı içermelidir:

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

Anahtarlar, kontrol panelinde Settings → API Keys altında veya POST /apikeys aracılığıyla oluşturulur. Bir anahtar öneki bws_ ile başlar ve 36 karakter uzunluğundadır. Anahtarlar yalnızca oluşturulduğunda bir kez gösterilir — birini kaybederseniz silin ve yenisini oluşturun.

Kapsam ve geçerlilik süresi

  • Bir anahtar, onu oluşturan kullanıcı olarak kimlik doğrulaması yapar. O kullanıcıyla aynı izinlere sahiptir ve aynı plan kotalarına karşı sayılır.
  • Anahtarlar 365 gün boyunca geçerlidir. Yeni bir anahtar oluşturarak, geçiş yaparak ve eskisini silerek rotasyon yapın.
  • Eksik, hatalı biçimlendirilmiş veya iptal edilmiş anahtarlar 401 Unauthorized döndürür.

Anahtarlar için plan limitleri

Planİzin verilen anahtar sayısı
Free1
Pro1
Pro+2
Business5
Enterprise20

Planınızın izin verdiğinden fazlasını oluşturmaya çalışmak 400 ile birlikte "error": "api key limit reached" döndürür.

Hatalar

Hatalar, bir error alanı ve HTTP durum koduyla birlikte JSON olarak döndürülür:

json
{ "error": "phoneNumber is required" }
DurumAnlamı
400Geçersiz parametreler, kota aşıldı veya iş kuralı ihlali
401Eksik veya geçersiz API anahtarı
402İşlemi tamamlamak için yeterli kredi yok
404Kaynak bulunamadı
500Sunucu hatası — lütfen üstel geri çekilme ile yeniden deneyin

Hız limitleri

  • Varsayılan: API anahtarı başına saniyede 20 istek, 40'a kadar patlama.
  • Listeleme uç noktaları sayfa başına en fazla 50 öğe döndürür; sayfalamak için lastKey imlecini kullanın.
  • WAF kuralları, kötüye kullanım kalıplarında 403 döndürebilir. Beklenmedik şekilde hız sınırlamasına takılıyorsanız desteğe başvurun.

User

Profilinizi alın

GET /user/profile

Kimliği doğrulanmış kullanıcının profilini döndürür.

Yanıt

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

Örnek

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

Phones

Bir telefon, uyarı alabilen doğrulanmış bir WhatsApp numarasıdır. Bir X hesabını bir telefona abone etmeden önce telefonu doğrulamanız gerekir.

Bir telefon kaydedin

POST /phones

6 haneli bir kod oluşturur ve WhatsApp aracılığıyla numaraya gönderir. Telefon pending_verification durumunda oluşturulur.

İstek

AlanTürZorunluNotlar
phoneNumberstringevetE.164 biçimi, örn. +34612345678
displayNamestringhayırKontrol panelinde gösterilen kolay etiket

Yanıt

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

Hatalar

  • 400 "invalid phone number format" — E.164 değil
  • 400 "phone number limit reached" — plan sınırını aşar (Free/Pro/Pro+ 1, Business 3, Enterprise 10)

Örnek

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"}'

Bir telefonu doğrulayın

POST /phones/verify

6 haneli kodu göndererek bir telefonu onaylar. Kodların süresi 15 dakika sonra dolar.

İstek

AlanTürZorunlu
phoneNumberstring (E.164)evet
codestring (6 hane)evet

Yanıt

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

Hatalar

  • 404 "phone not found"
  • 400 "invalid code" — yanlış kod
  • 400 "code expired" — 15 dakikadan eski
  • 400 "phone already verified"

Telefonlarınızı listeleyin

GET /phones

Yanıt

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

Bir telefonu silin

DELETE /phones/{phoneNumber}

Telefonu kaldırır ve bu telefonu hedefleyen tüm abonelikleri devre dışı bırakır. + işaretini %2B olarak URL kodlayın.

Yanıt

json
{ "success": true }

Örnek

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

Subscriptions

Bir abonelik, izlemek istediğiniz bir X hesabını doğrulanmış telefonlarınızdan birine bağlar. X hesabı gönderi yayınladığında, WallaWhats o telefona bir WhatsApp uyarısı gönderir.

Bir abonelik oluşturun

POST /subscriptions

İstek

AlanTürZorunluNotlar
xUsernamestringevet1–15 karakter, alfanümerik + alt çizgi. @ öneki kabul edilir ve kaldırılır.
phoneNumberstring (E.164)evetDoğrulanmış telefonlarınızdan biri olmalıdır.

Yanıt

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

Hatalar

  • 400 "invalid X username format" — regex başarısız
  • 400 "phone not found" / "phone not verified"
  • 400 "subscription limit reached" — aşağıdaki plan tablosuna bakın
  • 404 "X account not found" — kullanıcı adı X'te çözümlenmiyor

Plan limitleri

PlanAbonelikler
Free1
Pro1
Pro+2
Business5
Enterprise50

Aboneliklerinizi listeleyin

GET /subscriptions

Yanıt

json
{
  "subscriptions": [ /* POST /subscriptions yanıtıyla aynı biçim */ ],
  "count": 3
}

Bir aboneliği silin

DELETE /subscriptions/{xUsername}

xUsername üzerinde büyük/küçük harfe duyarsız eşleşme. Göndermeden önce @ işaretini kaldırın.

Yanıt

json
{ "success": true }

Notifications

WallaWhats'in ilettiği her uyarı, WhatsApp teslim durumuyla birlikte burada kaydedilir.

Bildirimleri listeleyin

GET /notifications

Sorgu parametreleri

ParametreTürAçıklama
fromnumber (ms epoch)Bu zamanda veya sonrasında oluşturulan bildirimlere filtre uygular
tonumber (ms epoch)Bu zamanda veya öncesinde oluşturulan bildirimlere filtre uygular
lastKeystringÖnceki yanıtın döndürdüğü sayfalama imleci

Yanıt

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..."
}

Olası status değerleri: queued, sent, delivered, read, failed.

Sayfa boyutu 50'dir. lastKey yoksa sona ulaşmışsınız demektir.


API keys

Uygulamalarınızın bu API'yi çağırmak için kullandığı anahtarları yönetin.

API anahtarı oluşturma

POST /apikeys

İstek

AlanTürZorunlu
namestringhayır, varsayılan "Default"

Yanıt (201 Created)

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

Yalnızca bir kez gösterilen değer

apiKey yalnızca oluşturulduğunda döndürülür. Hemen gizli anahtar yöneticinize kaydedin. Sonraki çağrılar yalnızca keyPrefix değerini gösterir.

API anahtarlarınızı listeleyin

GET /apikeys

Yanıt

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

Bir API anahtarını silin

DELETE /apikeys/{keyPrefix}

Liste yanıtındaki 12 karakterli keyPrefix değerini kullanın — asla tam anahtarı değil.

Yanıt

json
{ "success": true }

Hızlı başlangıç

bash
# 1. Kontrol panelinde bir anahtar oluşturun ve dışa aktarın
export WALLA_API_KEY="bws_prod_..."

# 2. WhatsApp numaranızı kaydedin + doğrulayın
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 bir WhatsApp kodu alır. Kodu gönderin:
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. Bir X hesabına abone olun
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. Uyarıların gelişini izleyin
curl https://api.wallawhats.com/notifications \
  -H "x-api-key: $WALLA_API_KEY"

İşte bu kadar — X hesabı gönderi paylaştığında uyarı yaklaşık 10 saniye içinde telefona ulaşır.

Destek

API soruları, hata bildirimleri veya kota artırma talepleri: kontrol panelinizdeki Support sekmesinden bir bilet açın veya hello@support.wallawhats.com adresine e-posta gönderin.

WallaWhats Documentation