Română
Română
Appearance
Română
Română
Appearance
API-ul REST WallaWhats îți permite să gestionezi telefoane, abonamente la conturi X și istoric de notificări programatic — exact ceea ce ai face altfel din panoul de control.
https://api.wallawhats.comapplication/jsonFiecare cerere trebuie să includă o cheie API în antetul x-api-key:
curl https://api.wallawhats.com/user/profile \
-H "x-api-key: bws_prod_00000000000000000000000000000000"Cheile sunt create din panoul de control la Settings → API Keys sau prin POST /apikeys. Un prefix de cheie începe cu bws_ și are 36 de caractere. Cheile sunt afișate o singură dată, la creare — dacă pierzi una, șterge-o și creează una nouă.
401 Unauthorized.| Plan | Chei permise |
|---|---|
| Free | 1 |
| Pro | 1 |
| Pro+ | 2 |
| Business | 5 |
| Enterprise | 20 |
Încercarea de a crea mai multe chei decât permite planul returnează 400 cu "error": "api key limit reached".
Erorile sunt returnate ca JSON cu un câmp error și un cod de stare HTTP:
{ "error": "phoneNumber is required" }| Stare | Semnificație |
|---|---|
400 | Parametri nevalizi, cotă depășită sau încălcarea unei reguli de afacere |
401 | Cheie API lipsă sau nevalidă |
402 | Credite insuficiente pentru finalizarea operațiunii |
404 | Resursă negăsită |
500 | Eroare de server — te rugăm să reîncerci cu backoff exponențial |
lastKey pentru paginare.403 pentru tipare abuzive. Contactează suportul dacă ești limitat neașteptat.GET /user/profileReturnează profilul utilizatorului autentificat.
Răspuns
{
"userId": "5a4cbd70-...",
"email": "jane@example.com",
"name": "Jane",
"plan": "pro_plus",
"createdAt": 1745000000000
}Exemplu
curl https://api.wallawhats.com/user/profile \
-H "x-api-key: bws_prod_..."Un telefon este un număr WhatsApp verificat care poate primi alerte. Trebuie să verifici un telefon înainte de a abona un cont X la el.
POST /phonesGenerează un cod de 6 cifre și îl trimite la număr prin WhatsApp. Telefonul este creat în starea pending_verification.
Cerere
| Câmp | Tip | Obligatoriu | Note |
|---|---|---|---|
phoneNumber | string | da | Format E.164, de ex. +34612345678 |
displayName | string | nu | Etichetă prietenoasă afișată în panoul de control |
Răspuns
{ "phoneNumber": "+34612345678", "status": "pending_verification" }Erori
400 "invalid phone number format" — nu este E.164400 "phone number limit reached" — depășește limita planului (Free/Pro/Pro+ 1, Business 3, Enterprise 10)Exemplu
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/verifyConfirmă un telefon prin trimiterea codului de 6 cifre. Codurile expiră după 15 minute.
Cerere
| Câmp | Tip | Obligatoriu |
|---|---|---|
phoneNumber | string (E.164) | da |
code | string (6 cifre) | da |
Răspuns
{ "phoneNumber": "+34612345678", "status": "verified" }Erori
404 "phone not found"400 "invalid code" — cod greșit400 "code expired" — mai vechi de 15 minute400 "phone already verified"GET /phonesRăspuns
{
"phones": [
{
"phoneNumber": "+34612345678",
"status": "verified",
"displayName": "Work",
"createdAt": 1745000000000,
"verifiedAt": 1745000060000
}
],
"count": 1
}DELETE /phones/{phoneNumber}Elimină telefonul și dezactivează toate abonamentele care îl vizau. Codifică URL + ca %2B.
Răspuns
{ "success": true }Exemplu
curl -X DELETE "https://api.wallawhats.com/phones/%2B34612345678" \
-H "x-api-key: bws_prod_..."Un abonament leagă un cont X pe care vrei să îl monitorizezi la unul dintre telefoanele tale verificate. Când contul X postează, WallaWhats trimite o alertă WhatsApp pe acel telefon.
POST /subscriptionsCerere
| Câmp | Tip | Obligatoriu | Note |
|---|---|---|---|
xUsername | string | da | 1–15 caractere, alfanumerice + subliniere. Prefixul @ este acceptat și eliminat. |
phoneNumber | string (E.164) | da | Trebuie să fie unul dintre telefoanele tale verificate. |
Răspuns
{
"xUsername": "elonmusk",
"xUserId": "44196397",
"xDisplayName": "Elon Musk",
"xProfileImage": "https://pbs.twimg.com/...",
"phoneNumber": "+34612345678",
"isActive": true,
"createdAt": 1745000000000
}Erori
400 "invalid X username format" — eșec regex400 "phone not found" / "phone not verified"400 "subscription limit reached" — vezi tabelul planurilor de mai jos404 "X account not found" — numele de utilizator nu se rezolvă pe XLimite ale planurilor
| Plan | Abonamente |
|---|---|
| Free | 1 |
| Pro | 1 |
| Pro+ | 2 |
| Business | 5 |
| Enterprise | 50 |
GET /subscriptionsRăspuns
{
"subscriptions": [ /* aceeași formă ca răspunsul POST /subscriptions */ ],
"count": 3
}DELETE /subscriptions/{xUsername}Potrivire insensibilă la majuscule pe xUsername. Elimină @ înainte de trimitere.
Răspuns
{ "success": true }Fiecare alertă livrată de WallaWhats este înregistrată aici, împreună cu starea de livrare WhatsApp.
GET /notificationsParametri de interogare
| Parametru | Tip | Descriere |
|---|---|---|
from | number (ms epoch) | Filtrează notificările create la această oră sau după |
to | number (ms epoch) | Filtrează notificările create la această oră sau înainte |
lastKey | string | Cursor de paginare returnat de răspunsul anterior |
Răspuns
{
"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..."
}Valori posibile pentru status: queued, sent, delivered, read, failed.
Dimensiunea paginii este 50. Când lastKey lipsește, ai ajuns la sfârșit.
Gestionează cheile pe care aplicațiile tale le folosesc pentru a apela acest API.
POST /apikeysCerere
| Câmp | Tip | Obligatoriu |
|---|---|---|
name | string | nu, implicit "Default" |
Răspuns (201 Created)
{
"apiKey": "bws_prod_00000000000000000000000000000000",
"keyPrefix": "bws_prod_00",
"keyName": "CI server",
"createdAt": 1745000000000,
"expiresAt": 1776536000000
}Valoare afișată o singură dată
apiKey este returnată numai la creare. Stochează-o imediat în managerul tău de secrete. Apelurile ulterioare expun doar keyPrefix.
GET /apikeysRăspuns
[
{
"keyPrefix": "bws_prod_00",
"keyName": "CI server",
"createdAt": 1745000000000,
"lastUsedAt": 1745086400000,
"expiresAt": 1776536000000
}
]DELETE /apikeys/{keyPrefix}Folosește keyPrefix de 12 caractere din răspunsul de listare — niciodată cheia completă.
Răspuns
{ "success": true }# 1. Creează o cheie în panoul de control și exportă-o
export WALLA_API_KEY="bws_prod_..."
# 2. Înregistrează + verifică numărul WhatsApp
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"}'
# -> telefonul primește un cod prin WhatsApp. Trimite-l:
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. Abonează-te la un cont X
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. Urmărește cum sosesc alertele
curl https://api.wallawhats.com/notifications \
-H "x-api-key: $WALLA_API_KEY"Asta e tot — odată ce contul X postează, alerta ajunge pe telefon în ~10 secunde.
Întrebări despre API, rapoarte de erori sau solicitări de creștere a cotei: deschide un tichet din tab-ul Support din panoul tău de control, sau scrie pe e-mail la hello@support.wallawhats.com.