Nederlands
Nederlands
Appearance
Nederlands
Nederlands
Appearance
Met de REST API van WallaWhats beheert u telefoons, X-accountabonnementen en meldingsgeschiedenis programmatisch — precies wat u anders vanuit het dashboard zou doen.
https://api.wallawhats.comapplication/jsonElke aanvraag moet een API-sleutel bevatten in de header x-api-key:
curl https://api.wallawhats.com/user/profile \
-H "x-api-key: bws_prod_00000000000000000000000000000000"Sleutels worden aangemaakt in het dashboard onder Settings → API Keys of via POST /apikeys. Een sleutelprefix begint met bws_ en is 36 tekens lang. Sleutels worden slechts één keer, bij aanmaak getoond — verliest u er een, verwijder hem en maak een nieuwe aan.
401 Unauthorized op.| Abonnement | Toegestane sleutels |
|---|---|
| Free | 1 |
| Pro | 1 |
| Pro+ | 2 |
| Business | 5 |
| Enterprise | 20 |
Een poging om meer sleutels aan te maken dan uw abonnement toestaat levert 400 op met "error": "api key limit reached".
Fouten worden als JSON teruggegeven met een veld error en een HTTP-statuscode:
{ "error": "phoneNumber is required" }| Status | Betekenis |
|---|---|
400 | Ongeldige parameters, quotum overschreden of schending van een businessregel |
401 | Ontbrekende of ongeldige API-sleutel |
402 | Onvoldoende credits om de handeling te voltooien |
404 | Resource niet gevonden |
500 | Serverfout — probeer het opnieuw met exponential backoff |
lastKey-cursor om te pagineren.403 teruggeven bij misbruikpatronen. Neem contact op met support als u onverwacht wordt geknepen.GET /user/profileRetourneert het profiel van de geauthenticeerde gebruiker.
Antwoord
{
"userId": "5a4cbd70-...",
"email": "jane@example.com",
"name": "Jane",
"plan": "pro_plus",
"createdAt": 1745000000000
}Voorbeeld
curl https://api.wallawhats.com/user/profile \
-H "x-api-key: bws_prod_..."Een telefoon is een geverifieerd WhatsApp-nummer dat meldingen kan ontvangen. U moet een telefoon verifiëren voordat u er een X-account aan koppelt.
POST /phonesGenereert een 6-cijferige code en stuurt die via WhatsApp naar het nummer. De telefoon wordt aangemaakt in de status pending_verification.
Aanvraag
| Veld | Type | Vereist | Opmerkingen |
|---|---|---|---|
phoneNumber | string | ja | E.164-formaat, bijv. +34612345678 |
displayName | string | nee | Herkenbaar label dat in het dashboard wordt getoond |
Antwoord
{ "phoneNumber": "+34612345678", "status": "pending_verification" }Fouten
400 "invalid phone number format" — geen E.164400 "phone number limit reached" — overschrijdt het abonnementslimiet (Free/Pro/Pro+ 1, Business 3, Enterprise 10)Voorbeeld
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/verifyBevestigt een telefoon door de 6-cijferige code in te sturen. Codes vervallen na 15 minuten.
Aanvraag
| Veld | Type | Vereist |
|---|---|---|
phoneNumber | string (E.164) | ja |
code | string (6 cijfers) | ja |
Antwoord
{ "phoneNumber": "+34612345678", "status": "verified" }Fouten
404 "phone not found"400 "invalid code" — verkeerde code400 "code expired" — ouder dan 15 minuten400 "phone already verified"GET /phonesAntwoord
{
"phones": [
{
"phoneNumber": "+34612345678",
"status": "verified",
"displayName": "Work",
"createdAt": 1745000000000,
"verifiedAt": 1745000060000
}
],
"count": 1
}DELETE /phones/{phoneNumber}Verwijdert de telefoon en deactiveert alle abonnementen die erop waren gericht. Codeer de + als %2B in de URL.
Antwoord
{ "success": true }Voorbeeld
curl -X DELETE "https://api.wallawhats.com/phones/%2B34612345678" \
-H "x-api-key: bws_prod_..."Een abonnement koppelt een X-account dat u wilt volgen aan een van uw geverifieerde telefoons. Zodra het X-account iets plaatst, stuurt WallaWhats een WhatsApp-melding naar die telefoon.
POST /subscriptionsAanvraag
| Veld | Type | Vereist | Opmerkingen |
|---|---|---|---|
xUsername | string | ja | 1–15 tekens, alfanumeriek + underscore. Een voorvoegsel @ wordt geaccepteerd en verwijderd. |
phoneNumber | string (E.164) | ja | Moet een van uw geverifieerde telefoons zijn. |
Antwoord
{
"xUsername": "elonmusk",
"xUserId": "44196397",
"xDisplayName": "Elon Musk",
"xProfileImage": "https://pbs.twimg.com/...",
"phoneNumber": "+34612345678",
"isActive": true,
"createdAt": 1745000000000
}Fouten
400 "invalid X username format" — regex mislukt400 "phone not found" / "phone not verified"400 "subscription limit reached" — zie abonnemententabel hieronder404 "X account not found" — gebruikersnaam is niet oplosbaar op XAbonnementslimieten
| Abonnement | Abonnementen |
|---|---|
| Free | 1 |
| Pro | 1 |
| Pro+ | 2 |
| Business | 5 |
| Enterprise | 50 |
GET /subscriptionsAntwoord
{
"subscriptions": [ /* zelfde vorm als antwoord van POST /subscriptions */ ],
"count": 3
}DELETE /subscriptions/{xUsername}Hoofdletter-ongevoelige match op xUsername. Verwijder de @ vóór verzending.
Antwoord
{ "success": true }Elke melding die WallaWhats aflevert wordt hier geregistreerd, samen met de WhatsApp-leveringsstatus.
GET /notificationsQueryparameters
| Parameter | Type | Beschrijving |
|---|---|---|
from | number (ms epoch) | Filter op meldingen die op of na dit tijdstip zijn aangemaakt |
to | number (ms epoch) | Filter op meldingen die op of vóór dit tijdstip zijn aangemaakt |
lastKey | string | Paginatiecursor uit de vorige respons |
Antwoord
{
"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..."
}Mogelijke waarden voor status: queued, sent, delivered, read, failed.
De paginagrootte is 50. Ontbreekt lastKey, dan bent u aan het einde.
Beheer de sleutels die uw applicaties gebruiken om deze API aan te roepen.
POST /apikeysAanvraag
| Veld | Type | Vereist |
|---|---|---|
name | string | nee, standaardwaarde "Default" |
Antwoord (201 Created)
{
"apiKey": "bws_prod_00000000000000000000000000000000",
"keyPrefix": "bws_prod_00",
"keyName": "CI server",
"createdAt": 1745000000000,
"expiresAt": 1776536000000
}Eenmalig zichtbare waarde
apiKey wordt alleen bij aanmaak teruggegeven. Sla hem direct op in uw secrets manager. Latere calls tonen alleen de keyPrefix.
GET /apikeysAntwoord
[
{
"keyPrefix": "bws_prod_00",
"keyName": "CI server",
"createdAt": 1745000000000,
"lastUsedAt": 1745086400000,
"expiresAt": 1776536000000
}
]DELETE /apikeys/{keyPrefix}Gebruik de 12 tekens lange keyPrefix uit de lijstrespons — nooit de volledige sleutel.
Antwoord
{ "success": true }# 1. Maak een sleutel aan in het dashboard en exporteer hem
export WALLA_API_KEY="bws_prod_..."
# 2. Registreer + verifieer uw 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"}'
# -> de telefoon ontvangt een WhatsApp-code. Stuur die in:
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. Abonneer u op een X-account
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. Bekijk de binnenkomende meldingen
curl https://api.wallawhats.com/notifications \
-H "x-api-key: $WALLA_API_KEY"Dat is alles — zodra het X-account iets plaatst, komt de melding binnen ongeveer 10 seconden op de telefoon aan.
API-vragen, bugmeldingen of verzoeken om quotaverhoging: open een ticket via het tabblad Support in uw dashboard, of e-mail hello@support.wallawhats.com.