> For the complete documentation index, see [llms.txt](https://www.boxhero.io/docs/llms.txt). Every page is available as Markdown by appending `.md` to its URL; this page is [Markdown](https://www.boxhero.io/docs/zh-tw/integrations/webhook.md).

# Webhook

> Webhook 是一項功能，可讓您在 BoxHero 中發生特定事件時即時收到通知。

![](https://assets.boxhero.io/docs/images/e073efd69a551d1c50313ce8969f89656fe7fb6c2f4bf97cd67eb7398f4e21d6-1601x941.jpeg)

---

## 註冊

您可以在 BoxHero 團隊的 `設定` > `整合和 API` 中註冊 Webhook。

![](https://assets.boxhero.io/docs/images/39738e2bf18459a1ba1d9df4c6a3eb786fc434f5fab37932e8edf50bf6a0b91a-1100x810.png)

## 傳送與重試機制

發生事件時，BoxHero 會向您註冊的 Webhook 端點傳送 HTTP `POST` 請求。請求內文包含描述該事件的 JSON Payload。

- 若您的伺服器回應任何 **2xx 狀態碼**（例如 200、201、204），即視為傳送成功。
- 任何 **非 2xx 的回應** 都會視為失敗，並將重新傳送。

## Webhook Payload 結構

所有 Webhook 事件都會以下列 JSON 結構放在請求內文中傳送：

```json
{
  "id": "3f9a2b7c-6d4e-4a1f-9c8b-2e5d7a0f1b34", // Event's unique ID
  "topic": "txs/new", // Event topic
  "version": 1, // Payload schema version
  "payload": { // Event-specific data
    ...
  },
  "created_time": "2025-08-06T09:20:48.623Z" // Timestamp of event occurrence (ISO 8601)
}
```

---

## 事件順序

BoxHero **不**保證事件傳送的順序。例如，同一品項的 `item/new` 事件可能會在 `item/delete` 事件之後才送達。

事件 Payload 中的 `created_time` 欄位代表事件實際發生的時間。請在您的 Webhook 處理程式中實作具冪等性且不受順序影響的邏輯，以可靠地處理事件。

## 事件主題

> **Note**
>
> 若您需要支援其他事件主題，請[聯絡我們](https://www.boxhero.io/docs/zh-tw/resources/contact)。

### txs/new

發生庫存交易（入庫 / 出庫 / 調整 / 移動）時觸發。

> **Caution**
>
> **注意：** 透過批量編輯或匯入所產生的調整（例如透過 Excel 新增或更新品項時）_不會_觸發此事件。

| 欄位 | 必填 | 說明 |
| --- | --- | --- |
| id | ✓ | 交易的唯一 ID |
| type | ✓ | 交易類型 （in、out、adjust、move） |
| partner |  | 合作夥伴 |
| partner.id |  | 合作夥伴的唯一 ID |
| partner.name |  | 合作夥伴名稱 |
| partner.deleted |  | 合作夥伴是否已刪除 |
| from_location |  | 來源位置 |
| from_location.id |  | 來源位置的唯一 ID |
| from_location.name |  | 來源位置名稱 |
| from_location.deleted |  | 來源位置是否已刪除 |
| to_location | ✓ | 目的地位置 |
| to_location.id | ✓ | 目的地位置的唯一 ID |
| to_location.name | ✓ | 目的地位置名稱 |
| to_location.deleted | ✓ | 目的地位置是否已刪除 |
| items | ✓ | 交易中的明細項目 |
| items.id | ✓ | 品項的唯一 ID |
| items.name | ✓ | 品項名稱 |
| items.quantity | ✓ | 因入庫 / 出庫 / 調整 / 移動而產生的庫存變動量 |
| items.deleted | ✓ | 品項是否已刪除 |
| items.from_location_new_stock_level |  | 交易後來源位置的庫存量 |
| items.to_location_new_stock_level | ✓ | 交易後目的地位置的庫存量 |
| transaction_time | ✓ | 交易時間（例如入庫 / 出庫時間） |
| created_at | ✓ | 交易的建立時間 |
| created_by | ✓ | 建立交易的成員 |
| created_by.id | ✓ | 成員的唯一 ID |
| created_by.name | ✓ | 成員名稱 |
| created_by.deleted | ✓ | 成員是否已刪除 |
| count_of_items | ✓ | 品項數量 |
| total_quantity | ✓ | 庫存變動總量 |
| url | ✓ | 查看交易詳細資訊頁面的 URL 位址 |
| memo |  | 與交易相關的備註 |

#### Webhook Payload 範例 – Stock In 事件

```json
{
  "id": 16160911,
  "type": "in",
  "to_location": {
    "id": 52766,
    "name": "Warehouse 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"
}
```

#### Webhook Payload 範例 – Move Stock 事件

```json
{
  "id": 3692714,
  "type": "move",
  "from_location": {
    "id": 52765,
    "name": "Warehouse 2",
    "deleted": false
  },
  "to_location": {
    "id": 52766,
    "name": "Warehouse 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": "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"
}
```

### txs/edit

在現有的庫存交易（入庫 / 出庫 / 移動 / 調整）被**編輯**時傳送。

| 欄位 | 必填 | 說明 |
| --- | --- | --- |
| id | ✓ | 交易的唯一 ID |
| type | ✓ | 交易類型 （in、out、adjust、move） |
| partner |  | 合作夥伴 |
| partner.id |  | 合作夥伴的唯一 ID |
| partner.name |  | 合作夥伴名稱 |
| partner.deleted |  | 合作夥伴是否已刪除 |
| from_location |  | 來源位置 |
| from_location.id |  | 來源位置的唯一 ID |
| from_location.name |  | 來源位置名稱 |
| from_location.deleted |  | 來源位置是否已刪除 |
| to_location | ✓ | 目的地位置 |
| to_location.id | ✓ | 目的地位置的唯一 ID |
| to_location.name | ✓ | 目的地位置名稱 |
| to_location.deleted | ✓ | 目的地位置是否已刪除 |
| items | ✓ | 交易中的明細項目 |
| items.id | ✓ | 品項的唯一 ID |
| items.name | ✓ | 品項名稱 |
| items.quantity | ✓ | 因交易（入庫 / 出庫 / 調整 / 移動）而產生的數量變動 |
| items.deleted | ✓ | 品項是否已刪除 |
| items.from_location_new_stock_level |  | 交易後來源位置的庫存量 |
| items.to_location_new_stock_level | ✓ | 交易後目的地位置的庫存量 |
| transaction_time | ✓ | 交易時間（例如入庫 / 出庫時間） |
| created_at | ✓ | 交易的建立時間 |
| created_by | ✓ | 建立交易的成員 |
| created_by.id | ✓ | 成員的唯一 ID |
| created_by.name | ✓ | 成員名稱 |
| created_by.deleted | ✓ | 成員是否已刪除 |
| count_of_items | ✓ | 品項數量 |
| total_quantity | ✓ | 庫存變動總量 |
| url | ✓ | 查看交易詳細資訊頁面的 URL 位址 |
| memo |  | 與交易相關的備註 |
| revision | ✓ | 交易目前的版本號碼，從 1 開始 |

#### Webhook Payload 範例 – 已編輯的 Stock In 交易

```json
{
  "id": 16160911,
  "revision": 2,
  "type": "in",
  "to_location": {
    "id": 52766,
    "name": "Warehouse 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"
}

```

#### Webhook Payload 範例 – 已編輯的 Move Stock 交易

```json
{
  "id": 3692714,
  "revision": 2,
  "type": "move",
  "from_location": {
    "id": 52765,
    "name": "Warehouse 2",
    "deleted": false
  },
  "to_location": {
    "id": 52766,
    "name": "Warehouse 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

在庫存交易被**刪除**時傳送。

| 欄位 | 說明 |
| --- | --- |
| id | 交易的唯一 ID |
| revision | 交易目前的版本號碼，從 1 開始 |

#### Webhook Payload 範例 – 已刪除的交易

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

### item/new

在團隊庫存中新增品項時傳送。

> **Caution**
>
> **注意**：使用 `新增商品變體` 功能或透過 `匯入 Excel` 匯入品項時，_不會_觸發此事件。

| 欄位 | 說明 |
| --- | --- |
| id | 品項 ID |
| name | 品項名稱 |
| sku | SKU |
| barcode | 條碼 |
| photo_url | 照片 URL |
| cost | 成本 |
| price | 價格 |
| attrs | 屬性 |

#### Payload 範例 – 品項已建立

```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": "Category",
      "type": "text",
      "value": "Foundation"
    },
    {
      "id": 459264,
      "name": "Expiration date",
      "type": "date",
      "value": "2027-08-07"
    },
    {
      "id": 668272,
      "name": "Safety Stock",
      "type": "number",
      "value": 33
    }
  ]
}
```

### item/edit

在現有品項被編輯時傳送。

> **Caution**
>
> **注意**：透過 `資料中心` > `品項` 或 `匯入 Excel` 功能進行的批量編輯，_不會_觸發此事件。

| 欄位 | 說明 |
| --- | --- |
| id | 品項 ID |
| name | 品項名稱 |
| sku | SKU |
| barcode | 條碼 |
| photo_url | 照片 URL |
| cost | 成本 |
| price | 價格 |
| attrs | 屬性 |

#### Payload 範例 – 品項已更新

```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": "Category",
      "type": "text",
      "value": "Foundation"
    },
    {
      "id": 459264,
      "name": "Expiration date",
      "type": "date",
      "value": "2027-08-07"
    },
    {
      "id": 668272,
      "name": "Safety Stock",
      "type": "number",
      "value": 33
    }
  ]
}
```

### item/delete

從團隊庫存中刪除品項時傳送。

> **Caution**
>
> **注意**：透過 `資料中心` > `品項` 進行的批量刪除，_不會_觸發此事件。

| 欄位 | 說明 |
| --- | --- |
| id | 品項 ID |

#### Payload 範例 – 品項已刪除

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