Webhook

Trong bài viết trước Teamcrop giới thiệu và hướng dẫn, hỗ trợ kết nối đến các dữ liệu của công ty bạn thông qua Web Service. Ở bài viết này Teamcrop hướng dẫn bạn cài đặt cấu hình Webhook để lấy và lưu trữ dữ liệu từ một sự kiện nhất định từ Teamcrop như về đơn hàng, tồn kho, khách hàng, sổ quỹ,... Event Hook - Nó cho phép bạn đăng ký một http: // hoặc https: // URL nơi dữ liệu sự kiện có thể được lưu trữ dưới định dạng JSON hoặc XML. Webhook có thể được đăng ký cho các sự kiện sau:

Để thêm mới một sự kiện hook bạn phải được phân quyền là company.setting mới có thể cài đặt hook lấy dữ liệu từ Teamcrop.

Để thực hiện hook bạn làm như sau:

Từ thanh menu Bán hàng -----> Cài đặt bán hàng -----> Webhook

Hệ thống sẽ mở như màn hình dưới đây:

Nhấn Thêm mới để thêm một sự kiện hook cần lấy dữ liệu:

Ở màn hình thêm mới bạn sẽ chọn nhóm sự kiện  và sự kiện cần Hook. Chẳng hạn ở đây mình chọn nhóm sự kiện là đơn hàng và sự kiện là Thêm mới một đơn hàng.

Chọn sự kiện:

Nhấn Thêm mới để lưu lại thông tin hook vừa cài đặt.

Mở rộng

Các request từ Teamcrop sẽ có thêm HTTP Header có tên là Tc-Webhook-Event chứa tên của event. Bên cạnh đó, bạn cũng có thêm các HTTP Header cho riêng request của bạn trong form thêm hoặc chỉnh sửa một Hook.

Lưu ý

Teamcrop Webhook có triển khai mô hình QoS, nên nếu một request webhook không nhận được response HTTP Status code là 200 thì được hiểu là request đã thất bại, và hệ thống Teamcrop sẽ tiếp tục gửi, và thời gian giữa mỗi lần thử lại sau sẽ gấp đôi lần trước đó, ví dụ 1 phút, 2 phút, 4 phút, 8 phút.... Nếu server Teamcrop tiếp tục nhận được responsve bị lỗi thì sẽ ngưng không gửi nữa sau 12 lần gửi.

Dưới đây là dữ liệu lấy được từ sự kiện hook tạo mới một đơn hàng từ Teamcrop.

Dưới đây là JSON cho sự kiện hook thêm mới đơn hàng ở trên:

{
"company_id": 1260,
"creator_id": 14169,
"customer_id": 1117715,
"customer_point": 0,
"store_id": 1128,
"id": 2729898,
"local_pos_identifier": 1498187886,
"order_code": "",
"invoice_id": "SPIRAL-170623-1017-DC92",
"invoiceid_simple": "SPIRAL1706231017DC92",
"week_day": 5,
"day_hour": 10,
"device": 0,
"device_os": 0,
"device_os_version": "-",
"source": "",
"source_updated_time": "0",
"source_id": "",
"work_show_group_id": 0,
"work_show_id": 0,
"price_cost": 0,
"price_sell": 1018000,
"price_shipping": 20000,
"price_handling": 0,
"price_tax": 0,
"tax_ratio": 0,
"price_discount": 101800,
"price_final": 936200,
"price_deposit": 0,
"price_debt": 936200,
"promotion_id": 0,
"promotion_detail": {

"promotion_price": "",
"promotion_id": 0,
"promotion_name": "",
"promotion_type_parent": 0,
"promotion_type_children": 0,
"has_gift": "",
"gift_name": "",
"gift_date_created": 0,
"gift_date_modified": 0,
"coupon_id": 0,
"coupon_code": ""
},

"promotion_voucher": 0,
"promotion_gift_card": 0,

"contact_email": "nguyenthuylinh@gmail.com",

"billing_gender": 0,
"billing_full_name": "Nguyễn Thúy Linh",
"billing_phone": "0938474843",
"billing_address": "23/44 Nguyễn KIm, P3",
"billing_company": "",
"billing_sub_sub_region_id": 0,
"billing_sub_region_id": 802,
"billing_region_id": 3,
"billing_country": "",
"billing_zipcode": 0,
"shipping_full_name": "Nguyễn Thúy Linh",
"shipping_phone": "0938474843",
"shipping_address": "23/44 Nguyễn KIm, P3",
"shipping_company": "",
"shipping_country": "",
"shipping_zipcode": 0,
"shipping_sub_sub_region_id": 0,
"shipping_sub_region_id": 802,
"shipping_region_id": 3,
"shipping_lat": "0",
"shipping_lng": "0",
"shipping_service": 188,
"shipping_tracking_code": "",
"related_order_id": 0,
"product_receipt": "",
"cashflow_id": "",
"quantity": 2,
"delivery_status": 0,
"note": "",
"payment_status": 0,
"payment_method": 41,
"cod_amount": 0,
"random_code": "a4ec2a1d15a60ddf1e7500e1b2397a1f",
"is_delete": 0,
"is_deletedby": 0,
"order_type": 0,
"completed": 0,
"status": 13,
"cancel_reason": 0,
"is_return": 0,
"has_return": 0,
"custom_status": 0,
"tag": "",
"origin": 0,
"origin_id": "",
"notify_list": "Array",
"notify_hide_list": "Array",
"employee_id": 14169,
"employee_point": 0,
"ip_address": "0.0.0.0",
"date_arrived": 0,
"date_created": 1498187860,
"date_modified": 1498187890,
"date_completed": 0,
"date_eta": 0,
"duration": 0,
"weight": 0,
"public_link": "5od.me/bsaCC92",
"warehouse_id": "116",
"error": []
}

Teamcrop sẽ có một số sự kiện Hook theo nhóm tính năng như dưới đây:

Nhóm sự kiện Sự kiện Mô tả
Đơn hàng

order.add Thêm mới đơn hàng
order.edit Cập nhật đơn hàng
order.additem Thêm sản phẩm vào đơn hàng
order.edititem Cập nhật sản phẩm trong đơn hàng
order.deleteitem Xóa sản phẩm trong đơn hàng
promotion.add Tạo mới chương trình khuyến mãi
promotion.edit Cập nhật chương trình khuyến mãi 
Tồn kho productreceipt.add Tạo phiếu nhập/xuất kho
productreceipt.edit Cập nhật phiếu nhập/xuất kho
Sổ quỹ cashflow.add Thêm phiếu thu/chi
cashflow.edit Cập nhật phiếu nhập/xuất kho
Khách hàng customer.add Tạo khách hàng
customer.edit Cập nhật khách hàng
supportticket.add Có ticket hỗ trợ mới
Sản phẩm product.add Tạo mới sản phẩm
product.edit Cập nhật sản phẩm
product.delete Xóa sản phẩm
product.addsku Thêm mới SKU vào sản phẩm
product.editsku Sửa thông tin SKU của sản phẩm
product.deletesku Xóa SKU của sản phẩm

Các bài viết liên quan (1)