Skip to content

Facebook Dataset And Broadcast — Business Rules

Tổng quan

Domain này quản lý marketing dataset kết nối với Facebook/Messenger:

  • cấu hình dataset/page/token
  • history event gửi
  • broadcast audience
  • detail recipient của từng đợt broadcast
  • public/info surface theo order

Đây không phải CMS content thuần, mà là operational marketing integration.

Scope nghiệp vụ

NhómVai tròSurface chính
Dataset configCấu hình page, dataset, token, typeFacebookDataset, FacebookDatasetCreate
HistoryTheo dõi event/history đã gửiFacebookDatasetHistoryTable
BroadcastTạo/gửi/dừng broadcastFacebookDatasetBroadcastTable, popup send/detail
Public infoXem item info ngoài shell CMSFacebookDatasetInfo

Luồng chính

text
Ops cấu hình dataset FB
  -> chọn page / dataset / token
  -> pull customer/order context
  -> tạo hoặc chạy broadcast
  -> backend gửi dataset event / message
  -> history ghi lại success/fail/fbtrace/content
  -> ops xem recipient-level detail hoặc dừng broadcast

Quy tắc nghiệp vụ

Quy tắc
BR-CFB-001Dataset domain có 3 lớp rõ: config (dataset_fb_config), history (dataset_fb_history) và broadcast (dataset_fb_broadcast).
BR-CFB-002Dataset flow không chỉ log message marketing; nó còn gắn order/customer context để phục vụ confirm-order/broadcast workflows.
BR-CFB-003Một số action dataset được mở cho cả anonymous/customer ngoài user, cho thấy domain này có public-facing entrypoint chứ không chỉ admin ops.
BR-CFB-004FacebookDatasetInfo là surface public tách khỏi /cms/*; đây là điểm chia boundary giữa admin marketing shell và landing/info runtime.

Boundary

BoundaryGhi chú
ecommerceDataset actions như datasetOrderConfirm, datasetConfirmOrderNotification, datasetStopBroadcast chạy ở ecommerce-api
restful-api / external FBDelivery cuối cùng đi qua integration vendor ngoài Hasura CRUD
crm/userHistory và broadcast luôn chạm customer/user identity

Rủi ro / Findings

MứcFinding
P1FacebookDatasetInfo không lấy route.params.id mà parse thủ công từ route.path, làm path parsing kém robust hơn mức cần thiết.
P1Dataset surface nằm trong CMS nav nhưng execution model thật lại nghiêng nhiều về integration/action flow của ecommerce hơn là CRUD content.
P2Có cả surface public (isPublic) lẫn admin route cùng family, nên nếu không đọc route config rất dễ bỏ sót nhánh runtime public.