Files
loyalty-agent-service/docs/knowledge-cards/customer/no_hit_transaction.md

75 lines
5.0 KiB
Markdown

---
card_id: "customer/no_hit_transaction"
title: "Giao dịch không hợp lệ (No-Hit Transaction)"
domain: "customer"
related_cards:
- "customer/account"
- "customer/card"
- "campaign/campaign_rule"
- "campaign/pool_definition"
tags: ["transaction", "no-hit", "orphan", "error", "troubleshooting"]
---
# Giao dịch không hợp lệ (No-Hit Transaction)
## Mô tả ngắn
No-Hit Transaction là bản ghi lưu vết các giao dịch đầu vào được gửi đến OLS nhằm kích hoạt Campaign Rule nhưng **không được ghi nhận thưởng** (do không thỏa mãn điều kiện hoặc không có rule nào phù hợp). Entity này được sử dụng chủ yếu để tra cứu (troubleshoot) nguyên nhân từ chối trả thưởng cho khách hàng.
> [!NOTE]
> Theo đặc tả, nếu tính năng "Rule Evaluation" được triển khai hoàn chỉnh, hệ thống tracking này có thể trở nên dư thừa.
## Thuật ngữ liên quan
- **CIF Number**: Mã định danh khách hàng cốt lõi.
- **CP Rule**: Campaign Rule, quy tắc chiến dịch định nghĩa điều kiện trả thưởng.
- **OLS_ORPHAN_TXN_NO_HIT**: Bảng dữ liệu vật lý lưu trữ các giao dịch không hợp lệ trên OLS.
- **DCC Indicator**: Chỉ báo giao dịch chuyển đổi tiền tệ động (Dynamic Currency Conversion).
## Cấu trúc dữ liệu (Data Schema)
Bản ghi No-Hit được trích xuất từ incoming transaction và chi tiết lỗi:
### 1. Thông tin tài khoản (Account Information)
- **CIF Number**: Mã khách hàng thực hiện giao dịch (lookup qua Account/Card nếu incoming không có).
- **Product Account No / Type**: Số và loại tài khoản sản phẩm (lookup qua Card nếu cần).
- **Card Number**: Số thẻ (từ incoming transaction).
### 2. Chi tiết giao dịch (Transaction Detail)
- **Invoice No**: Số hóa đơn duy nhất do OLS sinh ra cho incoming transaction.
- **Transaction Type**: Loại giao dịch của rule (AWD - Award, RED - Redeem, ADJ - Adjust).
- **OLS Transaction Code**: Mã giao dịch dùng để map với CP Rule.
- **Transaction Amount**: Giá trị gộp (Award/Redeem) hoặc điểm điều chỉnh (Adjust).
- **Corporate / Chain / Store / Terminal**: Thông tin điểm chấp nhận giao dịch, tra cứu từ transaction store.
- **Transaction MCC**: Mã danh mục đơn vị chấp nhận thẻ.
- **Date / Currency / Description**: Ngày, loại tiền tệ và mô tả giao dịch.
- **Transaction Mode / POS Entry Mode**: Phương thức giao dịch và nhập liệu.
- **DCC / Tap2Pay / Token Requestor ID**: Các chỉ báo phụ trợ từ incoming transaction.
- **Salary Credit**: Chỉ báo tài khoản nhận lương định kỳ.
### 3. Danh sách lỗi Campaign Rule (CP Rule Listing)
- **Campaign ID / Campaign Rule**: Chiến dịch và mã Rule mà giao dịch kích hoạt nhưng bị trượt.
- **Pool ID**: Pool thưởng tương ứng của Rule.
- **Error Code / Error Descriptions**: Mã và mô tả chi tiết lỗi từ OLS (VD: do không đạt tiêu chí giá trị, sai MCC, vv).
## Cách hoạt động (How It Works)
- **Ghi nhận ngoại lệ**: Khi một incoming transaction chạy qua rule engine, nếu nó kích hoạt Rule A nhưng không thỏa mãn Rule Criteria, hệ thống ghi bản ghi này vào bảng `OLS_ORPHAN_TXN_NO_HIT`.
- **Đa điều kiện trượt**: Nếu một giao dịch kích hoạt Rule A (thành công) nhưng trượt Rule B, nó **vẫn** sinh ra bản ghi No-Hit để ghi nhận lý do trượt Rule B.
- **Cung cấp nguyên nhân**: Quá trình xử lý (TP) bắt buộc trả về mô tả lỗi chi tiết (Error Description) ghi rõ lý do trượt (VD: criteria nào bị fail) để hiển thị/lưu trữ.
- **Tra cứu và khắc phục (View-only)**: Người dùng (VD: Customer Service) dùng thông tin này để giải thích cho khách hàng lý do không được nhận thưởng, hoặc dùng làm cơ sở điều chỉnh (adjust) giao dịch thủ công nếu Campain Rule bị cấu hình sai.
## Mối quan hệ với modules khác
- **Account** / **Card**: Định danh chủ thể thực hiện giao dịch bị lỗi.
- **Campaign Rule**: Quy tắc mà giao dịch cố gắng kích hoạt nhưng thất bại. Chi tiết lỗi liên kết trực tiếp với Rule này.
- **Pool Definition**: Pool dự định sẽ nhận điểm nếu giao dịch thành công.
## Ví dụ thực tế
Khách hàng quẹt thẻ tín dụng tại siêu thị, hóa đơn 400.000 VNĐ. Hệ thống nhận giao dịch, cố gắng kích hoạt "Campaign Rule: Mua sắm siêu thị > 500K".
Giao dịch thất bại do không đủ định mức. OLS ghi nhận:
- **Transaction Detail**: Amount = 400.000, MCC = 5411.
- **CP Rule Listing**: Campaign Rule = "RULE_SIEU_THI_500K", Error Code = "ERR_MIN_AMOUNT", Error Description = "Transaction amount 400,000 is less than minimum criteria 500,000".
CSD dựa vào record này để giải thích cho khách hàng.