Skip to content

API-viite

WallaWhats REST API antaa sinun hallita puhelimia, X-tilien tilauksia ja ilmoitushistoriaa ohjelmallisesti — täsmälleen niin kuin tekisit kojelaudalla.

  • Perus-URL: https://api.wallawhats.com
  • Content type: application/json
  • Todennus: API-avain (otsake)
  • Versiointi: API on vakaa. Rikkovat muutokset ilmoitetaan 30 päivää etukäteen sähköpostitse jokaiselle tilille.

Todennus

Jokaisen pyynnön täytyy sisältää API-avain x-api-key-otsakkeessa:

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

Avaimet luodaan kojelaudalla kohdassa Settings → API Keys tai kutsulla POST /apikeys. Avaimen etuliite alkaa bws_ ja on 36 merkkiä pitkä. Avaimet näytetään vain kerran, luontihetkellä — jos häviät avaimen, poista se ja luo uusi.

Laajuus ja voimassaolo

  • Avain todentaa käyttäjän, joka sen loi. Sillä on samat oikeudet kuin kyseisellä käyttäjällä ja se lasketaan samoihin tilauskiintiöihin.
  • Avaimet ovat voimassa 365 päivää. Kierrätä luomalla uusi avain, vaihtamalla, ja poistamalla vanha.
  • Puuttuva, virheellinen tai peruutettu avain palauttaa 401 Unauthorized.

Tilauksen rajat avaimille

TilausSallittuja avaimia
Free1
Pro1
Pro+2
Business5
Enterprise20

Yritys luoda enemmän kuin tilauksesi sallii palauttaa 400 viestillä "error": "api key limit reached".

Virheet

Virheet palautetaan JSON-muodossa error-kentän ja HTTP-tilakoodin kera:

json
{ "error": "phoneNumber is required" }
TilaMerkitys
400Virheelliset parametrit, kiintiö ylitetty tai liiketoimintasäännön rikkomus
401Puuttuva tai virheellinen API-avain
402Krediittejä ei ole tarpeeksi operaation suorittamiseen
404Resurssia ei löytynyt
500Palvelinvirhe — yritä uudelleen eksponentiaalisella viiveellä

Pyyntörajat

  • Oletus: 20 pyyntöä/sekunti per API-avain, purske 40:een.
  • Listausendpointit palauttavat enintään 50 kohdetta sivua kohden; käytä lastKey-kursoria sivutukseen.
  • WAF-säännöt voivat palauttaa 403:n vilpillisiin kuvioihin. Ota yhteyttä tukeen, jos törmäät rajoituksiin odottamatta.

User

Hae profiilisi

GET /user/profile

Palauttaa todennetun käyttäjän profiilin.

Vastaus

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

Esimerkki

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

Phones

Puhelin on vahvistettu WhatsApp-numero, joka voi vastaanottaa hälytyksiä. Sinun täytyy vahvistaa puhelin ennen X-tilin tilaamista siihen.

Rekisteröi puhelin

POST /phones

Luo 6-numeroisen koodin ja lähettää sen numeroon WhatsAppin kautta. Puhelin luodaan pending_verification-tilaan.

Pyyntö

KenttäTyyppiPakollinenHuomiot
phoneNumberstringkylläE.164-muoto, esim. +34612345678
displayNamestringeiYstävällinen etiketti, joka näkyy kojelaudalla

Vastaus

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

Virheet

  • 400 "invalid phone number format" — ei E.164
  • 400 "phone number limit reached" — ylittää tilauksen sallimat (Free/Pro/Pro+ 1, Business 3, Enterprise 10)

Esimerkki

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

Vahvista puhelin

POST /phones/verify

Vahvistaa puhelimen lähettämällä 6-numeroisen koodin. Koodit vanhenevat 15 minuutin jälkeen.

Pyyntö

KenttäTyyppiPakollinen
phoneNumberstring (E.164)kyllä
codestring (6 numeroa)kyllä

Vastaus

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

Virheet

  • 404 "phone not found"
  • 400 "invalid code" — väärä koodi
  • 400 "code expired" — yli 15 minuuttia vanha
  • 400 "phone already verified"

Listaa puhelimesi

GET /phones

Vastaus

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

Poista puhelin

DELETE /phones/{phoneNumber}

Poistaa puhelimen ja deaktivoi kaikki kyseiseen numeroon kohdistuneet tilaukset. URL-koodaa + muotoon %2B.

Vastaus

json
{ "success": true }

Esimerkki

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

Subscriptions

Tilaus yhdistää seurattavan X-tilin johonkin vahvistamistasi puhelimista. Kun X-tili julkaisee viestin, WallaWhats lähettää WhatsApp-hälytyksen kyseiseen puhelimeen.

Luo tilaus

POST /subscriptions

Pyyntö

KenttäTyyppiPakollinenHuomiot
xUsernamestringkyllä1–15 merkkiä, aakkosnumeerinen + alaviiva. @-etuliite hyväksytään ja poistetaan.
phoneNumberstring (E.164)kylläTäytyy olla yksi vahvistetuista puhelimistasi.

Vastaus

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

Virheet

  • 400 "invalid X username format" — regex-virhe
  • 400 "phone not found" / "phone not verified"
  • 400 "subscription limit reached" — katso tilaustaulukko alla
  • 404 "X account not found" — käyttäjänimi ei vastaa mitään X:ssä

Tilauksen rajat

TilausTilauksia
Free1
Pro1
Pro+2
Business5
Enterprise50

Listaa tilauksesi

GET /subscriptions

Vastaus

json
{
  "subscriptions": [ /* sama muoto kuin POST /subscriptions -vastauksessa */ ],
  "count": 3
}

Poista tilaus

DELETE /subscriptions/{xUsername}

Kirjainkoosta riippumaton täsmäys kentässä xUsername. Poista @ ennen lähetystä.

Vastaus

json
{ "success": true }

Notifications

Jokainen WallaWhatsin toimittama hälytys kirjataan tänne yhdessä WhatsApp-toimitustilansa kanssa.

Listaa ilmoitukset

GET /notifications

Kyselyparametrit

ParametriTyyppiKuvaus
fromnumber (ms epoch)Suodata ilmoitukset, jotka on luotu tämän ajan jälkeen tai sen aikaan
tonumber (ms epoch)Suodata ilmoitukset, jotka on luotu tänä aikana tai sitä ennen
lastKeystringSivutuskursori, joka palautettiin edellisessä vastauksessa

Vastaus

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

Mahdolliset status-arvot: queued, sent, delivered, read, failed.

Sivun koko on 50. Kun lastKey puuttuu, olet saavuttanut lopun.


API keys

Hallitse avaimia, joita sovelluksesi käyttävät tämän API:n kutsumiseen.

Luo API-avain

POST /apikeys

Pyyntö

KenttäTyyppiPakollinen
namestringei, oletus "Default"

Vastaus (201 Created)

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

Näytetään vain kerran

apiKey palautetaan vain luontihetkellä. Tallenna se salaisuushallintajärjestelmääsi välittömästi. Myöhemmät kutsut paljastavat vain keyPrefix-kentän.

Listaa API-avaimesi

GET /apikeys

Vastaus

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

Poista API-avain

DELETE /apikeys/{keyPrefix}

Käytä listausvastauksen 12-merkkistä keyPrefix-arvoa — älä koskaan koko avainta.

Vastaus

json
{ "success": true }

Pikaopas

bash
# 1. Luo avain kojelaudalla ja vie se
export WALLA_API_KEY="bws_prod_..."

# 2. Rekisteröi + vahvista WhatsApp-numerosi
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"}'
# -> puhelin saa WhatsApp-koodin. Lähetä se:
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. Tilaa X-tili
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. Katso, kuinka hälytykset virtaavat
curl https://api.wallawhats.com/notifications \
  -H "x-api-key: $WALLA_API_KEY"

Siinä se — kun X-tili julkaisee, hälytys saapuu puhelimeen noin 10 sekunnissa.

Tuki

API-kysymykset, virheraportit tai kiintiökorotuspyynnöt: avaa tiketti kojelautasi Support-välilehdeltä tai lähetä sähköpostia osoitteeseen hello@support.wallawhats.com.

WallaWhats Documentation