chore: remove legacy specification documents and internal rules file

This commit is contained in:
2026-07-27 18:28:46 +07:00
parent 4534e4ecb8
commit 911d5be3b2
151 changed files with 26567 additions and 7922 deletions

View File

@@ -0,0 +1,84 @@
---
card_id: "marketing/marketing_campaign"
title: "Yêu cầu Tiếp thị (OneMarketing Request - OMR)"
domain: "marketing"
related_cards:
- "marketing/marketing_message"
- "marketing/frequency_capping"
- "campaign/campaign_rule"
- "campaign/transaction_codes"
tags: ["marketing", "campaign", "OMR", "notification", "schedule", "trigger"]
detail_refs:
- "marketing/omr_execution_flow"
---
# Yêu cầu Tiếp thị (OneMarketing Request - OMR)
## Mô tả ngắn
OneMarketing Request (OMR) là chức năng lọc và chọn danh sách khách hàng mục tiêu thỏa mãn các điều kiện tiếp thị. OMR cho phép gửi thông báo (Notification) tự động hoặc kích hoạt quy tắc chiến dịch thưởng (Trigger Campaign Rule) dựa trên lịch trình cài đặt sẵn hoặc khi có sự kiện hệ thống phát sinh.
## Thuật ngữ liên quan
- **OMR (OneMarketing Request)**: Yêu cầu tiếp thị, chứa điều kiện lọc khách hàng và hành động thực thi.
- **Notification**: Chức năng gửi tin nhắn/thông báo đến khách hàng.
- **Trigger Campaign Rule (TCR)**: Chức năng tự động kích hoạt Rule thưởng (cộng/trừ/đổi điểm) cho khách hàng.
- **Run Schedule**: Lịch trình tự động chạy OMR (một lần, hàng ngày, hàng tuần, hàng tháng, hàng năm).
## Cấu trúc dữ liệu (Data Schema)
### Thông tin chung (General Information)
| Field Name | Description | Constraints / Rules |
|---|---|---|
| Request ID | Mã định danh duy nhất của OMR | Không chứa ký tự đặc biệt. |
| Description | Mô tả chi tiết OMR | Bắt buộc. |
| Effective Date From/To | Khoảng thời gian OMR có hiệu lực | Bắt buộc. |
| Marketing Function | Hành động: Notification (gửi tin) hoặc Trigger Campaign Rule (chạy Rule thưởng) | Bắt buộc chọn 1. |
### Cài đặt Lịch & Nội dung (Run Schedule & Message Content)
| Field Name | Description | Constraints / Rules |
|---|---|---|
| Trigger method | Phương thức kích hoạt: Schedule (theo lịch) hoặc Event trigger (theo sự kiện) | Bắt buộc. |
| Run Schedule | Lịch chạy: One time, Daily, Weekly, Monthly, Annually | Cần thiết nếu chọn Schedule. |
| Business Event | Sự kiện kích hoạt OMR (VD: đăng nhập, xem số dư) | Cần thiết nếu chọn Event trigger. |
| Message template | Mẫu tin nhắn gửi cho khách hàng | Bắt buộc nếu Marketing Function = Notification. |
| OLS Transaction Code | Mã giao dịch kích hoạt hệ thống thưởng | Bắt buộc nếu Marketing Function = Trigger Campaign Rule. |
### Điều kiện mục tiêu (Targeting)
| Field Name | Description | Constraints / Rules |
|---|---|---|
| Targeting Method | Phương pháp chọn mục tiêu: OMR Criteria (cấu hình điều kiện) hoặc Upload file | Bắt buộc. |
| OMR Criteria | Các điều kiện (AND/OR) để lọc khách hàng, hỗ trợ loại trừ (NOT) | Áp dụng khi chọn OMR Criteria. |
| Upload file | File danh sách khách hàng mục tiêu có sẵn | Áp dụng khi chọn Upload file. |
## Cách hoạt động (How It Works)
- **Kích hoạt theo lịch (Schedule)**: Hệ thống chạy OMR Batch Job định kỳ. Job này tìm các OMR đang trong thời gian hiệu lực và có lịch chạy trùng với ngày/giờ hiện tại.
- **Kích hoạt theo sự kiện (Event trigger)**: Khi một sự kiện nghiệp vụ xảy ra (VD: qua API hoặc Frontend event), hệ thống gọi Backend kiểm tra xem có OMR nào gắn với sự kiện này không để kích hoạt lập tức.
- **Xử lý Hành động (Marketing Function)**:
- Nếu chức năng là **Notification**: OMR lấy danh sách khách hàng từ phần *Targeting* và gửi *Message template* đến họ. Quá trình gửi sẽ dừng lại nếu chạm ngưỡng giới hạn cấu hình trong Frequency Capping.
- Nếu chức năng là **Trigger Campaign Rule**: OMR gọi hệ thống Rule, tạo một giao dịch giả lập với *OLS Transaction Code* đã chọn để kích hoạt tính toán thưởng (cộng/trừ điểm/cashback) cho tập khách hàng mục tiêu.
## Mối quan hệ với modules khác
- **Marketing Message**: OMR sử dụng Message để làm mẫu nội dung gửi cho khách hàng khi chức năng là Notification.
- **Frequency Capping**: Cấu hình giới hạn tần suất gửi tin, giúp OMR biết khi nào phải dừng gửi thông báo để tránh spam khách hàng.
- **Campaign Rule**: Nếu chức năng là Trigger Campaign Rule, OMR sẽ đóng vai trò như một nguồn phát sinh giao dịch để kích hoạt các Rule tính thưởng.
- **Transaction Codes**: OMR cần truyền một Transaction Code cụ thể để hệ thống Loyalty nhận diện và đánh giá đúng Campaign Rule tương ứng.
## Ví dụ thực tế
**1. Gửi SMS chúc mừng sinh nhật:**
- **General**: Function = Notification.
- **Schedule**: Trigger = Schedule, Daily vào lúc 8:00 sáng.
- **Message**: Template "Chúc mừng sinh nhật khách hàng".
- **Targeting**: OMR Criteria chọn điều kiện "Khách hàng có sinh nhật trong hôm nay".
**2. Tặng 100 điểm thưởng nhân dịp Tết:**
- **General**: Function = Trigger Campaign Rule.
- **Schedule**: Trigger = Schedule, One time vào ngày mùng 1 Tết.
- **TC**: OLS Transaction Code = "TET_BONUS".
- **Targeting**: Upload file danh sách 10.000 khách hàng thân thiết. Khi chạy, hệ thống sẽ trigger TC "TET_BONUS" cho 10.000 khách hàng này để cộng điểm (theo Rule đã cấu hình bên Loyalty).