Lietuvių
Lietuvių
Appearance
Lietuvių
Lietuvių
Appearance
WallaWhats REST API leidžia programiškai valdyti telefonus, X paskyrų prenumeratas ir pranešimų istoriją — lygiai tą patį, ką darytumėte skydelyje.
https://api.wallawhats.comapplication/jsonKiekvienoje užklausoje turi būti API raktas antraštėje x-api-key:
curl https://api.wallawhats.com/user/profile \
-H "x-api-key: bws_prod_00000000000000000000000000000000"Raktai kuriami skydelyje Settings → API Keys arba per POST /apikeys. Rakto priešdėlis prasideda bws_ ir yra 36 simbolių ilgio. Raktai rodomi tik vieną kartą, kūrimo metu — jei raktą prarandate, ištrinkite jį ir sukurkite naują.
401 Unauthorized.| Planas | Leidžiami raktai |
|---|---|
| Free | 1 |
| Pro | 1 |
| Pro+ | 2 |
| Business | 5 |
| Enterprise | 20 |
Bandymas sukurti daugiau, nei leidžia planas, grąžina 400 su "error": "api key limit reached".
Klaidos grąžinamos JSON formatu su lauku error ir HTTP būsenos kodu:
{ "error": "phoneNumber is required" }| Būsena | Reikšmė |
|---|---|
400 | Netinkami parametrai, viršyta kvota arba verslo taisyklės pažeidimas |
401 | Trūkstamas arba netinkamas API raktas |
402 | Neužtenka kreditų operacijai užbaigti |
404 | Išteklius nerastas |
500 | Serverio klaida — bandykite dar kartą naudodami eksponentinį atsitraukimą |
lastKey žymeklį puslapiavimui.403 piktnaudžiavimo atvejais. Susisiekite su palaikymu, jei netikėtai susiduriate su greičio apribojimais.GET /user/profileGrąžina autentifikuoto vartotojo profilį.
Atsakymas
{
"userId": "5a4cbd70-...",
"email": "jane@example.com",
"name": "Jane",
"plan": "pro_plus",
"createdAt": 1745000000000
}Pavyzdys
curl https://api.wallawhats.com/user/profile \
-H "x-api-key: bws_prod_..."Telefonas — tai patvirtintas WhatsApp numeris, galintis gauti pranešimus. Jūs turite patvirtinti telefoną, prieš prenumeruodami X paskyrą.
POST /phonesSugeneruoja 6 skaitmenų kodą ir nusiunčia jį numeriui per WhatsApp. Telefonas sukuriamas būsenoje pending_verification.
Užklausa
| Laukas | Tipas | Privalomas | Pastabos |
|---|---|---|---|
phoneNumber | string | taip | E.164 formatas, pvz., +34612345678 |
displayName | string | ne | Draugiška etiketė, rodoma skydelyje |
Atsakymas
{ "phoneNumber": "+34612345678", "status": "pending_verification" }Klaidos
400 "invalid phone number format" — ne E.164400 "phone number limit reached" — viršija plano leidžiamą (Free/Pro/Pro+ 1, Business 3, Enterprise 10)Pavyzdys
curl -X POST https://api.wallawhats.com/phones \
-H "x-api-key: bws_prod_..." \
-H "Content-Type: application/json" \
-d '{"phoneNumber": "+34612345678", "displayName": "Work"}'POST /phones/verifyPatvirtina telefoną pateikus 6 skaitmenų kodą. Kodai baigiasi po 15 minučių.
Užklausa
| Laukas | Tipas | Privalomas |
|---|---|---|
phoneNumber | string (E.164) | taip |
code | string (6 skaitmenys) | taip |
Atsakymas
{ "phoneNumber": "+34612345678", "status": "verified" }Klaidos
404 "phone not found"400 "invalid code" — neteisingas kodas400 "code expired" — vyresnis nei 15 minučių400 "phone already verified"GET /phonesAtsakymas
{
"phones": [
{
"phoneNumber": "+34612345678",
"status": "verified",
"displayName": "Work",
"createdAt": 1745000000000,
"verifiedAt": 1745000060000
}
],
"count": 1
}DELETE /phones/{phoneNumber}Pašalina telefoną ir išjungia visas jam skirtas prenumeratas. URL kodu užkoduokite + kaip %2B.
Atsakymas
{ "success": true }Pavyzdys
curl -X DELETE "https://api.wallawhats.com/phones/%2B34612345678" \
-H "x-api-key: bws_prod_..."Prenumerata susieja stebimą X paskyrą su vienu iš jūsų patvirtintų telefonų. Kai X paskyra paskelbia, WallaWhats siunčia WhatsApp pranešimą tam telefonui.
POST /subscriptionsUžklausa
| Laukas | Tipas | Privalomas | Pastabos |
|---|---|---|---|
xUsername | string | taip | 1–15 simbolių, raidinis-skaitmeninis + pabraukimas. @ priešdėlis priimamas ir pašalinamas. |
phoneNumber | string (E.164) | taip | Turi būti vienas iš jūsų patvirtintų telefonų. |
Atsakymas
{
"xUsername": "elonmusk",
"xUserId": "44196397",
"xDisplayName": "Elon Musk",
"xProfileImage": "https://pbs.twimg.com/...",
"phoneNumber": "+34612345678",
"isActive": true,
"createdAt": 1745000000000
}Klaidos
400 "invalid X username format" — regex nesutapo400 "phone not found" / "phone not verified"400 "subscription limit reached" — žr. planų lentelę toliau404 "X account not found" — vartotojo vardas neatitinka nei vieno XPlano ribos
| Planas | Prenumeratos |
|---|---|
| Free | 1 |
| Pro | 1 |
| Pro+ | 2 |
| Business | 5 |
| Enterprise | 50 |
GET /subscriptionsAtsakymas
{
"subscriptions": [ /* tokia pati forma kaip POST /subscriptions atsakymas */ ],
"count": 3
}DELETE /subscriptions/{xUsername}Nejautrus registrui atitikmuo laukui xUsername. Pašalinkite @ prieš siunčiant.
Atsakymas
{ "success": true }Kiekvienas WallaWhats pristatytas pranešimas fiksuojamas čia kartu su jo WhatsApp pristatymo būsena.
GET /notificationsUžklausos parametrai
| Parametras | Tipas | Aprašymas |
|---|---|---|
from | number (ms epoch) | Filtruoti pranešimus, sukurtus šiuo metu ar vėliau |
to | number (ms epoch) | Filtruoti pranešimus, sukurtus šiuo metu ar anksčiau |
lastKey | string | Puslapiavimo žymeklis, grąžintas ankstesnio atsakymo |
Atsakymas
{
"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..."
}Galimos status reikšmės: queued, sent, delivered, read, failed.
Puslapio dydis — 50. Kai lastKey nėra, jūs pasiekėte pabaigą.
Valdykite raktus, kuriuos jūsų programos naudoja šiam API kviesti.
POST /apikeysUžklausa
| Laukas | Tipas | Privalomas |
|---|---|---|
name | string | ne, numatytasis "Default" |
Atsakymas (201 Created)
{
"apiKey": "bws_prod_00000000000000000000000000000000",
"keyPrefix": "bws_prod_00",
"keyName": "CI server",
"createdAt": 1745000000000,
"expiresAt": 1776536000000
}Parodoma vieną kartą
apiKey grąžinama tik kūrimo metu. Nedelsdami išsaugokite jį savo slaptukų valdiklyje. Vėlesni iškvietimai atskleidžia tik keyPrefix.
GET /apikeysAtsakymas
[
{
"keyPrefix": "bws_prod_00",
"keyName": "CI server",
"createdAt": 1745000000000,
"lastUsedAt": 1745086400000,
"expiresAt": 1776536000000
}
]DELETE /apikeys/{keyPrefix}Naudokite 12 simbolių keyPrefix iš sąrašo atsakymo — niekada viso rakto.
Atsakymas
{ "success": true }# 1. Sukurkite raktą skydelyje ir eksportuokite jį
export WALLA_API_KEY="bws_prod_..."
# 2. Užregistruokite + patvirtinkite savo WhatsApp numerį
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"}'
# -> telefonas gauna WhatsApp kodą. Pateikite jį:
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. Prenumeruokite X paskyrą
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. Stebėkite, kaip plaukia pranešimai
curl https://api.wallawhats.com/notifications \
-H "x-api-key: $WALLA_API_KEY"Tiek to — kai X paskyra paskelbs, pranešimas nukeliaus į telefoną maždaug per 10 sekundžių.
API klausimai, klaidų pranešimai ar kvotos padidinimo užklausos: atidarykite bilietą savo skydelio Support skirtuke arba rašykite el. paštu hello@support.wallawhats.com.