Skip to content

API-referens ​

WallaWhats REST API låter dig hantera telefoner, X-kontoprenumerationer och aviseringshistorik programmatiskt — precis det du annars skulle göra från dashboarden.

  • Bas-URL: https://api.wallawhats.com
  • Content type: application/json
  • Autentisering: API-nyckel (header)
  • Versionering: API:et är stabilt. Brytande ändringar aviseras 30 dagar i förväg via e-post till varje konto.

Autentisering ​

Varje begäran måste innehålla en API-nyckel i headern x-api-key:

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

Nycklar skapas i dashboarden under Settings → API Keys eller via POST /apikeys. Nyckelns prefix börjar med bws_ och är 36 tecken långt. Nycklar visas endast en gång, vid skapandet — om du tappar bort en, radera den och skapa en ny.

Omfattning och giltighetstid ​

  • En nyckel autentiserar som den användare som skapade den. Den har samma behörigheter som den användaren och räknas mot samma planbegränsningar.
  • Nycklar är giltiga i 365 dagar. Rotera genom att skapa en ny nyckel, byta över och radera den gamla.
  • Saknade, felformade eller återkallade nycklar returnerar 401 Unauthorized.

Planbegränsningar för nycklar ​

PlanTillåtna nycklar
Free1
Pro1
Pro+2
Business5
Enterprise20

Om du försöker skapa fler än din plan tillåter returneras 400 med "error": "api key limit reached".

Fel ​

Fel returneras som JSON med ett error-fält och en HTTP-statuskod:

json
{ "error": "phoneNumber is required" }
StatusBetydelse
400Ogiltiga parametrar, överskriden kvot eller brott mot affärsregel
401Saknad eller ogiltig API-nyckel
402Inte tillräckligt med krediter för att slutföra operationen
404Resursen hittades inte
500Serverfel — försök igen med exponentiell backoff

Rate limits ​

  • Standard: 20 begäran/sekund per API-nyckel, med burst upp till 40.
  • List-endpoints returnerar upp till 50 objekt per sida; använd markören lastKey för paginering.
  • WAF-regler kan returnera 403 vid missbruksmönster. Kontakta supporten om du blir rate-limited oväntat.

User ​

Hämta din profil ​

GET /user/profile

Returnerar den autentiserade användarens profil.

Svar

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

Exempel

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

Phones ​

En telefon är ett verifierat WhatsApp-nummer som kan ta emot aviseringar. Du måste verifiera en telefon innan du prenumererar på ett X-konto med den.

Registrera en telefon ​

POST /phones

Genererar en 6-siffrig kod och skickar den till numret via WhatsApp. Telefonen skapas i status pending_verification.

Begäran

FältTypObligatorisktAnteckningar
phoneNumberstringjaE.164-format, t.ex. +34612345678
displayNamestringnejVänlig etikett som visas i dashboarden

Svar

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

Fel

  • 400 "invalid phone number format" — inte E.164
  • 400 "phone number limit reached" — överskrider planens tilldelning (Free/Pro 1, Pro+ 2, Business 3, Enterprise 10)

Exempel

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

Verifiera en telefon ​

POST /phones/verify

Bekräftar en telefon genom att skicka in den 6-siffriga koden. Koder går ut efter 15 minuter.

Begäran

FältTypObligatoriskt
phoneNumberstring (E.164)ja
codestring (6 siffror)ja

Svar

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

Fel

  • 404 "phone not found"
  • 400 "invalid code" — fel kod
  • 400 "code expired" — äldre än 15 minuter
  • 400 "phone already verified"

Lista dina telefoner ​

GET /phones

Svar

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

Radera en telefon ​

DELETE /phones/{phoneNumber}

Tar bort telefonen och inaktiverar alla prenumerationer som riktades mot den. URL-koda + som %2B.

Svar

json
{ "success": true }

Exempel

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

Subscriptions ​

En prenumeration binder ett X-konto du vill bevaka till en av dina verifierade telefoner. När X-kontot publicerar skickar WallaWhats en WhatsApp-avisering till den telefonen.

Skapa en prenumeration ​

POST /subscriptions

Begäran

FältTypObligatorisktAnteckningar
xUsernamestringja1–15 tecken, alfanumeriska + understreck. Prefixet @ accepteras och tas bort.
phoneNumberstring (E.164)jaMåste vara en av dina verifierade telefoner.

Svar

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

Fel

  • 400 "invalid X username format" — regex misslyckas
  • 400 "phone not found" / "phone not verified"
  • 400 "subscription limit reached" — se plantabellen nedan
  • 404 "X account not found" — användarnamnet hittas inte på X

Planbegränsningar

PlanPrenumerationer
Free1
Pro1
Pro+2
Business5
Enterprise50

Lista dina prenumerationer ​

GET /subscriptions

Svar

json
{
  "subscriptions": [ /* samma form som svaret för POST /subscriptions */ ],
  "count": 3
}

Radera en prenumeration ​

DELETE /subscriptions/{xUsername}

Skiftlägesokänslig matchning på xUsername. Ta bort @ före sändning.

Svar

json
{ "success": true }

Notifications ​

Varje avisering WallaWhats levererar loggas här, tillsammans med dess WhatsApp-leveransstatus.

Lista aviseringar ​

GET /notifications

Query-parametrar

ParamTypBeskrivning
fromnumber (ms epoch)Filtrera till aviseringar skapade vid eller efter denna tidpunkt
tonumber (ms epoch)Filtrera till aviseringar skapade vid eller före denna tidpunkt
lastKeystringPagineringsmarkör som returneras av föregående svar

Svar

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

Möjliga status-värden: queued, sent, delivered, read, failed.

Sidstorleken är 50. När lastKey saknas har du nått slutet.


API keys ​

Hantera de nycklar dina applikationer använder för att anropa detta API.

Skapa en API-nyckel ​

POST /apikeys

Begäran

FältTypObligatoriskt
namestringnej, standardvärde "Default"

Svar (201 Created)

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

Värde som visas en gång

apiKey returneras endast vid skapandet. Spara den i din secrets manager omedelbart. Efterföljande anrop exponerar endast keyPrefix.

Lista dina API-nycklar ​

GET /apikeys

Svar

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

Radera en API-nyckel ​

DELETE /apikeys/{keyPrefix}

Använd det 12-tecken långa keyPrefix från listsvaret — aldrig hela nyckeln.

Svar

json
{ "success": true }

Snabbstart ​

bash
# 1. Skapa en nyckel i dashboarden och exportera den
export WALLA_API_KEY="bws_prod_..."

# 2. Registrera + verifiera ditt WhatsApp-nummer
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"}'
# -> telefonen tar emot en WhatsApp-kod. Skicka in den:
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. Prenumerera på ett X-konto
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. Se aviseringarna rulla in
curl https://api.wallawhats.com/notifications \
  -H "x-api-key: $WALLA_API_KEY"

Det var det — så fort X-kontot publicerar landar aviseringen på telefonen inom ~10 sekunder.

Support ​

API-frågor, buggrapporter eller förfrågningar om ökad kvot: öppna ett ärende från fliken Support i din dashboard, eller mejla hello@support.wallawhats.com.

WallaWhats Documentation