Skip to content

API referenca

WallaWhats REST API vam omogoča programsko upravljanje telefonov, naročnin na X račune in zgodovine obvestil — natanko to, kar bi sicer počeli z nadzorne plošče.

  • Osnovni URL: https://api.wallawhats.com
  • Vrsta vsebine: application/json
  • Avtentikacija: API ključ (glava)
  • Različice: API je stabilen. Spremembe, ki prekinejo združljivost, so napovedane 30 dni vnaprej po e-pošti na vsak račun.

Avtentikacija

Vsaka zahteva mora vsebovati API ključ v glavi x-api-key:

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

Ključi se ustvarijo na nadzorni plošči pod Settings → API Keys ali prek POST /apikeys. Predpona ključa se začne z bws_ in je dolga 36 znakov. Ključi so prikazani samo enkrat, ob izdelavi — če ključ izgubite, ga izbrišite in ustvarite novega.

Obseg in potek veljavnosti

  • Ključ se avtenticira kot uporabnik, ki ga je ustvaril. Ima enaka dovoljenja kot ta uporabnik in se šteje v iste kvote plana.
  • Ključi veljajo 365 dni. Rotirajte jih tako, da ustvarite nov ključ, preklopite in izbrišete starega.
  • Manjkajoči, napačno oblikovani ali preklicani ključi vrnejo 401 Unauthorized.

Omejitve plana za ključe

PlanDovoljeni ključi
Free1
Pro1
Pro+2
Business5
Enterprise20

Poskus ustvarjanja več ključev, kot dovoljuje vaš plan, vrne 400 z "error": "api key limit reached".

Napake

Napake se vrnejo kot JSON s poljem error in HTTP statusno kodo:

json
{ "error": "phoneNumber is required" }
StatusPomen
400Neveljavni parametri, presežena kvota ali kršitev poslovnega pravila
401Manjkajoč ali neveljaven API ključ
402Premalo kreditov za dokončanje operacije
404Vir ni bil najden
500Napaka strežnika — poskusite znova z eksponentnim zamikom

Omejitve števila zahtev

  • Privzeto: 20 zahtev/sekundo na API ključ, z razpokom do 40.
  • Endpointi za seznam vrnejo do 50 elementov na stran; za pagiranje uporabite kazalec lastKey.
  • WAF pravila lahko vrnejo 403 pri zlorabljajočih vzorcih. Obrnite se na podporo, če ste nepričakovano omejeni.

Uporabnik

Pridobite svoj profil

GET /user/profile

Vrne profil avtenticiranega uporabnika.

Odziv

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

Primer

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

Telefoni

Telefon je potrjena WhatsApp številka, ki lahko prejema obvestila. Pred naročanjem X računa nanj morate telefon potrditi.

Registrirajte telefon

POST /phones

Ustvari 6-mestno kodo in jo pošlje na številko prek WhatsAppa. Telefon je ustvarjen v stanju pending_verification.

Zahteva

PoljeTipObveznoOpombe
phoneNumberstringdaE.164 format, npr. +34612345678
displayNamestringnePrijazna oznaka, prikazana na nadzorni plošči

Odziv

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

Napake

  • 400 "invalid phone number format" — ni E.164
  • 400 "phone number limit reached" — presega dovoljeno mero plana (Free/Pro/Pro+ 1, Business 3, Enterprise 10)

Primer

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

Potrdite telefon

POST /phones/verify

Potrdi telefon z oddajo 6-mestne kode. Kode potečejo po 15 minutah.

Zahteva

PoljeTipObvezno
phoneNumberstring (E.164)da
codestring (6 števk)da

Odziv

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

Napake

  • 404 "phone not found"
  • 400 "invalid code" — napačna koda
  • 400 "code expired" — starejša od 15 minut
  • 400 "phone already verified"

Seznam vaših telefonov

GET /phones

Odziv

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

Izbrišite telefon

DELETE /phones/{phoneNumber}

Odstrani telefon in deaktivira vse naročnine, ki so ciljale nanj. + v URL-ju kodirajte kot %2B.

Odziv

json
{ "success": true }

Primer

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

Naročnine

Naročnina povezuje X račun, ki ga želite spremljati, z enim od vaših potrjenih telefonov. Ko X račun objavi, WallaWhats pošlje WhatsApp obvestilo na ta telefon.

Ustvarite naročnino

POST /subscriptions

Zahteva

PoljeTipObveznoOpombe
xUsernamestringda1–15 znakov, alfanumerično + podčrtaj. Predpona @ je sprejeta in odstranjena.
phoneNumberstring (E.164)daMora biti eden od vaših potrjenih telefonov.

Odziv

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

Napake

  • 400 "invalid X username format" — regex ni uspel
  • 400 "phone not found" / "phone not verified"
  • 400 "subscription limit reached" — glejte tabelo planov spodaj
  • 404 "X account not found" — uporabniško ime se ne razreši na X-u

Omejitve plana

PlanNaročnine
Free1
Pro1
Pro+2
Business5
Enterprise50

Seznam vaših naročnin

GET /subscriptions

Odziv

json
{
  "subscriptions": [ /* enaka oblika kot odziv POST /subscriptions */ ],
  "count": 3
}

Izbrišite naročnino

DELETE /subscriptions/{xUsername}

Ujemanje xUsername ni občutljivo na velikost črk. Pred pošiljanjem odstranite @.

Odziv

json
{ "success": true }

Obvestila

Vsako obvestilo, ki ga WallaWhats dostavi, je zabeleženo tukaj, skupaj s statusom dostave WhatsApp.

Seznam obvestil

GET /notifications

Parametri poizvedbe

ParameterTipOpis
fromnumber (ms epoch)Filtrirajte na obvestila, ustvarjena ob tem času ali po njem
tonumber (ms epoch)Filtrirajte na obvestila, ustvarjena ob tem času ali pred njim
lastKeystringKazalec pagiranja, vrnjen v prejšnjem odzivu

Odziv

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

Možne vrednosti status: queued, sent, delivered, read, failed.

Velikost strani je 50. Ko lastKey ni na voljo, ste dosegli konec.


API ključi

Upravljajte s ključi, ki jih vaše aplikacije uporabljajo za klic tega API-ja.

Ustvarite API ključ

POST /apikeys

Zahteva

PoljeTipObvezno
namestringne, privzeto "Default"

Odziv (201 Created)

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

Vrednost, prikazana samo enkrat

apiKey je vrnjen samo ob izdelavi. Takoj ga shranite v upravitelja skrivnosti. Naslednji klici razkrijejo le keyPrefix.

Seznam vaših API ključev

GET /apikeys

Odziv

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

Izbrišite API ključ

DELETE /apikeys/{keyPrefix}

Uporabite 12-znakovni keyPrefix iz odziva seznama — nikoli celotnega ključa.

Odziv

json
{ "success": true }

Hiter začetek

bash
# 1. Ustvarite ključ na nadzorni plošči in ga izvozite
export WALLA_API_KEY="bws_prod_..."

# 2. Registrirajte + potrdite svojo WhatsApp številko
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 prejme WhatsApp kodo. Pošljite jo:
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. Naročite se na X račun
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. Opazujte, kako prihajajo obvestila
curl https://api.wallawhats.com/notifications \
  -H "x-api-key: $WALLA_API_KEY"

To je to — ko X račun objavi, obvestilo pristane na telefonu v ~10 sekundah.

Podpora

Vprašanja o API-ju, poročila o napakah ali zahteve za povečanje kvote: odprite zahtevek v zavihku Support na nadzorni plošči ali pošljite e-pošto na hello@support.wallawhats.com.

WallaWhats Documentation