Skip to content

API reference

REST API WallaWhats Vám umožňuje spravovat telefony, odběry účtů X a historii upozornění programově — přesně to, co byste jinak dělali z nástěnky.

  • Základní URL: https://api.wallawhats.com
  • Typ obsahu: application/json
  • Autentizace: API klíč (hlavička)
  • Verzování: API je stabilní. Zásadní změny jsou oznamovány 30 dní předem e-mailem na každý účet.

Autentizace

Každý požadavek musí obsahovat API klíč v hlavičce x-api-key:

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

Klíče se vytvářejí na nástěnce v Settings → API Keys nebo přes POST /apikeys. Prefix klíče začíná na bws_ a má 36 znaků. Klíče jsou zobrazeny jednou, při vytvoření — pokud některý ztratíte, smažte ho a vytvořte nový.

Rozsah a platnost

  • Klíč se autentizuje jako uživatel, který ho vytvořil. Má stejná oprávnění jako tento uživatel a započítává se do stejných kvót plánu.
  • Klíče jsou platné 365 dní. Rotujte je vytvořením nového klíče, přepnutím a smazáním starého.
  • Chybějící, poškozené nebo zneplatněné klíče vracejí 401 Unauthorized.

Limity plánu na klíče

PlánPovolené klíče
Free1
Pro1
Pro+2
Business5
Enterprise20

Pokus o vytvoření více klíčů, než Váš plán umožňuje, vrátí 400 s "error": "api key limit reached".

Chyby

Chyby jsou vraceny jako JSON s polem error a stavovým kódem HTTP:

json
{ "error": "phoneNumber is required" }
StavVýznam
400Neplatné parametry, překročená kvóta nebo porušení obchodního pravidla
401Chybějící nebo neplatný API klíč
402Nedostatek kreditů k dokončení operace
404Zdroj nenalezen
500Chyba serveru — opakujte s exponenciálním odstupem

Limity rychlosti

  • Výchozí: 20 požadavků/sekundu na API klíč, s nárazovou kapacitou až 40.
  • Seznamové endpointy vracejí až 50 položek na stránku; k stránkování použijte kurzor lastKey.
  • Pravidla WAF mohou vrátit 403 při podezřelých vzorcích. Pokud Vás neočekávaně omezuje rychlostní limit, kontaktujte podporu.

User

Získání Vašeho profilu

GET /user/profile

Vrací profil autentizovaného uživatele.

Odpověď

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

Příklad

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

Phones

Telefon je ověřené číslo WhatsApp, které může přijímat upozornění. Než k němu přihlásíte účet X, musíte telefon ověřit.

Registrace telefonu

POST /phones

Vygeneruje 6místný kód a odešle ho na číslo přes WhatsApp. Telefon je vytvořen ve stavu pending_verification.

Požadavek

PoleTypPovinnéPoznámky
phoneNumberstringanoFormát E.164, např. +34612345678
displayNamestringnePřátelský název zobrazený na nástěnce

Odpověď

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

Chyby

  • 400 "invalid phone number format" — není E.164
  • 400 "phone number limit reached" — překračuje povolenou hranici plánu (Free/Pro/Pro+ 1, Business 3, Enterprise 10)

Příklad

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

Ověření telefonu

POST /phones/verify

Potvrdí telefon odesláním 6místného kódu. Kódy vyprší po 15 minutách.

Požadavek

PoleTypPovinné
phoneNumberstring (E.164)ano
codestring (6 číslic)ano

Odpověď

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

Chyby

  • 404 "phone not found"
  • 400 "invalid code" — špatný kód
  • 400 "code expired" — starší než 15 minut
  • 400 "phone already verified"

Seznam Vašich telefonů

GET /phones

Odpověď

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

Smazání telefonu

DELETE /phones/{phoneNumber}

Odstraní telefon a deaktivuje všechny odběry na něj směrované. Zakódujte + jako %2B.

Odpověď

json
{ "success": true }

Příklad

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

Subscriptions

Odběr propojuje účet X, který chcete sledovat, s jedním z Vašich ověřených telefonů. Když účet X zveřejní příspěvek, WallaWhats odešle upozornění na WhatsApp na tento telefon.

Vytvoření odběru

POST /subscriptions

Požadavek

PoleTypPovinnéPoznámky
xUsernamestringano1–15 znaků, alfanumerické + podtržítko. Prefix @ je akceptován a odstraněn.
phoneNumberstring (E.164)anoMusí být jedním z Vašich ověřených telefonů.

Odpověď

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

Chyby

  • 400 "invalid X username format" — chyba regulárního výrazu
  • 400 "phone not found" / "phone not verified"
  • 400 "subscription limit reached" — viz tabulku plánů níže
  • 404 "X account not found" — uživatelské jméno se na X nenašlo

Limity plánu

PlánOdběry
Free1
Pro1
Pro+2
Business5
Enterprise50

Seznam Vašich odběrů

GET /subscriptions

Odpověď

json
{
  "subscriptions": [ /* stejný tvar jako odpověď POST /subscriptions */ ],
  "count": 3
}

Smazání odběru

DELETE /subscriptions/{xUsername}

Porovnání xUsername bez ohledu na velikost písmen. Před odesláním odstraňte @.

Odpověď

json
{ "success": true }

Notifications

Každé doručené upozornění WallaWhats je zde zaznamenáno, včetně jeho stavu doručení na WhatsApp.

Seznam upozornění

GET /notifications

Parametry dotazu

ParametrTypPopis
fromnumber (ms epocha)Filtr na upozornění vytvořená v tomto čase nebo později
tonumber (ms epocha)Filtr na upozornění vytvořená v tomto čase nebo dříve
lastKeystringKurzor stránkování vrácený předchozí odpovědí

Odpověď

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žné hodnoty status: queued, sent, delivered, read, failed.

Velikost stránky je 50. Pokud lastKey chybí, dosáhli jste konce.


API keys

Spravujte klíče, které Vaše aplikace používají k volání tohoto API.

Vytvoření API klíče

POST /apikeys

Požadavek

PoleTypPovinné
namestringne, výchozí je "Default"

Odpověď (201 Created)

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

Hodnota zobrazená pouze jednou

apiKey je vráceno pouze při vytvoření. Ihned ho uložte do svého správce tajemství. Následná volání zveřejňují pouze keyPrefix.

Seznam Vašich API klíčů

GET /apikeys

Odpověď

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

Smazání API klíče

DELETE /apikeys/{keyPrefix}

Použijte 12znakový keyPrefix z odpovědi seznamu — nikdy celý klíč.

Odpověď

json
{ "success": true }

Rychlý start

bash
# 1. Vytvořte klíč na nástěnce a vyexportujte ho
export WALLA_API_KEY="bws_prod_..."

# 2. Zaregistrujte + ověřte své číslo 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"}'
# -> telefon obdrží kód přes WhatsApp. Odešlete ho:
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. Přihlaste se k odběru účtu 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. Sledujte, jak přicházejí upozornění
curl https://api.wallawhats.com/notifications \
  -H "x-api-key: $WALLA_API_KEY"

A to je vše — jakmile účet X něco zveřejní, upozornění dorazí na telefon do ~10 sekund.

Podpora

Dotazy k API, hlášení chyb nebo žádosti o zvýšení kvót: otevřete lístek ze záložky Support na Vaší nástěnce nebo napište e-mail na hello@support.wallawhats.com.

WallaWhats Documentation