Skip to content

API atsauce

WallaWhats REST API ļauj programmatiski pārvaldīt tālruņus, X kontu abonementus un paziņojumu vēsturi — tieši to pašu, ko jūs varētu darīt vadības panelī.

  • Bāzes URL: https://api.wallawhats.com
  • Content type: application/json
  • Autentifikācija: API atslēga (galvene)
  • Versiju izveide: API ir stabils. Par izmaiņām, kas pārtrauc saderību, tiek paziņots 30 dienas iepriekš pa e-pastu katram kontam.

Autentifikācija

Katram pieprasījumam jāiekļauj API atslēga galvenē x-api-key:

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

Atslēgas tiek izveidotas vadības panelī sadaļā Settings → API Keys vai caur POST /apikeys. Atslēgas prefikss sākas ar bws_ un ir 36 rakstzīmes garš. Atslēgas tiek parādītas tikai vienu reizi, izveides brīdī — ja atslēgu pazaudējat, izdzēsiet to un izveidojiet jaunu.

Darbības joma un derīgums

  • Atslēga autentificē lietotāju, kas to izveidoja. Tai ir tādas pašas atļaujas kā šim lietotājam un tā tiek ieskaitīta tā paša plāna kvotās.
  • Atslēgas ir derīgas 365 dienas. Rotējiet, izveidojot jaunu atslēgu, pārslēdzoties un izdzēšot veco.
  • Trūkstoša, nederīga vai atsaukta atslēga atgriež 401 Unauthorized.

Plāna ierobežojumi atslēgām

PlānsAtļautās atslēgas
Free1
Pro1
Pro+2
Business5
Enterprise20

Mēģinājums izveidot vairāk, nekā plāns atļauj, atgriež 400 ar "error": "api key limit reached".

Kļūdas

Kļūdas tiek atgrieztas kā JSON ar lauku error un HTTP statusa kodu:

json
{ "error": "phoneNumber is required" }
StatussNozīme
400Nederīgi parametri, pārsniegta kvota vai biznesa noteikuma pārkāpums
401Trūkstoša vai nederīga API atslēga
402Nepietiek kredītu, lai pabeigtu operāciju
404Resurss nav atrasts
500Servera kļūda — lūdzu, mēģiniet vēlreiz ar eksponenciālo atkāpi

Pieprasījumu ierobežojumi

  • Noklusējums: 20 pieprasījumi sekundē uz vienu API atslēgu, ar pārspriegumu līdz 40.
  • Saraksta galapunkti atgriež līdz 50 vienumiem lapā; izmantojiet lastKey kursoru lapošanai.
  • WAF noteikumi var atgriezt 403 ļaunprātīgu darbību gadījumā. Sazinieties ar atbalstu, ja negaidīti saņemat ātruma ierobežojumus.

User

Iegūstiet savu profilu

GET /user/profile

Atgriež autentificētā lietotāja profilu.

Atbilde

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

Piemērs

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

Phones

Tālrunis ir apstiprināts WhatsApp numurs, kas var saņemt brīdinājumus. Jums ir jāapstiprina tālrunis, pirms tam abonēt X kontu.

Reģistrējiet tālruni

POST /phones

Ģenerē 6 ciparu kodu un nosūta to uz numuru caur WhatsApp. Tālrunis tiek izveidots stāvoklī pending_verification.

Pieprasījums

LauksTipsObligātsPiezīmes
phoneNumberstringE.164 formāts, piem. +34612345678
displayNamestringDraudzīga etiķete, kas parādās vadības panelī

Atbilde

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

Kļūdas

  • 400 "invalid phone number format" — nav E.164
  • 400 "phone number limit reached" — pārsniedz plāna pieļaujamo (Free/Pro/Pro+ 1, Business 3, Enterprise 10)

Piemērs

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

Apstipriniet tālruni

POST /phones/verify

Apstiprina tālruni, iesniedzot 6 ciparu kodu. Kodi beidzas pēc 15 minūtēm.

Pieprasījums

LauksTipsObligāts
phoneNumberstring (E.164)
codestring (6 cipari)

Atbilde

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

Kļūdas

  • 404 "phone not found"
  • 400 "invalid code" — nepareizs kods
  • 400 "code expired" — vecāks par 15 minūtēm
  • 400 "phone already verified"

Uzskaitiet savus tālruņus

GET /phones

Atbilde

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

Dzēsiet tālruni

DELETE /phones/{phoneNumber}

Noņem tālruni un deaktivizē visus abonementus, kas uz to norādīja. URL kodējiet +%2B.

Atbilde

json
{ "success": true }

Piemērs

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

Subscriptions

Abonements saista X kontu, kuru vēlaties uzraudzīt, ar vienu no jūsu apstiprinātajiem tālruņiem. Kad X konts publicē, WallaWhats nosūta WhatsApp brīdinājumu uz šo tālruni.

Izveidojiet abonementu

POST /subscriptions

Pieprasījums

LauksTipsObligātsPiezīmes
xUsernamestring1–15 rakstzīmes, burtciparu + pasvītras zīme. @ prefikss tiek pieņemts un izņemts.
phoneNumberstring (E.164)Jābūt vienam no jūsu apstiprinātajiem tālruņiem.

Atbilde

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

Kļūdas

  • 400 "invalid X username format" — regex neatbilst
  • 400 "phone not found" / "phone not verified"
  • 400 "subscription limit reached" — skatiet plāna tabulu zemāk
  • 404 "X account not found" — lietotājvārds X netiek atrasts

Plāna ierobežojumi

PlānsAbonementi
Free1
Pro1
Pro+2
Business5
Enterprise50

Uzskaitiet savus abonementus

GET /subscriptions

Atbilde

json
{
  "subscriptions": [ /* tāda pati forma kā POST /subscriptions atbildei */ ],
  "count": 3
}

Dzēsiet abonementu

DELETE /subscriptions/{xUsername}

Pret reģistru nejutīga atbilstība laukam xUsername. Noņemiet @ pirms sūtīšanas.

Atbilde

json
{ "success": true }

Notifications

Katrs WallaWhats piegādātais brīdinājums tiek reģistrēts šeit kopā ar tā WhatsApp piegādes statusu.

Uzskaitiet paziņojumus

GET /notifications

Vaicājuma parametri

ParametrsTipsApraksts
fromnumber (ms epoch)Filtrē paziņojumus, kas izveidoti šajā vai vēlākā laikā
tonumber (ms epoch)Filtrē paziņojumus, kas izveidoti šajā vai agrākā laikā
lastKeystringLapošanas kursors, ko atgrieza iepriekšējā atbilde

Atbilde

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

Iespējamās status vērtības: queued, sent, delivered, read, failed.

Lapas izmērs ir 50. Ja lastKey trūkst, esat sasniedzis galu.


API keys

Pārvaldiet atslēgas, ko jūsu lietojumprogrammas izmanto šī API izsaukšanai.

Izveidojiet API atslēgu

POST /apikeys

Pieprasījums

LauksTipsObligāts
namestringnē, pēc noklusējuma "Default"

Atbilde (201 Created)

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

Parāda vienu reizi

apiKey tiek atgriezta tikai izveides brīdī. Nekavējoties saglabājiet to savā noslēpumu pārvaldniekā. Turpmākajos izsaukumos tiek atklāts tikai keyPrefix.

Uzskaitiet savas API atslēgas

GET /apikeys

Atbilde

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

Dzēsiet API atslēgu

DELETE /apikeys/{keyPrefix}

Izmantojiet 12 rakstzīmju keyPrefix no saraksta atbildes — nekad ne pilno atslēgu.

Atbilde

json
{ "success": true }

Ātrais sākums

bash
# 1. Izveidojiet atslēgu vadības panelī un eksportējiet to
export WALLA_API_KEY="bws_prod_..."

# 2. Reģistrējiet + apstipriniet savu WhatsApp numuru
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"}'
# -> tālrunis saņem WhatsApp kodu. Iesniedziet to:
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. Abonējiet X kontu
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. Vērojiet, kā brīdinājumi ierodas
curl https://api.wallawhats.com/notifications \
  -H "x-api-key: $WALLA_API_KEY"

Tas arī viss — tiklīdz X konts publicē, brīdinājums nonāk tālrunī aptuveni 10 sekundēs.

Atbalsts

API jautājumi, kļūdu ziņojumi vai kvotas palielināšanas pieprasījumi: atveriet pieteikumu no vadības paneļa cilnes Support vai rakstiet uz e-pastu hello@support.wallawhats.com.

WallaWhats Documentation