Skip to content

API referenca

WallaWhats REST API omogućuje vam programsko upravljanje telefonima, pretplatama na X račune i poviješću obavijesti — točno ono što biste inače radili s nadzorne ploče.

  • Osnovni URL: https://api.wallawhats.com
  • Vrsta sadržaja: application/json
  • Autentikacija: API ključ (zaglavlje)
  • Verzioniranje: API je stabilan. Promjene koje narušavaju kompatibilnost najavljuju se 30 dana unaprijed putem e-pošte svakom računu.

Autentikacija

Svaki zahtjev mora sadržavati API ključ u zaglavlju x-api-key:

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

Ključevi se stvaraju na nadzornoj ploči pod Settings → API Keys ili putem POST /apikeys. Prefiks ključa počinje s bws_ i ima 36 znakova. Ključevi se prikazuju samo jednom, pri stvaranju — ako izgubite ključ, obrišite ga i stvorite novi.

Opseg i istek

  • Ključ se autenticira kao korisnik koji ga je stvorio. Ima iste dozvole kao taj korisnik i računa se prema istim kvotama plana.
  • Ključevi vrijede 365 dana. Rotirajte ih stvaranjem novog ključa, prelaskom i brisanjem starog.
  • Nedostajući, neispravno oblikovani ili opozvani ključevi vraćaju 401 Unauthorized.

Ograničenja plana za ključeve

PlanDopušteni ključevi
Free1
Pro1
Pro+2
Business5
Enterprise20

Pokušaj stvaranja više ključeva od dopuštenog vraća 400 s "error": "api key limit reached".

Pogreške

Pogreške se vraćaju kao JSON s poljem error i HTTP statusnim kodom:

json
{ "error": "phoneNumber is required" }
StatusZnačenje
400Nevažeći parametri, prekoračena kvota ili kršenje poslovnog pravila
401Nedostajući ili nevažeći API ključ
402Nedovoljno kredita za dovršetak operacije
404Resurs nije pronađen
500Pogreška poslužitelja — pokušajte ponovno s eksponencijalnim odgađanjem

Ograničenja broja zahtjeva

  • Zadano: 20 zahtjeva/sekundi po API ključu, uz prekoračenje do 40.
  • Endpointi za popise vraćaju do 50 stavki po stranici; koristite lastKey kursor za paginaciju.
  • WAF pravila mogu vratiti 403 na zloupotrebljavajuće obrasce. Obratite se podršci ako ste neočekivano ograničeni.

Korisnik

Dohvatite svoj profil

GET /user/profile

Vraća profil autenticiranog korisnika.

Odgovor

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

Primjer

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

Telefoni

Telefon je potvrđeni WhatsApp broj koji može primati obavijesti. Morate potvrditi telefon prije nego što pretplatite X račun na njega.

Registrirajte telefon

POST /phones

Generira 6-znamenkasti kod i šalje ga na broj putem WhatsAppa. Telefon se stvara u stanju pending_verification.

Zahtjev

PoljeTipObaveznoNapomene
phoneNumberstringdaE.164 format, npr. +34612345678
displayNamestringnePrijateljska oznaka prikazana na nadzornoj ploči

Odgovor

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

Pogreške

  • 400 "invalid phone number format" — nije E.164
  • 400 "phone number limit reached" — prekoračuje dozvolu plana (Free/Pro/Pro+ 1, Business 3, Enterprise 10)

Primjer

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

Potvrdite telefon

POST /phones/verify

Potvrđuje telefon slanjem 6-znamenkastog koda. Kodovi istječu nakon 15 minuta.

Zahtjev

PoljeTipObavezno
phoneNumberstring (E.164)da
codestring (6 znamenki)da

Odgovor

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

Pogreške

  • 404 "phone not found"
  • 400 "invalid code" — pogrešan kod
  • 400 "code expired" — stariji od 15 minuta
  • 400 "phone already verified"

Popis vaših telefona

GET /phones

Odgovor

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

Obrišite telefon

DELETE /phones/{phoneNumber}

Uklanja telefon i deaktivira sve pretplate koje su bile usmjerene na njega. Kodirajte + kao %2B u URL-u.

Odgovor

json
{ "success": true }

Primjer

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

Pretplate

Pretplata povezuje X račun koji želite pratiti s jednim od vaših potvrđenih telefona. Kada taj X račun objavi, WallaWhats šalje WhatsApp obavijest na taj telefon.

Stvorite pretplatu

POST /subscriptions

Zahtjev

PoljeTipObaveznoNapomene
xUsernamestringda1–15 znakova, alfanumerički + podvlaka. Prefiks @ prihvaća se i uklanja.
phoneNumberstring (E.164)daMora biti jedan od vaših potvrđenih telefona.

Odgovor

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

Pogreške

  • 400 "invalid X username format" — regex nije prošao
  • 400 "phone not found" / "phone not verified"
  • 400 "subscription limit reached" — pogledajte tablicu planova u nastavku
  • 404 "X account not found" — korisničko ime ne postoji na X-u

Ograničenja plana

PlanPretplate
Free1
Pro1
Pro+2
Business5
Enterprise50

Popis vaših pretplata

GET /subscriptions

Odgovor

json
{
  "subscriptions": [ /* isti oblik kao odgovor POST /subscriptions */ ],
  "count": 3
}

Obrišite pretplatu

DELETE /subscriptions/{xUsername}

Podudaranje xUsername nije osjetljivo na veličinu slova. Uklonite @ prije slanja.

Odgovor

json
{ "success": true }

Obavijesti

Svaka obavijest koju WallaWhats isporuči ovdje se bilježi, zajedno s njezinim statusom WhatsApp isporuke.

Popis obavijesti

GET /notifications

Parametri upita

ParametarTipOpis
fromnumber (ms epoch)Filtrirajte obavijesti stvorene u ovom trenutku ili nakon njega
tonumber (ms epoch)Filtrirajte obavijesti stvorene u ovom trenutku ili prije njega
lastKeystringKursor paginacije vraćen u prethodnom odgovoru

Odgovor

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

Moguće vrijednosti status: queued, sent, delivered, read, failed.

Veličina stranice je 50. Kada nema lastKey, došli ste do kraja.


API ključevi

Upravljajte ključevima koje vaše aplikacije koriste za pozivanje ovog API-ja.

Stvorite API ključ

POST /apikeys

Zahtjev

PoljeTipObavezno
namestringne, zadano "Default"

Odgovor (201 Created)

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

Vrijednost prikazana samo jednom

apiKey se vraća samo pri stvaranju. Odmah ga pohranite u upravitelja tajni. Naknadni pozivi otkrivaju samo keyPrefix.

Popis vaših API ključeva

GET /apikeys

Odgovor

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

Obrišite API ključ

DELETE /apikeys/{keyPrefix}

Koristite 12-znakovni keyPrefix iz odgovora popisa — nikada cijeli ključ.

Odgovor

json
{ "success": true }

Brzi početak

bash
# 1. Stvorite ključ na nadzornoj ploči i izvezite ga
export WALLA_API_KEY="bws_prod_..."

# 2. Registrirajte + potvrdite svoj WhatsApp broj
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 prima WhatsApp kod. Pošaljite ga:
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. Pretplatite 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. Gledajte kako stižu obavijesti
curl https://api.wallawhats.com/notifications \
  -H "x-api-key: $WALLA_API_KEY"

To je to — kada X račun objavi, obavijest stiže na telefon za ~10 sekundi.

Podrška

Pitanja o API-ju, izvještaji o greškama ili zahtjevi za povećanje kvote: otvorite zahtjev na kartici Support na svojoj nadzornoj ploči ili pošaljite e-poštu na hello@support.wallawhats.com.

WallaWhats Documentation