# वेबहुक

<figure><img src="https://1438270363-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlRf1QqJGoevCQqGbfI80%2Fuploads%2Fgit-blob-094f1326e4f5b66d3f4de825a63e55cbf0f4ac01%2Fboxhero-add-webhook.png?alt=media" alt=""><figcaption></figcaption></figure>

***

## पंजीकरण

आप यहाँ एक वेबहुक पंजीकृत कर सकते हैं <mark style="color:नीला;">**`सेटिंग्स`**</mark> **>** <mark style="color:नीला;">**`इंटीग्रेशन्स और API`**</mark> अपने BoxHero टीम में।

## डिलीवरी और पुनः प्रयास व्यवहार

जब कोई घटना होती है, BoxHero एक HTTP `POST` अनुरोध आपके पंजीकृत वेबहुक एंडपॉइंट पर भेजता है। अनुरोध बॉडी में घटना का वर्णन करने वाला JSON पेलोड होता है।

* यदि आपका सर्वर **HTTP 200 OK**के साथ प्रतिक्रिया देता है, तो घटना को सफलतापूर्वक डिलीवर माना जाता है।
* यदि आपका सर्वर **कोई भी गैर-200 स्थिति कोड**के लिए, BoxHero इसे एक अस्थायी विफलता मानता है और 3 बार तक डिलीवरी पुनः प्रयास करता है।

## वेबहुक पेलोड संरचना

सभी वेबहुक घटनाएँ अनुरोध बॉडी में निम्न JSON संरचना के साथ डिलीवर की जाती हैं:

```json
{
  "id": "1234", // घटना की अद्वितीय ID
  "topic": "txs/new", // घटना विषय
  "version": 1, // पेलोड स्कीमा संस्करण
  "payload": { // घटना-विशिष्ट डेटा
    ...
  },
  "created_time": "2025-08-06T09:20:48.623Z" // घटना घटित होने का टाइमस्टैम्प (ISO 8601)
}
```

***

## घटना क्रम

BoxHero **क्रम** की डिलीवरी के क्रम की गारंटी नहीं देता। उदाहरण के लिए, एक `item/new` घटना एक `item/delete` घटना के बाद उसी आइटम के लिए आ सकती है।

इसमें `created_time` क्षेत्र घटना पेलोड में वास्तविक घटना समय को दर्शाता है। घटनाओं को विश्वसनीय रूप से संभालने के लिए अपने वेबहुक हैंडलर में idempotent और क्रम-सहिष्णु लॉजिक लागू करें।

## घटना विषय

{% hint style="info" %}
यदि आपको अतिरिक्त घटना विषयों के लिए समर्थन चाहिए, तो कृपया संपर्क करें [सपोर्ट](https://www.boxhero.io/docs/documentation/hi/resources/contact).
{% endhint %}

### `txs/new`

जब कोई इन्वेंटरी लेन-देन होता है (स्टॉक इन / स्टॉक आउट / स्टॉक समायोजित करें / स्टॉक स्थानांतरित करें), तब ट्रिगर होता है।

{% hint style="warning" %}
**नोट:** यह घटना *नहीं* बल्क संपादन या आयात के माध्यम से बनाई गई समायोजनों के लिए ट्रिगर होती है (उदाहरण: Excel के माध्यम से आइटम जोड़ते या अपडेट करते समय)।
{% endhint %}

<table><thead><tr><th width="207">क्षेत्र</th><th width="100" data-type="checkbox">आवश्यक</th><th>विवरण</th><th data-hidden data-type="checkbox">필수여부</th><th data-hidden>विवरण</th><th data-hidden>팀모드</th></tr></thead><tbody><tr><td>id</td><td>true</td><td>लेन-देन की अद्वितीय ID</td><td>true</td><td>히스토리의 고유한 ID</td><td>전체</td></tr><tr><td>type</td><td>true</td><td>लेन-देन का प्रकार<br>(in, out, adjust, move)</td><td>true</td><td><p>히스토리의 유형.</p><ul><li>입고 : in</li><li>출고 : out</li><li>조정 : adjust</li><li>이동 : move</li></ul></td><td>전체</td></tr><tr><td>पार्टनर</td><td>false</td><td>Partner</td><td>false</td><td></td><td></td></tr><tr><td>partner.id</td><td>false</td><td>साझेदार की अद्वितीय ID</td><td>false</td><td></td><td></td></tr><tr><td>partner.name</td><td>false</td><td>साझेदार का नाम</td><td>false</td><td></td><td></td></tr><tr><td>partner.deleted</td><td>false</td><td>क्या साझेदार हटाया गया है</td><td>false</td><td></td><td></td></tr><tr><td>from_location</td><td>false</td><td>स्रोत स्थान</td><td>false</td><td></td><td></td></tr><tr><td>from_location.id</td><td>false</td><td>स्रोत स्थान की अद्वितीय ID</td><td>false</td><td></td><td></td></tr><tr><td>from_location.name</td><td>false</td><td>स्रोत स्थान का नाम</td><td>false</td><td></td><td></td></tr><tr><td>from_location.deleted</td><td>false</td><td>क्या स्रोत स्थान हटाया गया है</td><td>false</td><td></td><td></td></tr><tr><td>to_location</td><td>true</td><td>गंतव्य स्थान</td><td>false</td><td></td><td></td></tr><tr><td>to_location.id</td><td>true</td><td>गंतव्य स्थान की अद्वितीय ID</td><td>false</td><td></td><td></td></tr><tr><td>to_location.name</td><td>true</td><td>गंतव्य स्थान का नाम</td><td>false</td><td></td><td></td></tr><tr><td>to_location.deleted</td><td>true</td><td>क्या गंतव्य स्थान हटाया गया है</td><td>false</td><td></td><td></td></tr><tr><td>items</td><td>true</td><td>लेन-देन में लाइन आइटम</td><td>true</td><td>히스토리를 구성하는 제품별 항목</td><td>모든 모드</td></tr><tr><td>items.id</td><td>true</td><td>आइटम की अद्वितीय ID</td><td>true</td><td>제품의 고유 ID</td><td>모든 모드</td></tr><tr><td>items.name</td><td>true</td><td>आइटम का नाम</td><td>true</td><td>제품의 이름</td><td>모든 모드</td></tr><tr><td>items.quantity</td><td>true</td><td>स्टॉक इन/आउट/समायोजित/स्थानांतरित होने के कारण इन्वेंटरी परिवर्तन</td><td>true</td><td>해당 제품의 입고/출고/조정/이동 수량</td><td>모든 모드</td></tr><tr><td>items.deleted</td><td>true</td><td>क्या आइटम हटाया गया है</td><td>true</td><td>삭제된 제품 여부</td><td></td></tr><tr><td>items.from_location_new_stock_level</td><td>false</td><td>लेन-देन के बाद स्रोत स्थान पर स्टॉक स्तर</td><td>false</td><td></td><td></td></tr><tr><td>items.to_location_new_stock_level</td><td>true</td><td>लेन-देन के बाद गंतव्य स्थान पर स्टॉक स्तर</td><td>false</td><td></td><td></td></tr><tr><td>transaction_time</td><td>true</td><td>लेन-देन का समय (जैसे स्टॉक इन/आउट समय)</td><td>false</td><td></td><td></td></tr><tr><td>created_at</td><td>true</td><td>वह समय जब लेन-देन बनाया गया था</td><td>false</td><td></td><td></td></tr><tr><td>created_by</td><td>true</td><td>वह सदस्य जिसने लेन-देन बनाया</td><td>false</td><td></td><td></td></tr><tr><td>created_by.id</td><td>true</td><td>सदस्य की अद्वितीय ID</td><td>false</td><td></td><td></td></tr><tr><td>created_by.name</td><td>true</td><td>सदस्य का नाम</td><td>false</td><td></td><td></td></tr><tr><td>created_by.deleted</td><td>true</td><td>क्या सदस्य हटाया गया है</td><td>false</td><td></td><td></td></tr><tr><td>count_of_items</td><td>true</td><td>आइटमों की संख्या</td><td>false</td><td></td><td></td></tr><tr><td>total_quantity</td><td>true</td><td>इन्वेंटरी परिवर्तन की कुल मात्रा</td><td>false</td><td></td><td></td></tr><tr><td>url</td><td>true</td><td>लेन-देन विवरण पृष्ठ देखने के लिए URL पता</td><td>false</td><td></td><td></td></tr><tr><td>memo</td><td>false</td><td>लेन-देन से संबंधित नोट्स</td><td>false</td><td></td><td></td></tr></tbody></table>

#### उदाहरण वेबहुक पेलोड – `स्टॉक इन` घटना

```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"
}
```

#### उदाहरण वेबहुक पेलोड – `स्टॉक स्थानांतरित करें` घटना

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

जब कोई मौजूदा इन्वेंटरी लेन-देन (स्टॉक इन / स्टॉक आउट / स्टॉक समायोजित करें / स्टॉक स्थानांतरित करें) **संपादित किया जाता है**.

<table><thead><tr><th>क्षेत्र</th><th width="100" data-type="checkbox">आवश्यक</th><th>विवरण</th><th data-hidden data-type="checkbox">필수여부</th><th data-hidden>विवरण</th><th data-hidden>팀모드</th></tr></thead><tbody><tr><td>id</td><td>true</td><td>लेन-देन की अद्वितीय ID</td><td>true</td><td>히스토리의 고유한 ID</td><td>전체</td></tr><tr><td>type</td><td>true</td><td>लेन-देन का प्रकार<br>(in, out, adjust, move)</td><td>true</td><td><p>히스토리의 유형.</p><ul><li>입고 : in</li><li>출고 : out</li><li>조정 : adjust</li><li>이동 : move</li></ul></td><td>전체</td></tr><tr><td>पार्टनर</td><td>false</td><td>Partner</td><td>false</td><td></td><td></td></tr><tr><td>partner.id</td><td>false</td><td>साझेदार की अद्वितीय ID</td><td>false</td><td></td><td></td></tr><tr><td>partner.name</td><td>false</td><td>साझेदार का नाम</td><td>false</td><td></td><td></td></tr><tr><td>partner.deleted</td><td>false</td><td>क्या साझेदार हटाया गया है</td><td>false</td><td></td><td></td></tr><tr><td>from_location</td><td>false</td><td>स्रोत स्थान</td><td>false</td><td></td><td></td></tr><tr><td>from_location.id</td><td>false</td><td>स्रोत स्थान की अद्वितीय ID</td><td>false</td><td></td><td></td></tr><tr><td>from_location.name</td><td>false</td><td>स्रोत स्थान का नाम</td><td>false</td><td></td><td></td></tr><tr><td>from_location.deleted</td><td>false</td><td>क्या स्रोत स्थान हटाया गया है</td><td>false</td><td></td><td></td></tr><tr><td>to_location</td><td>true</td><td>गंतव्य स्थान</td><td>false</td><td></td><td></td></tr><tr><td>to_location.id</td><td>true</td><td>गंतव्य स्थान की अद्वितीय ID</td><td>false</td><td></td><td></td></tr><tr><td>to_location.name</td><td>true</td><td>गंतव्य स्थान का नाम</td><td>false</td><td></td><td></td></tr><tr><td>to_location.deleted</td><td>true</td><td>क्या गंतव्य स्थान हटाया गया है</td><td>false</td><td></td><td></td></tr><tr><td>items</td><td>true</td><td>लेन-देन में लाइन आइटम</td><td>true</td><td>히스토리를 구성하는 제품별 항목</td><td>모든 모드</td></tr><tr><td>items.id</td><td>true</td><td>आइटम की अद्वितीय ID</td><td>true</td><td>제품의 고유 ID</td><td>모든 모드</td></tr><tr><td>items.name</td><td>true</td><td>आइटम का नाम</td><td>true</td><td>제품의 이름</td><td>모든 모드</td></tr><tr><td>items.quantity</td><td>true</td><td>लेन-देन के कारण मात्रा परिवर्तन (in/out/adjust/move)</td><td>true</td><td>해당 제품의 입고/출고/조정/이동 수량</td><td>모든 모드</td></tr><tr><td>items.deleted</td><td>true</td><td>क्या आइटम हटाया गया है</td><td>true</td><td>삭제된 제품 여부</td><td></td></tr><tr><td>items.from_location_new_stock_level</td><td>false</td><td>लेन-देन के बाद स्रोत स्थान पर स्टॉक स्तर</td><td>false</td><td></td><td></td></tr><tr><td>items.to_location_new_stock_level</td><td>true</td><td>लेन-देन के बाद गंतव्य स्थान पर स्टॉक स्तर</td><td>false</td><td></td><td></td></tr><tr><td>transaction_time</td><td>true</td><td>लेन-देन का समय (जैसे स्टॉक इन/आउट समय)</td><td>false</td><td></td><td></td></tr><tr><td>created_at</td><td>true</td><td>वह समय जब लेन-देन बनाया गया था</td><td>false</td><td></td><td></td></tr><tr><td>created_by</td><td>true</td><td>वह सदस्य जिसने लेन-देन बनाया</td><td>false</td><td></td><td></td></tr><tr><td>created_by.id</td><td>true</td><td>सदस्य की अद्वितीय ID</td><td>false</td><td></td><td></td></tr><tr><td>created_by.name</td><td>true</td><td>सदस्य का नाम</td><td>false</td><td></td><td></td></tr><tr><td>created_by.deleted</td><td>true</td><td>क्या सदस्य हटाया गया है</td><td>false</td><td></td><td></td></tr><tr><td>count_of_items</td><td>true</td><td>आइटमों की संख्या</td><td>false</td><td></td><td></td></tr><tr><td>total_quantity</td><td>true</td><td>इन्वेंटरी परिवर्तन की कुल मात्रा</td><td>false</td><td></td><td></td></tr><tr><td>url</td><td>true</td><td>लेन-देन विवरण पृष्ठ देखने के लिए URL पता</td><td>false</td><td></td><td></td></tr><tr><td>memo</td><td>false</td><td>लेन-देन से संबंधित नोट्स</td><td>false</td><td></td><td></td></tr><tr><td>संशोधन</td><td>true</td><td>लेन-देन का वर्तमान संस्करण नंबर, 1 से शुरू</td><td>false</td><td></td><td></td></tr></tbody></table>

#### उदाहरण वेबहुक पेलोड – संपादित `स्टॉक इन` लेनदेन

```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"
}

```

#### उदाहरण वेबहुक पेलोड – संपादित `स्टॉक स्थानांतरित करें` लेनदेन

```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": "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                     |
| संशोधन  | लेन-देन का वर्तमान संस्करण नंबर, 1 से शुरू |

#### उदाहरण वेबहुक पेलोड – हटाया गया लेन-देन

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

### `item/new`

जब टीम की इन्वेंटरी में एक नया आइटम जोड़ा जाता है, तब भेजा जाता है।

{% hint style="warning" %}
**नोट**: यह घटना *नहीं* ट्रिगर होती है जब <mark style="color:नीला;">**`Add Item Variants`**</mark> सुविधा का उपयोग किया जाता है या आइटम्स को <mark style="color:नीला;">**`Import Excel`**</mark>.
{% endhint %}

<table><thead><tr><th width="318">क्षेत्र</th><th>विवरण</th><th data-hidden data-type="checkbox">필수여부</th><th data-hidden>विवरण</th><th data-hidden>팀모드</th></tr></thead><tbody><tr><td>id</td><td>आइटम ID</td><td>true</td><td>히스토리의 고유한 ID</td><td>전체</td></tr><tr><td>नाम</td><td>आइटम का नाम</td><td>true</td><td><p>히스토리의 유형.</p><ul><li>입고 : in</li><li>출고 : out</li><li>조정 : adjust</li><li>이동 : move</li></ul></td><td>전체</td></tr><tr><td>sku</td><td>SKU</td><td>false</td><td></td><td></td></tr><tr><td>बारकोड</td><td>बारकोड</td><td>false</td><td></td><td></td></tr><tr><td>photo_url</td><td>फोटो URL</td><td>false</td><td></td><td></td></tr><tr><td>लागत</td><td>लागत</td><td>false</td><td></td><td></td></tr><tr><td>मूल्य</td><td>मूल्य</td><td>false</td><td></td><td></td></tr><tr><td>attrs</td><td>विशेषताएँ</td><td>false</td><td></td><td></td></tr></tbody></table>

#### **उदाहरण पेलोड – आइटम बनाया गया**

```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`

जब कोई मौजूदा आइटम संपादित किया जाता है, तब भेजा जाता है।

{% hint style="warning" %}
**नोट**: यह घटना *नहीं* ट्रिगर होती है *f*के माध्यम से किए गए बल्क संपादनों <mark style="color:नीला;">**`डेटा सेंटर`**</mark>**&#x20;>&#x20;**<mark style="color:नीला;">**`Item`**</mark> या <mark style="color:नीला;">**`Import Excel`**</mark> फ़ंक्शन के माध्यम से।
{% endhint %}

<table><thead><tr><th width="318">क्षेत्र</th><th>विवरण</th><th data-hidden data-type="checkbox">필수여부</th><th data-hidden>विवरण</th><th data-hidden>팀모드</th></tr></thead><tbody><tr><td>id</td><td>आइटम ID</td><td>true</td><td>히스토리의 고유한 ID</td><td>전체</td></tr><tr><td>नाम</td><td>आइटम का नाम</td><td>true</td><td><p>히스토리의 유형.</p><ul><li>입고 : in</li><li>출고 : out</li><li>조정 : adjust</li><li>이동 : move</li></ul></td><td>전체</td></tr><tr><td>sku</td><td>SKU</td><td>false</td><td></td><td></td></tr><tr><td>बारकोड</td><td>बारकोड</td><td>false</td><td></td><td></td></tr><tr><td>photo_url</td><td>फोटो URL</td><td>false</td><td></td><td></td></tr><tr><td>लागत</td><td>लागत</td><td>false</td><td></td><td></td></tr><tr><td>मूल्य</td><td>मूल्य</td><td>false</td><td></td><td></td></tr><tr><td>attrs</td><td>विशेषताएँ</td><td>false</td><td></td><td></td></tr></tbody></table>

#### **उदाहरण पेलोड – आइटम अपडेट किया गया**

```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`

जब किसी आइटम को टीम की इन्वेंटरी से हटाया जाता है, तब भेजा जाता है।

{% hint style="warning" %}
**नोट**: यह घटना *नहीं* ट्रिगर होती है <mark style="color:नीला;">**`डेटा सेंटर`**</mark>**&#x20;>&#x20;**<mark style="color:नीला;">**`Item`**</mark>.
{% endhint %}

<table><thead><tr><th width="318">क्षेत्र</th><th>विवरण</th><th data-hidden data-type="checkbox">필수여부</th><th data-hidden>विवरण</th><th data-hidden>팀모드</th></tr></thead><tbody><tr><td>id</td><td>आइटम ID</td><td>true</td><td>히스토리의 고유한 ID</td><td>전체</td></tr></tbody></table>

#### उदाहरण पेलोड **– आइटम हटाया गया**

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