KI fragen
Deutsch DE
Zu Watbot

Einträge

Die Methoden dieser Seite arbeiten mit den Einträgen einer Liste. Feldwerte werden im Objekt data übergeben: Der Schlüssel ist der slug des Feldes, der Wert hat das Format seines Typs. Die Formate aller Typen stehen auf der Seite Listen.

getListItems

Gibt die Einträge einer Liste seitenweise zurück — mit Filter nach Feldwerten und Sortierung.

GETPOSThttps://watbot.org/de/api/v1/getListItems
Parameter Typ Pflicht Beschreibung
schema_id String ja ID der Liste
limit Ganzzahl nein Einträge pro Seite — 1 bis 1000, standardmäßig 50
page Ganzzahl nein Seitennummer, standardmäßig 1
order_by String nein Sortierung: slug des Feldes und Richtung, durch Komma getrennt — preis,desc. Die Richtung ist asc (aufsteigend, Standard) oder desc. Sortieren lässt sich auch nach created_at und updated_at. Ein anderes Feld oder eine andere Richtung — 422
filters Objekt nein Filter nach Feldwerten — siehe unten
contact_id Ganzzahl nein Nur Einträge, die über ein Feld vom Typ contact mit diesem Kontakt verknüpft sind
bot_id Ganzzahl nein Nur Einträge, die über ein Feld vom Typ bot mit diesem Bot verknüpft sind

Zum Beispiel Latte ab 250 ml, die größten zuerst:

Anfrage
curl -X POST "https://watbot.org/de/api/v1/getListItems" \
  -H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "schema_id": "6650a1f2c3d4e5f6a7b8c9d0",
    "filters": {"volumen": ">=,250", "bezeichnung": "like,%latte%"},
    "order_by": "volumen,desc",
    "limit": 20
  }'
Antwort 200
{
  "data": [
    {
      "id": "6650b7a1c3d4e5f6a7b8c9e1",
      "created_at": "2026-10-03T08:05:00+00:00",
      "updated_at": "2026-10-03T08:05:00+00:00",
      "bezeichnung": "Latte mit Hafermilch",
      "preis": 4.6,
      "foto": {
        "type": "image",
        "mime_type": "image/jpeg",
        "created_at": null,
        "name": "latte.jpg",
        "size": 0,
        "storage": "url",
        "caption": null,
        "meta": {"width": null, "height": null, "duration": null, "codec": null},
        "url": "https://example.com/karte/latte.jpg"
      },
      "verfuegbar": true,
      "volumen": 350
    }
  ],
  "links": {
    "first": "…/v1/getListItems?page=1",
    "last": "…/v1/getListItems?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "…/v1/getListItems",
    "per_page": 20,
    "to": 1,
    "total": 1
  }
}
Antwort 422
{
  "message": "The limit field must not be greater than 1000.",
  "errors": {
    "limit": ["The limit field must not be greater than 1000."]
  }
}

Jeder Eintrag enthält id, created_at, updated_at und die Werte aller Felder der Liste, auch der ausgeblendeten und der verschlüsselten (entschlüsselt). Ist ein Eintrag mit einem Kontakt oder Bot verknüpft, enthält er zusätzlich contact_id oder bot_id.

Filter

In filters ist der Schlüssel der slug des Feldes und der Wert eines von beiden:

  • "Wert" oder einfach ein JSON-Wert — das Feld ist gleich dem Wert: {"bezeichnung": "Cappuccino"}, {"volumen": 250}, {"verfuegbar": true};
  • "Operator,Wert" — ein Vergleich: {"volumen": ">=,250"}.
Operator Bedeutung
= gleich
!=, <> ungleich
<, <=, >, >= kleiner, kleiner oder gleich, größer, größer oder gleich
like passt zum Muster: % — beliebige Zeichen, _ — ein Zeichen. Groß- und Kleinschreibung spielen keine Rolle. Ohne % muss der ganze Wert übereinstimmen
not like passt nicht zum Muster

Ein Operator wird nur erkannt, wenn der Text vor dem ersten Komma ein Operator aus der Tabelle ist. Sonst ist der ganze String der Wert: {"bezeichnung": "Flat White, groß"} findet den Eintrag „Flat White, groß“. Beginnt der Wert selbst mit einem Operator und einem Komma, etwa ">, 5", geben Sie den Operator ausdrücklich an: "=,>, 5".

Bedingungen für verschiedene Felder werden mit „und“ verknüpft.

Wie der Wert verglichen wird, hängt vom Feldtyp ab:

Feldtyp Wert im Filter Operatoren
string Text. Eine JSON-Zahl wird als Text verglichen alle
number Eine Zahl: 250, "250", "4.5" alle außer like und not like
money Ein Betrag in Haupteinheiten, wie beim Schreiben: 5 oder "4.99" alle außer like und not like
bool true, false, "true", "false", 1, 0 =, !=
date Ein Datum: "2026-10-15". Verglichen wird der Tag in UTC: "2026-10-15" findet auch einen Eintrag vom 15. Oktober, 14:30, und "<=,2026-10-15" alles bis zum Ende dieses Tages alle außer like und not like
datetime Datum und Uhrzeit: "2026-10-15 14:30" oder "2026-10-15T14:30:00+02:00". Eine Uhrzeit ohne Zeitzone gilt als UTC alle außer like und not like
contact, bot ID des Kontakts oder Bots alle außer like und not like

Ein Muster für like und not like darf höchstens 255 Zeichen lang sein und höchstens 10 %-Zeichen enthalten; mehrere % hintereinander zählen als eines.

Ein Wert, der nicht zum Feld passt (Text in einem number-Feld, like bei einem Betrag, ein Objekt statt eines Wertes), — 422 mit einem Fehler an filters.<slug>. Ist filters kein Objekt, steht der Fehler an filters.

Eine Bedingung wird ohne Fehlermeldung übersprungen, wenn die Liste kein Feld mit diesem slug hat, das Feld verschlüsselt ist, es eine Datei oder ein Bild ist oder der Wert null ist.

In einer GET-Anfrage wird der Filter in der Adresse übergeben: filters[volumen]=>=,250. Sonderzeichen müssen kodiert werden: % als %25.

Seiten

Die Gesamtzahl der Einträge und Seiten steht in meta.total und meta.last_page, die Adresse der nächsten Seite in links.next (null auf der letzten). Ohne order_by ist die Reihenfolge der Einträge nicht festgelegt: Wenn Sie Seite für Seite durchgehen, geben Sie eine Sortierung an, zum Beispiel created_at.

Fehler:

  • Die Liste existiert nicht — 404: {"message": "Schema not found", "error": "Schema not found", "errors": {"schema_id": ["Schema not found"]}}.
  • Die Liste gehört zu einem fremden Projekt — 403.
  • Ungültige Angaben in order_by oder filters — 422.

addListItem

Legt einen Eintrag in einer Liste an.

GETPOSThttps://watbot.org/de/api/v1/addListItem
Parameter Typ Pflicht Beschreibung
schema_id String ja ID der Liste
data Objekt ja Feldwerte: Der Schlüssel ist der slug, der Wert hat das Format des Feldtyps
Anfrage
curl -X POST "https://watbot.org/de/api/v1/addListItem" \
  -H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "schema_id": "6650a1f2c3d4e5f6a7b8c9d0",
    "data": {
      "bezeichnung": "Cappuccino",
      "preis": 3.9,
      "foto": {
        "url": "https://example.com/karte/cappuccino.jpg",
        "storage": "url",
        "name": "cappuccino.jpg",
        "type": "image"
      },
      "verfuegbar": true,
      "volumen": 300
    }
  }'
Antwort 201
{
  "data": {
    "id": "6650b7a1c3d4e5f6a7b8c9e2",
    "created_at": "2026-10-03T08:10:00+00:00",
    "updated_at": "2026-10-03T08:10:00+00:00",
    "bezeichnung": "Cappuccino",
    "preis": 3.9,
    "foto": {
      "type": "image",
      "mime_type": null,
      "created_at": null,
      "name": "cappuccino.jpg",
      "size": 0,
      "storage": "url",
      "caption": null,
      "meta": {"width": null, "height": null, "duration": null, "codec": null},
      "url": "https://example.com/karte/cappuccino.jpg"
    },
    "verfuegbar": true,
    "volumen": 300
  }
}
Antwort 422
{
  "message": "The data.bezeichnung field is required.",
  "errors": {
    "data.bezeichnung": ["The data.bezeichnung field is required."]
  }
}

Besonderheiten und Fehler:

  • Pflichtfelder (is_required: true) müssen ausgefüllt sein, sonst 422. Felder, die in data fehlen, bleiben leer. Schlüssel, die keine Felder der Liste sind, werden ignoriert.
  • Ein Wert vom falschen Typ — 422 mit einem Fehler an data.<slug>: zum Beispiel Text in einem number-Feld oder die ID eines nicht existierenden Kontakts.
  • Ein fremder Kontakt oder fremder Bot in den Feldern contact und bot — 403.
  • Datumswerte kommen in der Antwort als String in UTC, wie bei getListItems: "2026-10-15T00:00:00.000000Z".
  • Die Liste existiert nicht — 404, wie bei getListItems; die Liste gehört zu einem fremden Projekt — 403.

updateListItem

Ändert die Feldwerte eines Eintrags. Felder, die in data fehlen, bleiben unverändert.

GETPOSThttps://watbot.org/de/api/v1/updateListItem
Parameter Typ Pflicht Beschreibung
item_id String ja ID des Eintrags
data Objekt ja Neue Feldwerte: Der Schlüssel ist der slug, der Wert hat das Format des Feldtyps

Zum Beispiel ein neuer Preis und die Kennzeichnung „nicht verfügbar“:

Anfrage
curl -X POST "https://watbot.org/de/api/v1/updateListItem" \
  -H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "item_id": "6650b7a1c3d4e5f6a7b8c9e2",
    "data": {"preis": 4.2, "verfuegbar": false}
  }'
Antwort 200
{
  "data": {
    "id": "6650b7a1c3d4e5f6a7b8c9e2",
    "created_at": "2026-10-03T08:10:00+00:00",
    "updated_at": "2026-10-03T09:30:00+00:00",
    "bezeichnung": "Cappuccino",
    "preis": 4.2,
    "foto": {
      "type": "image",
      "mime_type": null,
      "created_at": null,
      "name": "cappuccino.jpg",
      "size": 0,
      "storage": "url",
      "caption": null,
      "meta": {"width": null, "height": null, "duration": null, "codec": null},
      "url": "https://example.com/karte/cappuccino.jpg"
    },
    "verfuegbar": false,
    "volumen": 300
  }
}
Antwort 404
{
  "message": "Item not found",
  "error": "Item not found",
  "errors": {
    "item_id": ["Item not found"]
  }
}

Die Antwort enthält den ganzen Eintrag.

Besonderheiten und Fehler:

  • Geprüft werden nur die übergebenen Felder. Ein Pflichtfeld darf nicht leer übergeben werden — 422.
  • Ein Feld leeren können Sie mit dieser Methode nicht: null und leere Werte werden übersprungen, das Feld behält seinen bisherigen Wert.
  • Datumswerte kommen in der Antwort als String in UTC, wie bei getListItems.
  • Der Eintrag existiert nicht, wurde gelöscht oder seine Liste wurde gelöscht — 404. Der Fehlertext steht in error und message; aus Kompatibilitätsgründen auch in errors.item_id.
  • Der Eintrag gehört zu einer Liste in einem fremden Projekt — 403.

deleteListItem

Löscht einen Eintrag.

GETPOSThttps://watbot.org/de/api/v1/deleteListItem
Parameter Typ Pflicht Beschreibung
item_id String ja ID des Eintrags
Anfrage
curl -X POST "https://watbot.org/de/api/v1/deleteListItem" \
  -H "Authorization: Bearer IHR_API_SCHLÜSSEL" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"item_id": "6650b7a1c3d4e5f6a7b8c9e2"}'
Antwort 404
{
  "message": "Item not found",
  "error": "Item not found",
  "errors": {
    "item_id": ["Item not found"]
  }
}

Eine erfolgreiche Antwort hat den Code 204 und keinen Inhalt.

Fehler:

  • Der Eintrag existiert nicht, wurde bereits gelöscht oder seine Liste wurde gelöscht — 404, wie bei updateListItem.
  • Der Eintrag gehört zu einer Liste in einem fremden Projekt — 403.