Quick Start

ในหัวข้อนี้ ผู้ใช้งานจะได้ทดลองสร้าง Audit Rule แรก ด้วยตนเองผ่านตัวอย่างที่เข้าใจง่าย โดยใช้ข้อมูลธุรกรรม E-commerce เพื่อให้เห็นภาพการทำงานของ OneAudit Rule Editor ตั้งแต่ต้นจนจบ

เป้าหมาย

สร้างกฎตรวจสอบ (Audit Rule) เพื่อประเมินความถูกต้องของวิธีการชำระเงินในรายการสั่งซื้อ

ตัวอย่างสถานการณ์: Payment methd verification in E-commerce

 ระบบต้องการควบคุมความเสี่ยงของธุรกรรม โดยพิจารณาว่าการชำระเงินปลายทางด้วยเงินสด (Cash on Delivery: COD) เป็นวิธีที่มีความเสี่ยงสูง เช่น ความเสี่ยงจากการปฏิเสธรับสินค้า หรือความไม่แน่นอนในการรับชำระเงิน ดังนั้นจึงไม่ควรอนุญาตให้ใช้วิธีการชำระเงินนี้กับรายการที่มียอดชำระสูงเกินเกณฑ์ที่กำหนด และจำเป็นต้องมีการสร้าง Audit Rule เพื่อตรวจสอบและแจ้งเตือนเมื่อพบธุรกรรมที่ไม่เป็นไปตามนโยบายดังกล่าว

Input

ข้อมูลธุรกรรมการสั่งซื้อสินค้า เช่น:

  • order_id
  • payment_method
  • net_amount

เงื่อนไข (Condition)

  • ลูกค้าสามารถชำระเงินปลายทางด้วยเงินสด (Cash) หากยอดสุทธิ (net_amount) ไม่เกิน 3,000 บาท

กฎ (Rule Logic)

สามารถเขียนเงื่อนไขในการตรวจสอบข้อมูลในรูปแบบของ pseudo code ได้ดังนี้

# Example Code for a transaction id 'ORD001' 
IF payment_method = "Cash" AND net_price > 3,000 THEN
    create Flag
        code = AUDIT_TRANSACTION
        status = SUSPECT
        message = "Invalid payment method, order id 'ORD001' cannot pay by Cash (net_amount = 2900 BHT)"
ELSE
    create Flag
        code = AUDIT_TRANSACTION
        status = PASS
        message = "Payment method is valid"

แนวคิดสำคัญ:

  • ใช้ IF–THEN logic เพื่อตรวจสอบเงื่อนไข
  • สร้าง Flag เพื่อเป็นผลลัพธ์ของการ Audit
  • SUSPECT = พบความผิดปกติ
  • PASS = ผ่านการตรวจสอบ

ขั้นตอนการสร้างกฎ (Step-by-Step)

1. Create Workspace

เริ่มต้นโดยการสร้าง Workspace ใหม่สำหรับโปรเจกต์นี้ Workspace เปรียบเสมือนพื้นที่ทำงานที่ใช้จัดเก็บ rule, data และ configuration ต่าง ๆ

  • Log-in เข้าสู่เว็บไซต์ OneAdit Rule Editor Playground
  • สร้าง Workspace โดยกำหนดชื่อและคำอธิบายดังรูป

2. Select BigTable from Registry

เลือกข้อมูล BigTable จาก Registry โดยใช้ xxxx เป็น input dataset ระบบจะโหลด schema ของข้อมูลธุรกรรมมาให้ใช้งานใน Rule Editor

3. Create Flag

กำหนดรูปแบบของผลลัพธ์ (Flag) ที่จะใช้ใน Audit

  • สราง Result Status: SUSPECT = 0 และ PASS = 1
  • สร้าง Flag: code = AUDIT_TRANSACTION และ add Result Status ‘SUSPECT’ และ ‘PASS’ เข้าไปใน Flag

4. สร้างกฎ

4.1 สร้างกฎใหม่

สร้างกฎใหม่ภายใต้ Workspace โดยตั้งชื่อกฏเป็น verify_payment และใส่คำอธิบายกฎ

4.2 ออกแบบกฎ (Design Rule)

ให้ออกแบบกฎโดยใช้โหนด BigTable, If-Else และ Flag จากนั้นลากโหนดแต่ละตัวมาวางและเชื่อมต่อกันตามภาพตัวอย่าง

  • หมายเหตุ: สังเกตว่าโหนด If-Else และ Flag มีสัญลักษณ์แจ้งเตือน ซึ่งแสดงว่าการตั้งค่าโหนดยังไม่สมบูรณ์
4.3 กำหนดเงื่อนไขตรวจสอบข้อมูล (Define Conditio)
  • Double click ที่โหนด If-Else เพื่อกำหนดเงื่อนไขตรวจสอบข้อมูล
  • กดปุ่ม Add Primitive และเพิ่มเงื่อนไขดังนี้ payment_method = "Cash" และ net_amount > 3000
4.4 กำหนดผลการตรวจสอบ (Define outcomes)

กำหนดผลลัพธ์ของแต่ละกรณี:

  • กรณีเข้าเงื่อนไขเป็น True → สร้าง Flag = SUSPECT
  • กรณีไม่เข้าเงื่อนไขเป็น False → สร้าง Flag = PASS

5. Test Rule

5.1 รันกฎ (Execute Rule)

รัน Rule Graph ด้วยข้อมูลตัวอย่าง ระบบจะประมวลผลตามลำดับของ Rule ที่ออกแบบไว้

5.2 ตรวจสอบผลลัพธ์

ตรวจสอบผลลัพธ์ที่ได้:

  • ค่า Flag ที่ถูกสร้าง
  • ข้อความ (message)
  • เส้นทางการทำงานของ rule (execution path)