Skip to content

API референца

WallaWhats REST API вам омогућава да програмски управљате телефонима, претплатама на X налоге и историјом обавештења — тачно оно што бисте иначе радили са контролне табле.

  • Основни URL: https://api.wallawhats.com
  • Тип садржаја: application/json
  • Аутентикација: API кључ (заглавље)
  • Верзионисање: API је стабилан. Промене које нарушавају компатибилност најављују се 30 дана унапред путем е-поште сваком налогу.

Аутентикација

Сваки захтев мора да садржи API кључ у заглављу x-api-key:

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

Кључеви се креирају на контролној табли под Settings → API Keys или преко POST /apikeys. Префикс кључа почиње са bws_ и дужине је 36 знакова. Кључеви се приказују само једном, приликом креирања — ако изгубите кључ, обришите га и креирајте нови.

Опсег и истек

  • Кључ се аутентификује као корисник који га је креирао. Има иста овлашћења као тај корисник и рачуна се према истим квотама плана.
  • Кључеви важе 365 дана. Ротирајте их креирањем новог кључа, пребацивањем и брисањем старог.
  • Кључеви који недостају, неисправно форматирани или опозвани враћају 401 Unauthorized.

Ограничења плана за кључеве

ПланДозвољени кључеви
Free1
Pro1
Pro+2
Business5
Enterprise20

Покушај креирања више кључева од дозвољеног планом враћа 400 са "error": "api key limit reached".

Грешке

Грешке се враћају као JSON са пољем error и HTTP статусним кодом:

json
{ "error": "phoneNumber is required" }
СтатусЗначење
400Неважећи параметри, премашена квота или кршење пословног правила
401Кључ који недостаје или неважећи API кључ
402Недовољно кредита за завршетак операције
404Ресурс није пронађен
500Грешка сервера — покушајте поново са експоненцијалним одлагањем

Ограничења броја захтева

  • Подразумевано: 20 захтева/секунди по API кључу, са скоком до 40.
  • Ендпоинти за листе враћају до 50 ставки по страници; користите lastKey курсор за пагинацију.
  • WAF правила могу вратити 403 на злоупотребљавајућим обрасцима. Обратите се подршци ако сте неочекивано ограничени.

Корисник

Преузмите свој профил

GET /user/profile

Враћа профил аутентификованог корисника.

Одговор

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

Пример

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

Телефони

Телефон је потврђен WhatsApp број који може да прима обавештења. Морате потврдити телефон пре него што на њега претплатите X налог.

Региструјте телефон

POST /phones

Генерише 6-цифрени код и шаље га на број преко WhatsApp-а. Телефон се креира у стању pending_verification.

Захтев

ПољеТипОбавезноНапомене
phoneNumberstringдаE.164 формат, нпр. +34612345678
displayNamestringнеПријатељска ознака приказана на контролној табли

Одговор

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

Грешке

  • 400 "invalid phone number format" — није E.164
  • 400 "phone number limit reached" — прелази дозвољено планом (Free/Pro/Pro+ 1, Business 3, Enterprise 10)

Пример

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

Потврдите телефон

POST /phones/verify

Потврђује телефон слањем 6-цифреног кода. Кодови истичу након 15 минута.

Захтев

ПољеТипОбавезно
phoneNumberstring (E.164)да
codestring (6 цифара)да

Одговор

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

Грешке

  • 404 "phone not found"
  • 400 "invalid code" — погрешан код
  • 400 "code expired" — старији од 15 минута
  • 400 "phone already verified"

Листа ваших телефона

GET /phones

Одговор

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

Обришите телефон

DELETE /phones/{phoneNumber}

Уклања телефон и деактивира све претплате које су циљале на њега. URL-кодирајте + као %2B.

Одговор

json
{ "success": true }

Пример

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

Претплате

Претплата повезује X налог који желите да пратите са једним од ваших потврђених телефона. Када X налог објави, WallaWhats шаље WhatsApp обавештење на тај телефон.

Креирајте претплату

POST /subscriptions

Захтев

ПољеТипОбавезноНапомене
xUsernamestringда1–15 знакова, алфанумерички + доња црта. Префикс @ се прихвата и уклања.
phoneNumberstring (E.164)даМора бити један од ваших потврђених телефона.

Одговор

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

Грешке

  • 400 "invalid X username format" — regex није успео
  • 400 "phone not found" / "phone not verified"
  • 400 "subscription limit reached" — погледајте табелу планова испод
  • 404 "X account not found" — корисничко име не постоји на X-у

Ограничења плана

ПланПретплате
Free1
Pro1
Pro+2
Business5
Enterprise50

Листа ваших претплата

GET /subscriptions

Одговор

json
{
  "subscriptions": [ /* исти облик као одговор POST /subscriptions */ ],
  "count": 3
}

Обришите претплату

DELETE /subscriptions/{xUsername}

Подударање xUsername није осетљиво на величину слова. Уклоните @ пре слања.

Одговор

json
{ "success": true }

Обавештења

Свако обавештење које WallaWhats испоручи овде се бележи, заједно са статусом испоруке на WhatsApp-у.

Листа обавештења

GET /notifications

Параметри упита

ПараметарТипОпис
fromnumber (ms epoch)Филтрирајте обавештења креирана у овом тренутку или после њега
tonumber (ms epoch)Филтрирајте обавештења креирана у овом тренутку или пре њега
lastKeystringКурсор пагинације враћен у претходном одговору

Одговор

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

Могуће вредности status: queued, sent, delivered, read, failed.

Величина странице је 50. Када lastKey недостаје, дошли сте до краја.


API кључеви

Управљајте кључевима које ваше апликације користе за позивање овог API-ја.

Креирајте API кључ

POST /apikeys

Захтев

ПољеТипОбавезно
namestringне, подразумевано "Default"

Одговор (201 Created)

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

Вредност приказана само једном

apiKey се враћа само приликом креирања. Одмах га сачувајте у менаџеру тајни. Наредни позиви откривају само keyPrefix.

Листа ваших API кључева

GET /apikeys

Одговор

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

Обришите API кључ

DELETE /apikeys/{keyPrefix}

Користите 12-знаковни keyPrefix из одговора листе — никада цео кључ.

Одговор

json
{ "success": true }

Брзи почетак

bash
# 1. Креирајте кључ на контролној табли и извезите га
export WALLA_API_KEY="bws_prod_..."

# 2. Региструјте + потврдите свој 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"}'
# -> телефон прима WhatsApp код. Пошаљите га:
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. Претплатите се на 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. Гледајте како стижу обавештења
curl https://api.wallawhats.com/notifications \
  -H "x-api-key: $WALLA_API_KEY"

То је то — чим X налог објави, обавештење стиже на телефон за ~10 секунди.

Подршка

Питања о API-ју, пријаве грешака или захтеви за повећање квоте: отворите захтев са картице Support на вашој контролној табли или пошаљите е-пошту на hello@support.wallawhats.com.

WallaWhats Documentation