Dansk
Dansk
Appearance
Dansk
Dansk
Appearance
WallaWhats REST API lader dig administrere telefoner, X-kontoabonnementer og notifikationshistorik programmatisk — præcis det, du ellers ville gøre fra dashboardet.
https://api.wallawhats.comapplication/jsonHver forespørgsel skal indeholde en API-nøgle i headeren x-api-key:
curl https://api.wallawhats.com/user/profile \
-H "x-api-key: bws_prod_00000000000000000000000000000000"Nøgler oprettes i dashboardet under Settings → API Keys eller via POST /apikeys. Et nøglepræfiks starter med bws_ og er 36 tegn langt. Nøgler vises kun én gang, ved oprettelsen — hvis du mister en, så slet den og opret en ny.
401 Unauthorized.| Plan | Tilladte nøgler |
|---|---|
| Free | 1 |
| Pro | 1 |
| Pro+ | 2 |
| Business | 5 |
| Enterprise | 20 |
Forsøg på at oprette flere end din plan tillader, returnerer 400 med "error": "api key limit reached".
Fejl returneres som JSON med et error-felt og en HTTP-statuskode:
{ "error": "phoneNumber is required" }| Status | Betydning |
|---|---|
400 | Ugyldige parametre, kvote overskredet eller brud på forretningsregel |
401 | Manglende eller ugyldig API-nøgle |
402 | Ikke nok kreditter til at fuldføre operationen |
404 | Ressource ikke fundet |
500 | Serverfejl — prøv igen med eksponentiel backoff |
lastKey-markøren til paginering.403 ved misbrugsmønstre. Kontakt support, hvis du uventet bliver rate-limited.GET /user/profileReturnerer den autentificerede brugers profil.
Svar
{
"userId": "5a4cbd70-...",
"email": "jane@example.com",
"name": "Jane",
"plan": "pro_plus",
"createdAt": 1745000000000
}Eksempel
curl https://api.wallawhats.com/user/profile \
-H "x-api-key: bws_prod_..."En telefon er et verificeret WhatsApp-nummer, der kan modtage notifikationer. Du skal verificere en telefon, før du abonnerer på en X-konto til den.
POST /phonesGenererer en 6-cifret kode og sender den til nummeret via WhatsApp. Telefonen oprettes i tilstanden pending_verification.
Forespørgsel
| Felt | Type | Påkrævet | Noter |
|---|---|---|---|
phoneNumber | string | ja | E.164-format, f.eks. +34612345678 |
displayName | string | nej | Venlig etiket vist i dashboardet |
Svar
{ "phoneNumber": "+34612345678", "status": "pending_verification" }Fejl
400 "invalid phone number format" — ikke E.164400 "phone number limit reached" — overskrider plantildelingen (Free/Pro/Pro+ 1, Business 3, Enterprise 10)Eksempel
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/verifyBekræfter en telefon ved at indsende den 6-cifrede kode. Koder udløber efter 15 minutter.
Forespørgsel
| Felt | Type | Påkrævet |
|---|---|---|
phoneNumber | string (E.164) | ja |
code | string (6 cifre) | ja |
Svar
{ "phoneNumber": "+34612345678", "status": "verified" }Fejl
404 "phone not found"400 "invalid code" — forkert kode400 "code expired" — over 15 minutter gammel400 "phone already verified"GET /phonesSvar
{
"phones": [
{
"phoneNumber": "+34612345678",
"status": "verified",
"displayName": "Work",
"createdAt": 1745000000000,
"verifiedAt": 1745000060000
}
],
"count": 1
}DELETE /phones/{phoneNumber}Fjerner telefonen og deaktiverer alle abonnementer, der var rettet mod den. URL-kod + som %2B.
Svar
{ "success": true }Eksempel
curl -X DELETE "https://api.wallawhats.com/phones/%2B34612345678" \
-H "x-api-key: bws_prod_..."Et abonnement binder en X-konto, du vil overvåge, til en af dine verificerede telefoner. Når X-kontoen offentliggør, sender WallaWhats en WhatsApp-notifikation til den telefon.
POST /subscriptionsForespørgsel
| Felt | Type | Påkrævet | Noter |
|---|---|---|---|
xUsername | string | ja | 1–15 tegn, alfanumeriske + understregning. @-præfiks accepteres og fjernes. |
phoneNumber | string (E.164) | ja | Skal være en af dine verificerede telefoner. |
Svar
{
"xUsername": "elonmusk",
"xUserId": "44196397",
"xDisplayName": "Elon Musk",
"xProfileImage": "https://pbs.twimg.com/...",
"phoneNumber": "+34612345678",
"isActive": true,
"createdAt": 1745000000000
}Fejl
400 "invalid X username format" — regex fejler400 "phone not found" / "phone not verified"400 "subscription limit reached" — se plantabellen nedenfor404 "X account not found" — brugernavnet opløses ikke på XPlanbegrænsninger
| Plan | Abonnementer |
|---|---|
| Free | 1 |
| Pro | 1 |
| Pro+ | 2 |
| Business | 5 |
| Enterprise | 50 |
GET /subscriptionsSvar
{
"subscriptions": [ /* samme form som svaret for POST /subscriptions */ ],
"count": 3
}DELETE /subscriptions/{xUsername}Ikke-skiftfølsom matchning på xUsername. Fjern @ før afsendelse.
Svar
{ "success": true }Hver notifikation, WallaWhats leverer, logges her sammen med dens WhatsApp-leveringsstatus.
GET /notificationsQuery-parametre
| Param | Type | Beskrivelse |
|---|---|---|
from | number (ms epoch) | Filtrér til notifikationer oprettet på eller efter dette tidspunkt |
to | number (ms epoch) | Filtrér til notifikationer oprettet på eller før dette tidspunkt |
lastKey | string | Pagineringsmarkør returneret af det forrige svar |
Svar
{
"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..."
}Mulige status-værdier: queued, sent, delivered, read, failed.
Sidestørrelsen er 50. Når lastKey mangler, har du nået slutningen.
Administrer de nøgler, dine applikationer bruger til at kalde dette API.
POST /apikeysForespørgsel
| Felt | Type | Påkrævet |
|---|---|---|
name | string | nej, standard "Default" |
Svar (201 Created)
{
"apiKey": "bws_prod_00000000000000000000000000000000",
"keyPrefix": "bws_prod_00",
"keyName": "CI server",
"createdAt": 1745000000000,
"expiresAt": 1776536000000
}Vises kun én gang
apiKey returneres kun ved oprettelsen. Gem den i din secrets manager med det samme. Efterfølgende kald eksponerer kun keyPrefix.
GET /apikeysSvar
[
{
"keyPrefix": "bws_prod_00",
"keyName": "CI server",
"createdAt": 1745000000000,
"lastUsedAt": 1745086400000,
"expiresAt": 1776536000000
}
]DELETE /apikeys/{keyPrefix}Brug det 12-tegns lange keyPrefix fra listesvaret — aldrig den fulde nøgle.
Svar
{ "success": true }# 1. Opret en nøgle i dashboardet og eksportér den
export WALLA_API_KEY="bws_prod_..."
# 2. Registrer + verificer dit 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 modtager en WhatsApp-kode. Indsend 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. Abonner på en 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 notifikationerne rulle ind
curl https://api.wallawhats.com/notifications \
-H "x-api-key: $WALLA_API_KEY"Det var det — så snart X-kontoen offentliggør, lander notifikationen på telefonen på ~10 sekunder.
API-spørgsmål, fejlrapporter eller forespørgsler om kvoteudvidelse: åbn en sag fra fanen Support i dit dashboard, eller send en e-mail til hello@support.wallawhats.com.