Skip to content

API hivatkozás

A WallaWhats REST API lehetővé teszi a telefonok, X fiók előfizetések és értesítési előzmények programozott kezelését — pontosan azt, amit egyébként az irányítópultról tenne.

  • Alap URL: https://api.wallawhats.com
  • Tartalomtípus: application/json
  • Hitelesítés: API kulcs (fejléc)
  • Verziókezelés: az API stabil. A törő változásokat 30 nappal előre bejelentjük e-mailben minden fiókra.

Hitelesítés

Minden kérésnek tartalmaznia kell egy API kulcsot az x-api-key fejlécben:

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

A kulcsok az irányítópulton a Settings → API Keys alatt vagy a POST /apikeys segítségével hozhatók létre. A kulcs előtagja bws_-sel kezdődik és 36 karakter hosszú. A kulcsok csak egyszer, a létrehozáskor jelennek meg — ha elveszít egyet, törölje és hozzon létre újat.

Hatókör és lejárat

  • A kulcs annak a felhasználónak a nevében hitelesít, aki létrehozta. Ugyanazokkal a jogosultságokkal rendelkezik, mint az a felhasználó, és ugyanazon csomagkvótákat terheli.
  • A kulcsok 365 napig érvényesek. A forgatáshoz hozzon létre egy új kulcsot, váltson át, és törölje a régit.
  • A hiányzó, hibás vagy visszavont kulcsok 401 Unauthorized hibát adnak vissza.

Csomagonkénti kulcskorlátok

CsomagMegengedett kulcsok
Free1
Pro1
Pro+2
Business5
Enterprise20

A csomag által engedélyezettnél több kulcs létrehozásának kísérlete 400 hibát ad "error": "api key limit reached" üzenettel.

Hibák

A hibák JSON formátumban kerülnek visszaadásra egy error mezővel és HTTP állapotkóddal:

json
{ "error": "phoneNumber is required" }
ÁllapotJelentés
400Érvénytelen paraméterek, túllépett kvóta vagy üzleti szabálysértés
401Hiányzó vagy érvénytelen API kulcs
402Nincs elég kredit a művelet befejezéséhez
404Erőforrás nem található
500Szerverhiba — kérjük, próbálja újra exponenciális visszalépéssel

Sebességkorlátok

  • Alapértelmezett: 20 kérés/másodperc API kulcsonként, 40-ig kitörve.
  • A listázási végpontok oldalanként legfeljebb 50 elemet adnak vissza; a lapozáshoz használja a lastKey kurzort.
  • A WAF szabályok 403 hibát adhatnak vissza visszaélésszerű minták esetén. Vegye fel a kapcsolatot a támogatással, ha váratlanul sebességkorlátozás alá esik.

User

Profil lekérése

GET /user/profile

Visszaadja a hitelesített felhasználó profilját.

Válasz

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

Példa

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

Phones

A telefon egy ellenőrzött WhatsApp szám, amely értesítéseket fogadhat. Egy X fiók feliratkoztatása előtt ellenőriznie kell egy telefont.

Telefon regisztrálása

POST /phones

Generál egy 6 jegyű kódot, és elküldi a számra WhatsAppon keresztül. A telefon pending_verification állapotban jön létre.

Kérés

MezőTípusKötelezőMegjegyzések
phoneNumberstringigenE.164 formátum, pl. +34612345678
displayNamestringnemAz irányítópulton megjelenő barátságos címke

Válasz

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

Hibák

  • 400 "invalid phone number format" — nem E.164
  • 400 "phone number limit reached" — meghaladja a csomag korlátját (Free/Pro/Pro+ 1, Business 3, Enterprise 10)

Példa

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

Telefon ellenőrzése

POST /phones/verify

Megerősíti a telefont a 6 jegyű kód beküldésével. A kódok 15 perc után lejárnak.

Kérés

MezőTípusKötelező
phoneNumberstring (E.164)igen
codestring (6 számjegy)igen

Válasz

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

Hibák

  • 404 "phone not found"
  • 400 "invalid code" — rossz kód
  • 400 "code expired" — 15 percnél régebbi
  • 400 "phone already verified"

Telefonok listázása

GET /phones

Válasz

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

Telefon törlése

DELETE /phones/{phoneNumber}

Eltávolítja a telefont, és deaktivál minden arra irányuló előfizetést. URL-kódolja a + jelet %2B-ként.

Válasz

json
{ "success": true }

Példa

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

Subscriptions

Az előfizetés egy figyelni kívánt X fiókot köt össze egyik ellenőrzött telefonjával. Amikor az X fiók bejegyzést tesz közzé, a WallaWhats WhatsApp értesítést küld arra a telefonra.

Előfizetés létrehozása

POST /subscriptions

Kérés

MezőTípusKötelezőMegjegyzések
xUsernamestringigen1–15 karakter, alfanumerikus + aláhúzás. A @ előtag elfogadott és eltávolításra kerül.
phoneNumberstring (E.164)igenEgyik ellenőrzött telefonjának kell lennie.

Válasz

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

Hibák

  • 400 "invalid X username format" — regex hiba
  • 400 "phone not found" / "phone not verified"
  • 400 "subscription limit reached" — lásd a csomag táblázatot alább
  • 404 "X account not found" — a felhasználónév nem oldható fel az X-en

Csomagkorlátok

CsomagElőfizetések
Free1
Pro1
Pro+2
Business5
Enterprise50

Előfizetések listázása

GET /subscriptions

Válasz

json
{
  "subscriptions": [ /* ugyanaz a forma, mint a POST /subscriptions válasza */ ],
  "count": 3
}

Előfizetés törlése

DELETE /subscriptions/{xUsername}

Kis- és nagybetű független egyezés az xUsername-en. Küldés előtt távolítsa el a @ jelet.

Válasz

json
{ "success": true }

Notifications

Minden WallaWhats által küldött értesítés itt naplózásra kerül, a WhatsApp kézbesítési állapotával együtt.

Értesítések listázása

GET /notifications

Lekérdezési paraméterek

ParaméterTípusLeírás
fromnumber (ms epoch)Szűrés az ebben az időpontban vagy később létrehozott értesítésekre
tonumber (ms epoch)Szűrés az ebben az időpontban vagy korábban létrehozott értesítésekre
lastKeystringAz előző válaszban visszaadott lapozási kurzor

Válasz

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

Lehetséges status értékek: queued, sent, delivered, read, failed.

Az oldalméret 50. Ha a lastKey hiányzik, elérte a végét.


API keys

Kezelje az alkalmazásai által ezen API hívásához használt kulcsokat.

API kulcs létrehozása

POST /apikeys

Kérés

MezőTípusKötelező
namestringnem, alapértelmezett a "Default"

Válasz (201 Created)

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

Egyszer megjelenő érték

Az apiKey csak a létrehozáskor kerül visszaadásra. Azonnal tárolja el a titokkezelőben. A további hívások csak a keyPrefix-et mutatják.

API kulcsok listázása

GET /apikeys

Válasz

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

API kulcs törlése

DELETE /apikeys/{keyPrefix}

Használja a 12 karakteres keyPrefix-et a listázási válaszból — soha ne a teljes kulcsot.

Válasz

json
{ "success": true }

Gyors indítás

bash
# 1. Hozzon létre egy kulcsot az irányítópulton és exportálja
export WALLA_API_KEY="bws_prod_..."

# 2. Regisztrálja + ellenőrizze WhatsApp számát
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"}'
# -> a telefon egy WhatsApp kódot kap. Küldje be:
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. Iratkozzon fel egy X fiókra
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. Nézze, ahogy érkeznek az értesítések
curl https://api.wallawhats.com/notifications \
  -H "x-api-key: $WALLA_API_KEY"

Ez az — amint az X fiók közzétesz valamit, az értesítés ~10 másodpercen belül megérkezik a telefonra.

Támogatás

API kérdések, hibajelentések vagy kvótaemelési kérések: nyisson egy jegyet az irányítópult Support fülén, vagy írjon e-mailt a hello@support.wallawhats.com címre.

WallaWhats Documentation