ข้ามไปยังเนื้อหา

ภาพรวม

Webhook เป็นฟีเจอร์ที่ช่วยให้คุณได้รับการแจ้งเตือนแบบเรียลไทม์ เมื่อเกิดเหตุการณ์บางอย่างใน BoxHero


คุณสามารถลงทะเบียน Webhook ได้ที่ การตั้งค่า > การเชื่อมต่อ ในทีม BoxHero ของคุณ

เมื่อเกิดเหตุการณ์ BoxHero จะส่งคำขอ HTTP POST ไปยังปลายทาง (endpoint) ของ Webhook ที่คุณลงทะเบียนไว้ โดยเนื้อหาคำขอ (request body) จะมี JSON payload ที่อธิบายเหตุการณ์นั้น

  • หากเซิร์ฟเวอร์ของคุณตอบกลับด้วยรหัสสถานะ 2xx ใด ๆ (เช่น 200, 201, 204) จะถือว่าการส่งสำเร็จ
  • การตอบกลับที่ไม่ใช่ 2xx ทั้งหมดจะถือว่าล้มเหลว และระบบจะส่งซ้ำ

เหตุการณ์ Webhook ทั้งหมดจะถูกส่งโดยมีโครงสร้าง 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 ของสินค้าเดียวกัน

ฟิลด์ created_time ใน payload ของเหตุการณ์คือเวลาที่เกิดเหตุการณ์จริง ควรออกแบบตัวจัดการ Webhook ให้มีตรรกะแบบ idempotent และรองรับเหตุการณ์ที่มาไม่เรียงลำดับ เพื่อให้จัดการเหตุการณ์ได้อย่างน่าเชื่อถือ

เหตุการณ์ของธุรกรรมที่ถูกแก้ไขและลบ (txs/edit, txs/delete) จะมี revision มาด้วย เพื่อให้คุณทราบว่าเหตุการณ์นั้นอธิบายธุรกรรมเวอร์ชันใด

ทำงานเมื่อเกิดธุรกรรมสต็อก (การรับเข้า / การนำออก / การปรับสต็อก / การย้ายสต็อก)

ฟิลด์จำเป็นคำอธิบาย
id✓ID เฉพาะของธุรกรรม
type✓ประเภทธุรกรรม
(in, out, adjust, move)
partnerคู่ค้า
partner.idID เฉพาะของคู่ค้า
partner.nameชื่อคู่ค้า
partner.deletedคู่ค้าถูกลบแล้วหรือไม่
from_locationตำแหน่งจัดเก็บต้นทาง
from_location.idID เฉพาะของตำแหน่งจัดเก็บต้นทาง
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หมายเหตุที่เกี่ยวข้องกับธุรกรรม
{
"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"
}
{
"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"
}

ส่งเมื่อธุรกรรมสต็อกที่มีอยู่ (การรับเข้า / การนำออก / การย้ายสต็อก / การปรับสต็อก) ถูกแก้ไข

ฟิลด์จำเป็นคำอธิบาย
id✓ID เฉพาะของธุรกรรม
type✓ประเภทธุรกรรม
(in, out, adjust, move)
partnerคู่ค้า
partner.idID เฉพาะของคู่ค้า
partner.nameชื่อคู่ค้า
partner.deletedคู่ค้าถูกลบแล้วหรือไม่
from_locationตำแหน่งจัดเก็บต้นทาง
from_location.idID เฉพาะของตำแหน่งจัดเก็บต้นทาง
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✓จำนวนที่เปลี่ยนแปลงจากธุรกรรม (in/out/adjust/move)
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 – ธุรกรรมการรับเข้าที่ถูกแก้ไข

หัวข้อที่มีชื่อว่า “ตัวอย่าง Webhook Payload – ธุรกรรมการรับเข้าที่ถูกแก้ไข”
{
"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 – ธุรกรรมการย้ายสต็อกที่ถูกแก้ไข

หัวข้อที่มีชื่อว่า “ตัวอย่าง Webhook Payload – ธุรกรรมการย้ายสต็อกที่ถูกแก้ไข”
{
"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"
}

ส่งเมื่อธุรกรรมสต็อกถูกลบ

ฟิลด์คำอธิบาย
idID เฉพาะของธุรกรรม
revisionหมายเลขเวอร์ชันปัจจุบันของธุรกรรม โดยเริ่มจาก 1
{
"id": 27036740,
"revision": 2
}

ส่งเมื่อมีการเพิ่มสินค้าใหม่ลงในสต็อกของทีม

ฟิลด์คำอธิบาย
idID สินค้า
nameชื่อสินค้า
skuSKU
barcodeบาร์โค้ด
photo_urlURL รูปภาพ
costราคาซื้อ
priceราคาขาย
attrsคุณสมบัติ
{
"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
}
]
}

ส่งเมื่อสินค้าที่มีอยู่ถูกแก้ไข

ฟิลด์คำอธิบาย
idID สินค้า
nameชื่อสินค้า
skuSKU
barcodeบาร์โค้ด
photo_urlURL รูปภาพ
costราคาซื้อ
priceราคาขาย
attrsคุณสมบัติ
{
"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
}
]
}

ส่งเมื่อสินค้าถูกลบออกจากสต็อกของทีม

ฟิลด์คำอธิบาย
idID สินค้า
{
"id": 26122826
}