> For the complete documentation index, see [llms.txt](https://www.boxhero.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.boxhero.io/docs/documentation/de/integrationen/webhook.md).

# Webhook

<figure><img src="/files/271930154af515a48a7be18bf4cf335a96d6ec2d" alt=""><figcaption></figcaption></figure>

***

## Registrierung

Sie können einen Webhook unter <mark style="color:blau;">**`Einstellungen`**</mark> **>** <mark style="color:blau;">**`Integrationen & API`**</mark> in Ihrem BoxHero-Team.

<figure><img src="/files/a0b27855668efc205c1ef8aa3a4408d613472764" alt=""><figcaption></figcaption></figure>

## Zustell- und Wiederholungsverhalten

Wenn ein Ereignis auftritt, sendet BoxHero eine HTTP `POST` Anfrage an Ihren registrierten Webhook-Endpunkt. Der Anfrage-Body enthält eine JSON-Nutzlast, die das Ereignis beschreibt.

* Wenn Ihr Server mit **HTTP 200 OK**antwortet, gilt das Ereignis als erfolgreich zugestellt.
* Wenn Ihr Server mit **jeder Nicht-200-Statuscode**behandelt BoxHero dies als vorübergehenden Fehler und versucht die Zustellung bis zu 3 Mal erneut.

## Struktur der Webhook-Nutzlast

Alle Webhook-Ereignisse werden mit der folgenden JSON-Struktur im Anfrage-Body zugestellt:

```json
{
  "id": "1234", // Eindeutige ID des Ereignisses
  "topic": "txs/new", // Ereignisthema
  "version": 1, // Version des Nutzlastschemas
  "payload": { // Ereignisspezifische Daten
    ...
  },
  "created_time": "2025-08-06T09:20:48.623Z" // Zeitstempel des Ereigniszeitpunkts (ISO 8601)
}
```

***

## Ereignisreihenfolge

BoxHero **garantiert nicht** die Reihenfolge der Ereigniszustellung. Zum Beispiel kann ein `item/new` Ereignis nach einem `item/delete` Ereignis für denselben Artikel eintreffen.

Das `created_time` Feld in der Ereignisnutzlast repräsentiert die tatsächliche Ereigniszeit. Implementieren Sie in Ihrem Webhook-Handler idempotente und reihenfolgetolerante Logik, um Ereignisse zuverlässig zu verarbeiten.

## Ereignisthemen

{% hint style="info" %}
Wenn Sie Unterstützung für zusätzliche Ereignisthemen benötigen, wenden Sie sich bitte an [Support](/docs/documentation/de/ressourcen/contact.md).
{% endhint %}

### `txs/new`

Wird ausgelöst, wenn eine Lagertransaktion auftritt (Wareneingang / Warenausgang / Lager anpassen / Bestand verschieben).

{% hint style="warning" %}
**Hinweis:** Dieses Ereignis ist *nicht* ausgelöst für Anpassungen, die durch Massenbearbeitungen oder Importe erstellt wurden (z. B. beim Hinzufügen oder Aktualisieren von Artikeln per Excel).
{% endhint %}

<table><thead><tr><th width="207">Feld</th><th width="100" data-type="checkbox">Erforderlich</th><th>Beschreibung</th><th data-hidden data-type="checkbox">Erforderlichkeit</th><th data-hidden>Beschreibung</th><th data-hidden>Teammodus</th></tr></thead><tbody><tr><td>id</td><td>true</td><td>Eindeutige ID der Transaktion</td><td>true</td><td>Eindeutige ID der Historie</td><td>Alle</td></tr><tr><td>type</td><td>true</td><td>Transaktionstyp\n(in, out, adjust, move)</td><td>true</td><td><p>Typ der Historie.</p><ul><li>Wareneingang : in</li><li>Warenausgang : out</li><li>Anpassung : adjust</li><li>Verschiebung : move</li></ul></td><td>Alle</td></tr><tr><td>partner</td><td>false</td><td>Partner</td><td>false</td><td></td><td></td></tr><tr><td>partner.id</td><td>false</td><td>Eindeutige ID des Partners</td><td>false</td><td></td><td></td></tr><tr><td>partner.name</td><td>false</td><td>Name des Partners</td><td>false</td><td></td><td></td></tr><tr><td>partner.deleted</td><td>false</td><td>Ob der Partner gelöscht ist</td><td>false</td><td></td><td></td></tr><tr><td>from_location</td><td>false</td><td>Quellort</td><td>false</td><td></td><td></td></tr><tr><td>from_location.id</td><td>false</td><td>Eindeutige ID des Quellorts</td><td>false</td><td></td><td></td></tr><tr><td>from_location.name</td><td>false</td><td>Name des Quellorts</td><td>false</td><td></td><td></td></tr><tr><td>from_location.deleted</td><td>false</td><td>Ob der Quellort gelöscht ist</td><td>false</td><td></td><td></td></tr><tr><td>to_location</td><td>true</td><td>Zielort</td><td>false</td><td></td><td></td></tr><tr><td>to_location.id</td><td>true</td><td>Eindeutige ID des Zielorts</td><td>false</td><td></td><td></td></tr><tr><td>to_location.name</td><td>true</td><td>Name des Zielorts</td><td>false</td><td></td><td></td></tr><tr><td>to_location.deleted</td><td>true</td><td>Ob der Zielort gelöscht ist</td><td>false</td><td></td><td></td></tr><tr><td>items</td><td>true</td><td>Positionszeilen in der Transaktion</td><td>true</td><td>Artikelpositionen, aus denen die Historie besteht</td><td>Alle Modi</td></tr><tr><td>items.id</td><td>true</td><td>Eindeutige ID des Artikels</td><td>true</td><td>Eindeutige ID des Produkts</td><td>Alle Modi</td></tr><tr><td>items.name</td><td>true</td><td>Artikelname</td><td>true</td><td>Name des Produkts</td><td>Alle Modi</td></tr><tr><td>items.quantity</td><td>true</td><td>Bestandsänderung durch Wareneingang/-ausgang/Anpassung/Verschiebung</td><td>true</td><td>Menge des betreffenden Produkts für Wareneingang/-ausgang/Anpassung/Verschiebung</td><td>Alle Modi</td></tr><tr><td>items.deleted</td><td>true</td><td>Ob der Artikel gelöscht ist</td><td>true</td><td>Ob das Produkt gelöscht ist</td><td></td></tr><tr><td>items.from_location_new_stock_level</td><td>false</td><td>Der Lagerbestand am Quellort nach der Transaktion</td><td>false</td><td></td><td></td></tr><tr><td>items.to_location_new_stock_level</td><td>true</td><td>Der Lagerbestand am Zielort nach der Transaktion</td><td>false</td><td></td><td></td></tr><tr><td>transaction_time</td><td>true</td><td>Transaktionszeit (z. B. Wareneingangs-/Warenausgangszeit)</td><td>false</td><td></td><td></td></tr><tr><td>created_at</td><td>true</td><td>Der Zeitpunkt, zu dem die Transaktion erstellt wurde</td><td>false</td><td></td><td></td></tr><tr><td>created_by</td><td>true</td><td>Mitglied, das die Transaktion erstellt hat</td><td>false</td><td></td><td></td></tr><tr><td>created_by.id</td><td>true</td><td>Eindeutige ID des Mitglieds</td><td>false</td><td></td><td></td></tr><tr><td>created_by.name</td><td>true</td><td>Mitgliedsname</td><td>false</td><td></td><td></td></tr><tr><td>created_by.deleted</td><td>true</td><td>Ob das Mitglied gelöscht ist</td><td>false</td><td></td><td></td></tr><tr><td>count_of_items</td><td>true</td><td>Anzahl der Artikel</td><td>false</td><td></td><td></td></tr><tr><td>total_quantity</td><td>true</td><td>Gesamthöhe der Bestandsänderung</td><td>false</td><td></td><td></td></tr><tr><td>url</td><td>true</td><td>URL-Adresse zur Anzeige der Transaktionsdetailseite</td><td>false</td><td></td><td></td></tr><tr><td>memo</td><td>false</td><td>Hinweise zur Transaktion</td><td>false</td><td></td><td></td></tr></tbody></table>

#### Beispiel für Webhook-Nutzlast – `Wareneingang` Ereignis

```json
{
  "id": 16160911,
  "type": "in",
  "to_location": {
    "id": 52766,
    "name": "Lager 3",
    "deleted": false
  },
  "items": [
    {
      "id": 14277699,
      "name": "belif Cleansing Gel Oil Enriched",
      "quantity": 2,
      "deleted": false,
      "to_location_new_stock_level": 3
    },
    {
      "id": 14277698,
      "name": "belif Aqua Bomb Jelly Cleanser",
      "quantity": 2,
      "deleted": false,
      "to_location_new_stock_level": 5
    }
  ],
  "transaction_time": "2023-04-25T05:42:27.545Z",
  "created_at": "2023-08-14T05:14:29.499Z",
  "created_by": {
    "id": 201345,
    "name": "corp",
    "deleted": false
  },
  "count_of_items": 2,
  "total_quantity": 4,
  "url": "https://web.boxhero-app.com/team/149058/mode/0#/tx/16160911"
}
```

#### Beispiel für Webhook-Nutzlast – `Bestand verschieben` Ereignis

<pre class="language-json"><code class="lang-json">{
  "id": 3692714,
  "type": "move",
  "from_location": {
    "id": 52765,
    "name": "Lager 2",
    "deleted": false
  },
  "to_location": {
    "id": 52766,
    "name": "Lager 3",
<strong>    "deleted": false
</strong>  },
  "items": [
    {
      "id": 14873303,
      "name": "Auto liner 3.5mm",
      "quantity": 1,
      "deleted": false,
      "from_location_new_stock_level": -1,
      "to_location_new_stock_level": 1
    }
  ],
  "transaction_time": "2025-04-25T05:42:27.545Z",
  "created_at": "2025-04-25T05:42:27.545Z",
  "created_by": {
    "id": 176829,
    "name": "Tony Lee",
    "deleted": false
  },
  "count_of_items": 1,
  "total_quantity": 1,
  "url": "https://web.boxhero-app.com/team/150581/mode/2#/ltx/3692714"
}
</code></pre>

### `txs/edit`

Wird gesendet, wenn eine vorhandene Lagertransaktion (Wareneingang / Warenausgang / Lager anpassen / Bestand verschieben) wird **bearbeitet**.

<table><thead><tr><th>Feld</th><th width="100" data-type="checkbox">Erforderlich</th><th>Beschreibung</th><th data-hidden data-type="checkbox">Erforderlichkeit</th><th data-hidden>Beschreibung</th><th data-hidden>Teammodus</th></tr></thead><tbody><tr><td>id</td><td>true</td><td>Eindeutige ID der Transaktion</td><td>true</td><td>Eindeutige ID der Historie</td><td>Alle</td></tr><tr><td>type</td><td>true</td><td>Transaktionstyp\n(in, out, adjust, move)</td><td>true</td><td><p>Typ der Historie.</p><ul><li>Wareneingang : in</li><li>Warenausgang : out</li><li>Anpassung : adjust</li><li>Verschiebung : move</li></ul></td><td>Alle</td></tr><tr><td>partner</td><td>false</td><td>Partner</td><td>false</td><td></td><td></td></tr><tr><td>partner.id</td><td>false</td><td>Eindeutige ID des Partners</td><td>false</td><td></td><td></td></tr><tr><td>partner.name</td><td>false</td><td>Name des Partners</td><td>false</td><td></td><td></td></tr><tr><td>partner.deleted</td><td>false</td><td>Ob der Partner gelöscht ist</td><td>false</td><td></td><td></td></tr><tr><td>from_location</td><td>false</td><td>Quellort</td><td>false</td><td></td><td></td></tr><tr><td>from_location.id</td><td>false</td><td>Eindeutige ID des Quellorts</td><td>false</td><td></td><td></td></tr><tr><td>from_location.name</td><td>false</td><td>Name des Quellorts</td><td>false</td><td></td><td></td></tr><tr><td>from_location.deleted</td><td>false</td><td>Ob der Quellort gelöscht ist</td><td>false</td><td></td><td></td></tr><tr><td>to_location</td><td>true</td><td>Zielort</td><td>false</td><td></td><td></td></tr><tr><td>to_location.id</td><td>true</td><td>Eindeutige ID des Zielorts</td><td>false</td><td></td><td></td></tr><tr><td>to_location.name</td><td>true</td><td>Name des Zielorts</td><td>false</td><td></td><td></td></tr><tr><td>to_location.deleted</td><td>true</td><td>Ob der Zielort gelöscht ist</td><td>false</td><td></td><td></td></tr><tr><td>items</td><td>true</td><td>Positionszeilen in der Transaktion</td><td>true</td><td>Artikelpositionen, aus denen die Historie besteht</td><td>Alle Modi</td></tr><tr><td>items.id</td><td>true</td><td>Eindeutige ID des Artikels</td><td>true</td><td>Eindeutige ID des Produkts</td><td>Alle Modi</td></tr><tr><td>items.name</td><td>true</td><td>Artikelname</td><td>true</td><td>Name des Produkts</td><td>Alle Modi</td></tr><tr><td>items.quantity</td><td>true</td><td>Mengenänderung aufgrund der Transaktion (in/out/adjust/move)</td><td>true</td><td>Menge des betreffenden Produkts für Wareneingang/-ausgang/Anpassung/Verschiebung</td><td>Alle Modi</td></tr><tr><td>items.deleted</td><td>true</td><td>Ob der Artikel gelöscht ist</td><td>true</td><td>Ob das Produkt gelöscht ist</td><td></td></tr><tr><td>items.from_location_new_stock_level</td><td>false</td><td>Der Lagerbestand am Quellort nach der Transaktion</td><td>false</td><td></td><td></td></tr><tr><td>items.to_location_new_stock_level</td><td>true</td><td>Der Lagerbestand am Zielort nach der Transaktion</td><td>false</td><td></td><td></td></tr><tr><td>transaction_time</td><td>true</td><td>Transaktionszeit (z. B. Wareneingangs-/Warenausgangszeit)</td><td>false</td><td></td><td></td></tr><tr><td>created_at</td><td>true</td><td>Der Zeitpunkt, zu dem die Transaktion erstellt wurde</td><td>false</td><td></td><td></td></tr><tr><td>created_by</td><td>true</td><td>Mitglied, das die Transaktion erstellt hat</td><td>false</td><td></td><td></td></tr><tr><td>created_by.id</td><td>true</td><td>Eindeutige ID des Mitglieds</td><td>false</td><td></td><td></td></tr><tr><td>created_by.name</td><td>true</td><td>Mitgliedsname</td><td>false</td><td></td><td></td></tr><tr><td>created_by.deleted</td><td>true</td><td>Ob das Mitglied gelöscht ist</td><td>false</td><td></td><td></td></tr><tr><td>count_of_items</td><td>true</td><td>Anzahl der Artikel</td><td>false</td><td></td><td></td></tr><tr><td>total_quantity</td><td>true</td><td>Gesamthöhe der Bestandsänderung</td><td>false</td><td></td><td></td></tr><tr><td>url</td><td>true</td><td>URL-Adresse zur Anzeige der Transaktionsdetailseite</td><td>false</td><td></td><td></td></tr><tr><td>memo</td><td>false</td><td>Hinweise zur Transaktion</td><td>false</td><td></td><td></td></tr><tr><td>Revision</td><td>true</td><td>Aktuelle Versionsnummer der Transaktion, beginnend bei 1</td><td>false</td><td></td><td></td></tr></tbody></table>

#### Beispiel für Webhook-Nutzlast – Bearbeitet `Wareneingang` Transaktion

```json
{
  "id": 16160911,
  "type": "in",
  "to_location": {
    "id": 52766,
    "name": "Lager 3",
    "deleted": false
  },
  "items": [
    {
      "id": 14277699,
      "name": "belif Cleansing Gel Oil Enriched",
      "quantity": 2,
      "deleted": false,
      "to_location_new_stock_level": 3
    },
    {
      "id": 14277698,
      "name": "belif Aqua Bomb Jelly Cleanser",
      "quantity": 2,
      "deleted": false,
      "to_location_new_stock_level": 5
    }
  ],
  "transaction_time": "2023-04-25T05:42:27.545Z",
  "created_at": "2023-08-14T05:14:29.499Z",
  "created_by": {
    "id": 201345,
    "name": "corp",
    "deleted": false
  },
  "count_of_items": 2,
  "total_quantity": 4,
  "url": "https://web.boxhero-app.com/team/149058/mode/0#/tx/16160911"
}

```

#### Beispiel für Webhook-Nutzlast – Bearbeitet `Bestand verschieben` Transaktion

```json
{
  "id": 3692714,
  "type": "move",
  "from_location": {
    "id": 52765,
    "name": "Lager 2",
    "deleted": false
  },
  "to_location": {
    "id": 52766,
    "name": "Lager 3",
    "deleted": false
  },
  "items": [
    {
      "id": 14873303,
      "name": "Auto liner 3.5mm",
      "quantity": 1,
      "deleted": false,
      "from_location_new_stock_level": -1,
      "to_location_new_stock_level": 1
    }
  ],
  "transaction_time": "2023-04-25T05:42:27.545Z",
  "created_at": "2023-04-25T05:42:27.545Z",
  "created_by": {
    "id": 176829,
    "name": "Joy Kim",
    "deleted": false
  },
  "count_of_items": 1,
  "total_quantity": 1,
  "url": "https://web.boxhero-app.com/team/150581/mode/2#/ltx/3692714"
}

```

### `txs/delete`

Wird gesendet, wenn eine Lagertransaktion **gelöscht wird**.

| Feld     | Beschreibung                                             |
| -------- | -------------------------------------------------------- |
| id       | Eindeutige ID der Transaktion                            |
| Revision | Aktuelle Versionsnummer der Transaktion, beginnend bei 1 |

#### Beispiel für Webhook-Nutzlast – Gelöschte Transaktion

```json
/{
  "id": 27036740,
  "revision": 2
}
```

### `item/new`

Wird gesendet, wenn ein neuer Artikel zum Bestand des Teams hinzugefügt wird.

{% hint style="warning" %}
**Hinweis**: Dieses Ereignis wird *nicht* ausgelöst, wenn die <mark style="color:blau;">**`Artikelvarianten hinzufügen`**</mark> Funktion verwendet wird oder Artikel über <mark style="color:blau;">**`Excel-Import`**</mark>.
{% endhint %}

<table><thead><tr><th width="318">Feld</th><th>Beschreibung</th><th data-hidden data-type="checkbox">Erforderlichkeit</th><th data-hidden>Beschreibung</th><th data-hidden>Teammodus</th></tr></thead><tbody><tr><td>id</td><td>Artikel-ID</td><td>true</td><td>Eindeutige ID der Historie</td><td>Alle</td></tr><tr><td>name</td><td>Artikelname</td><td>true</td><td><p>Typ der Historie.</p><ul><li>Wareneingang : in</li><li>Warenausgang : out</li><li>Anpassung : adjust</li><li>Verschiebung : move</li></ul></td><td>Alle</td></tr><tr><td>sku</td><td>SKU</td><td>false</td><td></td><td></td></tr><tr><td>barcode</td><td>Barcode</td><td>false</td><td></td><td></td></tr><tr><td>photo_url</td><td>Foto-URL</td><td>false</td><td></td><td></td></tr><tr><td>cost</td><td>Kosten</td><td>false</td><td></td><td></td></tr><tr><td>price</td><td>Preis</td><td>false</td><td></td><td></td></tr><tr><td>attrs</td><td>Attribute</td><td>false</td><td></td><td></td></tr></tbody></table>

#### **Beispielnutzlast – Artikel erstellt**

```json
{
  "id": 26122826,
  "name": "belif Peat Miracle Revital Cream",
  "sku": "SKU-YH2361KI",
  "barcode": "2002074321218",
  "photo_url": "https://d3l9wd8kivvlqy.cloudfront.net/ap-northeast-2/image-up-ap-northeast-2/30b0cc84-601d-493d-87fd-b7e8b5825601",
  "cost": "50000",
  "price": "65000",
  "attrs": [
    {
      "id": 413101,
      "name": "Kategorie",
      "type": "text",
      "value": "Foundation"
    },
    {
      "id": 459264,
      "name": "Ablaufdatum",
      "type": "date",
      "value": "2027-08-07"
    },
    {
      "id": 668272,
      "name": "Sicherheitsbestand",
      "type": "number",
      "value": 33
    }
  ]
}
```

### `item/edit`

Wird gesendet, wenn ein vorhandener Artikel bearbeitet wird.

{% hint style="warning" %}
**Hinweis**: Dieses Ereignis wird *nicht* ausgelöst *f*oder Massenbearbeitungen, die über <mark style="color:blau;">**`Data Center`**</mark>**&#x20;>&#x20;**<mark style="color:blau;">**`Artikel`**</mark> oder über die <mark style="color:blau;">**`Excel-Import`**</mark> Funktion.
{% endhint %}

<table><thead><tr><th width="318">Feld</th><th>Beschreibung</th><th data-hidden data-type="checkbox">Erforderlichkeit</th><th data-hidden>Beschreibung</th><th data-hidden>Teammodus</th></tr></thead><tbody><tr><td>id</td><td>Artikel-ID</td><td>true</td><td>Eindeutige ID der Historie</td><td>Alle</td></tr><tr><td>name</td><td>Artikelname</td><td>true</td><td><p>Typ der Historie.</p><ul><li>Wareneingang : in</li><li>Warenausgang : out</li><li>Anpassung : adjust</li><li>Verschiebung : move</li></ul></td><td>Alle</td></tr><tr><td>sku</td><td>SKU</td><td>false</td><td></td><td></td></tr><tr><td>barcode</td><td>Barcode</td><td>false</td><td></td><td></td></tr><tr><td>photo_url</td><td>Foto-URL</td><td>false</td><td></td><td></td></tr><tr><td>cost</td><td>Kosten</td><td>false</td><td></td><td></td></tr><tr><td>price</td><td>Preis</td><td>false</td><td></td><td></td></tr><tr><td>attrs</td><td>Attribute</td><td>false</td><td></td><td></td></tr></tbody></table>

#### **Beispielnutzlast – Artikel aktualisiert**

```json
{
  "id": 26122826,
  "name": "belif Peat Miracle Revital Cream",
  "sku": "SKU-YH2361KI",
  "barcode": "2002074321218",
  "photo_url": "https://d3l9wd8kivvlqy.cloudfront.net/ap-northeast-2/image-up-ap-northeast-2/30b0cc84-601d-493d-87fd-b7e8b5825601",
  "cost": "50000",
  "price": "65000",
  "attrs": [
    {
      "id": 413101,
      "name": "Kategorie",
      "type": "text",
      "value": "Foundation"
    },
    {
      "id": 459264,
      "name": "Ablaufdatum",
      "type": "date",
      "value": "2027-08-07"
    },
    {
      "id": 668272,
      "name": "Sicherheitsbestand",
      "type": "number",
      "value": 33
    }
  ]
}
```

### `item/delete`

Wird gesendet, wenn ein Artikel aus dem Bestand des Teams gelöscht wird.

{% hint style="warning" %}
**Hinweis**: Dieses Ereignis wird *nicht* ausgelöst für Massenlöschungen, die über <mark style="color:blau;">**`Data Center`**</mark>**&#x20;>&#x20;**<mark style="color:blau;">**`Artikel`**</mark>.
{% endhint %}

<table><thead><tr><th width="318">Feld</th><th>Beschreibung</th><th data-hidden data-type="checkbox">Erforderlichkeit</th><th data-hidden>Beschreibung</th><th data-hidden>Teammodus</th></tr></thead><tbody><tr><td>id</td><td>Artikel-ID</td><td>true</td><td>Eindeutige ID der Historie</td><td>Alle</td></tr></tbody></table>

#### Beispielnutzlast **– Artikel gelöscht**

```json
{
  "id": 26122826
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://www.boxhero.io/docs/documentation/de/integrationen/webhook.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
