Deutsch
Deutsch
Appearance
Deutsch
Deutsch
Appearance
Mit der WallaWhats-REST-API verwalten Sie Telefonnummern, Abonnements von X-Konten und den Benachrichtigungsverlauf programmatisch — genau das, was Sie sonst im Dashboard tun würden.
https://api.wallawhats.comapplication/jsonJede Anfrage muss einen API-Key im Header x-api-key enthalten:
curl https://api.wallawhats.com/user/profile \
-H "x-api-key: bws_prod_00000000000000000000000000000000"Keys werden im Dashboard unter Settings → API Keys oder per POST /apikeys erzeugt. Ein Key-Präfix beginnt mit bws_ und ist 36 Zeichen lang. Keys werden nur einmal, bei der Erzeugung angezeigt — wenn Sie einen verlieren, löschen Sie ihn und erstellen einen neuen.
401 Unauthorized.| Plan | Zulässige Keys |
|---|---|
| Free | 1 |
| Pro | 1 |
| Pro+ | 2 |
| Business | 5 |
| Enterprise | 20 |
Der Versuch, mehr Keys zu erstellen, als Ihr Plan erlaubt, liefert 400 mit "error": "api key limit reached".
Fehler werden als JSON mit einem Feld error und einem HTTP-Statuscode zurückgegeben:
{ "error": "phoneNumber is required" }| Status | Bedeutung |
|---|---|
400 | Ungültige Parameter, Kontingent überschritten oder Geschäftsregelverletzung |
401 | Fehlender oder ungültiger API-Key |
402 | Nicht genügend Credits, um den Vorgang abzuschließen |
404 | Ressource nicht gefunden |
500 | Serverfehler — bitte mit exponentiellem Backoff wiederholen |
lastKey.403 liefern. Melden Sie sich beim Support, falls Sie unerwartet gedrosselt werden.GET /user/profileGibt das Profil des authentifizierten Nutzers zurück.
Antwort
{
"userId": "5a4cbd70-...",
"email": "jane@example.com",
"name": "Jane",
"plan": "pro_plus",
"createdAt": 1745000000000
}Beispiel
curl https://api.wallawhats.com/user/profile \
-H "x-api-key: bws_prod_..."Eine Telefonnummer ist eine verifizierte WhatsApp-Nummer, die Benachrichtigungen empfangen kann. Sie müssen eine Nummer verifizieren, bevor Sie ihr ein X-Konto zuweisen können.
POST /phonesErzeugt einen 6-stelligen Code und sendet ihn per WhatsApp an die Nummer. Die Nummer wird im Zustand pending_verification angelegt.
Anfrage
| Feld | Typ | Pflicht | Hinweise |
|---|---|---|---|
phoneNumber | string | ja | E.164-Format, z. B. +34612345678 |
displayName | string | nein | Sprechender Name, angezeigt im Dashboard |
Antwort
{ "phoneNumber": "+34612345678", "status": "pending_verification" }Fehler
400 "invalid phone number format" — kein E.164400 "phone number limit reached" — überschreitet das Plan-Kontingent (Free/Pro/Pro+ 1, Business 3, Enterprise 10)Beispiel
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/verifyBestätigt eine Nummer durch Eingabe des 6-stelligen Codes. Codes verfallen nach 15 Minuten.
Anfrage
| Feld | Typ | Pflicht |
|---|---|---|
phoneNumber | string (E.164) | ja |
code | string (6 Ziffern) | ja |
Antwort
{ "phoneNumber": "+34612345678", "status": "verified" }Fehler
404 "phone not found"400 "invalid code" — falscher Code400 "code expired" — älter als 15 Minuten400 "phone already verified"GET /phonesAntwort
{
"phones": [
{
"phoneNumber": "+34612345678",
"status": "verified",
"displayName": "Work",
"createdAt": 1745000000000,
"verifiedAt": 1745000060000
}
],
"count": 1
}DELETE /phones/{phoneNumber}Entfernt die Nummer und deaktiviert alle Abonnements, die darauf zielen. URL-kodieren Sie das + als %2B.
Antwort
{ "success": true }Beispiel
curl -X DELETE "https://api.wallawhats.com/phones/%2B34612345678" \
-H "x-api-key: bws_prod_..."Ein Abonnement verknüpft ein X-Konto, das Sie überwachen möchten, mit einer Ihrer verifizierten Telefonnummern. Wenn das X-Konto postet, sendet WallaWhats eine WhatsApp-Benachrichtigung an diese Nummer.
POST /subscriptionsAnfrage
| Feld | Typ | Pflicht | Hinweise |
|---|---|---|---|
xUsername | string | ja | 1–15 Zeichen, alphanumerisch + Unterstrich. Ein vorangestelltes @ wird akzeptiert und entfernt. |
phoneNumber | string (E.164) | ja | Muss eine Ihrer verifizierten Nummern sein. |
Antwort
{
"xUsername": "elonmusk",
"xUserId": "44196397",
"xDisplayName": "Elon Musk",
"xProfileImage": "https://pbs.twimg.com/...",
"phoneNumber": "+34612345678",
"isActive": true,
"createdAt": 1745000000000
}Fehler
400 "invalid X username format" — Regex-Fehler400 "phone not found" / "phone not verified"400 "subscription limit reached" — siehe Plan-Tabelle unten404 "X account not found" — Benutzername lässt sich auf X nicht auflösenPlan-Limits
| Plan | Abonnements |
|---|---|
| Free | 1 |
| Pro | 1 |
| Pro+ | 2 |
| Business | 5 |
| Enterprise | 50 |
GET /subscriptionsAntwort
{
"subscriptions": [ /* gleiche Form wie die Antwort von POST /subscriptions */ ],
"count": 3
}DELETE /subscriptions/{xUsername}Abgleich bei xUsername ohne Berücksichtigung der Groß-/Kleinschreibung. Entfernen Sie das @ vor dem Senden.
Antwort
{ "success": true }Jede Benachrichtigung, die WallaWhats zustellt, wird hier protokolliert, zusammen mit dem WhatsApp-Zustellstatus.
GET /notificationsQuery-Parameter
| Parameter | Typ | Beschreibung |
|---|---|---|
from | number (ms-Epoch) | Filter auf Benachrichtigungen, die ab diesem Zeitpunkt erstellt wurden |
to | number (ms-Epoch) | Filter auf Benachrichtigungen, die bis zu diesem Zeitpunkt erstellt wurden |
lastKey | string | Pagination-Cursor aus der vorherigen Antwort |
Antwort
{
"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ögliche Werte für status: queued, sent, delivered, read, failed.
Die Seitengröße beträgt 50. Fehlt lastKey, haben Sie das Ende erreicht.
Verwalten Sie die Keys, mit denen Ihre Anwendungen diese API aufrufen.
POST /apikeysAnfrage
| Feld | Typ | Pflicht |
|---|---|---|
name | string | nein, Standardwert "Default" |
Antwort (201 Created)
{
"apiKey": "bws_prod_00000000000000000000000000000000",
"keyPrefix": "bws_prod_00",
"keyName": "CI server",
"createdAt": 1745000000000,
"expiresAt": 1776536000000
}Nur einmal sichtbarer Wert
apiKey wird nur bei der Erstellung zurückgegeben. Speichern Sie ihn sofort in Ihrem Secrets-Manager. Nachfolgende Aufrufe zeigen nur noch keyPrefix.
GET /apikeysAntwort
[
{
"keyPrefix": "bws_prod_00",
"keyName": "CI server",
"createdAt": 1745000000000,
"lastUsedAt": 1745086400000,
"expiresAt": 1776536000000
}
]DELETE /apikeys/{keyPrefix}Verwenden Sie den 12-stelligen keyPrefix aus der Listenantwort — niemals den vollständigen Key.
Antwort
{ "success": true }# 1. Key im Dashboard erstellen und exportieren
export WALLA_API_KEY="bws_prod_..."
# 2. WhatsApp-Nummer registrieren + verifizieren
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"}'
# -> das Telefon erhält einen WhatsApp-Code. Senden Sie ihn ab:
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-Konto abonnieren
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. Benachrichtigungen entgegennehmen
curl https://api.wallawhats.com/notifications \
-H "x-api-key: $WALLA_API_KEY"Das war's — sobald das X-Konto postet, landet die Benachrichtigung innerhalb von etwa 10 Sekunden auf dem Telefon.
API-Fragen, Fehlerberichte oder Anfragen zur Kontingenterhöhung: Öffnen Sie ein Ticket über den Support-Tab in Ihrem Dashboard oder schreiben Sie an hello@support.wallawhats.com.