📘 TÀI LIỆU TÍCH HỢP WEBHOOK GETFLY CRM
I. Webhook là gì?
Webhook là phương thức Getfly CRM tự động đẩy dữ liệu realtime sang server của bạn khi có sự kiện phát sinh (tạo khách hàng, sửa đơn hàng, c ập nhật task,....
Ứng dụng:
- Đồng bộ dữ liệu CRM → ERP / Website / App
- Tự động hóa quy trình, cảnh báo, workflow
- Không cần lập lịch cron để đọc API
II. Cách thức gửi webhook
| Thuộc tính | Giá trị |
|---|---|
| Phương thức | POST |
| Content-Type mặc định | application/x-www-form-urlencoded |
| URL nhận | Server của đối tác cung cấp |
Webhook gửi kèm secret_key để bảo mật.
III. Cấu trúc request Webhook
event=task.updated&
secret_key=YOUR_SECRET_KEY&
data[task_code]=TASK-2025-001&
data[task_status]=2&
domain=https://crm.com
IV. Danh sách sự kiện hỗ trợ
| Nhóm | Event |
|---|---|
| Customer | customer.created, customer.updated, customer.deleted, customer.hard_deleted |
| Order | order.created, order.approved |
| Product | product.created, product.updated |
| Phiếu kho | store_sheet_out.created, store_sheet_in.created, store_sheet_transfer.created |
| Campaign | campaign.created, campaign.updated |
| Opportunity | opportunity.created, opportunity.updated |
| Task | task.created, task.updated |
V. Hướng dẫn verify request Webhook
if ($request['secret_key'] !== env('GETFLY_WEBHOOK_KEY')) {
http_response_code(401);
exit('Invalid signature');
}
Khuyến nghị tăng security:
- Kiểm tra
secret_key✔ - HMAC SHA256 chữ ký request 🔥
VI. Ví dụ xử lý webhook Laravel nhanh
Route::post('/webhook/getfly', function (Request $req) {
if ($req->secret_key !== env('GETFLY_KEY')) return response('Forbidden',401);
$event = $req->event;
$data = $req->data;
match ($event) {
'customer.created' => CustomerService::syncCreate($data),
'task.updated' => TaskService::syncUpdate($data),
default => Log::warning('Event chưa xử lý: '.$event)
};
return response('OK');
});