Konten des Kontakts
Diese Methoden arbeiten mit den Konten des Kontakts — dem internen Guthaben im Bot: Boni, Punkte, ein Depot. Es sind dieselben Konten, mit denen die Blöcke „Kontaktkonto aufladen“ und „Vom Kontaktkonto abbuchen“ arbeiten und die in der Kontaktkarte im Tab „Konten“ zu sehen sind. Zum Beispiel kann ein Zahlungssystem dem Kontakt nach einem Kauf auf Ihrer Website Boni gutschreiben, und der Bot zeigt das Guthaben mit der Funktion getBalance an.
Für jede Währung hat der Kontakt ein eigenes Konto. Vorgänge über die API erscheinen im Journal des Kontos als „Aufladung über API“ und „Abbuchung über API“.
Achtung
Konten des Kontakts sind interne Guthaben des Bots (Boni, Punkte, Depot), keine Bankkonten: Die Plattform überweist darüber kein Geld und ist kein Zahlungsdienst. Führen Sie in Ihrem eigenen System Buch über die Operationen, die Sie über die API senden — damit können Sie die Guthaben abgleichen.
Wichtig
Beträge werden in der kleinsten Einheit der Währung — Cent — als Ganzzahl übergeben und zurückgegeben.
15000auf einemEUR-Konto sind 150 €. Bei Währungen ohne Nachkommastellen, etwaJPY, ist die Einheit der ganze Yen. Eine einzelne Aufladung oder Abbuchung beträgt höchstens 10¹⁴ kleinste Einheiten (bei Euro eine Billion Euro); ein höherer Betrag ergibt422.
getContactAccounts
Gibt alle Konten eines Kontakts zurück.
https://watbot.org/de/api/v1/getContactAccounts| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
contact_id |
Ganzzahl | ja | ID des Kontakts |
curl -G "https://watbot.org/de/api/v1/getContactAccounts" \
-H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
-H "Accept: application/json" \
--data-urlencode "contact_id=678"
{
"data": [
{
"id": 4521,
"currency": "EUR",
"amount": 15000,
"amount_note": "150 EUR",
"created_at": "2026-09-14T10:22:05+02:00",
"updated_at": "2026-10-01T18:40:12+02:00",
"blocked_at": null
}
]
}
| Feld | Beschreibung |
|---|---|
id |
ID des Kontos — sie wird an die übrigen Methoden als account_id übergeben |
currency |
Währungscode nach ISO 4217 |
amount |
Guthaben in der kleinsten Einheit der Währung |
amount_note |
Guthaben in Haupteinheiten mit Währungscode, zur Anzeige |
created_at, updated_at |
Wann das Konto eröffnet und zuletzt geändert wurde |
blocked_at |
Wann das Konto gesperrt wurde; null — nicht gesperrt. Von einem gesperrten Konto kann nicht abgebucht werden |
Die Konten kommen in der Reihenfolge ihrer Eröffnung.
addContactAccount
Eröffnet für den Kontakt ein Konto in einer Währung. Dieselbe Methode ist auch unter dem Namen createContactAccount erreichbar.
https://watbot.org/de/api/v1/addContactAccount| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
contact_id |
Ganzzahl | ja | ID des Kontakts |
currency |
Zeichenkette | ja | Währungscode nach ISO 4217 in Großbuchstaben: EUR, CHF, USD |
curl -X POST "https://watbot.org/de/api/v1/addContactAccount" \
-H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"contact_id": 678, "currency": "EUR"}'
{
"data": {
"id": 4521,
"currency": "EUR",
"amount": 0,
"amount_note": "0 EUR",
"created_at": "2026-10-03T12:00:00+02:00",
"updated_at": "2026-10-03T12:00:00+02:00",
"blocked_at": null
}
}
{
"message": "Der Kontakt hat bereits ein Konto in dieser Währung.",
"code": "currency_exists",
"errors": {
"currency": [
"Der Kontakt hat bereits ein Konto in dieser Währung."
]
}
}
Besonderheiten:
- Hat der Kontakt bereits ein Konto in dieser Währung —
422mit einem Fehler im Feldcurrency. - Für Blöcke im Szenario muss das Konto nicht vorab existieren: Der Block „Kontaktkonto aufladen“ eröffnet es selbst. Die Aufladung über die API braucht es dagegen, denn sie arbeitet mit
account_id.
deleteContactAccount
Löscht ein Konto des Kontakts.
https://watbot.org/de/api/v1/deleteContactAccount| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
account_id |
Ganzzahl | ja | ID des Kontos |
curl -X POST "https://watbot.org/de/api/v1/deleteContactAccount" \
-H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"account_id": 4521}'
{
"message": "Ein Konto mit einem Guthaben von 150 EUR kann nicht gelöscht werden.",
"code": "account_not_empty",
"errors": {
"account_id": [
"Ein Konto mit einem Guthaben von 150 EUR kann nicht gelöscht werden."
]
}
}
Die Antwort ist der Status 204 ohne Inhalt.
Gelöscht werden kann nur ein leeres Konto. Liegt Geld darauf — 422 mit einem Fehler im Feld account_id; buchen Sie zuerst den Rest ab.
addFundsToContactAccount
Lädt ein Konto auf.
https://watbot.org/de/api/v1/addFundsToContactAccount| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
account_id |
Ganzzahl | ja | ID des Kontos |
amount |
Ganzzahl | ja | Betrag in der kleinsten Einheit der Währung, von 1 bis 100.000.000.000.000 (10¹⁴) |
description |
Zeichenkette | ja | Wofür die Gutschrift ist, bis 255 Zeichen. Erscheint im Journal des Kontos |
curl -X POST "https://watbot.org/de/api/v1/addFundsToContactAccount" \
-H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"account_id": 4521, "amount": 15000, "description": "Bonus für Bestellung A-1024"}'
{
"data": {
"id": 4521,
"currency": "EUR",
"amount": 15000,
"amount_note": "150 EUR",
"created_at": "2026-10-03T12:00:00+02:00",
"updated_at": "2026-10-03T12:05:41+02:00",
"blocked_at": null
}
}
Ein gesperrtes Konto lässt sich trotzdem aufladen.
withdrawFundsFromContactAccount
Bucht von einem Konto ab.
https://watbot.org/de/api/v1/withdrawFundsFromContactAccount| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
account_id |
Ganzzahl | ja | ID des Kontos |
amount |
Ganzzahl | ja | Betrag in der kleinsten Einheit der Währung, von 1 bis 100.000.000.000.000 (10¹⁴) |
description |
Zeichenkette | ja | Wofür die Abbuchung ist, bis 255 Zeichen. Erscheint im Journal des Kontos |
curl -X POST "https://watbot.org/de/api/v1/withdrawFundsFromContactAccount" \
-H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"account_id": 4521, "amount": 5000, "description": "Versandkosten"}'
{
"data": {
"id": 4521,
"currency": "EUR",
"amount": 10000,
"amount_note": "100 EUR",
"created_at": "2026-10-03T12:00:00+02:00",
"updated_at": "2026-10-03T12:07:15+02:00",
"blocked_at": null
}
}
{
"message": "Nicht genügend Guthaben. Aktueller Kontostand: 100 EUR.",
"code": "insufficient_funds",
"errors": {
"account_id": [
"Nicht genügend Guthaben. Aktueller Kontostand: 100 EUR."
]
}
}
Eine Abbuchung bringt das Konto nie ins Minus, auch nicht bei gleichzeitigen Anfragen. Ist die Abbuchung nicht möglich, ändert die Methode nichts und antwortet mit 422 und einem Fehler im Feld account_id:
code |
Ursache |
|---|---|
account_blocked |
Das Konto ist gesperrt — entsperren Sie es in der Kontaktkarte |
insufficient_funds |
Auf dem Konto liegt weniger als amount; der Text nennt das aktuelle Guthaben |
Zuerst wird die Sperre geprüft, dann das Guthaben.
Fehler bei Konten
- Kein Kontakt oder Konto mit dieser ID, Kontakt gelöscht oder sein Bot gelöscht —
404. - Kontakt oder Konto aus einem fremden Bot —
403. - Fehler dieser Methoden sind
422mit den Feldernmessage,codeunderrors. Der Fehlertext ist in der Sprache der Anfrage (HeaderAccept-Language), prüfen Sie im Code dahercode:
code |
Methode | Ursache |
|---|---|---|
currency_exists |
addContactAccount |
Ein Konto in dieser Währung gibt es bereits |
account_not_empty |
deleteContactAccount |
Auf dem Konto ist noch Geld |
account_blocked |
withdrawFundsFromContactAccount |
Das Konto ist gesperrt |
insufficient_funds |
withdrawFundsFromContactAccount |
Nicht genügend Guthaben auf dem Konto |
Allgemeine Fehler der API finden Sie unter Fehler.